Upload
wesley-malone
View
221
Download
3
Tags:
Embed Size (px)
Citation preview
Usi
ng
UM
L, P
atte
rns,
an
d J
ava
Ob
ject
-Ori
ente
d S
oftw
are
En
gin
eeri
ng
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.
2© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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)
3© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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 compliantAll models (MOF)
UML models
CORBA models
(profile)
SysML models
.NET models(profile)
U2TP (profile)
UML 2
SysML Association
Classes
Class Diagrams
Use Case Diagrams
Requirements Diagrams
Parametric Diagrams
4© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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
5© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
A SysML Model contains several Models
Functional Model
Object (Structure) Model
Dynamic (Behavior) Model
Requirements
Other Models
6© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
A SysML System Model containing many Models(ABS Example)
7© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Diagram Frames
Activity diagram, block diagram, internal block diagram, sequence diagram
8© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Diagram Taxonomy
Behavior
Structure
Requirements
Parametrics
9© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Structural Diagrams
Requirements Diagrams
10© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Requirements Diagram Elements: Nodes
11© 2009 Bernd Bruegge
Software Engineering I – WS2009/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
12© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.
13© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.visual-paradigm.com/product/vpuml/provides/reqmod
eling.jsp• On this URL you also find a tutorial movie about managing
SysML requirement diagrams.
14© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Adding a Test Case Node (Visual Paradigm)
15© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Adding more Requirements Nodes
16© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Tabular Format of a Requirements Diagram
17© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
18© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.
19© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Requirements Diagram Elements: Associations between Nodes • Requirement Containment Relationship
20© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Requirements Diagram Elements: Associations between Nodes • Requirement Composition Relationship
21© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Requirements Diagram Elements: Associations between Nodes • Requirement Composition Relationship
22© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Requirements Diagram Elements: Associations between Nodes• Copy Dependency
• Derive Dependency
• Satisfy Dependency
The text of the Slave requirement is a read-only 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
Example: A use case satisfies a functional requirement.
Functional Requirem
ent
Business Need
23© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Example of a Copy Dependency (Reuse of Requirements)
24© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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:
25© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Requirements Diagram Elements: Associations between Nodes
• Verify Dependency
• Refine Dependency
• Trace Dependency
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.
26© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Callouts Or: How to avoid “Spaghetti” in Requirements Diagrams
Is equivalent to:
• TraceCallout
• Trace Dependency
27© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Structural Diagrams
Package Diagrams
28© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Package Diagram
29© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Organizing a Model by Use Cases
Tim Weilkiens, Systems engineering with SysML/UML: modeling, analysis, design
30© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML allows provide viewpoints for the stakeholders of a system
Organizing a Model by Stakeholders
31© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.
32© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Structural Diagrams
Block Diagrams
33© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Blocks: Basic Structural Elements
34© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.
35© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Block Diagrams
Anti-LockController
Block Definition Diagram
Internal Block Diagram
36© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Internal Block Diagram: Blocks, Parts, Ports, Connectors and Flows
37© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Reference Property vs Part
38© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.
39© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Port Notation
40© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Links between Requirements and Design
41© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Behavioral Diagrams
42© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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)
43© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Activity Diagram Notation (UML, SysML)
44© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Activity Diagrams also support Swim Lanes
SwimlaneTractionDetect
or
Swimlane BrakeModulato
r
45© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Activities can consists of Subactivities
Block Definition Diagram
Activity Diagram
46© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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.
47© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Black Box Sequence Diagram (UML, SysML)
48© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
StartVehicle: Black Box Sequence Diagram
49© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
StartVehicle: White Box Sequence Diagram
50© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML State Machines
• The same notation as in UML
51© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Use Cases
• SysML use cases: Also no change from UML
52© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Allocations
53© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Allocations
54© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Different Representations for Allocations
55© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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
56© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Backup Slides
57© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Stereotypes and Model Libraries
58© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Stereotypes
59© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Applying a Profile and Importing a Model Library
60© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
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
61© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
SysML Parametric Diagrams
62© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
A SysML Model allows to include Physical Laws
63© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
The Physical Laws can be used to constrain Value Properties in the SysML Model
64© 2009 Bernd Bruegge
Software Engineering I – WS2009/10
Allocation of Hardware to Software (-> Lecture on System Design, Topic Hardware-Software Mapping)