What is Systems Modelling Language (SysML) and how can SysML help Organisations succeed?

~ Back to my Profile Page ~

Model-based systems engineering (MBSE) was formally launched by the International Council on Systems Engineering (INCOSE) in 2007 to address the growing complexity of systems development particularly in the multi-disciplinary and distributed system engineering by evolving from the traditional document-centric and test-based approaches to a graphical model-centric and frontloaded engineering methodology. INCOSE defines MBSE as the formalised application of modelling to support system requirements, design, analysis, verification and validation activities beginning in the conceptual design phase and continuing throughout development and later life cycle phases https://www.nasa.gov/consortium/ModelBasedSystems

Systems Modelling Language (SysML) is an extension of a subset of the Unified Modelling Language (UML) 2.0 family, part of the MBSE, using the UML’s profile mechanism which facilitates customisation of UML models in an additive manner for specific domains while preserving the standard semantics of the language. In short SysML is the spin-off of UML2.0 to support systems engineering.

SysML preserves most of the UML notation such as:

  • Sequence Diagram

  • State Machine Diagram

  • Use Case Diagram

  • Package Diagram

SysML has also modified some of the UML notation such as:

  • Activity Diagram

  • Block Definition Diagram

  • Internal Block Diagram

SysML has developed some new diagram types such as:

  • Requirement Diagrams (to support Requirement Engineering)

  • Parametric Diagrams (can be used for performance analysis and quantitative analysis)

The new Requirement Diagram and Parametric Diagram enable SysML to model a wider range of systems and neater than UML alone, including hardware, infrastructure and physical systems, personnel and processes.

SysML consists of:

  • Ontology – The concepts and categories of a subject area or domain that show their properties and relationships

  • Semantics – The definitions of the terms used in the language and the logic concerned with their meaning

  • Syntax – The rules relating to the structure of components and composition within the system

Figure 1: SysML Hierarchyhttp://www.omgsysml.org/what-is-sysml.htm


Why SysML?

  • To provide a more precise and unambiguous way to capture and share information about a system which may not be comprehensively or neatly described purely by UML which is typically software-centric.
  • To provide the graphic language to capture a comprehensive descriptive model of all aspects of a system hence providing a single source of truth
  • To capture the performance, functional behaviour and structured model to see how different parts of the systems are inter-connected with a great emphasis on the integration with external analysis tools.
  • To provide an informational description model and analysis model for easy transformation

 for software engineering expected to improve communications, tool interoperability, and design quality.

  • To provide a strong notion of inheritance in Object Oriented (OO) classes to enable SysML users to describe a domain specific system within the SysML. Although UML does this via class diagrams, entity relationship diagrams, OO is still a software-oriented concept and part of the point of SysML is to provide a modelling language that is not overly rooted in the software engineering concepts. For example, the attributes in the OO Classes can be described by SysML how to represent, how to interface with other systems within a domain specific modelling.
  • To provide an easy integration with external analysis tools for example: using MATLAB compiler SDK to integrate with .NET applications via API calls, using Simscape with capability of taking the SysML information to Simscape, process it and put it back to the model.

Benefits of SysML

UML focuses on information technology software development. Although UML does provide the artefacts to support operational technology (OT), UML doesn’t provide the artefacts which are as neat and as tailoring that SysML provides.

As mentioned above, UML is software-centric and it doesn’t provide the flexibility to model the hardware and infrastructure aspects in a system. On the other hand, SysML has plugged this gap by providing the more powerful diagrams to model the concept of operation for very complex systems for example: spacecrafts which comprise both real time and transactional data considerations. SysML is ideal for representing systems and subsystems. The internal block diagrams model interfaces amongst subsystems and the main systems. SysML is ideal for developing computation infrastructure system.

Requirement engineering explicitly models the requirements and the relationships between different requirements, which contrasts with textual documents or PowerPoints etc. (tons of documents are a real pain). Tools like Doors can be used for modelling the SysML requirements by linking requirements in order to manage requirements.

SysML can also use natural language textual requirements. SysML can tie the requirements and vision and can build constraints to make the requirements more than just textual description. SysML isn’t something that builds to specific programming languages but we can build rules, define the rules and acceptance criteria. It can’t do coding natively but it gives the syntax and logics.

How to implement SysML in tools?

There are a number of OMG’s endorsed SysML Computer-aided Software Engineering (CASE) tools on the market. Please refer to the OMG website for details. The toolset should be able to support the following:

  • All 9 types of SysML diagrams:

  • SysML Diagram Hierarchy ie:
  • Built-in analysis capability which can run the model to calculate the system.
  • Analysis capability with the language so that users can use parametric diagram with a bunch of equations to create a system of equation that the users can solve and then bring the information back to the system.
  • Sequence based computation for activity diagrams and allows users to build this part of the system sequence things in parallel. The tool can run simulation that to check with the users whether they have done everything they need to do to move to next steps.
  • Can create links between diagrams if the elements show in one diagram as well as another diagram
  • Can use mathematical computation
  • Provides database back end (ie: to provide a database back end of the models. Instead of an isolated blocks of diagrams, the SysML is database hidden behind)