Model Driven Development - ATO
ATO (Analysis and Transformation of Objects) is a Model Driven Architecture environment consisting of an UML modeler driven by a profile. This profile contains a domain specific context (e.g. embedded systems):
- Selection of the different model elements and diagrams that may be used within the domain.
- Graphical representation of the model elements.
- Definition of constraints on the modeling that apply for the domain.
- Transformations and generators to produce code from a given model. The term code may refer to programming language code, but also to test scripts, documentation or model summaries.
The definition of a profile is the responsibility of the domain specialist, who defines the (development) process and the quality of the development.
The application developer then starts the UML modeler with a selected domain profile, which now drives the behavior of the UML modeler. Its validation function makes sure the model conforms to the domain constraints. After completing a model, the application developer then selects the required transformation(s) and the code generator to produce the code corresponding with the model and its constraints.
ATO has been used within the Agile project to create several profiles, containing generators in Java. Ada and Delphi Pascal.