Here’s a selection of projects that have been done with Cinco. Click on the individual entries for more information.


We have designed with a Cinco a framework for specifying and analyzing hierarchical scheduling systems (HSSs). These sophisticated scheduling mechanisms allows to share computation resources between several heterogeneous systems with different scheduling algorithms. These new techniques encourage the use of high performance hardware and advance software architectures in cyber-physical systems.

A hierarchical scheduling system is build with a hierarchy of scheduling unit and an interface mechanism that allows to distribute resources form the upper level to the lower levels. A scheduling unit is composed of a set of real-time tasks and a scheduling algorithm. Our framework build with Cinco allows to easily specify the structure and the parameters of such system with a graphical modeling tool automatically generated by Cinco. Moreover it allows to test the schedulability of the entire system.


One particular advantage of HSSs is that they allow a compositional verification process in which individual scheduling units are analyzed independently. This facilitates the verification of complex systems. Our framework implements such a verification process using a model-based approach with formal verification and statistical model-checking. Each scheduling unit is automatically translated into a set of timed automata models in the format of the model-checker Uppaal. Uppaal is -used to perform model-checking and statistical model-checking analyses. This proves the schedulability of the system and allows to measure its performances. Finally the results of the formal analyses are displayed graphically in the tool generated by Cinco.

The specification files to generate the HSS tool are available for download. The archive file can simply be imported “as existing project into workspace” (via File/Import/General) in Cinco version 0.6.

Download Project ZIP

Uppaal 4.1.19 is needed to run formal verification on the models. It is available at the Uppaal website.

For questions regarding the HSS tool and project, please contact Louis-Marie Traonouez.

We have implemented with Cinco a high-level framework that allows to design a two-layer multiprocessor scheduling system. The first layer models the hardware platform, with a scheduling system composed of real-time tasks and CPUs. Each processor has its own scheduling mechanism and is parameterized by its frequency. The frequency defines the speed of the processor and its energy consumption when running.

The second layer models the application that is composed of a set of actions. Applications running in a cyber-physical system are unlimited, with no fixed design. To demonstrate the use of our framework we consider a simple design methodology for writing applications with stochastic behaviour.

The link between the two layers is implemented by a mapping from actions to tasks, that specify for each action of the application on which task it is intended to run. In our current framework this mapping is static and determined before an execution. However we would like to evaluate several mappings in order to optimize the system performances.

This design allows a separation of concerns that facilitates the verification of formal properties:

  • Scheduling properties are verified on the platform layer only.
  • Logical properties of the application are verified on the application layer only.
  • Energy consumption or execution time properties need to consider both layer simultaneously.

We implemented a program that performs change detection using the CUSUM algorithm. It first generates the Uppaal model and it will run the CUSUM algorithm on this model several times. For each execution, it generates with Uppaal SMC a simulation trace that corresponds to the total length of the experiment. It then splits this execution into a set of samples and it analyses each sample to evaluate the query and update the CUSUM ratio. If the value of ratio exceeds the sensitivity threshold it outputs a detection with the detection time in a pop-up window.

The specification files to generate the tool are available for download. The archive file can simply be imported “as existing project into workspace” (via File/Import/General) in Cinco version 0.6.

Download Project ZIP

Uppaal 4.1.19 is needed to run formal verification on the models. It is available at the Uppaal website.

For questions regarding the multiprocessor scheduling tool and project, please contact Chadli Mounir or Louis-Marie Traonouez.


DIME (DyWA Integrated Modeling Environment) is a modeling solution developed with Cinco providing a family of graphical DSLs for the development of complex web applications. Their different aspects, like persistent entities (i.e., a data model), data retrieval (i.e., search queries), business logic in form of various types of process models, the structure of the user interface, and dynamic access control are all modeled on a high level of abstraction. These models do not describe how an application is realized, instead they describe what application is needed. The choice of platform, programming language, and frameworks is moved to the corresponding (full) code generator and may be changed without touching the models.


The DIME approach is a consequent refinement of the realization of jABC4 for process modeling and DyWA for data modeling empowering prototype-driven application development. In the spirit of its predecessors DIME follows OTA (One Thing Approach) and XMDD (Extreme Model-Driven Design) and puts the application expert (a potential non-programmer) in the center of the development process. Hence, the different aspects of an application are described with the most adequate form of model, respectively. All these models are interdependently connected shaping “one thing” in a very formal yet easy to understand and use manner to the extend that it can be one-click-generated to a running product. DIME can be used to realize a wide range of web applications. We are just starting to explore its potential. Central design goals on this journey are simplicity, agility, and quality assurance.

For questions regarding DIME, please visit the project website or contact Johannes Neubauer.


In the two-semester project group “Industrial Programming by Example” (InProX) at TU Dortmund Cinco was utilized to develop “EasyDelta”, a graphical DSL tool for the model-based programming of Delta robots (industrial robots specialized on very fast “pick and place packaging” operations).

Usually, the PLC (programmable logic controller) controlling the delta robots’ movements is programmed with one of the low-level programming languages defined in the IEC 61131 standard, such as Structured Text or Ladder Diagrams. With EasyDelta on the other hand experts for packaging operations, who are usually not specially trained PLC programmers, are enabled to specify multiple delta robots’ decisions on which items to pick from a conveyor belt in an abstract way. The graphical DSL comprises various modeling components to express this decision process, for instance based on type of items to pick, item characteristics (not specific to a single item type), or items’ positions on the conveyor belt (e.g. regarding coordinates or abstract features like ‘clustered with other items’). Furthermore, the packaging scenario (i.e., number of delta robots or item types/characteristics) is also modeled. A code generator then fully automatically transforms the models into executable code for the PLC. The project was supported by the packaging automation specialists from Omron Europe B.V. (Barcelona and Düsseldorf) who also provided one of their NJ Controllers to deploy and run the generated code under realistic conditions.


The second phase of the project aimed at the automatic inference of those decision processes on the basis of examples provided by a user within a V-REP simulation environment. Here, Cinco‘s simple transformation API was used to insert the results from a third party decision tree learning algorithm as modeling components into the EasyDelta tool.

The final report from the project is available at the TU Dortmund publication repository (German only).

For questions regarding the project, please contact Philip Zweihoff.