SysML Overview

SysML Synopsis
The Systems Modeling Language (SysML) is general purpose architecture modeling language for Systems Engineering applications.
• SysML supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems. These systems may include hardware, software, information, processes, personnel, and facilities.
• SysML is a dialect of UML 2, and is defined as a UML 2 Profile. (A UML Profile customizes defines language customization extensions via Stereotypes, Tagged Values, and Constraints.)
• SysML is an enabling technology for Model-Based Systems Engineering (MBSE).

The SysML was originally developed as an open source specification project initiated in 2003 in response to OMG’s “UML for Systems Engineering” RFP. For more information about the origins of SysML see the Who created SysML? FAQ.

SysML contains nine diagram types, seven of which it shares in common with its parent language, along with one tabular notation (Allocation tables.) For more information about SysML diagrams see the What are the SysML diagram types? FAQ.

The open source SysML specification is publicly available for download, and includes an open source license for distribution and use. The most recent revision of SysML is OMG SysML v. 1.4. For more information about the most recent version of SysML see the What is the current version of SysML? FAQ.
Language Classification:
Artificial Language Visual Modeling Language Visual Architecture Modeling Language UML SysML (UML Profile)
Core Concepts:
The expression the Four Pillars of SysML refers to the four essential diagrams of SysML: Requirement, Activity, Block, and Parametric diagrams. The expression was coined by Cris Kobryn, the chair of the SysML Partners open source specification project, when he observed that 80+% of the time that the SysML Partners discussed SysML language features they were discussing features in these four diagrams. He further noted that, from an artificial language design perspective, the Activity and Block diagram pillars were more important than the other two, since they were based on proven UML2 diagram techniques that already successfully integrated (allocated) behaviors (functions) to structures.
Diagram Types:
The SysML specification defines nine (9) diagram types, which are shown in the SysML Diagram Taxonomy figure below, and one tabular notation (Allocation tables). Of the nine diagram types, four diagram types are considered behavioral or dynamic (Activity, Sequence, State Machine, and Use Case), four diagram types are considered structural or static (Block Definition, Internal Block, Parametric, and Package) and the remaining diagram type is reserved for declaring requirements (Requirement).

Usage Note: Allocation tables are used for defining cross-cutting relationships between diagram types, and are useful to checking both semantic well-formedness rules and architectural integrity rules. A common example of a behavior-to-structure Allocation is the mapping of behavioral Activities in Activity diagrams to the structural Blocks in a Block Definition diagram via Activity Partitions (commonly referred to as "swim lanes"). A common example of a structure-to-structure Allocation is the mapping of Interface structures to the Block structures that realize or implement them.

SysML Diagram Taxonomy

SysML Diagram Taxonomy

Reproduced by Permission © 2003-2017 PivotPoint Technology Corp.

Language Origin:
SysML was created by the SysML Partners, an informal association of Systems Engineering experts and software modeling tool vendors that convened in 2003 to create a profile (dialect) of UML for Systems Engineering called SysML (Systems Modeling Language). The SysML Partners defined SysML as an open source specification that would satisfy the requirements of the Object Management Group's UML for Systems Engineering RFP, and their specifications included an open source license for distribution and use.
For further details about the history of the SysML see the SysML Partners page on the web.
Current Specification:
Language Characteristics:
• General purpose?
• Graphic syntax?
• Precise executable semantics?
• Open standard?
• Supports Rigorous or Robust processes?
• Supports Agile or Lean processes?
• Tool support?
• Interoperable?
[Can be applied to any System or System-of-Systems]
[Visual notation similar to UML 2.]
/ [Incomplete, varies with implementation.]
[Can be adapted.]
[Can be adapted.]
[Extensive tool support by popular visual modeling tools.]
/ [Poor due to XMI shortcomings.]
Enabling Technologies:
UML 2: SysML is defined as a dialect (profile) of UML 2, the industry standard visual architecture modeling language for software-intensive systems.
Language Usages:
• Primary Users: Systems Engineers
• Other Users: Software Engineers, Electrical Engineers, Mechanical Engineers, …
Language Variations:
Tool Support:
See SysML.Tools for selected reviews of popular SysML-compliant visual modeling tools.

OMG SYSML, UML, and UNIFIED MODELING LANGUAGE are trademarks of the Object Management Group. All other product and service names mentioned are the trademarks of their respective companies.