The ChiGen is a java application that executes specific transformation (cartridges) against a specific metamodel (Chronos).
Components
Metamodel
The metamodel is the model that describes models, in other words it's a collection of the elements that we use in the modelling language. the CHiGen uses the Chronos and Ouranos Metamodels.
Xtend
Xtend is a functional language, with which it is possible to expand existing types described in the Metamodel with additional logic. The concept is called Extensions (it is also part of the C # 3.0 specification). These extensions can be accessed both within Xtend and in the other family's languages (check and Xpand) . Furthermore, the concept of Extensions simplifies the transformation of models in other models (M2M).
Check
the Check language is considered the be an equivalent of OCL. Unlike OCL, it's also based on the language family of oAW and can therefore be carried out not only on MOF-compliant models, but also to any other. It can also be accessed by means of defined Xtend Extensions.
Xpand
Xpand is a statically typed language template with specific, important features for code generation . Among other things, can thus be written in files directly within the templates , templates can be called in a polymorphic fashion and extended with Aspects.
Workflow Engine
The structure of a generator must be flexibly designed and configured. The Workflow Engine is based on a Dependency Injection (short DI ) , a lightweight components framework that makes it possible to divide complex operations in individual steps. A step is any section within a cartridge, which is edited into a kind of black box and can be easily reused. With a workflow description for each step the exact interface is defined .When the generator is delivered, everything can be packaged in a jar and a selected workflow for a cartridge can executed.
CWM and ChiGen: How this works
When you work with the Chronos Web Modeler web application, the information is initially created in the CWM front end – javascript component. In the second step it's send to a backend system - PHP component - called Chronos Business Object Repository (BOR). The BOR store it in a database (mySQL)
When you decide to generate information, the BOR reads the MYSQL DB and transforms the information in a plain XML format. Then it pass the XML to the Chi GEN itself - a Java program.
The data flow below shows the Transformations with their input and output artifacts:
the Chi Gen first transform the XML in UML (ECORE metamodel). Now you have a valid UML file. This could be achieved also by using other UML model program like Sparx Enterprise Architect (file EA to the right).
Having a valid UML file, you can apply any cartridge (transformation in a special technology). An example is generating a complete application in PHP as in the tutorial "Hello world". The generated code is exactly what you will write down manually in an ideal case, because is coming from a “Reference Implementation” that was previously written by an experience developer. In this case, the task of creating the single files are repeated for the amount of the objects in the model.
Download
you can download the ChiGen from
Comments
We explain why you should try our new casino 당진 출장샵 slots games and what bonuses 영천 출장샵 are offered and best slot machine bonuses! Check 포항 출장마사지 out the best slot machine 영주 출장안마 casinos and 양주 출장마사지 bonuses!