UML & SysML modelling languages

Expertise and blog articles on UML, SysML, and Enterprise Architect modelling tool

version francaiseTwitterVideos UMLChannel SparxSystems EA YouTubeLinkedIn
SysML: Systems Modeling Language

SysML: Systems Modeling Language

SysML or Systems Modeling Language is a modelling language for Systems Engineering defined as an extension of UML.

Systems Engineering (SE), is an approach and discipline to deal with complex systems, involving software and hardware solutions.

Systems Engineering applies to the following areas and industries: embedded systems (e.g. audio and video encoding/decoding, set top box), automotive, rail, aerospace, military, telecoms, healthcare, energy, etc.

Systems Engineering (SE) relies on modelling and simulation methods to validate requirements or evaluate the system.
Therefore modelling is common practice in SE e.g. using the Data Flow Diagram (DFD) to define the data going through a system and any processing that is required, or the Functional Flow Block Diagram (FFBD) similar to the UML activity diagram.

Specifications produced with the Systems Engineering often result from a document-based approach, which prompted the need for a transition to model-based approach with the model-based systems engineering or MBSE. MBSE leads to a structured set of models, representing and specifying the system at various levels of granularity such as the operational, functional, and technical aspects. Modelling the system helps in managing its complexity, since each model and diagram provides an abstracted view and definition of the system (or part of it).

The decision to define a general-purpose modelling language based on UML and dedicated to SE was initiated in 2001 by the INCOSE (International Council on Systems Engineering) that got in touch with the OMG (Object Management Group) to form the Systems Engineering Domains Special Interest Group (SE DSIG). The goal of such language is defined as follows: “A standard modelling language for systems engineering to analyze, specify, design, and verify complex systems, is intended to enhance systems quality, improve the ability to exchange systems engineering information amongst tools, and help bridge the semantic gap between systems, software, and other engineering disciplines”.

The INCOSE and the OMG were joined by members of the industry (BAE, Motorola, Boeing…), modelling tools vendors (IBM, Sparx Systems…), universities and organizations to define the systems modelling language SysML.

  • 07/2006: SysML is officially adopted by the OMG
  • 09/2007: SysML v1.0
  • 12/2008: SysML v1.1
  • 06/2010: SysML v1.2
  • 06/2012: SysML v1.3
  • 09/2015: SysML v1.4 
  • 05/2017: SysML v1.5, ISO/IEC 19514:2017 (current version available with EA)
  • 12/2019: SysML 1.6
  • 06/2023: SysML 2.0 beta 1

SysML is based on UML and involves modelling blocks instead of modelling classes, thus providing a vocabulary that’s more suitable for Systems Engineering. A block encompasses software, hardware, data, processes, personnel, and facilities.

Model traceability is defined in the SysML specifications through allocations, commonly used by systems engineers.

SysML reuses a subset of UML2 and defines its own extensions. Therefore SysML includes nine diagrams instead of the thirteen diagrams from UML2, making it a smaller language that is easier to learn and apply:

  • Structure diagrams
    • The Block Definition Diagram (BDD), replacing the UML2 class diagram
    • The Internal Block Diagram  (IBD), replacing the UML2 composite structure diagram
    • The Parametric Diagram, a SysML extension to analyse critical system parameters
    • The Package Diagram remains unchanged
  • Dynamic diagrams
    • The activity diagram has been slightly modified in SysML
    • The sequence, state chart, and use case diagrams remain unchanged
    • The requirements diagrams is a SysML extension

For further details, please check the article SysML explained (based on version 1.2).

sparxsystems-enterprise-architect-sysml internal block diagram ibd

This is a short tutorial to add a part's child on a SysML Internal Block Diagram with Enterprise Architect modelling tool. It uses the current version 15 of Enterprise Architect (EA), however the same process should apply with version 14.

Initial context: the following Block Definition Diagram (bdd) illustrates our main system breakdown structure.


Sparx Enterprise Architect latest version 13.5 includes a fix on the way SysML blocks compartment with the list of parts is rendered on a SysML Block Definition Diagram (bdd). 

Until now, a SysML block's parts are listed within a "properties" compartment whereas it should be named "parts" according to the OMG specifications. Below is an extract from the OMG SysML specifications (page 34).

OMG SysML specifications block bdd compartiment

This gap with the specifications has been addressed in Sparx EA 13.5 as illustrated in the diagram below: results with the previous version on the right hand side (SysML 1.3) can be compared with the new version on the left (SysML 1.4 + EA 13.5). In addition, a part multiplicity is now included in this compartment which can be useful.

  • Note: when the role is not defined on the part (see BlockA below), the multiplicity is not rendered on the block's parts compartment. This issue has been raised with Sparx Systems.

 sysML block definition diagram parts compartiment correction sparx enterprise architect 13.5


 object management group sysml

SysML 1.5 specifications have been officially published by the OMG.

The specifications are available to download from According to the Object Management Group, the primary change from SysML v1.4 is the introduction of an Abstract Requirement that can be extended to support other kinds of requirements such as  property-based requirements.

It is also important to know that SysML has been published by the International Organization for Standardization (ISO) as a full International Standard (IS) under the title "ISO/IEC 19514:2017, Information technology -- Object management group systems modeling language (OMG SysML®)".

sysml iso IEC 19514:2017

I just received printed leaflets illustrating SysML diagrams done with Sparx Enterprise Architect. This is useful for participants who follow VISEO / PRFC training sessions on SysML with EA modelling tool.

The printed version is currently available in French only so I released an english version which is available to download from the linked article.

brochure sysml enterprise architect umlchannel viseo

SysML reference card defined by Tim Weilkiens ( is now available with diagrams done with Sparx Systems Enterprise Architect modelling tool. This overview illustrates SysML modelling language concepts, organized by topic:

  • System context diagram
  • Use case diagram
  • Block Definition diagram
  • SysML ports
  • Internal Block diagram
  • Requirements
  • Packages
  • Sequence diagram
  • Activity diagram
  • State Machines
  • Comments and constraints
  • Allocations
  • Parametric diagram

SysML 1.4 reference card is available in the PDF format.

sysml reference card

sysml port synchronization ibd sparx enterprise architect

During a SysML with Enterprise Architect training session, participants had to model a SysML Internal Block Diagram (IBD) for the system context.

This exercise started off a block definition diagram (BDD) that had been modelled earlier during the training. Sparx Systems Enterprise Architect (EA) SysML modelling tool makes it straightforward to create a SysML IBD for a given block, e.g. the system context (right click on the block > New Child Diagram > Add Diagram > Internal Block Diagram).

Once the internal block diagram is created and displayed, a useful EA feature involves synchronizing structural elements to add all parts according to the BDD definition. This can be achieved via a right click on the diagram > Synchronize Structural Elements. This feature is however limited as it doesn't provide the option to add the parts' ports, when related blocks have ports.

This article provides a hint to easily add all SysML parts' ports on an IBD diagram by using one of the hoTools add-in features.

This article is intended to introduce and share tailored searches for SysML Requirements in Sparx Enterprise Architect modelling tool.

Enterprise Architect built-in requirements have been customized by Sparx Systems according to the OMG SysML specifications by adding the following properties:

  • text: The textual representation or a reference to the textual representation of the requirement.
  • id: The unique id of the requirement.

Text and id are available as tagged values, illustrated below.

sysml requirement id text tagged values sparx enterprise architect

When standard (non-SysML) requirements are used, it is common practice to run searches on the title, alias (reference) and notes (description). When possible, a systems project team can choose to use these fields in SysML requirements as an alternative to the OMG "id" and "text" properties.

Instead if the id et text tagged values must be used, there can be issues in running searches based on Enterprise Architect default installation.

That's why I ended up defining the following SysML searches, available via the UMLChannel MDG Technology.

formation sysml enterprise architect

I ran last June a new 3 day training course at a client's on SysML with Sparx Systems Enterprise Architect tool. This training course in french involved two instructors: Pascal Roques, a SysML and Systems Engineering expert in France, and myself on Sparx Enterprise Architect modelling tool.

This training course combines the theory with the SysML modelling language brought by Pascal expertise alongside Enteprise Architect as a SysML modelling tool, brought by Viseo. Enterprise Architect tool is covered throughout the 3 days course to understand its environment, its SysML integration and features, and putting it all in practice via exercises.

Following a first successful "intra training session", Pascal and myself have decided to run "inter-training sessions" throughout France, starting end of 2016. The first SysML + Enterprise Architect inter training session will take place in Grenoble in October 2017.

Full details in French are available from this link. Contact me on This email address is being protected from spambots. You need JavaScript enabled to view it. for any further information.

sparxsystems enteprise architect 13

openmodelica integration sparx enterprise architect sysml simulation

Sparx Systems has integrated a link with OpenModelica open source project to simulate and create graphs on SysML parametric models in its upcoming version 13, currently available in a beta preview.

This feature requires installing OpenModelica tool ( Algorithms must be entered in SysML constraint blocks as invariant constraints, and SysMLSim configurations must be created via the Enterprise Architect 13 Simulate ribbon.

According to SparxSystems, this integration with OpenModelica enables an equation based modeling of complex interacting engineered systems within the automotive, aerospace, robotics and power plant industries, e.g. systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented sub-components. OpenModelica supports analysis of changing design and usage scenarios, and it speeds up development by evaluating and improving variants earlier in the design process.


Tuesday, 24 November 2015 00:00

SysML 1.4 available

The OMG has published the following announcement on the release of SysML 1.4.

September, 2015. The OMG SysML Version 1.4 specification (OMG document formal/2015-06-03) has been formally released and can be downloaded from the OMG SysML page at This specification was adopted in, March 2014, and supercedes SysML Version 1.3. Some of the vendors have implemented SysML v1.4 features in their tools.

Some of the more significant changes in SysML 1.4 include:

  • enhanced the view and viewpoint method that supports view generation
  • added a lightweight grouping mechanism called element group
  • provided mechanisms to unambiguously refer to a deeply nested element within a part hierarchy
  • substantial additions to non-normative quantity and unit libraries, and refined the QUDV semantics
  • added notations for inherited features, behavior compartments, and port features
  • included SysML diagram interchange capability
  • updated language conformance statements for abstract syntax, concrete syntax, and model interchange


Monday, 25 February 2013 22:48

SysML 1.3 released

The OMG has published this month the official specifications of the expected new version 1.3 of SysML, two years after releasing SysML 1.2.

SysML 1.3 includes a new definition of ports via the Full Ports and Proxy Ports, both allowing to combine operations to call, and items to flow in and out the block. SysML 1.3 updates also include nested ports, nested flows, association blocks, and port compatibility.

Further details are available from my post entitled "SysML 1.3 beta preview".

Tuesday, 17 April 2012 14:15

SysML 1.3 bêta preview

sysml 1.3SysML, the OMG modelling language based on UML and tailored for systems engineering is currently available in its version 1.3 bêta. The final version should be released this June.

SysML 1.3 brings many changes to the ports definition ; this article provides an overview of the new concepts including full port, proxy port, and nested port.

"SysML modelling language explained" article has been published on the OMG SysML web site!

This article is available here : SysML Modelling Language explained.

sysml diagrams

I delivered a couple of month ago a Valtech training session about applying UML2 and SysML to model complex systems. Following this training session, I decided to write an article to provide an overall picture about this UML-derived modelling language designed for Systems Engneering.

This article is entitled "SysML Modelling Language explained" (PDF version), and covers SysML 1.2.