Many different open source code/model generators are already available all over the web.
For end-users, it is difficult to find them as they are located in distinct communities.
For contributors, it is not easy to propose a consistency governance between them as they rely on different life cycles, coding styles and dependencies.
The objectives of this project is to federate the existing generators which consume or produce UML models.
The migration of TopCased tooling to PolarSys is a good opportunity to migrate the related UML generators into this new project.
The initial contribution provides five generators:
- UML2Java: It converts Class and State diagrams into Java code.
- UML2C: It converts Class and State diagrams into C code.
- C2UML: It reverses C code into a UML model.
UML2RTSJ : It converts Structure Composite, Class and State diagrams into Java code based on RTSJ (Real Time Specification for Java).
- The generated code is organized according to a Components Based Architecture.
- The UML model is enhanced by a UML profile to add real-time properties and it is decorated by a DSL to specify the kind of communication between each component.
- Java2UML: It reverses Java code to a UML model.
The scope is any generator which consumes or produces UML models.
Note that a list of requirements like tests, quality, coding styles, architecture, documentation will be established to define acceptance rules of other contributions.
UML Generators Project provides components that automatically bridge the gap between UML models and source code. Either by extracting data from UML models (and UML profiles or decoration models) to produce source code or by reverse-engineering source code to produce UML models.
In most cases, these generators do not need to rely on a profile and use the native structure of UML.
Modeling community already exists in Eclipse. So, it is a good place for these generators.
They rely on generic generation tools hosted by Eclipse like Acceleo.
PolarSys community is interested in these generators and wishes to integrate them in PolarSysIDE.
All contributions will be distributed under the Eclipse Public License.
- Initial contribution should be expected after Luna M6
- Builds of the UML generators should be available for Eclipse Luna release.