TOPCASED 5.1.0 UML/SysML features tutorial(With Papyrus Editor)
Raphaël FaudouAlexandre Cortier
David Rabely
2 Topcased UML/SysML Papyrus editor Tutorial
Agenda
• Prerequisites
• What’s new since previous tutorial
• Create a new TOPCASED project/model with Papyrus Editor
• Import Primitive Types
• Show/hide compartments and features
• UML/SysML Diagrams Overview
• Presentation of all UML diagrams
• Presentation of SysML specific diagrams
• Specialization of items – UML profiles
• Frequently asked questions
3 Topcased UML/SysML Papyrus editor Tutorial
Prerequesites
• This tutorial supposes that you have read the generic « Quick start editor tutorial »
• Generic capabilities offered by TOPCASED editors will not be covered here
• Only UML/SysML specific features are presented in next slides
4 Topcased UML/SysML Papyrus editor Tutorial
What’s new since previous tutorial (4.2)
• You can consult the release note to find all news on TOPCASED 5.1.0: http://www.topcased.org/index.php?idd_projet_pere=52&Itemid=60
• You can consult Papyrus documentation for more information on Papyrus editor : http://www.eclipse.org/modeling/mdt/papyrus/usersTutorials/usersTutorialsIndex.php
• New tutorial for TOPCASED new editors based on Eclipse Papyrus technology Note: concerns UML and SysML only in this release For other editors, please use the classical TOPCASED quickStart
5 Topcased UML/SysML Papyrus editor Tutorial
Create a new TOPCASED project/model with Papyrus Editor (1/2)
• Blank model or a model created based on a template (structure and diagrams) Select New > Other > Papyrus Model by right-clicking on the Model Explorer View
and follow the wizard as explained in TOPCASED quick starting guide for Papyrus
Different templates and diagrams according to the language- Note: possibility to add other custom templates (plug-in)
6 Topcased UML/SysML Papyrus editor Tutorial
Create a new model (2/2)
One model abstraction- Three files behind the scene
Model resource(containing both UML data and graphical data)
UML model and diagram data, available in the model explorer view
Graphical model-based editor with palette
Property view, contextual to the selection
7 Topcased UML/SysML Papyrus editor Tutorial
Import Primitive Types
• I create an element in TOPCASED and i want to reference a standard primitive type.
• Some of them are already defined in platform. You can import them using import primitive types action :
Right click on a package and select import primitive types
You can also generate them using Generate Primitive Types (only available on model)
8 Topcased UML/SysML Papyrus editor Tutorial
Show/hide compartments and features (1/7)
• The example will be based on a simple class (UML) or block (SysML). Create a new class in class diagram or Block in the Block Definition Diagram Add Properties & Operations Add Parameters to the Operations (These operations can be performed from
the Parameters panel of the Properties View when an Operation is selected)
properties
operations
9 Topcased UML/SysML Papyrus editor Tutorial
Show/hide compartments and features (2/7)
• The option to Hide/Show elements of this node is accessible from the ‘Show/Hide Compartments’ choice of the Filters option. First you need to select the element. In your example, select the new block. Right click and select ‘Filters > Show/Hide Compartments’ . A window is opened :
- select the Compartments to display - unselect the Compartments to hide.
10 Topcased UML/SysML Papyrus editor Tutorial
Show/hide compartments and features (3/7)
• Result when ‘Operations’ are unselected
• Default operations are now hidden
11 Topcased UML/SysML Papyrus editor Tutorial
Show/hide compartments and features (4/7)
• The option to Hide/Show elements of this block is accessible from the ‘Show/Hide Compartments’ choice of the Filters option. First you need to select the element. In your example, select the new
block. Right click and select ‘Filters > Show/Hide Contents’ . A window is opened :
- select the elements to display - unselect the elements to hide.
12 Topcased UML/SysML Papyrus editor Tutorial
Show/hide compartments and features(5/7)
• Result when an operation and a property are unselected
• Default operations and properties are now hidden
13 Topcased UML/SysML Papyrus editor Tutorial
• Options to Hide/Show elements of this block are accessible from the ‘Appearance’ panel of the Properties View. First you need to select the element. In your example, select the element in the
new block. In the Properties View, select the Appearance tab. The field named « Label customization » enable you to select the parameter to
show/hide.
Show/hide compartments and features(6/7)
14 Topcased UML/SysML Papyrus editor Tutorial
Show/hide compartments and features(7/7)
• Result when ‘Parameter name’ and ‘Parameter direction’ of an operation is unselected
• Parameters of all the operations are now hidden
15 Topcased UML/SysML Papyrus editor Tutorial
UML/SysML Diagrams Overview (2/2)
• UML Diagrams Overview Structural diagrams
- Package- Classes & instances- Components- Composite- Deployment
Behavioral- Use cases- Sequence/communication- State machine- Activity- Timing (non yet supported)
… and extensions- Profile
[Michel ZAM]
16 Topcased UML/SysML Papyrus editor Tutorial
UML/SysML Diagrams Overview (2/2)
• SysML Diagrams Overview
SysML Diagram
Behavior Diagram Requirement Diagram Structure Diagram
Activity Sequence State Machine Use Case BDD IBD Package Parametric
17 Topcased UML/SysML Papyrus editor Tutorial
Presentation of all UML diagrams : Package diagram
• Useful for model organization Address different view points Address different abstraction levels
[INCOSE Model]
18 Topcased UML/SysML Papyrus editor Tutorial
• Capture system missions
• Main concepts Use case Actor Association
- Participation of an actor to a UC Subject
- System scope containing use cases
• Advanced concepts Include relationship
- Functional reuse Extend relationship
- Similar behavior Generalization
Presentation of all UML diagrams : Use Case Diagram
19 Topcased UML/SysML Papyrus editor Tutorial
• Contextual to an interaction Can not exist without it
• Execution trace of a scenario
• Emphasizes on temporal aspect Objects lifecycle
• Main concepts Lifeline, Execution Messages
• Be careful when creating reply message Up to Down
Presentation of all UML diagrams : Sequence Diagram (1/2)
Find more information on Sequence Diagram here : http://www.eclipse.org/modeling/mdt/papyrus/usersTutorials/resources/PapyrusTutorial_OnSequenceDiagrams_v0.1_d2010100.pdf
20 Topcased UML/SysML Papyrus editor Tutorial
• Advanced concepts Interaction use
- Reference behavior
Combined fragments- Parallel- Alternative- Loop- …
Presentation of all UML diagrams : Sequence Diagram (2/2)
21 Topcased UML/SysML Papyrus editor Tutorial
• Emphasizes on spatial aspects Links between objects
• Message oriented scenario without time sequence
• Main concepts Lifeline Link messages
Presentation of all UML diagrams : Communication Diagram
• Essentially semantically equivalent to Sequence Diagram
22 Topcased UML/SysML Papyrus editor Tutorial
• Represents workflows of stepwise activities and actions with support for choice, iteration and concurrency
• In SysML the activity diagram has been extended to indicate flows among steps that convey physical matter (e.g., gasoline) or energy (e.g., torque, pressure)..
• Contextual to an activity element Can not exist without it
• Exhaustive action language Can formalize any process
• Main concepts Initial and final nodes Opaque and call actions Accept event & send actions Control and object flows
- With pins Activity partition Parameter Decision and merge Fork and Join (parallelization) Central buffer/Datastore
• Advanced concepts Structured Activity Nodes
- Loop Node- Conditional Node- Sequence Node
All other actions
Presentation of all UML diagrams : Activity Diagram
23 Topcased UML/SysML Papyrus editor Tutorial
• Static structure diagram that describes the structure of a system system's classes , operations (or methods) attributes
• Main concepts Class, Interface, DataType Enumeration Generalization / Realization Associations
- Shared- Composite
Constraints
Presentation of all UML diagrams : Class and Instance Diagram (1/2)
24 Topcased UML/SysML Papyrus editor Tutorial
Presentation of all UML diagrams : Class and Instance Diagram (2/2)
• Instance diagram allow the modeler to represent instances
• Main concepts InstanceSpecification Slot InstanceValue
25 Topcased UML/SysML Papyrus editor Tutorial
• Component diagram depicts how components are wired together to form larger components and or software systems. They are used to illustrate the
structure of arbitrarily complex systems.
• Main concepts Component Port Interface Usage / Realization Generalization Component Realization
Presentation of all UML diagrams : Component Diagram
26 Topcased UML/SysML Papyrus editor Tutorial
Presentation of all UML diagrams : Deployment Diagram
Examples : - « nodes » = hardware
components- « artifact » = application,
database, executable file
• Models the physical deployment of artifacts on nodes
27 Topcased UML/SysML Papyrus editor Tutorial
• Life cycle of system or subsystem/component
• Can formalize a protocol
• Main concepts State / composite state Transition
- Event, guard
• Advanced concepts Region (parallel life cycles) State internals
- onEntry, onExit, onXXX- doActivity
Transition effect
Presentation of all UML diagrams : State Machine Diagram
28 Topcased UML/SysML Papyrus editor Tutorial
• Mainly used to represent internal communication of a system/component Main concepts : Part, Port, connector
• Other usage to represent collaborations with role bining
Presentation of all UML diagrams : Composite Diagram
29 Topcased UML/SysML Papyrus editor Tutorial
• Main Concepts Block Part
- A part resulting froom the decomposition of a block
Values- Quantitative characteristics of the
system Port
- Points of interaction with other blocks
- Standard port : types of services that a block either requires or provides
- Flow port : specify what can flow in and out of blocks
Property / Operations / Receptions
Presentation of SysML specific diagrams : Block Definition Diagram (BDD)
• BDD describes the system hierarchy and system/component classifications
30 Topcased UML/SysML Papyrus editor Tutorial
Presentation of SysML specific diagrams : Internal Block Diagram (IBD)
• IBD describes the internal structure of a system in terms of its
parts, ports, and connectors • Main Concepts
Connectors
31 Topcased UML/SysML Papyrus editor Tutorial
• Represents constraints on system property values Property values example : performance, reliability, and mass properties, and
• Useful to integrate the specification and design models with engineering analysis models.
• Main Concepts Property Constraint property Connector
Presentation of SysML specific diagrams : Parametric Diagram
32 Topcased UML/SysML Papyrus editor Tutorial
• Captures requirements hierarchies and requirements derivation
• Satisfy and verify relationships allow a modeler to relate a requirement to a model element that satisfies or verifies the requirements
• Bridge between the typical requirements management tools and the system models
Presentation of SysML specific diagrams : Requirement Diagram
• Main Concepts Requirement
- Id- Text
Derivation Decompose Satisfy / Verify
Verify
33 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (1/10)
• Create a new profile Create a new Papyrus Model Select ‘Profile’ as Diagram Language Select UML Profile Diagram (You can also load a template)
34 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (2/10)
• Create stereotypes indicate the items (metaclass) to which they are applicable Use ‘Extension’ Relations between stereotypes and metaclasses
• Capabilities : Add properties to stereotype Inheritance Create abstract stereotypes Create new enumeration Define new data types…
35 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (3/10)
• Save the profile Accept “Define the profile” when saving
36 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (4/10)
• Applying the profile Select a package in the Model Explorer view (1) Select Profile Tab in the Property View Use Apply Profile button to apply your profile (2) You can also Apply Registered profiles (2) Select the profile model (.uml extension) (3)
1
Apply profile button
Apply registered profile button
23
37 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (5/10)
• Apply a stereotype Select the item you want to apply the stereotype (Model Explorer View or
Diagram) Use the ‘Add New Element’ button in Property View (Profile tab) Select the stereotype to apply
Add New Element Button
Note that the available stereotypes are filtered depending on the selected element types.
38 Topcased UML/SysML Papyrus editor Tutorial
• Modify stereotype properties Use the Property Value section (Profile tab in Property View)
Specialization of items – UML profiles (6/10)
Double-click to modify the value of the property (or use predefined buttons)
39 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (7/10)
• Customize figure’s element using stereotype (1) Select a stereotype and add an image
Select the image and define properties
40 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (8/10)
• Customize figure’s element using stereotype (2) Change appeareance of applied stereotypes (Appearence Tab of Property
View)
41 Topcased UML/SysML Papyrus editor Tutorial
Specialization of items – UML profiles (9/10)
• Customized palettes (1) Right click on palette view Use the Add button Give a name to your palette
42 Topcased UML/SysML Papyrus editor Tutorial
• Customized palettes (2) Select the meta-class element and add them to your palette (preview)
Set stereotypes list Using Aspect Actions
Specialization of items – UML profiles (10/10)
43 Topcased UML/SysML Papyrus editor Tutorial
Frequently Asked Questions
To create- An element import, right click on a package, create child > element import and in advanced
properties section fill the property “imported element”- A package import, right click on a package, create child > package import and in advanced
properties section fill the property “imported package”