SysML: A Modeling Language for Systems of Systems

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Modelling Class T05 Conceptual Modelling – Domain References: –Conceptual Modeling of Information Systems (Chapters 1.2.1, 2, 3) –A practical Guide to.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission.
1 Model Driven Development. 2 DoDAF/ModAF/ SysML and AP233 Architecture –DODAF MODAF Modelling –UML –SysML Interchange –AP 233AP 233 –XMI.
Use-case Modeling.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Deployment of SysML in Tools and Architectures: an Industry Perspective Rick Steiner Raytheon IDS, San Diego
Model Based Systems Engineering (MBSE) using SysML GSFC Systems Engineering Seminar June 8, 2010 Sanford Friedenthal Lockheed Martin
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
Free Mini Course: Applying SysML with MagicDraw
Systems Modeling Language ™ Overview Cris Kobryn and Sandy Friedenthal SysML Partners ( October 2003.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
An Introduction to Software Architecture
ACS 560 – SOFTWARE ENGINEERING Course Accomplishment Summary Shilpashree K.S Fall 2010 Purdue University – Fort Wayne Instructor – Dr. John Tanik.
Object-Oriented Analysis and Design An Introduction.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
SysML Awareness John Davies BSc, PhD, CEng, FIET.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
TAL7011 – Lecture 4 UML for Architecture Modeling.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
An Introduction to SysML
Software Engineering Lecture 8 Object-Oriented Analysis.
SYSE 802 John D. McGregor Module 1 Session 2 Requirements Modeling in SysML.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Developing and Distributing a CubeSat Model-Based Systems Engineering (MBSE) Reference Model – Status Copyright © 2016 INCOSE SSWG. All rights reserved.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
UML (Unified Modeling Language)
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Systems Modeling Language (SysML). 2 What is SysML? A graphical modeling language in response to UML for Systems Engineering developed by the OMG, INCOSE,
Interface Concepts Modeling Core Team
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
SysML v2 Formalism: Requirements & Benefits
SysML v2 Usability Working Session
University of Central Florida COP 3330 Object Oriented Programming
Software Architecture & Design Pattern
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Introduction to UML.
UML profiles.
Architecture Description Languages
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
Presentation transcript:

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)

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 CORBA models (profile) SysML models .NET models U2TP UML 2 SysML Association Classes Class Diagrams Use Case Diagrams Requirements Diagrams Parametric Diagrams

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

A SysML Model contains several Models Requirements Functional Model Dynamic (Behavior) Model Object (Structure) Model Other Models

A SysML System Model containing many Models (ABS Example) Also called the 4 pillars of SysML ABS Example

SysML Diagram Frames Activity diagram, block diagram, internal block diagram, sequence diagram

SysML Diagram Taxonomy Behavior Structure Requirements Parametrics

SysML Structural Diagrams Requirements Diagrams

Requirements Diagram Elements: Nodes

SysML Requirements Diagrams A SysML requirements diagram depicts the requirements in graphical, tabular or tree structure format Example: A Requirements Diagram in Visual Paradigm

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.

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/reqmodeling.jsp On this URL you also find a tutorial movie about managing SysML requirement diagrams.

Adding a Test Case Node (Visual Paradigm)

Adding more Requirements Nodes

Tabular Format of a Requirements Diagram

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.

Requirements Diagram Elements: Associations between Nodes Requirement Containment Relationship The containment relationship describes how each object instance is related to other object instances within a particular environment. This relationship pertains to object instances, not object classes. (in class relationships it is called aggregation) Aggregation (Containment) differs from ordinary composition in that it does not imply ownership. In composition, when the owning object is destroyed, so are the contained objects. In aggregation, this is not necessarily true. For example, a university owns various departments (e.g., chemistry), and each department has a number of professors. If the university closes, the departments will no longer exist, but the professors in those departments will continue to exist. Therefore, a University can be seen as a composition of departments, whereas departments have an aggregation of professors.

Requirements Diagram Elements: Associations between Nodes Requirement Composition Relationship The containment relationship describes how each object instance is related to other object instances within a particular environment. This relationship pertains to object instances, not object classes. (in class relationships it is called aggregation) Aggregation (Containment) differs from ordinary composition in that it does not imply ownership. In composition, when the owning object is destroyed, so are the contained objects. In aggregation, this is not necessarily true. For example, a university owns various departments (e.g., chemistry), and each department has a number of professors. If the university closes, the departments will no longer exist, but the professors in those departments will continue to exist. Therefore, a University can be seen as a composition of departments, whereas departments have an aggregation of professors.

Requirements Diagram Elements: Associations between Nodes Requirement Composition Relationship The containment relationship describes how each object instance is related to other object instances within a particular environment. This relationship pertains to object instances, not object classes. (in class relationships it is called aggregation) Aggregation (Containment) differs from ordinary composition in that it does not imply ownership. In composition, when the owning object is destroyed, so are the contained objects. In aggregation, this is not necessarily true. For example, a university owns various departments (e.g., chemistry), and each department has a number of professors. If the university closes, the departments will no longer exist, but the professors in those departments will continue to exist. Therefore, a University can be seen as a composition of departments, whereas departments have an aggregation of professors.

Requirements Diagram Elements: Associations between Nodes The text of the Slave requirement is a read-only copy of the text of the Master requirement Copy Dependency A functional requirement derived from a business need or a test requirement is derived from a functional requirement A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement. A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. For example, a system requirement may be derived from a business need, or lower-level requirements may be derived from a system requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived. Derive Dependency Functional Requirement Business Need Example: A use case satisfies a functional requirement. Satisfy Dependency

Example of a Copy Dependency (Reuse of Requirements) This slide illustrates the use of the Copy dependency to allow a single requirement to be reused in several requirements hierarchies. The master tag provides a textual reference to the reused requirement.

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:

Requirements Diagram Elements: Associations between Nodes Example: A test case validates a functional requirement Verify Dependency Example: A use case refines a requirement Refine Dependency Trace Dependency Example: A use case can be traced to a requirement.

Callouts Or: How to avoid “Spaghetti” in Requirements Diagrams Trace Dependency Is equivalent to: TraceCallout

SysML Structural Diagrams Package Diagrams

Package Diagram

Organizing a Model by Use Cases Tim Weilkiens, Systems engineering with SysML/UML: modeling, analysis, design‬

Organizing a Model by Stakeholders SysML allows provide viewpoints for the stakeholders of a system

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.

SysML Structural Diagrams Block Diagrams

Blocks: Basic Structural Elements

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.

SysML Block Diagrams Anti-Lock Controller Internal Block Block Definition Diagram Anti-Lock Controller

Internal Block Diagram: Blocks, Parts, Ports, Connectors and Flows

Reference Property vs Part

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.

Port Notation

Links between Requirements and Design This slides shows an example of a compound requirement decomposed into multiple subrequirements.

Behavioral Diagrams

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)

Activity Diagram Notation (UML, SysML)

SysML Activity Diagrams also support Swim Lanes TractionDetector Swimlane BrakeModulator

SysML Activities can consists of Subactivities Activity Diagram Block Definition Diagram

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.

Black Box Sequence Diagram (UML, SysML)

StartVehicle: Black Box Sequence Diagram

StartVehicle: White Box Sequence Diagram

SysML State Machines The same notation as in UML

SysML Use Cases SysML use cases: Also no change from UML

Allocations

Allocations

Different Representations for Allocations

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

Backup Slides

Stereotypes and Model Libraries

Stereotypes

Applying a Profile and Importing a Model Library

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

SysML Parametric Diagrams

A SysML Model allows to include Physical Laws

The Physical Laws can be used to constrain Value Properties in the SysML Model

Allocation of Hardware to Software (-> Lecture on System Design, Topic Hardware-Software Mapping)