| = 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. |
| |