[go: up one dir, main page]

0% found this document useful (0 votes)
18 views65 pages

AMS2024 11 Structure SysML

Uploaded by

Fragy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views65 pages

AMS2024 11 Structure SysML

Uploaded by

Fragy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

https://en.wikipedia.org/wiki/Systems_Modeling_Language#/media/File:Sysml_diagrams_collage.

jpg

Object-Oriented Modelling
Modelling structure with SysML
Hello World! SysML

Um robot de vigilância é constituído


pelos seguintes componentes físicos:

• 2 rodas direcionais com ângulo de


rotação definido em graus
• 2 rodas de tração que permitem a sua
deslocação
• 1 corpo monobloco
Systems Modelling Language

• In January 2001 the International Council on


Systems Engineering (INCOSE) adopted UML as a
language for systems engineering applications.
• UML was then adapted and extended to systems
engineering using UML Profiles.

• The Systems Modelling Language (SysML 1.0) was


approved by the OMG in July 2006
• based on UML 2.1.1 …

3
Why SysML? Is UML not enough?

• UML lacks requirements modelling.


• Whereas requirements modelling is an explicit component of
systems engineering (and thus is part of SysML).

• UML has a rather software and information-specific.


scope as it focus on modelling logical systems.
• SysML as a wider system-specific scope enabling it to model
both logical and physical systems.

• UML is strongly influenced by object orientation.


• SysML is neutral regarding the abstraction paradigm.

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

• The «block» is the basic unit of structure in SysML.


• It can be used to represent any kind of hardware (including
facilities, persons, etc.), software, or any other system element.
• The system structure is represented by block definition diagrams
and internal block diagrams. 9
Structural Diagrams in SysML
▪ Block Definition Diagram (bdd)
Describes the classified domain of a system as
blocks, the features of these blocks, and also the
relationships between these blocks.

▪ Internal Block Diagram (ibd)


Describes the internal structure of a block, in
terms of its parts (the internal structure of a
block), the ports of the block (the interfaces of
the block with its external context), and the
connectors (the entities that connect the blocks)

▪ 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/

(extract from that reference)

8 Blocks
8.1 Overview

Blocks are modular units of system description. Each block


defines a collection of features to describe a system or other
element of interest. These may include both structural and
behavioral features, such as properties and operations, to
represent the state of the system and behavior that the system
may exhibit.
Blocks provide a general-purpose capability to model systems as
trees of modular components. The specific kinds of components,
the kinds of connections between them, and the way these
elements combine to define the total system can all be selected
according to the goals of a particular system model. SysML
blocks can be used throughout all phases of system specification
and design, and can be applied to many different kinds of
systems. These include modeling either the logical or physical
decomposition of a system, and the specification of software,
hardware, or human elements. Parts in these systems may
interact by many different means, such as software operations,
discrete state transitions, flows of inputs and outputs, or
continuous interactions.
11
Example: The structure of the “On-board computer” system

A block definition diagram (bdd) describes the


system’s structure, usually as a hierarchy of blocks
(as of “classes” in UML domain models)…

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”

IMPORTANT: Please consult the descriptions and


definitions available at (free access):
https://www.omg.org/spec/SysML/1.6/About-SysML/

(extract from that reference)

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/

(extract from that reference)

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:

However, a type that initially is not a concept


of the structural domain model must be
explicitly defined with a specific
<<dataType>> block:

21
Primitive data types and Value Types definition…

22
SysML Libraries
ISO/IEC 8000: International Systems of Quantities (ISQ)

23
ibd - Internal Block Diagram

An ibd describes the internal structure of a block in terms of


its parts, ports, and connectors.

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/

(extract from that reference)

In Figure 8.12 a block definition diagram shows


the blocks that comprise elements of a Wheel. The
block property LugBoltJoint.torque has a
specialization of DistributedProperty applied to
describe the uniform distribution of its values. (…)
Connectors from the lugBoltJoints part go to
nested parts, and use NestedConnectorEnd to
specify the path of properties to reach those parts.
For the threadedHole end of the connector going
to part h, the property path is (hub). For the
mountingHole end of the connector going to
mountingHoles, the property path is (wheel, w).
Similarly, the connector between the rim and bead
parts has property paths (w) and (t) on its ends.

30
An example…

IMPORTANT: Please consult the descriptions and


definitions available at (free access):
https://www.omg.org/spec/SysML/1.6/About-SysML/

(extract from that reference)

In Figure 8-13 an internal block diagram (ibd) shows


how the blocks defined in the Wheel package are used.
This ibd is a partial view that focuses on particular parts
of interest and omits others from the diagram, such as
the “v” InflationValve and “weight” BalanceWeight,
which are also parts of a Wheel.(…)

Figure 8-12: Block diagram for the Wheel Package

Figure 8-13: Internal Block Diagram for WheelHubAssembly

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

The BoundReference stereotype can be applied to properties that have


binding connectors, to highlight their usage as constraining other properties

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

▪ If relevant in a model, ports can be specialized


in:
– Proxy ports, which are interfaces exposing internal
features of the block (a window to the block).
– Full ports, which are ports specified as separate
elements of the system
SysML identifies two usage patterns for ports, one where ports act as proxies for their owning blocks or its internal parts (proxy ports), and
another where ports specify separate elements of the system (full ports). Both are ways of defining the boundary of the owning block as
features available through external connectors to ports. Proxy ports define the boundary by specifying which features of the owning block or
internal parts are visible through external connectors, while full ports define the boundary with their own features. Proxy ports are always typed
by interface blocks, a specialized kind of block that has no behaviors or internal parts. Full ports cannot be behavioral in the UML sense of
standing in for the owning object, because they handle features themselves, rather than exposing features of their owners, or internal parts of
their owners. Ports that are not specified as proxy or full are simply called “ports.” Page 97 SysML 1.4 specification 38
Ports with Item Flows

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.

▪ In this example, “~T1” and “~T2” mean conjugated ports of


“T1” and “T2” defined elsewere in the model…:

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

From the SysML V1.0 specification


50
Example: pump system
The valve participates in the
association with two blocks:
- one container as participant;
- one pump as the other participant.

“The valve…”, “…one


container…”, “…the
pump…” implies an
internal block definition

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.

“…is made of…”,


“…associated…”
implies a block
definition …

53
Example: pump system

“One container…”, “…port…”,


“…flows…” implies na
internal block definition …

One container has an output port and


the other container an input port,
both for liquids. The pump has one
input and one output port, both for
liquids; water flows between these
ports.
54
Example
“A system to purify dirty water
through distillation.”

Sources:
[Chapter 15] “A Practical Guide to SysML: The Systems Modeling Language “
Sanford Friedenthal, Alan Moore, Rick Steiner, 2008, Morgan Kaufmann

"The SysML Modelling Language",


Matthew Hause, Fifteenth European Systems Engineering Conference, Sept. 2006
Available at: http://www.omgsysml.org/The_SysML_Modelling_Language.pdf

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

How many uses cases?


Which scenarios?

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.

For further details, see: http://www.omg.org/spec/SysML/1.2/

65

You might also like