AMS2024 11 Structure SysML
AMS2024 11 Structure SysML
jpg
Object-Oriented Modelling
Modelling structure with SysML
Hello World! SysML
3
Why SysML? Is UML not enough?
4
SysML diagrams (comparing with UML)
5
UML and SysML diagrams
https://www.researchgate.net/publication/303739676_On_Architecting_and_Composing_Engineering_Information_Services_to_Enable_Smart_Manufacturing/figures?lo=1
6
Behavior in UML and SyML
Flow-based
UML SysML
Event-based
Message-based
7
Structural diagrams in UML and SysML
8
Structural Diagrams in SysML
▪ Parametric Diagram
Parametrics represent constraints on system
property values (such as performance, reliability,
mass properties, etc.)
10
Concepts in SysML: Blocks
IMPORTANT: Please consult the descriptions and definitions available
at (free access): https://www.omg.org/spec/SysML/1.6/About-SysML/
8 Blocks
8.1 Overview
12
Example: A bdd structure of a vehicle
13
Example: A bdd structure of a vehicle
14
Blocks can be made of
“compartments”, or “parts”
8 Blocks
8.1 Overview
(…)
The Block Definition Diagram in SysML defines features of
blocks and relationships between blocks such as
associations, generalizations, and dependencies. It captures
the definition of blocks in terms of properties and
operations, and relationships such as a system hierarchy or
a system classification tree. The Internal Block Diagram in
SysML captures the internal structure of a block in terms of
properties and connectors between properties. A block can
include properties to specify its values, parts, and references
to other blocks. Ports are a special class of property used to
specify allowable types of interactions between blocks, and
are described in Clause 9, “Ports and Flows.” Constraint
Properties are a special class of property used to constrain
other properties of blocks, and are described in Clause 10
“Constraint Blocks.” Various notations for properties are
available to distinguish these specialized kinds of properties
on an internal block diagram.
(…)
15
Blocks can be made of “compartments”, or “parts”
IMPORTANT: Please consult the descriptions and definitions available at (free
access): https://www.omg.org/spec/SysML/1.6/About-SysML/
8 Blocks
8.1 Overview
(…)
A property can represent a role or usage in the context of its enclosing block. A
property has a type that supplies its definition. A part belonging to a block, for
example, may be typed by another block. The part defines a local usage of its
defining block within the specific context to which the part belongs. For example, a
block that represents the definition of a wheel can be used in different ways. The
front wheel and rear wheel can represent different usages of the same wheel
definition. SysML also allows each usage to define context-specific values and
constraints associated with the individual usage, such as 25 psi for the front tires
and 30 psi for the rear tires.
Blocks may also specify operations or other features that describe the behavior of a
system. Except for operations, this clause deals strictly with the definition of
properties to describe the state of a system at any given point in time, including
relations between elements that define its structure. Clause 9, “Ports and Flows”
specifies specific forms of interactions between blocks, and the Behavioral
Constructs including activities, interactions, and state machines can be applied to
blocks to specify their behavior. Clause 15, “Allocations” describes ways to allocate
behavior to parts and blocks.
SysML blocks are based on UML classes as extended by UML composite structures.
Some capabilities available for UML classes, such as more specialized forms of
associations, have been excluded from SysML blocks to simplify the language.
SysML blocks always include an ability to define internal connectors, regardless of
whether this capability is needed for a particular block. SysML Blocks also extend
the capabilities of UML classes and connectors with reusable forms of constraints,
multi-level nesting of connector ends, participant properties for composite
association classes, and connector properties. SysML blocks include several
notational extensions as specified in this clause.
16
Blocks
<<block>>
Compartments can be Car
used to model multiple
aspects of the block
(textual or graphically)
Pg73 -formal-15-06-03.pdf
17
Nested blocks
18
Nested blocks
(a card reader with a card with a chip)
19
Nested blocks
(a card reader with a card with a chip)
20
Data types as blocks
Each physical or abstract entity that is found
defined in the model is a type. For example,
those concepts found in a BDD are types:
21
Primitive data types and Value Types definition…
22
SysML Libraries
ISO/IEC 8000: International Systems of Quantities (ISQ)
23
ibd - Internal Block Diagram
24
Example of a generic ibd and a second ibd representing the same
structure but where the ports are represented in more detail…
25
Example of an ibd detailing a
generalization defined in a bdd
26
A set of examples of Association blocks
27
Example of a bdd and of an ibd…
28
An example… Wheel Hub Assembly
29
An example…
IMPORTANT: Please consult the descriptions
and definitions available at (free access):
https://www.omg.org/spec/SysML/1.6/About-
SysML/
30
An example…
31
A system can be detailed at multiple levels using
multiple ibd - Internal Block Diagram
32
The entities represented in an ibd are called “parts”, and
can have interfaces called “ports”
33
An ibd models objects playing specific roles in the system!!!
34
ibd
35
36
ibd
37
Ports
▪ Ports points at which external entities can
connect to and interact with a block.
– Flow properties specify the kinds of items that might flow
between a block and its environment, whether it is data,
material, or energy. The kind of items that flow is
specified by typing flow properties.
– Item flows specify the things that flow between blocks
39
Item flow
in ports
40
Conjugated Flow Ports
▪ A conjugated port flow is a port inverting the flow of the
items of other port.
▪ Only one port needs to be specified since the conjugated
port behaves as the “inverse” of the original port.
41
42
Ports - conclusion
43
Allocation
• Allocation is a mechanism to relate model elements.
• It can relate elements from different diagrams…
• It can be relevant to model different details at different conceptual levels
Image from “A Practical Guide To SysML: The Systems Modeling Language” (The MK/OMG Press)
44
Allocation
It can relate
elements from
different
diagrams…
Image from “A Practical Guide To SysML: The Systems Modeling Language” (The MK/OMG Press)
45
Allocation
It can be relevant to
model different details
at different conceptual
levels…
Image from “A Practical Guide To SysML: The Systems Modeling Language” (The MK/OMG Press)
46
47
Parametric Diagrams
▪ A parametric diagram is a restricted form of internal block diagram that shows
only the use of constraint blocks along with the properties they constrain on a
specific context.
▪ Constraints are non-functional requirements as they represent e.g. rules, laws or
limits of the elements or design decisions.
48
Parametric Diagrams
49
Parametric Diagrams
51
Example: pump system
In an idd we represent objects that are
In a bdd we represent blocks parts of a block, and how are they related
52
Example: pump system
A pump system is made of a pump which is associated to two
containers, each by a hose with a valve.
53
Example: pump system
Sources:
[Chapter 15] “A Practical Guide to SysML: The Systems Modeling Language “
Sanford Friedenthal, Alan Moore, Rick Steiner, 2008, Morgan Kaufmann
55
A system to purify dirty water
▪ Heat dirty water and condense steam are performed by a
Heat Exchanger
▪ Boil dirty water is performed by a Boiler
▪ Drains residue is performed by a Drain
▪ Water has the following properties: vol = 1 liter, density = 1gm/cm3,
temp = 20º, specific heat = 1 cal/gm ºC, heat of vaporization = 540 cal/gm
56
Example
https://youtu.be/KoEn5kfpTYI 57
Use Cases
58
Requirements (req diagram)
59
bdd
▪ Heat dirty water and condense steam are performed by a
Heat Exchanger
▪ Boil dirty water is performed by a Boiler
▪ Drains residue is performed by a Drain [satisfied by the Valve block]
▪ Note the block satisfies requirement relationship (traceability)
60
Bdd (view #1)
61
Bdd (view #2)
62
Partial Distiller ibd
(Heat Exchanger + Boiler, no Valve)
63
Complete Distiller ibd
64
Concluding…
▪ A block definition diagram bdd describes the
structure of a system from a type-based perspective
(what blocks?)
▪ An internal block diagram ibd describes the structure
of a system from a role-based perspective (who does
what with what?)
▪ A parametric diagram par constrains the relationships
between the properties of blocks pertaining to a
system.
65