Educational applications. Demo packages

A number of analytical and simulation packages for neural networks, electrical and logical circuits, mechanical drives, attack-trees, etc. have been implemented in CoCoViLa and used for educational purposes in several undergraduate and graduate courses at Tallinn University of Technology.

Download View source code


The package allows solving problems that consist of basic geometric shapes such as a circle, a triangle a trapezoid or a rectangle and basic operations such as summation, subtraction, multiplication and division. Any real object that consists of more complex shapes must be simplified in order to use with this package. It is also possible to calculate a volume of an object if the user manages to simplify the object. It is a good introductory package for someone who has never used CoCoViLa before. The geometry used is easy enough to understand quickly and the shapes are fun to play with.

Download View source code Description



The objective of a CoCoViLa demo package for dynamic simulation of hydraulic elements is to demonstrate using multi-pole models for modeling and simulation of real-scale mechatronic systems. The package covers a small part of modeling and simulation systems investigated and developed by the joint research group of the Institute of Cybernetics and the Department of Mechanics at Tallinn University of Technology. The package includes models of low level hydraulic elements such as hydraulic resistors, hydraulic tubes, interface elements, and also hydraulic fluids, simulation process manager, supporting elements for defining inputs and outputs and few example tasks for simulation hydraulic schemes.

Download View source code Description



Nowadays, the big amount of energy is spent in buildings, mainly in such sub- systems as heating, ventilation and cooling. Reducing energy consumption in this field is a trend, because of economic and environmental issues. We try to model the energy consumption for heating/cooling air in simple building, which is modeled by one volume. Energy dissipation depends on the dimensions of building, the materials from which the house is built and outside temperature. But energy consumption can be reduced by efficient control of heating or cooling. We propose a CoCoViLa package for modeling and simulation of HVAC systems. The system consists of several components, such as: building description, heater/cooler, controller, thermostat, electric heater, occupants, ventilation etc. The simulation results can help to choose parameters for comfort temperature, properties of the heater/cooler and modify the control algorithms.

Download View source code Description


Dynamic System Simulator

Every scheme should have one Simulator - a Simulation Engine that possess the simulation properties like simulation time and time step (or a number of simulation steps in a time unit), and acts as a supervisor during the simulation execution. The Simulator must be set as super from the Properties window (make double-click or right-click on the image on the scheme to acces the menu).

You can set the Graph object to display several inputs - the number is unlimited.

To execute a simulation choose Scheme>Run.

Have Fun! :)

Download View source code

Mealy Machine

A CoCoViLa package that allows drawing Mealy machine state charts for System Simulators.

A state chart is composed of Initial State and one or more States. It may have an End State. The states are to be connected with Transitions. The Transitions are driven by conditional expressions based on which it is decided which of then is taken. When there are several conditions exiting the current State that can be used by the conditional expression the one that falls first after sorting them by name is used.

Every Transition hava an action field that is executed when the Transition is used.

A state chart in the current implementation should have always one Initial State and a MealyMachineSupervisor block. The latter must be set as super from the preferences menu.

Download View source code Description

Graded security expert system

This work in the field of modeling of graded security measures which are used e.g. in banking and energy sectors. The graded security model is intended to help determine reasonable or optimal sets of security measures according to the given security requirements. An expert system with visual specification language for security system description has been implemented as a software package in CoCoViLa. The system together with visual components and optimization algorithm for calculation of Pareto curves, includes a set of rules (knowledge modules) in the form of decision tables that help handling the expert knowledge. Expert tables have been implemented in the context of this application but designed to be functional in other problem domains that require handling of the expert knowledge.

Composition of web services

The automatic web service composition methodology was proposed and, second, this methodology was applied for developing an experimental software package in CoCoViLa for the maintenance and extension of an existing Estonian e-government information system called the X-Road. Several papers have been published covering various aspects of this methodology and application.

X-Road guarantees the secure access to most of the national databases of Estonia by means of web services through domain-specific portals available to the residents having national identification number. X-Road allows the usage not only of atomic services but also a compound ones (i.e. composed chains of services). CoCoViLa provides good infrastructure for service developers to perform automatic composition with the very little effort. The syntactic model of the operational part of X-Road has been created and transformed into the format of CoCoViLa. The model is represented visually on a scheme and includes about 300 atomic services with corresponding metaclasses) and about 600 connections to semantic resourcesIn the figure, services are represented by ovals and data resources by squares. Users can provide input data to initial services on the scheme and state a goal for finding a chain of services to compose a complex service. CoCoViLa automatically synthesizes a program that generates a BPEL or OWL-S description of a desired complex service. The program is synthesized only if the final services are composable from the initial ones and all required data are made available. This guarantees the correctness of composed services. This application shows that CoCoViLa provides good visual support for model maintenance and is able to handle large-scale models while keeping synthesis time at a significantly low level.