Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Papyrus Software Designer"
Line 3: | Line 3: | ||
== What is Papyrus Designer? == | == What is Papyrus Designer? == | ||
− | Papyrus designer supports the code generation from models including embedded and real-time systems as potential targets. In does this at two different levels of abstraction. | + | Papyrus designer is a component (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. | * 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. | ||
Line 25: | Line 25: | ||
Parts of the component model were developed in the context of the French national project [http://www.flex-eware.org Flex-eWare]. | Parts of the component model were developed in the context of the French national project [http://www.flex-eware.org Flex-eWare]. | ||
− | == Target audience == | + | === Target audience === |
The following information assume that the reader already knows UML and the basics about component oriented design. | 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 | 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/Qompass/designer/reconfiguration|Use of Papyrus Designer for reconfiguration (ongoing work)]] == | |
[[Category:Modeling]] | [[Category:Modeling]] | ||
[[Category:Papyrus]] | [[Category:Papyrus]] | ||
[[Category:Papyrus-Designer]] | [[Category:Papyrus-Designer]] |
Revision as of 08:51, 23 May 2016
Contents
- 1 Papyrus Designer
- 1.1 What is Papyrus Designer?
- 1.2 Getting started and installation instructions
- 1.3 Input models for code generation
- 1.4 Using dedicated interaction components and realizing cross-cutting concerns via the container
- 1.5 Code generation from models
- 1.6 Discussion of a set of examples
- 1.7 Use of Papyrus Designer for reconfiguration (ongoing work)
Papyrus Designer
What is Papyrus Designer?
Papyrus designer is a component (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.
- Java code generation
- 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 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 allocation 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 Designer code generation
Papyrus Designer is integrated into the open source UML editor Papyrus, The UML profile MARTE is used for non-functional properties. Parts of the component model were developed in the context of the French national project Flex-eWare.
Target audience
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