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:
Methodology
Process - Profiles
An established process1)) to create profiles is laid out below:
Create a metal-model for the specific domain that is being integrated. This could be done with the use of an
ontology.
Create a
SysML profile that will map the meta model to
SysML stereotypes
Create a transformation map between the meta model and
SysML profile's entities
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.
Process - Model Library
Model Libraries are useful if the modeler wants to takes parts 'off-the-shelf' rather than re-create them. Should only be used for parts that will be re-used.
To merge a maintained XMI file (e.g. a standard item type model library) do the following:
Select the package that you want the model library to be a child of (e.g. if intended model hierarchy is 'Overview/Standard Item Type', and your XMI package top directly is 'Standard Item Type' then select 'Overview' package in your target model
Publish → Model Exchange → Import XMI → Import Package from XML…
Select your source XMI → Import
Parts
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.
Leaf nodes of a profile is its stereotypes
Serves one of two purposes:
Stereotypes
Images in this section are copied from T. Weilkiens, “Systems Engineering with SysML/UML” MK Press (2006).
Example of extending a metaclass with a Stereotype. Note the black arrow
Properties of Stereotypes