|
|
Line 1: |
Line 1: |
− | = Page will move to [https://gitlab.eclipse.org/eclipse/papyrus/org.eclipse.papyrus-designer/-/wikis/home SW Designer wiki on gitlab] = | + | = Page has been moved to [https://gitlab.eclipse.org/eclipse/papyrus/org.eclipse.papyrus-designer/-/wikis/home SW Designer wiki on gitlab] = |
− | | + | |
− | = 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 generator also support reverse and roundtrip code generation.
| + | |
− | ** [http://wiki.eclipse.org/Java_Code_Generation Java code generation]
| + | |
− | ** [http://wiki.eclipse.org/Java_reverse_engineering Java code reverse]
| + | |
− | ** [http://wiki.eclipse.org/Papyrus/Codegen/Cpp_description C++ code generation]
| + | |
− | ** Adding a New Code Generator: Apart from the aforementioned programming language, it is also possible to develop and integrate other code generators to Papyrus. To learn about how to add a new code generator to Papyrus, refer to the following [http://wiki.eclipse.org/Papyrus/Codegen/Adding_a_New_Code_Generator wikipage].
| + | |
− | | + | |
− | * Support for 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. This is complementary with the upcoming Papyrus architect that can create an allocation based on modeled analysis data such as period length or worst case execution times.
| + | |
− | | + | |
− | Papyrus Software Designer code generation
| + | |
− | | + | |
− | <center>
| + | |
− | [[Image:PapyrusQompass-methodology.png|800px]]<br/>
| + | |
− | Tool Chain overview
| + | |
− | </center>
| + | |
− | | + | |
− | <p>
| + | |
− | | + | |
− | Papyrus Software Designer is integrated into the open source UML editor [http://www.eclipse.org/papyrus Papyrus],
| + | |
− | The UML profile [http://www.omgmarte.org MARTE] is used for non-functional properties.
| + | |
− | Parts of the component model were developed in the context of the French national project [http://www.flex-eware.org Flex-eWare].
| + | |
− | | + | |
− | = User guide =
| + | |
− | | + | |
− | The following information assume that the reader already knows UML and the basics about component oriented design.
| + | |
− | In the sequel, you find information about the Papyrus Designer
| + | |
− | | + | |
− | * [[Papyrus/Qompass/designer/getting-started|Getting started and installation instructions]]
| + | |
− | * [[Papyrus/Qompass/designer/input-models|Input models for code generation]]
| + | |
− | * [[Papyrus/Qompass/designer/connector-container|Using dedicated interaction components and realizing cross-cutting concerns via the container]]
| + | |
− | * [[Papyrus/Qompass/designer/code-generation|Code generation from models]]
| + | |
− | * [[Papyrus/Qompass/designer/example-walkthrough|Discussion of a set of examples]]
| + | |
− | * [[Papyrus/designer/transformations|M2M transformations during code generation with Papyrus Designer]]
| + | |
− | * [[Papyrus/Qompass/designer/reconfiguration|Use of Papyrus Designer for reconfiguration (ongoing work)]]
| + | |
− | | + | |
− | [[Category:Modeling]]
| + | |
− | [[Category:Papyrus]]
| + | |
− | [[Category:Papyrus-Software-Designer]]
| + | |