Eclipse UML Generators

×

Status message

This proposal has been approved and the Eclipse UML Generators project has been created.
Basics

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please add your feedback in the comments section.

Parent Project: 
Background: 

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.

Scope: 

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.

Description: 

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.

Code generation uses Acceleo. It is incremental and can be extended thanks to its overriding system.

In most cases, these generators do not need to rely on a profile and use the native structure of UML.

Why Here?: 

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.

Project Scheduling: 
  • Initial contribution should be expected after Luna M6
  • Builds of the UML generators should be available for Eclipse Luna release.
People
Source Code