2. Pascal Roques : consultant senior, 25 ans d’expérience
•SADT, OMT, UML, SysML
Certifié UML2 et SysML par l’OMG
Co-fondateur de l’association
Auteur des ouvrages les plus lus en France sur UML
… et du premier livre sur SysML
2
Présentations : PRFC
3. Historique de SysML
RFP
• UML for Systems Engineering RFP (OMG) : mars 2003, avec l’INCOSE et AP233
• Initial draft : janvier 2004
1.0
• SysML Specification v1.0
• Adoptée par l’OMG en Juillet 2006
1.1
• SysML Specification v1.1
• Adoptée par l’OMG en Juin 2008
1.2
• SysML Specification v1.2
• Adoptée par l’OMG en Juin 2010
1.3
• SysML Specification v1.3 (http://www.omg.org/spec/SysML/1.3/)
• Adoptée par l’OMG en Juin 2012
1.4
• SysML Specification v1.4
• En cours de finalisation (2014)
3
5. SysML 1.4
Quelques différences (mineures) avec la version précédente (1.3)
•Déjà prises en compte par Cameo Systems Modeler 18.0 !
Modification profonde des concepts de View et Viewpoint
Ajout de concepts avancés :
•AdjunctProperty, BoundReference, et ElementGroup
Quelques nouvelles notations pour les blocs (cf. UML 2.5)
•Propriétés héritées, etc.
Nouvelle bibliothèque de Units et QuantityKinds : QUDV et prise en compte de la nouvelle ISO 80000
5
8. View et Viewpoint 1.3
Une vue (View) est une sorte de package utilisée pour montrer une perspective particulière sur un modèle, comme la sécurité, ou les performances
Un point de vue (Viewpoint) représente une perspective particulière qui spécifie le contenu d’une vue
•Une vue se conforme à un point de vue
8
9. View et Viewpoint 1.4
The concepts of viewpoint and view are articulated in ISO-42010 (formerly IEEE-1471)
•SysML viewpoint and view constructs are consistent with the ISO-42010 standard
Typical examples may include an operational, manufacturing, or security viewpoint and view
The viewpoint and view model can also be thought of as a description model, which augments a system model.
•A viewpoint and view model exposes elements of one or more system models
•A viewpoint is a specification of rules for constructing a view to address a set of stakeholder concerns
•The view is intended to represent the system from this viewpoint
9
10. View et Viewpoint 1.4 (suite)
The viewpoint describes the point of view of a set of stakeholders by framing the concerns of the stakeholders along with the method for producing a view that addresses those concerns
The view is the modeling element that represents the artifact that is presented to the stakeholder
The view is the result of querying one or more models that are defined by a viewpoint method
•A view conforms to only one viewpoint to ensure that only 1 method is applied to the view
10
12. Expose
The expose relationship relates a view to one or more model elements. Each model element is an access point to initiate the query
The view and the model elements related to the view are passed to the constructor when it is invoked
The method describes how the exposed elements are navigated to extract the desired information
12
16. Transitioning 1.3 Viewpoint and View to 1.4
Refactoring a view model build from the SysML 1.3 defined viewpoint, view, conforms, and the UML package import mechanism could be performed as follows:
•Conform
Replace v1.3 Conform with v1.4 Conform. The conform target in 1.3 becomes the general classifier in 1.4.
•View
Replace 1.3 View package with 1.4 View class
•Viewpoint
For each Stakeholder string, create a stakeholder with the string as the name
Update the stakeholder property on the new viewpoint with the created stakeholder
For each method string of the 1.3 viewpoint, create the operation «create»View() and append the string to the body of a comment that annotates the operation.
•Element and package import
Replace each package and element import with an expose relationship.
16
17. ElementGroup
The ElementGroup stereotype provides a lightweight mechanism for grouping various and possibly heterogeneous model elements by extending the capability of comments to refer to multiple annotated elements
17
18. ElementGroup (suite)
ElementGroups appear in diagrams as comments, and properties of the stereotype appear in the notation for stereotype properties
Element groups do not own their elements and thus an element can participate in an unlimited number of groups
The elements in a group are identified by the modeler, as opposed to being the result of a query, as in views
Element groups can be members of other element groups, but this does not imply that members of the first are members of the second
18
23. Unit, QuantityKind
23
A SysML ValueType and its quantityKind establishes, via UML typing, the associative relationship between a particular “quantity” (modeled as a SysML value property typed by a ValueType) and a “kind of quantity” (the ValueType::quantityKind of the SysML value property's type)
This UML/SysML associative relationship reflects the terminological distinction made in VIM3 between the concepts of “quantity” [VIM3-1.1] and “kind-of-quantity” [VIM3-1.2] that “cannot be in a generic or partitive hierarchical relation to each other” [Dybkaer-2010]
29. Transitioning Units and QuantityKinds to 1.4
Changing units and quantity kinds from 1.3 to 1.4 can be accomplished as follows, depending on the kind of element being changed:
•An InstanceSpecification stereotyped by SysML 1.3 Unit:
Unapply the SysML 1.3 Unit stereotype.
Classify the instance specification by SysML::Libraries::UnitAndQuantityKind::Unit.
Set the values of SysML 1.4 Unit properties (symbol, description, definitionURI) to the values of the Unit
stereotype properties of the same name (symbol, description, definitionURI)
•An InstanceSpecification stereotyped by SysML 1.3 QuantityKind:
Unapply the SysML 1.3 QuantityKind stereotype.
Classify the instance specification by SysML::Libraries::UnitAndQuantityKind::QuantityKind.
29
30. BoundReference
The BoundReference stereotype can be applied to properties that have binding connectors, to highlight their usage as constraining other properties
30
36. Adjunct
The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, parameters, interaction uses, and submachine states.
36