Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Papyrus/Papyrus User Guide"

(Create and edit constraints)
(Create and edit constraints)
Line 132: Line 132:
 
Creation and edition comprises includes multiple use case, namely creation of a constraint and its context and setting a specification.
 
Creation and edition comprises includes multiple use case, namely creation of a constraint and its context and setting a specification.
  
 +
<center>
 
[[image:Constraint_CreationUseCase.png]]<br/>  
 
[[image:Constraint_CreationUseCase.png]]<br/>  
 +
</center>
  
 
===== Define a constraint and its context =====
 
===== Define a constraint and its context =====

Revision as of 17:34, 15 May 2014


Contents

Using UML modeling editors

UML modeling

Getting Started

Papyrus Perspective

The Papyrus perspective contains :

  • Model Explorer view
  • Outline view
  • Multi diagram editor view
  • Properties view
  • Toolbar

Papyrus Perspective.png

Model Explorer View

The model explorer is used to navigate to the all model's elements and the diagrams.

Papyrus ModelExplorer.png

This action link the model explorer with the active diagram selection. This action works bidirectionally.

Papyrus ME Sync.png

This action allow to add new semantic element.

Papyrus ME NewChild.png

This action allow to add new diagram in current selection.

Papyrus ME NewDiagram.png

All actions are available on diagram item.

Papyrus ME DiagramMenu.png

The model explorer used Common Navigator Framework and provide facilities to customize view.

Papyrus ME CustomizeView.png

To customize the content of treeViewer:

Papyrus ME CustomizeView Content.png

To filter the content of treeViewer:

Papyrus ME CustomizeView Filters.png

Outline View

The Outline offers a thumbnail of the graphical representation and the list of semantic elements used in current diagram.

Papyrus OutLine.pngPapyrus OutLine All.pngPapyrus OutLine Tree.png

Tutorials on UML modeling with Papyrus

Model/Diagram creation wizard

Create a new Model.

Papyrus CreateNewModel.png


Choose the model file name and the first diagram to create.

Papyrus CreateNewModel-2.png Papyrus CreateNewModel-3.png

Create a diagram from an existing uml file

From your uml file, select the "Initialize Papyrus diagram" to access the creation wizard of Papyrus. Your Papyrus diagram will be linked with your existing model.

CreateDiagramFromModel.PNG


Apply a static profile
  • 1 - Select a package element (ie a Model or a Package).
  • 2 - Select the tab "Profile" on the "Properties" view
  • 3 - Click on the plug-in icon
  • 4 - Select your static profile
  • 5 - Choose profiles to apply

PapyrusApplyStaticProfil.PNG

Load an additionnal resource
Show additional resources in your model explorer view

Ensure that the filter for the additional resources is not checked on your model explorer view : PapyrusFilterAdditionalResources.PNG

Add an additional resource

Right click on an element of your model and select the menu "Load resource..."

PapyrusLoadResources.PNG


Table Documentation

See http://wiki.eclipse.org/Papyrus_User_Guide/Table_Documentation

Papyrus Zoo of UML Models

Composite Structure Diagram

CompositeSupport.PNG

The project is available here [1]

Constraints in Papyrus

Create and edit constraints

Creation and edition comprises includes multiple use case, namely creation of a constraint and its context and setting a specification.

PapyrusConstraint-CreationUseCase.png

Define a constraint and its context

Papyrus supports the creation of UML constraints. To create a constraint, and associated context, do one of the following:

  • Within any Papyrus diagram select the constraint tool from the palette and then press the mouse button at the position where you want to create the constraint on the diagram canvas. The constraint should then be connected to another element on the diagram, via a ContextLink relationship, by clicking on the target element in the diagram (in two-click mode). If you are in one-click-mode (connection tool preference), press the mouse button on the constraint and keep it pressed until the context object is selected. This ContextLink relationship defines the context for which the constraint will be evaluated.

PapyrusConstraint-CreateViaDiagram.png   PapyrusConstraint-ContextViaDiagram.png
The constraint and context-link tools in the palette

  • Within the Model Explorer via right clicking a model element and then selecting New Child -> Create a new Constraint. The context is automatically set to the parent of the constraint. The context can be changed via the Properties View if required.

PapyrusConstraint-CreateViaME.png
Create a constraint via the model explorer

PapyrusConstraint-ContextViaPropertyView.png
Set the context via the property view

Define constraint specification

Each constraint has a specification containing a condition. Whereas it may be an arbitrary value specification, such as a StringExpression or LiteralInteger, it is in most cases useful to define an opaque expression consisting of a pair of language and body (a list of these pairs). The constraint body may be written in at least OCL, JAVA, or natural language. In order to make constraints evaluable by Papyrus the constraint must be written in either OCL or JAVA. To define a constraint's specification, first select a constraint on either a diagram or in the Model Explorer, then do the following:

  • On the diagram open the default editor for constraints using the keyboard shortcut F2 or with a second click on an already selected constraint. The editor assume the language is OCL but this can be changed later via the Properties View. The constraint text is defined directly in the editor. The default editor can be controlled via the preferences.
  • On the diagram select a specific editor via the context menu, as shown in the following screenshot.

PapyrusConstraint-ChooseEditor.png
Explicitly choose the editor for the constraint

Use the property view to create a new or open an existing specification, as shown in the following figure. In the sequel, we assume that the specification is an opaque expression.

PapyrusConstraint-SpecViaPropertyView.png
Open the specification via the property view

You can add the language, as in the following figure:

PapyrusConstraint-OpaqueExpressionAddLang.png
Specify a language.

PapyrusConstraint-OpaqueExpressionEdit.png
Write the body of the opaque expression

This method is a bit more complicated, but gives the user full control over the opaque specification. In particular, it is possible to enter more than one language, body pair (even if this is rarely needed).

Validate OCL Constraints of a Profile

Papyrus supports an additional profile for defining Domain Specific Modeling Languages (DSML) that refines how constraints are validated.

The additional profile enables a more precise specification of validation properties, for example:
•Mode: Defines if the validation of the constraint is done in “batch” or “live” mode
•Severity: Defines the severity of the constraint violation. It can be one of INFORMATION, WARNING or ERROR. The latter is the default severity (if none is specified). The CANCEL severity should be used with caution, as it causes the validation operation to be interrupted, possibly resulting in the loss of valuable diagnostic information from other constraints.
•Message: Defines the message that will be displayed if the constraint is violated

•Description: Provides a description of the constraint •Enabled by default: Defined if this constraint should be enabled by default or not

CAVEAT: The information added via the profile using the DSML profile is not currently taken into account during OCL validation. The support will be added soon.

Advanced users can also define: • Id: The constraint id • Status code: The plug-in unique status code, useful for logging. •The target of validation, the element to be validated

How to apply the DSML validation profile: 1.Select the profile root and apply the profile

2.Select the profile tab in the property view

3.Click on the registered profile button

4.Select the "DSML Validation" profile

DSML-profileApplication.png
Open the specification via the property view

5.Select the constraint

6.Select the profile tab of the property view 7.Click on the apply profile button 8.Select the ValidationRule stereotype

DSML-stereotypeApplication.png
Open the specification via the property view

You can then edit the stereotype attribute to define information about the behavior of the validation.

Generation from Constraints

Constraints expressed in OCL can be validated directly in the tool. This is not the case for Java constraints which must be placed in a suitable plugin. However, Papyrus supports the generation of this plugin.

Generate constraints directly into the definition

Constraints written in OCL within the profile can be generated into the definition of the profile and read during the validation of the model.

How to

When you save the profile, Papyrus asks to you if want to define the profile. Click on yes and then assure that the "Save OCL constraint into the definition" button is active (which is the case by default)

SysML Modeling

Tutorials on SysML modeling with Papyrus

Papyrus Zoo of SysML Models

MARTE Modeling

Tutorials on MARTE modeling with Papyrus

Papyrus Zoo of MARTE Models

fUML and Alf Modeling

Using fUML and Alf to produce executable models

Developing custom DSL based editor with Papyrus

UML Profile Modeling

Define Profile Constraints

MetaModel Modeling

Additional Editor Integration (this section is for the Backone)

Diagram Editors Customizations

Specific Diagram Editors Creation

Diagram Editor Palette Customization

Here you can find the documentation describing palette customization: Doc

This document can also be found in Papyrus help section => User Guide => Palette customization

Property Editor Customization

Model Explorer Customization

Diagram Appearance Customization with CSS Stylesheets

CSS Stylesheets in Papyrus

Additional Utilities of Papyrus

Collaborative Work Support

Layer Support

See Layers Guide

Automatic Layout Support

Code Generation Support

JAVA Code Generation

C/C++ Code Generation

see Papyrus C++ code generation

ADA Code Generation

Documentation Support

Documentation Modelling

Documentation Generation

Back to the top