User Tools

Site Tools


bok:eng:mbse:sysml:adapting-sysml

This is an old revision of the document!


Adapting SysML to Domains

Rationale

To aid in the efficiency in creating models the modeler may adapt SysML to their particular domain. This can be done using several possibilities allowed in SysML:

  • Use of Profiles and Stereotype to extend the language (which is represented as meta-classes).
  • Use of Model Libraries to have a library of standard elements that the modeler can draw from.

Methodology

Process

An established process1)) is laid out below:

  1. Create a metal-model for the specific domain that is being integrated. This could be done with the use of an ontology.
  2. Create a SysML profile that will map the meta model to SysML stereotypes
  3. Create a transformation map between the meta model and SysML profile's entities
  4. For each transformation include the corresponding API call to the domain specific tool

For an examination of applying SysML to other languages such as Modelica see Integrating SysML with other languages.

If language modeler wants to make the use of a particular profile mandatory then the relationship between the model and the profile shall be required.

Parts

Metamodel

  • Metamodel is a model of a modelling language
  • It consists of concrete syntax, abstract syntax and semantics.
  • Concrete syntax: Facilitates the presentation and construction of models
  • Abstract syntax: Vocabulary of concepts provided by the language and how they may be combined to create models. Shown in italics. Abstract syntax deals solely with the form and structure of concepts in a language without any consideration given to their presentation or meaning 2)
  • Semantics: Forms relationships between syntax to give them meaning.

Profiles

  • Profiles are a specialization of Packages.
  • Profiles may contain sub-packages and/or sub-packages.
    • Advantages of sub-profiles is that the sub-profiles may be applied independently to other sub-profiles
    • If parent profile is applied then by default all stereotypes within sub-packages are applied
  • Leaf nodes of a profile is its stereotypes
  • Serves one of two purposes:
    • Profile defines a set of concepts that support a new domain
    • Profile defines a set of concepts that add value to a model in a domain that is already supported.

Stereotypes

Images in this section are copied from T. Weilkiens, “Systems Engineering with SysML/UML” MK Press (2006).

  • Stereotypes are collected in Profiles (which is a specialization of Package).
  • Stereotype extends metaclass (a construct of SysML, e.g. “Block”). This extension relationship is a specialization of the association relationship.

Example of extending a metaclass with a Stereotype. Note the black arrow

  • Stereotypes can also specialize other stereotypes

Properties of Stereotypes

  • Properties of stereotypes are different to properties of blocks. E.g. a block “Vehicle” may have a property called inspector which records which inspector did the inspector for an instance of Vehicle. However a stereotype “Vehicle” which extends the metaclass “Block” may also have a property called inspector. In this case the property is intended to capture which inspector checked the specification of Vehicle and nothing to do with any particular Vehicle instance.
1)
C.Paredis and T. Johnson, “Using OMG's SysML to support simulation” Proceeding of the 2008 Winter Simulation Conference (2008
2)
Clark, Sammut & Williams, “Applied Metamodeling”, Middlesex University London (2008) 2nd edition
bok/eng/mbse/sysml/adapting-sysml.1601693933.txt.gz · Last modified: 2020/10/03 02:58 by anwlur