A goal of model-driven development is the generation of the full implementation of a system based on a precise description of a platform-independent model. Such a description must accurately specify the static structure as well as the dynamic behavior of the system. EP is a modeling language that supports this approach to software development.
The DEMOCLES tool offers a declarative approach to specifying an executable platform-independent model (based on the EP-language). It improves on traditional approaches that are imperative in nature (e.g., action languages) or that are only applicable in particular cases (e.g., state charts).
20-Sep-2011: Generation of code for Android and iPhone and The Mobile Library Experiment
We provide an experiment illustrating our approach to code generation based on templates.
You can run the experiment, which takes a sample EP model and generates both Android and iPhone applications from it, from here:
The Mobile Library Experiment.
18-Jan-2011: Model Decomposition plugin available
Democles introduces a new feature for decomposing EP models. The basic idea is to subdivide EP models into smaller sub-models with the property that these sub-models are valid EP models, too. Compared to the original EP model, the sub-models are smaller and less complex. They can be viewed within Democles and be understood following the EP semantics.
This new feature is provided by an independent plugin that implements a generic model decomposition technique. Democles is configured so that the model decomposition plugin is automatically included. You can also install the model decomposition plugin on its own, and use it to decompose models of any Ecore metamodels.
A paper reporting the theory of the generic model decomposition technique and its application in model comprehension is accepted for publication in the proceedings of FASE'11. The companion technical report gives more details: http://democles.lassy.uni.lu/documentation/TR_ LASSY_10_06.pdf
26-November-2010: New release of Democles available.
This new version of Democles introduces a mechanism for generating
runnable applications on both Android and iPhone platforms by instantiating templates. The templates are described using the
Formal Template language (FTL).
You can try the sample EP model and generate both Android and iPhone applications from it:
See the documentation.
16-June-2009: New release of Democles available.
This new version of Democles introduces support for Platform Bindings. It requires
Other changes are:
- Updated Documentation.
- Better handling of the workspace with regards to the refreshing of resources.
- Added rename refactoring for domains and bridges.
- Added wizard for exporting a Democles system as a runnable JAR file.
- Added wizards to create, import and export platform bindings as well as a GUI allowing to choose which binding should be active.
- Many other improvements and bug fixes.
10-October-2008: New release of Democles available.
This new version of Democles introduces support for Domain Hierarchies.
The basic notion is that of a domain: a self-contained subject matter. In Democles all domains are expressed using a common meta-language called EP. Domains are not sufficient to express a working system since the domains have to interact to realize a software system.
Bridges constitute the main mechanism for effecting this interaction. A bridge is defined over a number of domains. In contrast to domains bridges have external links into the domains over which they are defined. Through these external links events can be propagated from one domain to another domain. Bridges are also responsible for converting data types from one domain to another domain.
We can view the bridge and the underlying domains as a new domain since the union of these structures does not have external links. We can thus view a system model as a hierarchy of domains, with a single top-level domain representing the application. The main purpose of the Democles tool is to provide facilities to model software applications as a domain hierarchy.
19-August-2008: New Democles release available
A new version of Democles has been released. Additionally to being compatible with Eclipse 3.3, Democles can now also be used with Eclipse 3.4.
29-May-2008: Democles Website made available
An early version of the Democles Website is now accessible at http://democles.lassy.uni.lu/.