blob: ac2dfdc8f1f99001f5836453a106fab90f6ac610 [file] [log] [blame]
= What is Papyrus Software Designer? =
Papyrus designer is an extension of the UML Papyrus editor. It supports the software design by providing code generation from models including embedded and real-time systems as potential targets. In does this at two different levels of abstraction.
* Direct code generation for a specific programming language. Currently, C++ and Java are supported, C will be supported soon. The code generators also support reverse and roundtrip code generation.
* Perform a sequence of model-to-model transformations prior to code generation, as shown in the following image:
<center>
[[Image:PapyrusQompass-methodology.png|800px]]<br/>
Tool Chain overview
</center>
There are pre-defined transformation chains. One supports component-based models. In this case, the generation starts from a model that includes the definition of software components, hardware nodes and deployment information. The latter consists of a definition of the instances of components and nodes and an <em>allocation</em> between these. Code generation is done by a sequence of transformations steps. The model transformation takes care of some platform specific aspects (e.g. communication mechanisms or thread allocation), based on non-functional properties.
<p/>
Papyrus Software Designer is integrated into the open source UML editor Papyrus,
The UML profile MARTE is used for non-functional properties.