L10a_Advanced_Lecture_on_SysML_ch04lect2

advertisement
Using UML, Patterns, and Java
Object-Oriented Software Engineering
SysML:
A Modeling Language for
Systems of Systems
Note to Instructor:
The material in this slide set is not contained in the 3rd
edition of the text book
It is planned for the 4th edition.
What is SysML?
• A graphical modeling language developed by the
OMG
• A UML profile that presents a subset of UML 2 with
extensions
• A modeling language for modeling “systems of
systems”
• Supports the development of complex systems
consisting of several systems
• Model exchange via XMI
• Designed for model-based systems engineering
(MBSE)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
2
Relationship between SysML and UML
• SysML is defined as an extension of a subset of the Unified Modeling
Language (UML) using UML's profile mechanism
• SysML is MOF compliant
All models (MOF)
UML models
.NET
models
(profile)
UML 2
Association
Classes
SysML
CORBA
models
(profile)
U2TP
(profile)
SysML models
Class
Diagrams
Use Case
Diagrams
Requirements
Diagrams
Parametric
Diagrams
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
3
Model Based Systems Engineering (MBSE)
• Model-based systems engineering (MBSE)
• The formalized application of modeling to support system
requirements, design, analysis, verification, validation
activities[INCOSE 2004]
• Advantages
• Improved communications and knowledge management
• Impact analysis of requirements and design changes
• More complete representation
• A system engineering model contains several models
addressing all aspects of the participating systems,
hardware as well as software:
•
•
•
•
•
•
Functional model
Behavoral model (Dynamic model)
Structure model (Object model)
Cost model
Organizational model
Development environment, target environment
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
4
A SysML Model contains several Models
Requirements
Functional Model
Dynamic (Behavior) Model
Object (Structure) Model
© 2009 Bernd Bruegge
Other Models
Software Engineering I – WS2009/10
5
A SysML System Model containing many Models
(ABS Example)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
6
SysML Diagram Frames
Activity diagram, block
diagram, internal block
diagram, sequence diagram
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
7
SysML Diagram Taxonomy
Behavio
r
Requirement
s
Structur
e
Parametrics
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
8
SysML Structural Diagrams
Requirements
Diagrams
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
9
Requirements Diagram Elements: Nodes
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
10
SysML Requirements Diagrams
• A SysML requirements diagram depicts the requirements in
graphical, tabular or tree structure format
• Example: A Requirements Diagram in Visual Paradigm
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
11
Requirement Node (CASE tool:Visual
Paradigm)
• A requirement node is a stereotype
of a UML Class
• It has several attributes
• Text: the description of the
requirement in natural language
• Id: Allows to number the
requirement
• Source: Location, Stakeholder
• Kind: to categorize the
requirement into Functional,
Performance, Interface
• VerifyMethod: Analysis,
Demonstration, Inspection, Test
• Risk: High, medium, low
• Status: Proposed, Approved,
Rejected, Deferred,
Implemented, Mandatory,
Obsolete.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
12
Visual Paradigm
• University License for Visual Paradigm Standard Edition
• Visual Paradigm Tutorials
• http://www.visual-paradigm.com/product/vpuml/tutorials.jsp
• Requirements Modeling with Visual Paradigm
• http://www.visualparadigm.com/product/vpuml/provides/reqmodeling.jsp
• On this URL you also find a tutorial movie about managing
SysML requirement diagrams.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
13
Adding a Test Case Node (Visual Paradigm)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
14
Adding more Requirements Nodes
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
15
Tabular Format of a Requirements Diagram
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
16
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
17
Dependency Relationships:
Linking of Requirements
• Requirements can be linked to other requirements
• Containment: The requirement contains several sub-requirements
• Copy: One requirement is a read-only version of another
requirement
• Derive: A requirement is derived from another requirement
• Requirement elements can also be linked to other model
elements (in analysis and design models)
• Refine: A model element refines a requirement
• Verify: Another model element validates a requirement
• Satisfy: Another model element satisfies a requirement
•
•
Linking to Use Cases
Linking to Class diagrams
• Trace: Any model element that realizes a nonfunctional
(performance) requirement.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
18
Requirements Diagram Elements: Associations
between Nodes
• Requirement Containment Relationship
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
19
Requirements Diagram Elements:
Associations between Nodes
• Requirement Composition Relationship
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
20
Requirements Diagram Elements:
Associations between Nodes
• Requirement Composition Relationship
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
21
Requirements Diagram Elements: Associations
between Nodes
• Copy Dependency
• Derive Dependency
The text of the Slave requirement is a readonly copy of the text of the Master
requirement
A functional requirement derived from a business need
or a test requirement is derived from a functional
requirement
Functional
Requiremen
t
• Satisfy Dependency
© 2009 Bernd Bruegge
Business
Need
Example: A use case satisfies
a functional requirement.
Software Engineering I – WS2009/10
22
Example of a Copy Dependency (Reuse of
Requirements)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
23
Example of a Derive Dependency
• Based on the requirement specifications from the National
Highway Traffic Safety Administration (NHTSA.)
• Excerpt of the original requirement text used to create the
model:
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
24
Requirements Diagram Elements: Associations
between Nodes
• Verify Dependency
• Refine Dependency
• Trace Dependency
© 2009 Bernd Bruegge
Example: A test case
validates a functional
requirement
Example: A use case refines
a requirement
Example: A use case can be
traced to a requirement.
Software Engineering I – WS2009/10
25
Callouts
Or: How to avoid “Spaghetti” in Requirements Diagrams
• Trace Dependency
Is equivalent to:
• TraceCallout
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
26
SysML Structural Diagrams
Package
Diagrams
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
27
Package Diagram
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
28
Organizing a Model by Use Cases
Tim Weilkiens, Systems engineering with SysML/UML: modeling, analysis, design
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
29
Organizing a Model by Stakeholders
SysML allows provide viewpoints for the
stakeholders of a system
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
30
Package Diagram: Views and ViewPoints
• A model usually focuses on
one abstraction of the
system (analysis, design,
cost)
• A view provides a
perspective that spans
multiple abstractions. It
includes (subgraphs) of
other models
• The EngrAnalysis view, for
example, includes the
organization of the
enterprise, the system
model, logical design and
allocated design
• The viewpoint lists the
stakeholders and purpose of
the view.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
31
SysML Structural Diagrams
Block
Diagrams
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
32
Blocks: Basic Structural Elements
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
33
SysML Blocks vs UML Classes
• SysML Blocks are based on UML classes
• However the do not allow association classes
• They distinguish between value properties from part properties
• They allow nested connector ends
• There are two types of SysML block diagrams
• Block definition diagrams (bdd) describing the relationship between
blocks (composition, association,…)
• Internal block diagrams (ibd) describing the internal structure of a
single block in terms of its properties and connectors
• Behavior (activity diagrams, use cases) can be allocated to
both types of block diagrams.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
34
SysML Block Diagrams
Internal Block
Diagram
Block Definition Diagram
Anti-Lock
Controller
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
35
Internal Block Diagram:
Blocks, Parts, Ports, Connectors and Flows
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
36
Reference Property vs Part
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
37
SysML Ports
• 2 Port Types
• Standard Port (also available in UML)
• Specifies a set of operations and/or signals
• Typed by a UML interface
• Flow Port
• Specifies what can flow in or out of a block/part
• Typed by a flow specification.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
38
Port Notation
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
39
Links between Requirements and Design
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
40
Behavioral Diagrams
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
41
SysML Activities
• SysML activity diagram notation is the same as in UML
• SysML extensions to support
• Continous flow modeling
• Alignment of activities with Enhanced Functional Flow Block
Diagrams (EFFBD)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
42
Activity Diagram Notation (UML, SysML)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
43
SysML Activity Diagrams also support Swim Lanes
Swimlane
TractionDetector
© 2009 Bernd Bruegge
Swimlane
BrakeModulator
Software Engineering I – WS2009/10
44
SysML Activities can consists of Subactivities
Block Definition Diagram
© 2009 Bernd Bruegge
Activity Diagram
Software Engineering I – WS2009/10
45
SysML Interactions
• SysML sequence diagram notation is also the same as in
UML
• but SysML does not include timing diagrams and communications
diagrams
• SysML focuses on black and white box views of interactions
with sequence diagrams.
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
46
Black Box Sequence Diagram (UML, SysML)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
47
StartVehicle: Black Box Sequence Diagram
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
48
StartVehicle: White Box Sequence Diagram
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
49
SysML State Machines
• The same
notation as
in UML
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
50
SysML Use Cases
• SysML use cases: Also no change from UML
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
51
Allocations
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
52
Allocations
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
53
Different Representations for Allocations
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
54
Additional Information
[INCOSE 2004]
• Systems Engineering Vision 2020, International Council for Systems Engineering,
Technical Report INCOSE-TP-2004-004-02, September 2004
• http://www.incose.org/ProductsPubs/pdf/SEVision2020_20071003_v2_03.pdf
[SysML Tutorial 2009] Sanford Friedenthal, Alan Moore, Rick Steiner
• OMG Systems Modeling Language Tutorial,
• www.omgsysml.org/SysML-Tutorial-Baseline-to-INCOSE-060524-low_res. pdf
• This lecture is based on this tutorial
SysML Requirements Modeling with Visual Paradigm
• http://www.visual-paradigm.com/product/vpuml/provides/reqmodeling.jsp
• Here you also find a movie about requirements diagrams
• Visual Paradigm Standard Edition for UML and SysML
• Download Link: http://wwwbruegge.in.tum.de/static/vpapp/
• Unlimited Educational License, Key will be provided in the SE 1 forum
• Installed on all the computers at the chair for applied software engineering
• Unicase (Research Tool)
• http://unicase.org
• Open source. Masterthesis offered: Feature Modeling, a modeling
language replacing SysML
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
55
Backup Slides
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
56
Stereotypes and Model Libraries
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
57
Stereotypes
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
58
Applying a Profile and Importing a Model
Library
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
59
SysML Block Property Types
• Part Property
• A Part is owned by a block (composition)
• Example: Right-Front Wheel is part of the Vehicle block
• The part stops existing, when the block stops existing
• Reference Property
• A part is not owned by the enclosing block
• Example: An interface between two parts
• Value Property
• Allows to define a value with units, dimensions and even probability
distribution
• Examples:
• Non-distributed value: tirePressure:psi=30
• Distributed value: <<uniform>> {min=28, max = 32} tirePressure:psi
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
60
SysML Parametric Diagrams
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
61
A SysML Model allows to include Physical Laws
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
62
The Physical Laws can be used to constrain
Value Properties in the SysML Model
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
63
Allocation of Hardware to Software (-> Lecture on
System Design, Topic Hardware-Software Mapping)
© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
64
Download