[SysML] #1. Understanding SysML Diagrams

This blog post series focuses on the basic understanding SysML Diagrams and SysML modeling practice using Sparx Enterprise Architect.

As a new learner of SysML, understanding the modeling tool was a big challenge. Based on this experience, I would like to learn little by little about SysML and Enterprise Architect and share the knowledge I have acquired with you.

I believe that work utilizing the advanced syntax of SysML is not very common in the automotive electronics industry. Therefore, this series will focus on the fundamentals of SysML and basic modeling methods using Enterprise Architect.

I have already covered the basics of SysML and Enterprise Architect in my blog. In particular, you can obtain useful information by referring to the “Understanding SysML and Enterprise Architect Basics” series, which is the last post in the ‘System Engineering’ series.

In this post, I would like to re-emphasize the key points required for modeling and introduce content that was not covered in previous posts.

This section describes the selection and application of SysML diagrams. In SysML, it is important to select and utilize the diagram that best meets the goals and requirements of the project. It focuses on specific aspects of the system, promotes clear communication between stakeholders, and helps achieve project goals.

SysML provides a variety of diagrams used to model the structure and behavior of a system. These diagrams fall into three broad categories:

  • Structure Diagrams: Used to define and visualize structural aspects of a system. These diagrams represent the relationships and interactions of system components. (yellow diagrams in below bdd)
  • Behavior Diagrams: Used to define and represent the behavior and processes of a system. This allows us to explain how the system works and how the various elements interact. (blue diagrams in below bdd)
  • Requirement Diagrams: Define the requirements that underlie the design of a system and indicate how these requirements connect to the various parts of the system. (red diagram)
This Diagram Taxonomy is helpful to understanding SysML diagrams

Each diagram type is chosen based on the specific phase and goals of the project and is suitable for covering different aspects of the systems engineering process. For example, in the early design phase, requirements diagrams can be used to clarify the system’s key functions and performance criteria, while in the detailed design phase, structural diagrams and behavior diagrams are used to model more specific system configuration and behavior.

By using these diagrams effectively, systems engineers can clearly define the design and implementation of complex systems, improve communication between stakeholders, and ensure successful project execution.

Diagram frames play a central role in SysML modeling. It provides a basic structure, or “framework,” that clearly expresses the structure and behavior of the system being modeled. The use of frames aids understanding by clearly visualizing how specific parts of the modeled system will behave in a given situation.

  1. Providing visual context: Diagram frames provide visual context for model elements and their content. This context is essential to help users more accurately interpret the information presented. By simplifying and visually communicating the complexity of a system, users can easily understand the key elements and relationships that the diagram represents.
  2. Explicit linking of model elements: Specific diagrams are directly linked to specific model elements through symbols or connections drawn on the frame border. These connections clearly represent interactions and relationships between diagrams and promote a holistic understanding of the system model.

The use of diagram frames provides key value in the system modeling process. Frames define the boundaries of information within a diagram and clarify what roles and relationships specific parts of the system model have within the overall system. This allows modelers to more accurately and effectively represent the structure and behavior of the system, and makes it easier for stakeholders to understand and interpret key aspects of the model.

Diagram headers play a key role in the definition and classification of SysML diagrams. It is usually rectangular in shape, located in the upper left corner of the frame, and has a unique design with the lower right corner cut off. The header provides essential information about the diagram and is organized in the following format:

⇒ Diagram type [model element type] model element name [diagram name]

1. Diagram Type: This is an abbreviation for a classification of diagrams that provides essential information to properly understand and interpret diagrams. Commonly used diagram types in SysML include:

  • Activity Diagram (act): An activity diagram models the process flow and behavior of a system, expressing the execution order and conditions of tasks, parallel processing, and branching.
  • Block Definition Diagram (bdd): A block definition diagram represents the structure of a system and models the system components and their relationships.
  • Internal Block Diagram (ibd): An internal block diagram shows in detail the structure and interactions between parts within a specific block.
  • Package Diagram (pkg): The package diagram supports the structural organization of the system by expressing the grouping of model elements and the relationships between groups.
  • Parametric Diagram (par): Parametric diagrams quantitatively analyze a system’s constraints and performance goals.
  • Requirement Diagram (req): A requirements diagram models the requirements of a system and the relationships between them.
  • Sequence Diagram (sd): Sequence diagrams visualize the temporal ordering of events and interactions between objects.
  • State Machine Diagram (stm): A state machine diagram models the behavior associated with changes in the state of an object.
  • Use Case Diagram (uc): A use case diagram represents the interaction between the functionality of the system and the user.

2. Model element type and name: Specifies the type and name of the specific model element that the diagram represents, clarifying the related system elements in the diagram content.

  • Activity Diagram : Activity (Models processes and workflows, conditions, and parallel processing.)
  • Block Definition Diagram: Block, constraint block, package, model, model library (defines the structural elements of the system and the relationships between them).
  • Internal Block Diagram : Block (represents the internal structure of a specific block and the connections between components.)
  • Package Diagram: Package, model, model library, profile, view (represents the structural organization and modularization of the system)
  • Parametric Diagram: Activity, block, constraint block (expresses constraints and performance parameters of the system.)
  • Requirement Diagram: Package, model, model library, requirements (models the relationship between system requirements and requirements.)
  • Sequence Diagram : Interaction (represents temporal interaction and message flow between objects)
  • State Machine Diagram: State machine (models state changes of objects and behavior by events.)
  • Use Case Diagram : Package, model, model library (represents system functions and user (actor) interaction)
    Diagram name: A unique name for a diagram contributes to understanding its role and importance.

3. Diagram name: A unique name for a diagram contributes to understanding its role and importance.

The components of a SysML diagram play an important role in effectively modeling and visualizing the structure and behavior of a system. To represent complex systems in a clear and understandable way, the following key components are used:

  1. Node: The basic unit that visually represents model elements. It can be expressed in various shapes such as rectangles, rectangles with rounded angles, and ovals, and includes text or other symbols to indicate the characteristics of model elements in detail.
  2. Path: Represents the connection between nodes and expresses various types of relationships such as interaction, correlation, and generalization. They are expressed as arrows or lines containing text, making the relationships between elements clear.
  1. Keywords: Used to identify the type of model element and disambiguate the function or role of the element. For example, keywords such as << >> give specific meaning to model elements.
  2. Properties: Provide additional information about a model element, listed within curly brackets {}. Can be used to add details to model elements, including custom tags.
  1. Additional compartments: Used to reveal more internal details of specific model elements. For example, various properties or functions within a block can be expressed by dividing them into compartments.
  2. Icon Symbol: An icon used to visualize a specific domain concept or stereotype element. For example, ports owned by a block can be distinctly represented through an icon symbol.
  1. Note: Used to provide additional explanation or comments on model elements or the entire diagram. It can contain background information or explanations needed to understand the diagram, and can be linked directly to model elements or placed independently within the diagram.

These components of a SysML diagram play a key role in effectively modeling, analyzing, and communicating complex systems in the systems engineering process. Each element is carefully selected and used to clearly express various aspects of the system and effectively communicate the design intent to stakeholders.

The term model is widely used in a wide variety of contexts and scenarios, and its meaning can vary greatly depending on the context in which it is used. Particularly in the context of systems modeling, a model refers to an abstracted representation of a specific system or process. However, modeling languages such as SysML give the model a more specific definition.

  1. Model as a complete repository: In some cases, a model can be considered the overall system design or a collection of all documented information. This refers to an extensive repository of information encompassing the structure and function of the system.
  2. Model as a specific section within a repository: In other situations, a model may be defined as a specific section or part within a repository. These models represent a subset of information focused on a specific aspect or component of the system.

Viewing a model as a structural division of a repository is important for clarifying how to organize and manage information during the modeling process. This allows complex systems to be expressed by breaking them down into easy-to-understand parts. Additionally, this structural division of the model helps to model the different aspects of the system separately. For example, there may be separate models that represent the physical configuration of the system, the behavior of the system, the design of the user interface, etc.

To ensure clarity in model use, the following approaches are useful:

  1. Clear definition of terminology: When using the term “model,” clearly defining and documenting what it means within a project or organization prevents confusion and supports efficient communication.
  2. Specifying the scope and purpose of the model: By specifying the information and purpose each model contains, it clarifies the scope of the modeling work and helps relevant stakeholders interpret the model correctly.

Since the definition and usage of a model can vary depending on the context of the project or task, it is important to clearly recognize these differences and set consistent standards. This makes the modeling process more systematic and purposeful.

Views and viewpoints are key elements in systems engineering for understanding and reflecting stakeholder needs and concerns. The ISO-42010 standard clearly defines these concepts, and SysML follows this standard to provide a framework for system modeling. It guides a methodology to effectively capture and visualize stakeholders’ perspectives during the modeling process.

  1. Viewpoint: Used to define the needs, interests, and concerns of a specific stakeholder group. A perspective represents a stakeholder’s specific ‘view’ of the system, providing important information and criteria for deciding which aspects to focus on.
  2. View: Describes how stakeholders will view the system based on their perspective. Views are used to visualize aspects of a system that satisfy stakeholder needs from a specific perspective.
  1. Operational Perspective: This is the perspective of how the system will be used in a real-world environment. This perspective focuses on the interaction between users and systems.
  2. Performance Perspective: A perspective that focuses on the performance requirements and goals of the system. This may include the time required for the system to perform a specific task, throughput, response time, etc.
  3. Operational Perspective: This is a perspective on the operation and maintenance of the system. This perspective addresses the availability, reliability, and maintainability of the system and includes the procedures and resources required to operate the system.
  4. Security Perspective: A perspective that addresses the security-related requirements and strategies of a system. This perspective focuses on ensuring systems can operate safely, including data protection, access control, and risk management.

These perspectives and perspectives allow the systems engineering process to capture and address the diverse needs and concerns of stakeholders in a specific and organized manner. Views derived from each perspective explore specific aspects of the system in detail, enhance communication with stakeholders, and support the system design and development process.

SysML is a powerful tool that bridges the complexities of systems engineering. Influenced by UML, it emphasizes the importance of visual language and focuses on communicating ideas and concepts through visual coding. But SysML’s true strength lies in its blend of visual elements and textual descriptions.

Diagrams are a key means of communicating ideas and structures in SysML. Although they help you intuitively understand the elements and relationships of a complex system, visual representations alone are not enough to fully understand the system. This, combined with SysML’s ability to express ideas through text, allows you to clearly describe the details of various elements, including requirements.

The Requirement element is a great example of SysML’s flexibility. By defining requirements in a visual form and recording details in the Requirement ‘text’ property, specific explanations of system requirements and expected effects are clearly communicated. These text-based explanations are important for effectively conveying subtle information or conditions that are difficult to convey through diagrams alone.

SysML allows engineers to efficiently analyze, design, and verify complex systems. Visual diagrams make structures and relationships easier to understand, while textual descriptions add depth and detail to those structures and relationships. This harmony allows for clear communication and focus on key content without being overloaded with information. Explanation through text eliminates ambiguity in the interpretation of diagrams and ensures the accuracy of information delivery.

SysML’s integrated approach revolutionizes the systems engineering process and plays a critical role in the design and development of complex systems. The combination of visuals and text allows you to clearly and effectively convey information related to the core topics of your system to stakeholders.

Packages are a core mechanism for logically grouping and systematically organizing model elements in SysML and UML. It plays an important role in effectively managing model complexity and clarifying the model’s structure. By utilizing the package, you can gain several advantages during the system modeling process.

Logical grouping: Packages group together and logically separate related elements within a model. This grouping improves the readability of the model and makes it easier to manage and understand.

Avoid circular dependencies: Packages help prevent circular dependencies from occurring within your model. Circular dependencies can cause structural problems in your model, which can be prevented through packages.

Partitioning the set of model elements: You can use packages to partition the set of elements that make up a model, breaking the model into smaller, manageable units. This makes complex systems easier to understand and manage.

Namespacing: Packages provide namespaces to prevent name conflicts within models. This ensures that model elements have unique identifiers, minimizing confusion during the modeling process.

Increased modularity: Logical grouping through packages increases the modularity of the model. This allows specific parts of the system to be developed and tested independently and increases reusability.

Ease of documentation and communication: Packaged models are easier to document and enhance communication with other stakeholders. Because each package represents a specific topic or function, discussion of individual parts of the model becomes clearer.

Increased maintainability: By organizing your models using packages, changes to the system can be easily tracked and maintained. This offers great benefits when updating or expanding your system.

Let’s draw a SysML diagram with Enterprise Architect

While working on a diagram, sometimes frames can detract from the overall readability. In this case, there is a simple way to hide the diagram frame. Please follow these steps:

  1. Hide the frame: Right-click on the diagram canvas and select ‘Hide Diagram Frame’. This will hide the diagram’s frame. If necessary, you can display the frame again by selecting ‘Show Diagram Frame’.
  2. Change output settings: If you want to include image, clipboard, or diagram frames when printing, even when the frames are hidden, you can adjust the following settings: Go to the ‘Start’ → ‘Preference’ → ‘Diagram’ menu and apply the desired settings in the ‘Diagram Frame’ item.

By changing these simple settings, you can improve the readability of your diagrams. Especially when working with complex diagrams, it helps you focus on the core content by minimizing unnecessary visual elements.

image 3

When carrying out modeling work using EA (EA Enterprise Architect), you may sometimes feel the need to adjust the frame size of the diagram. Here’s how to change the frame size:

  1. Enable resizing: First, right-click on the header part of the diagram and select the ‘Selectable’ option. Activating this option allows you to select a diagram frame and adjust its size by dragging the mouse.
  2. Note: When resizing your diagram frame, there is one important thing to keep in mind. Be careful not to allow the elements included in the diagram to go outside the frame, i.e., not to shrink the frame too much. It’s important to make sure all elements are visible, even if you resize the frame.

By adjusting the frame size of the diagram in this way, you can display information more effectively and improve readability as needed. When working with modeling, these fine adjustments can greatly improve the clarity and communication of the overall diagram.

image 4

In the system modeling process, diagrammatic descriptions (or references) play an essential role. It helps all stakeholders understand the diagram’s content easily and clearly by explaining the diagram’s purpose, structure, symbols used, and background information on modeling decisions. Especially when dealing with complex systems, simple diagrams alone are limited in conveying all the information. In this case, the additional information provided through the explanation greatly contributes to understanding.

  1. Statement of Purpose: Clearly communicates the goal and intent of the diagram, ensuring the main points are understood at first glance.
  2. Provide interpretation methods: Provide guidance on how to interpret complex information or specific elements, preventing misunderstandings and accurately conveying intent.
  3. Links to more information: Make it easy to find the information you need, with links to related documents or other model elements.
  4. Symbol description: Provides an explanation of the symbols or notations used to improve the readability of the model.

How to Write Diagram Notes

There are two ways to take diagram notes in EA: Basically, you can write in the ‘Note’ section of the ‘Diagram Property’ window that appears by double-clicking directly on the diagram. However, this method may make your notes less readable. A better way is to activate the ‘Notes’ window by following the path ‘Start’ → ‘All Windows’ → ‘Design’ → ‘Create’ → ‘Notes’. This method allows you to easily view notes written on all elements, not just the diagram, greatly improving information accessibility.

The diagram’s ‘Properties’ window is a central place where you can view and modify various information related to the diagram. Here you can check basic information such as the diagram’s name, author, type, and version. Additionally, the ‘Appearance’ section allows you to easily adjust the visual elements of the diagram, and the ‘Compartments’ tab allows you to determine what information the elements within the diagram display.

How to activate the Properties window : To access the ‘Properties’ window, simply follow the path:
‘Start’ → ‘All Windows’ → ‘Properties’ → ‘General’ → ‘Properties’

By activating the ‘Properties’ window through this path, you can make in-depth adjustments to the diagram and check information. By using this window, the accuracy and expressiveness of diagrams can be improved, and work efficiency is also greatly improved.

Enterprise Architect provides a variety of ways for modelers to view diagrams differently. Please refer to the next post on my blog for this part.

[Enterprise Architect] #10. Diagram views of EA

The Diagram Themes feature in Enterprise Architect (EA) allows users to consistently change the design of all diagrams displayed in EA with just a few clicks. This function can be accessed through the ‘Start’ → ‘Preference’ → ‘Diagram’ menu, and focuses on changing the overall design rather than detailed custom settings. (You can refer a document from Sparx)

For most users, it may be more useful to quickly change the overall appearance through a theme rather than adjusting specific design elements one by one. This feature allows you to adjust multiple design elements at once, including a diagram’s color scheme, font style, and line thickness, etc., making your work more efficient and improving the look of your results.

The diagram themes feature provided by EA makes modeling work more intuitive and visually appealing, and is especially useful when you want to maintain a consistent design when creating presentations or documents. Therefore, this feature will be of great help to users who value visual consistency during the modeling process.

In addition, please refer to the next post on my blog for information related to filtering and finding functions of elements on the diagram, and how to add images and legends to the diagram.

[Enterprise Architect] #11. Diagram Filters and Layers of EA

[Enterprise Architect] #12. Useful functions creating diagrams with EA

This concludes our first journey to understanding the basics of SysML diagrams. I hope that the content introduced today will be a good starting point for those who are new to SysML diagrams.

[SysML] #2. Understanding SysML Package Diagram

[SysML] #3. Understanding Dependencies of Pkg Diagram

[SysML] #4. How to draw a Pkg Diagram with EA

[SysML] #5. Understanding SysML Requirement Diagram

[SysML] #6. Understanding Relations In Req Diagram

[SysML] #7. How to draw a Req Diagram with EA

[SysML] #8. Understanding SysML UseCase Diagram

[SysML] #9. How to draw a UseCase Diagram with EA

[SysML] #10. Understanding SysML bdd Diagram

[SysML] #11. Understanding SysML ibd Diagram

[SysML] #12. Understanding Part Property of Block

[SysML] #13. Understanding Reference Property of Block

[SysML] #14. Understanding Value Type

[SysML] #15 Understanding Parametric Diagram

[SysML] #16. Understanding Flow Property

[SysML] #17. Understanding Port and Association Block

[SysML] #18. Understanding Behavior of Block

[SysML] #19. Understanding Generalizations

[SysML] #20. Understanding Dependencies, Allocate, Comment

[SysML] #21. Understanding Activity Diagram

[SysML] #22. How to draw a Activity Diagram with EA

[SysML] #23. Seq Diagram LifeLine and Message

[SysML] #24. Seq Diag Constraints Fragment Decompose

[SysML] #25. How to draw a Sequence Diagram with EA

[SysML] #26. Understanding Stm Diagram State and Transition

[SysML] #27. Understanding Stm Diagram Event Pseudostate Region

[SysML] #28. How to draw a State Machine Diagram with EA

Leave a Comment