CoCoViLa is a software tool for model-based software development with a visual language support that performs automatic synthesis of programs from logical specifications. It is tightly integrated with Java: it is written in Java, uses advanced features of Java, and it supports programming of new software components in Java almost without restrictions.
Class Editor is used for creating visual languages for different problem domains. A CoCoViLa package consists of a package description in XML format (e.g., mypackage.xml
), bitmaps for all visual classes of the package (to be shown on the tool bar in the Scheme Editor), and Java classes associated with the visual classes.
The Scheme Editor is used as a visual environment for specifying models by drawing schemes and solving problems on the models. To solve a problem, first a package must be loaded and, thereafter a scheme that specifies a model has to be built or opened from a package folder.
Scheme Editor manualAll software components developed in CoCoViLa are in essence Java classes, but they have extensions. In CoCoViLa, in order to describe the behavior of a component, one has to annotate component's Java class with a metainterface. Java class supplied with a metainterface is called a metaclass. Metainterface is a textual specification of a model of a component. It contains information about computability of variables occuring in the model. For defining a metainterface of a component, the specification language is used.
A lightweight and modular expert system shell for the usage in decision support system. Expert System Shell is developed to enhance decision support applications in CoCoViLa.
Parts of the CoCoViLa system have been described in the following papers.
Possible topics include applications of methods of artificial intelligence, visual specification languages, automatic synthesis of programs, model-based software engineering, modeling and simulation, web services etc. See the Modeling and Simulation Group's web page for potential supervisors and suggested topics for Master's or PhD projects, or come up with your own topic!
The following is a list of theses on CoCoViLa-related topics that have been successfully defended.