Top 10 modeling hints for system engineers: #5 Only 4 (+1) diagrams are required

In tip #5 of his top 10 modeling hints Bruce Douglass explains Minimal SysML, a profile he created, as an easier way to adopt both UML and SysML


Bruce Douglass (, Rational Chief Evangelist, Systems Engineering, IBM

author photoEmbedded Software Methodologist. Triathlete. Systems engineer. Contributor to UML and SysML specifications. Writer. Black Belt. Neuroscientist. Classical guitarist. High school dropout. Bruce Powel Douglass, who has a doctorate in neurocybernetics from the USD Medical School, has over 35 years of experience developing safety-critical real-time applications in a variety of hard real-time environments. He is the author of more than 5,700 book pages from a number of technical books including Real-Time UML, Real-Time UML Workshop for Embedded Systems, Real-Time Design Patterns, Doing Hard Time, Real-Time Agility, and Design Patterns for Embedded Systems in C. He is the Chief Evangelist at IBM Rational, where he is a thought leader in the systems space. Bruce consults with and mentors IBM customers all over the world. Follow Bruce on Twitter @BruceDouglass.

19 November 2013

Also available in Chinese Russian Japanese

The UML is a complex language. The current specification of the language has three parts

  1. Superstructure (758 pages)
  2. Infrastructure (226 pages)
  3. Interchange (132 pages)

This text is so dense that it is commonly referred to as the "hairy underbelly" of the UML. SysML is even worse: it contains about 80 of the UML specifications and adds a good bit more (272 pages). It also has a number of subtle and complicated features. This has been a barrier to acceptance and usage of the SysML in some systems engineering environments.

However, the complexity of the full specification should not be a barrier to the adoption and use of the modeling language. An engineering team can get approximately 80% of the benefits of modeling with a core 20% of the language. I have created a SysML Profile called Minimal SysML. It includes a subset of features. Other features and views defined by the SysML can be incrementally adopted once the core subset is understood, but only when needs for more advanced features arise.

The language subset contains fewer diagrams than the set defined with the SysML specification and some of the diagrams are simplified in terms of the elements they contain. The core diagrams are:

  • Use case diagram
  • Block diagram (block definition diagram and external block diagram are variants)
  • Activity diagram
  • State diagram
  • Sequence diagram

Some of the diagrams removed include:

  • Requirements diagram: a "virtual diagram" that really isn't a diagram type at all
  • Package diagram: a use of a block diagram
  • Parametric diagram: used to model parametric constraints.

Some elements within the support diagrams are also removed:

  • Block diagrams: retain proxy ports but lose full ports
  • State machines: lose history pseudo state and junction connector
  • Sequence diagrams: omit create, destroy, found and lost messages, execution occurrence, and reply messages. Activity diagrams lose action pin, call operation, interruptible regions, and flow final.

This subset supports almost all system engineering workflows, such as requirements modeling, use case functional analysis, architectural specification, and interface definition. As mentioned, as comfort permits – and need arises – the other views and elements can be incrementally added back. In the meantime, you will have a simpler language that allows you to do almost all the required engineering.



Get products and technologies



developerWorks: Sign in

Required fields are indicated with an asterisk (*).

Need an IBM ID?
Forgot your IBM ID?

Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.


All information submitted is secure.

Dig deeper into Rational software on developerWorks

ArticleTitle=Top 10 modeling hints for system engineers: #5 Only 4 (+1) diagrams are required