Intoduction to SysML a modeling language for Systems Engineering SummIT 2013, Axelborg 22. maj 2013 Ingeniørdocent Finn Overgaard Hansen, foh@iha.dk Department of Engineering Aarhus University Ver. 22.5.2013
Agenda Systems Engineering and SysML What is SysML? New SysML concepts and diagrams 1. SysML Requirements 2. SysML Structure 3. SysML Behaviour 4. SysML Parametric Perspectives for SysML & Summary Slide 2
Model Based Systems Engineering (MBSE) From a document-based to a model-based approach A model-based approach requires modeling concepts and tools MBSE: producing and controlling a coherent System Model SysML is created to realize an MBSE approach based on a System model of the wanted system SysML is a modeling language not a System Engineering (SE) process Slide 3
What is SysML? A graphical modeling language created in response to the UML for Systems Engineering RFP developed by OMG and INCOSE. a UML Profile that represents a subset of UML 2 with important extensions Supports the specification, analysis, design, verification and validation of systems that include hardware, software, data, personnel, procedures, and facilities Supports model and data interchange via XMI SysML is a Critical Enabler for Model Driven or Model Based Systems Engineering Slide 4
SysML Specification - History and Status Nov. 1997: UML V1.1 launched by OMG March 2003: The UML for Systems Engineering RFP (Request for Proposal) was developed jointly by OMG and INCOSE The SysML specification was developed in response to these requirements by the diverse group of tool vendors, end users, academia, and government representatives July 2005: UML V2.0 Sept. 2007: OMG SysML v.1.0 Nov. 2008: OMG SysML v1.1 (256 pages) June 2012: OMG SysML v.1.3 (doc.id: 2012-06-01, 250 pages) Slide 5
System Model and HW/SW Components SysML UML Slide 6
Comparison of SysML and UML Slide 7
SysML Diagram Taxonomy SysML Diagram Structure Diagram Requirement Diagram Behavior Diagram Block Definition Diagram Internal Block Diagram Package Diagram Use Case Diagram Sequence Diagram State Machine Diagram Activity Diagram Parametric Diagram New Diagram Type Modified from UML 2.x Same as UML 2.x Slide 8
The 4 Pillars of SysML 2: 3: 1: 4: Slide 9
1. SysML Requirements Requirement Diagram a NEW diagram type Graphical visualization of requirements Functional Non-functional Requirements can graphical be related to: Other requirements Design elements Test Cases Standard stereotypes: derive, satisfy, verify, refine, trace and copy Used for requirement traceability Slide 10
Requirements Diagram (req) - Example Slide 11
Requirements Traceability - Example Slide 12
2. SysML Structure UMLs class concept is replaced with the Block concept A Block connects to other blocks via Ports Class diagrams are replaced with Block Definition Diagrams (bdd) Each Block has an Internal Block Diagram (ibd) where the internal parts are connected via ports a replacement for class composite diagrams Ports can connect discrete as well as continuous flows of material or information Slide 13
Blocks are Basic Structural Elements Slide 14
Block Definition Diagram (bdd) - Example Slide 15
Internal Block Diagram (ibd) for an Automobile Domain Port Slide 16
Block Definition Diagram (bdd) - Example Slide 17
Internal Block Diagram (ibd) - Example Running the Vehicle Software Part Slide 18
Ibd [Block] Camera [Nested flow] Proxy Ports :Light :Camera Module :Electronic Assembly :Light :Optical Assembly :Light :MPEG Converter :Video :MPEG4 <> camera i/o: Camera Interface :Imaging Assembly :Image :Image :Image Processor Proxy port Slide 19 «flow specification» Camera Interface flowproperties out digital video: MPEG4 out analog video: Composite in control: Control Data in startup sig: Start Up
Standard service based Ports (Full port) Camera Control camera requests Monitoring Station Required interface Provided interface «interface» Camera Control operations getcamerastatus(in cameraid: Integer, in camerastatus: String) testcameras() pancamera(in strength: Integer) tiltcamera(in strength: Integer) Slide 20
3. SysML - Behavior Activity diagrams are enhanced with new concepts Flows can be continuous and model information as well as material flow Control flows are introduced SysML activities are based on token-flow semantics related to Petri-Nets Tokens corresponds to values of inputs, outputs and control Activities can have pins (acting as a buffer) Slide 21
Activity Diagram (act) Notation Flows can be discrete, streaming or control Slide 22
Activity Diagram (act) - Example swimlanes Slide 23
Activity Diagram - decomposed act Operate Camera [Object Flow] «optional» current image {stream} :CollectImages Activity parameter node Object flow captured image {stream} :CaptureVideo video out {stream} input signal {stream} :GenerateVideo Outputs Have subdiagrams «optional» MPEG output {stream} «optional» Composite out {stream} Slide 24
4. SysML Parametric Parametric Diagram (par) a NEW diagram type Used to express constraints (equations) between value properties Provides support for engineering analysis (e.g., performance, reliability) Constraint block captures equations shown on a bdd Expression language can be formal (e.g., MathML, OCL) or informal A computational engine is defined by applicable analysis tool and not by SysML Parametric diagrams represents the usage of the constraints in an analysis context Binding of constraint usage to value properties of blocks (e.g., vehicle mass bound to F= m a) Parametric enable integration of engineering analysis with design models Slide 25
BDD Parametric Constraint Blocks Stereotype Slide 26
Parametric Diagram (par) - Example for a block Value bindings Slide 27
Structure Cross Connecting Model Elements ibd [block] Anti-LockController satisfies [Internal Block Diagram] «requirement» Anti-Lock Performance ibd [block] Anti-LockController [Internal Block Diagram] d1:tractiondetector act PreventLockup [Swimlane Diagram] «allocate» act PreventLockup :TractionDetector [Activity Diagram] «allocate» :BrakeModulator Behavior c1:modulator c1:modulator Interface Interface c1:modulator interface allocatedfrom «ObjectNode» TractionLoss: allocatedfrom «activity»detectlos d1:traction OfTraction Detector m1:brakemodulator m1:brake allocatedfrom Modulator «activity»modulate BrakingForce values DutyCycle: Percentage DetectLossOf Traction TractionLoss: Modulate BrakingForce allocatedto «connector»c1:modulatorinterface Requirements satisfy req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements] Vehicle System Braking Subsystem Specification Specification par [constraintblock] StraightLineVehicleDynamics [Parametric Diagram] v.chassis.tire. v.brake.abs.m1. v.brake.rotor. Friction: DutyCycle: BrakingForce: v.weight: par [constraintblock] StraightLineVehicleDynamics [Parametric Diagram] tf: tl: bf: m: c Parametrics «requirement» «requirement» StoppingDistance Anti-LockPerformance id= 102 id= 337" text= The vehicle shall stop text= Braking subsystem from 60 mph within 150 ft shall prevent wheel lockup on a clean dry surface. under all braking conditions. VerifiedBy SatisfiedBy «interaction»minimumstopp «block»anti-lockcontroller ingdistance «derivereqt» :BrakingForce Equation [f = (tf*bf)*(1-tl)] :DistanceEquation [v = dx/dt] x: f: v: F: v: :Accelleration Equation [F = ma] a: a: :VelocityEquation [a = dv/dt] «derivereqt» v.position: Slide 28
Project activities using SysML Capture and analyze black box system requirements System Context & System Use Cases, Requirement Diagrams Develop one ore more candidate system architectures Block Definition & Internal Block Diagrams Perform engineering trade-off analysis to evaluate and select the optimal architecture Parametric Diagrams Specify component requirements and their traceability to system requirements Requirement diagrams Verify the system design by executing system-level test cases Slide 29
Perspectives for SysML Enable a common modeling language and model across engineering disciplines Enable traceability between disciplines Enable different kinds of system analysis Enable integration of discrete and continuous based modeling tools Critical enabler for Model Based System Engineering with tool support Slide 30
Summary SysML a common modeling language for different disciplines e.g. Hardware, Software and Mechanics New and important concepts for cross disciplinary analysis of system properties (e.g. parametric) Blocks and ports as general modeling elements Important enhancement to activity diagrams Lot of support for traceability between models and model elements Must be supported by an appropriate Systems Engineering (SE) process Slide 31
References OMGs SysML homepage: www.omgsysml.org INCOSE organization: www.incose.org Books: A Practical Guide to SysML The System Modeling Language, Sanford Friedenthal, Allan Moore, Rick Steiner, Elsevier, 2008. Systems Engineering with SysML/UML Modeling, Analysis, Design, Tim Weilkiens, Elsevier, 2007. Slide 32