30
OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro

OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

OMG Systems Modeling Language

Tutorial

May, 2012

Giuseppe Scanniello

Giuseppina Casalaro

Page 2: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

System Engineering Overview

• System Engineering (SE) is a discipline to deal with complex system realised

through software and hardware solutions.

• System Engineering applies to the following areas and industries: embedded

systems, automotive, rail, aerospace, military, telecommunication, healthcare,

energy, etc.

• System Engineering relies on modelling and simulation methods to validate

requirements or to evaluate the system.

Page 3: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

SysML vs UML

SysML reuses a subset of the UML2 (UML4SysML), and defines its own extensions.

Therefore SysML includes nine diagrams instead of the thirteen diagrams from the UML 2.0,

making it a smaller language that is easier to learn and apply.

Page 4: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Structure of SysML Language

SysML is defined on a modular basis. We can distinguish between elements of the

Structural Model (Structure) used to describe the structure of the system, elements of the

Behavioral Model (Behavior) used to describe the functions of the system, and other model

elements that relate to both (structural and behavioral).

Page 5: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Structure of SysML Language

Specifically:

• The classes are called blocks (the UML Class Diagram becomes

Block Definition Diagram in SysML);

• The Composite Structure Diagram of the UML is called Internal Block

Diagram in SysML. With this diagram you can model the flows

between the various blocks (item flows);

• Two new types of diagrams: Requirement Diagram and Parametric

Diagram;

Page 6: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Behavior Diagram – Activity Diagram

• The Activity Diagram is used to describe the flows in a sequence of actions.

• The flows involving input data and output (required or created within the

stream itself).

• The stream scan run in parallel, to be synchronized, or divided according to

specific conditions.

• The basic elements of this diagram are the activities.

Page 7: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Structure Diagram – Block Definition Diagram

• The Block Definition Diagram defines the properties, operations and relations between

the blocks, giving a hierarchical system.

• It’s based on the UML Class Diagram with restrictions and extensions.

• The elements of the model underlying this graph are the blocks and the

elements attached to it: attributes, data types, units, dimensions, and relations

between the blocks (association: aggregation and composition, dependency and

generalization).

Page 8: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Structure Diagram – Internal Block Diagram

• The Internal Block Diagram describes the internal structure of a block in terms of properties and

connections between them.

• It can be used to represent the interfaces of the system.

• It is based on the Composite Structure Diagram of the UML, with restrictions and extensions.

• The elements of the model at the base of this diagram are always the blocks.

• In particular, the common elements with the Block Definition Diagram (attributes, data types, units,

dimensions, aggregation and composition relationships, dependency, generalization). In the more

they considered the elements role, connectors, ports,

interfaces, item flows, block association, and signals.

Page 9: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Structure Diagram – Parametric Diagram

• The Parametric Diagram is a special form of Internal Block Diagram, in which the blocks

used are of Constraint Blocks through which it is possible to specify constraints that are present in the

properties of a block, i.e. in a part of the system.

• The elements of the model at the base of this diagram are the constraint blocks, and blocks.

Page 10: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

But our focus is on…

Page 11: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

REQUIREMENT DIAGRAMS

• While the functional requirements can be modeled with the use

cases, present both in the UML that in the SysML:

• Special stereotypes could be defined for use cases to represent non-

functional requirements.

• SysML, has introduced a new type of diagram: the Requirement Diagram,

which allows you to define and describe the requirements and model the

relationships with other requirements or elements of the model.

• The graphical elements are the requirements with model elements related to

it, and relations with other requirements and/or other elements: Containment,

Satisfy, Verify, Derive, Refine, Trace, Copy.

Page 12: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Example of Requirement Diagram 1/2

Page 13: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Example of Requirement Diagram 2/2

Page 14: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Individual Requirement Attributes

• Unambiguous – every requirement has only one interpretation

• Understandable – the interpretation of each requirement is clear

• Correct – the requirement states something required of the system, as judged by the

stakeholders

• Concise – no unnecessary information is included in the requirement

• Traced – each stakeholder’s requirement is traced to some document or statement of

the stakeholders

• Traceable – each derived requirement must be traceable to a higher level requirement

via some unique name or number

• Design independent – each requirement does not specify a particular solution or a

portion of a particular solution

• Verifiable – a finite, cost-effective process can be defined to check that the requirement

has been attained

Page 15: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Attributes of a Set of Requirements

• Unique – there is no overlapping or redundancy among requirements

• Complete – (a) everything the system is required to do throughout the system’s life

cycle is included, (b) responses to all possible inputs throughout the system’s life cycle

are defined, (c) the document is defined clearly and self-contained, and (d) there are no

“to be defined” or “to be reviewed” statements

• Consistent – (a) internal -no two subsets of requirements conflict, and (b) external –no

subset of requirements conflicts with external documents from which the requirements

are traced

• Comparable – the relative necessity of the requirements is included

• Attainable – solutions exist within performance, cost, and schedule constraints

• Organized – grouped according to a hierarchical set of concepts

Page 16: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Definition of Requirement

• A requirement specifies a capability, a function, a service or a condition that the system

must satisfy. This is a stereotype of <<requirement>> element of the UML class.

• The two basic properties of requirement are an ID (unique identifier) and a descriptive

text (text). Both are strings. The text contains a description of the requirement itself

or references to external sources.

• Note: ID and text are attributes of the stereotype <<requirement>> can then

be defined for any requirement.

Page 17: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Representing Relationships

There are three ways to depict requirement relationships in SysML:

• Direct

• Compartment

• Callout

Page 18: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Direct Notation

• Used when the requirement and the related model element appear on the

same diagram.

• Establishes dependency of model element to requirement in model.

• Read figure below as: “The camera satisfies the Sensor Decision

requirement”.

Page 19: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Compartment Notation

• Used when the requirement and model element do not appear on the same

diagram.

• Used for model elements such as blocks or requirements that support

compartments.

Page 20: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Callout Notation

• Used when the requirement and model element do not appear on the same

diagram Uses ‘Note’ box, rather than model element.

• Can be used when the model element or tool does not support compartments.

Page 21: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Requirement Relationships in SysML

There are seven types of relationships in SysML:

1. Containment

2. Satisfy

3. Verify

4. Derive

5. Refine

6. Trace

7. Copy

Page 22: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Containment Relationship

• Depicts Requirement Hierarchy.

• Crosshair points to the parent requirement.

• Parent requirement and Child requirements may not have the same name.

• The relationship containment precludes the reuse of requirements, then SysML

provides the relationship copy (>>).

Page 23: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Satisfy Relationship

• Depicts when a model element satisfies a requirement.

• It says if a requirement is satisfied in full or in part. We can add this information using a

comment or a stereotype.

Page 24: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Verify Relationship

• Used to depict a test case (>>) that is used to verify a requirement.

• The relationship can be represented either by Direct Notation that with the

Compartment Notation.

"Test Case" is an element that controls whether a certain element of the system satisfies a

requirement or not. In SysML, the "test case" can be used as a general mechanism for

representing methods of verification. So, a "test case" is often referenced by a

requirement to report "verify".

Page 25: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Derive Relationship

• Used when a requirement is derived from another requirement based on analysis.

• This report may be used only between requirements.

• Arrowhead points to the source requirement.

Page 26: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Refine Relationship

• Used to depict a model element that clarifies a requirement.

• Typically, a use case or behavioral diagram.

• Arrowhead points to the requirement.

• The relationship can be represented either by Direct Notation that with the

Compartment Notation.

Page 27: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Trace Relationship

• Used to relate requirements to a model element that represents a source for the

requirement.

• It is used only for reasons of traceability.

• Arrowhead points to the model element.

Page 28: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Copy Relationship

•The relationship Copy describes a condition that a requirement is copy of

another requirement.

• It was introduced by SysML because sometimes you need to reuse a requirement in

another context; and use a Containment Requirement may lead to formal problems.

• This relationship allows you to create a copy of the original requirement.

• Name and ID can be different, instead of text must be equal to the original.

Page 29: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Finally… Depicting Rationale

Used to explain or justify a requirement or a requirement relationship

Page 30: OMG Systems Modeling Language Tutorial...OMG Systems Modeling Language Tutorial May, 2012 Giuseppe Scanniello Giuseppina Casalaro System Engineering Overview • System Engineering

Bibliography:

• A pratica guide to SysML – Friedenthal, Moore, Steiner, Morgan Kaufmann

• Couse Material by Joe Wolfrom, APL

• OMG System Modeling Language Tutorial