Anda di halaman 1dari 70

Model Based Systems Engineering Opportunity to Improve Efficiencies with SysML

Using Artisan Studio

2008 Artisan Software Tools. All rights reserved.

Model Based Systems Engineering Opportunity to Improve Efficiencies with SysML Problems Facing Todays Systems Engineers Introducing the OMGs SysML Requirements Structure Parametric Models Allocation The Artisan Studio Solution Typical Productivity Gains and Cost Savings How to Take Advantage Next Steps

2008 Artisan Software Tools. All rights reserved.

Generic Engineering Objectives


Engineering Goals
Building the Right Systems Building them Right On Time Within Budget and/or while Reducing Costs

Utilizing the Appropriate Engineering Resources


People - Experts in Business, Systems, Software, Hardware, Quality, Operations Processes Best Practices, Core Values, Regulatory Standards, Experience Products Many, Varied and Constantly Evolving

2008 Artisan Software Tools. All rights reserved.

Complex Systems of Systems


SoSE is different from other Application Development Environments

Interactions

Boundaries

2008 Artisan Software Tools. All rights reserved.

Why Model Based Engineering?

Provide a Framework for Integrated Product Development Reduce Risk Ensure Products and Services Meet Customer Requirements Reduce Program Costs and Expedite Schedules Facilitate Informed Decision-making and Improved Trade-Off Analysis Allow Program Managers to Focus on Key Issues Promote Re-use and Integration with Legacy Systems

2008 Artisan Software Tools. All rights reserved.

Success Through Systems Thinking

Cumulative Percentage Life Cycle Cost

100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0%

Committed Costs 85% 70%

95%

E t to s Co
3-6%

ct tra x

ts fec De

Operations Through Disposal

500-1000%
Prod/Test Phase

20-100%

100%

Development Design Phase Concept Phase

50%

8%

15%

20%
Time

Full Program Expenditures

Reference: Defense Systems Management College - 9/1993

REALITY 70% of the project costs are committed during the first 8% (85% after the first 15%) It gets increasingly expensive to fix problems SOLUTION Use Artisan Early and Often - Architectural Frameworks, SysML, Requirements Modeling
2008 Artisan Software Tools. All rights reserved.

Model Based Engineering Obstacles


Lack of Process Change Culture
Culture & Management Support Stakeholder Communication and Information Flow Organizational Structure, Staff Skills, Motivation and Direction Program Focus vs. Corporate Benefit Early Adopters pay the price

Semantic Dissonance
Differing Stakeholder Needs, Viewpoints and Management Sponsorship Project and Domain Silos

Tooling Challenges
Vendor Resistance to Integration Usability and learning curves Tools can help - must invest in deployment (training, support & process)

Measuring value
Improving Quality Assurance and Traceability Return on Investment Proof Repeatability, Planned Reuse, Estimation and Productivity
2008 Artisan Software Tools. All rights reserved.

Model Based Systems Engineering Opportunity to Improve Efficiencies with SysML Problems Facing Todays Systems Engineers Introducing the OMGs SysML Requirements Structure Parametric Models Allocation The Artisan Studio Solution Typical Productivity Gains and Cost Savings How to Take Advantage Next Steps

2008 Artisan Software Tools. All rights reserved.

10

Something has changed in System Engineering

2008 Artisan Software Tools. All rights reserved.

11

Where weve come from A Historical Perspective

US D.O.D US D.O.D Bell Labs Bell Labs


XEROX PARC XEROX PARC

INCOSE INCOSE
OO Programming :: OO Programming ADA ADA Eiffel Eiffel Smalltalk Smalltalk Simula Simula C++ C++

Booch Booch Wirfs-Brock WirfsWirfs-Brock


Jacobson: OOSE Jacobson: OOSE

SysML SysML UML UML


SPEM SPEM MOF MOF BPMN BPMN XMI XMI DDS DDS

ecc. ecc..... ecc. ecc..... Shlaer/Mellor Shlaer/Mellor


Structured Method: Structured Method: SA&SD SA&SD Entity Modelling Entity Modelling Event Modellingi Event Modellingi

Coad/Yourdon Coad/Yourdon
Rumbaugh: OMT Rumbaugh: OMT

Martin/Odell Martin/Odell

MDA MDA
yrs200 0

yrs 60

yrs 70

yrs 80

yrs 90

2008 Artisan Software Tools. All rights reserved.

12

... And where weve arrived A Historical Perspective

After Software Engineering, OMG deals now also with other aspects of system design
Finally users are conditioning the content of the standards The most recent OMG standards are extensions to UML e.g. SysML UML is the designed to be extended allowing domain specific profiles to be developed

MODAF DoDAF

Testing Profile AUTOSAR

2008 Artisan Software Tools. All rights reserved.

13

A Unifying Systems Language

SysML A Language to document the properties from different disciplines to describe the whole solution

2008 Artisan Software Tools. All rights reserved.

14

Modeling A Way to Manage Complexity


A Model is a set of entities and relations created as a result of an abstraction process and is used to: neglect immaterial details, hence foster communication and system understanding anticipate the relevant system behavior test and recycle, because it is an operational design tool User can visualize entities and relations through diagrams which form the systems views Views are a set of info which describe a partial and particular system aspect: the human brain can only take into account a few things all together at the same time A Database is what is needed to archive all the Model information
2008 Artisan Software Tools. All rights reserved.

15

OMG SysML Systems Modeling Language

TM

2008 Artisan Software Tools. All rights reserved.

16

Systems Engineering not just for requirements


Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. It focuses on defining customer needs and required functionality early in the development cycle, documenting requirements, then proceeding with design synthesis and system validation while considering the complete problem. Systems Engineering integrates all the disciplines and specialty groups into a team effort forming a structured development process that proceeds from concept to production to operation. Systems Engineering considers both the business and the technical needs of all customers with the goal of providing a quality product that meets the user needs. INCOSE (Intl. Council on Systems Engineering)

2008 Artisan Software Tools. All rights reserved.

17

Systems Engineering not just for requirements


Systems Engineers should have: Interdisciplinary view: systems are NOT made up JUST of software, but also hardware, mechanics, etc.. Trade-off ability among business needs and technical constraints, taking into account the new technological opportunities

2008 Artisan Software Tools. All rights reserved.

18

Systems Engineering OMG SysML


UML has proved to be a modeling language not only for software, but also capable for modeling other areas Does UML work for Systems Engineering?

OMG SysML 1.0 May 2006

SysML is a modeling language supporting specification, analysis, design, verification and validation of a broad range of complex systems including: Hardware Software Info
2008 Artisan Software Tools. All rights reserved.

- Processes - Personnel - Plants


19

SysML Team Members


Vendors Artisan, EmbeddedPlus, Gentleware, IBM, Gentleware, I-Logix, Mentor Graphics, Motorola, PivotPoint Technology, Sparx Systems, Telelogic, Vitech Corp Industry & Government American Systems, BAE SYSTEMS, Boeing, Deere & Company, EADS-Astrium, Eurostep, Lockheed Martin, NIST, Northrop Grumman, oose.de, Raytheon, THALES Academia Georgia Institute of Technology Liaison Organizations INCOSE, AP233 WG

2008 Artisan Software Tools. All rights reserved.

20

SysML Contents Summary


Structure System hierarchy, interconnection Behavior Function-based behavior, state-based behavior Properties Parametric models, time property Requirements Requirements hierarchy, traceability Verification Test cases, verification results Cross-Cutting Allocation of entities for workflow

2008 Artisan Software Tools. All rights reserved.

21

Language Architecture

2008 Artisan Software Tools. All rights reserved.

22

Reuse of UML 2.0 for SysML

UML 2.0
UML not required by SysML UML reused by SysML

SysML
SysML extensions

2008 Artisan Software Tools. All rights reserved.

23

SysML Taxonomy of Diagrams


Same as UML Modified from UML New for SysML Diagram

Structure

Requirements

Behavior

Block Definition [1]

Internal Block [2]

Package

Activity

State Machine Sequence Use Case

Parametric [1] Modified UML Class Diagram [2] Enhanced UML Composite Structure Diagram
2008 Artisan Software Tools. All rights reserved.

24

The Four Pillars of SysML


1. Structure
bdd [Package] Parking System block Display Device block Parking System

uc [Package] Use Cases [Parking Lot]


ibd [block] Parking System

2. Behavior
part ctrllr:Controller

act [A ctivity] installS ystem stm [block] Parking Lot System [States]

1 1 4 DB 3 PL block Parking Lot System 1 * * user Car Operator 1 1

part DB : Display Board ip ItemFlow spaceData

sd Car Leaves Car part run install test do physical installation powered up exitSnsr:PressureSensor
car exits

Set Capacity

Operator Entry/intialize system


triggerSensor
controller [test ok] setC apacity notifed operating decrement

Suspend Entry
diagnose [test fails] carLeaves and repair

block Display Board 1

when( initialization complete )/

op

part PL : Parking Lot System

setting capacity Use Parking count beamBreak/Use Parking Lot press reset button/ Entry/Set Capacity

extend

messages

Lot

potential user

Car

definition

use

powered down

press display button[IR beam connected]/

par [block] Parking Lot System [Number Vehicles Equation] constraints {vSA = (c * 6) + (d * 9) + (m * 3)} PL Params.totalCars : integer PL Params.totalDisabled : integer PL Params.totalBikes : integer

req [Package] Requirements [Entry] requirement REQ-1-1 txt The System shall control access to each parking lot, only allowing a car to enter if there is at least one free parking bay. requirement REQ-1-1-a deriveReqt txt The System shall maintain a count of cars currently in the parking lot.

mcEq : Max Capacity Equation vehiclesSA vehiclesSA cars NVeq : Number Vehicles Equation disabled mBikes

3. Requirements
25

4. Parametrics
2008 Artisan Software Tools. All rights reserved.

Language Details...

2008 Artisan Software Tools. All rights reserved.

26

An Automotive Example

The Business Process


The Business Case Marketing have identified a niche The market for a mid-range engine, high-specification vehicle in the Business Case (Named: XSV-2001). The eventual cost of the vehicle will be in the range of 16K-20K, with a proposed launch date of Spring 2003. Finance have made 300K available for Conception and Will specify the Requirement the a System The estimated profit Development (including any re-tooling and training onfor production line). (e.g. a Car) margin is 10%-15% per production unit. Minimal changes will be made to existing production lines and tooling, and maximum use of existing components is mandated. A review will be held in 4May to determine go-ahead of Development (and subsequent) of the System months include (solution-based) capabilities phases. Target market: (e.g. Executive Fleet and Family.

Cruise Control, EMS, ABS)

Feature-Set Standard Re-use, Tooling) Front-Wheel Drive, Front-engine, 5-Door (hatch-back), 5-Seat three-point inertial seat-belts (standard options of colour & cover); 1999ccm Variable Valve Control Petrol Engine; Integrated Traction & Cruise Control; Engine Management System (EMS) (including both Control and Diagnostics); Advanced Breaking System (ABS); Electric Windows & Seat Adjustment and Heating (Front seats only, Front windscreen only); Optional: Front and Rear proximity sensors (including distance read-out and audio warning); GPS Navigation System (including audio instructions); (Sports Option) Engine Management System;

May include Constraints (e.g. Cost, Time, Component

2008 Artisan Software Tools. All rights reserved.

27

Requirements
Requirements represents a text based requirement Includes id and text properties Can add user defined properties such as verification method Can add user defined requirements categories (e.g. functional, interface, performance, ...) Requirements hierarchy describes requirements contained in a specification Requirements relationships include DeriveReqt, Satisfy, Verify, Refine, Trace, Copy Graphical, tabular and tree notation specified

2008 Artisan Software Tools. All rights reserved.

28

User Requirements Flow Down


req [Package] Cruise Control System [Reqts with links] requirement REQ_CCS_01 txt The CCS must allow a driver to enable the vehicle to maintain a desired speed. deriveReqt requirement REQ_CCS_02 txt The CCS must allow cruise control to be engaged and disengaged. W hen engaged the cruise control system is available to accept driver instructions (such as 'set' and 'increment'). W hen disengaged, the cruise control system will not respond to any driver inputs. requirement REQ_CCS_03 deriveReqt txt The CCS must allow cruise control to be suspended (via toggle or brake application) and resumed (via toggle only). This feature should be available only when cruise control is active. W hen suspended, the cruise control system shall memorize the desired speed, but the cruise control system is inactive (i.e. suspended) and must relinquish control of the throttle pedal back to the driver. The only commands which can be accepted whilst suspended are 'resume', 'disengage' or 'set' requirement REQ_CCS_05 txt Once the CCS is engaged, to activate cruise control the driver can 'set' the desired speed. Once this is set the CCS shall take over control of the throttle. satisfy Activity Set Desired Speed Activity Engage CC Activity Disengage CC

satisfy

satisfy

refine

satisfy Activity Maintain Speed satisfy

satisfy

Activity Suspend CC Activity Resume CC

Maintain Speed

satisfy

Block Cruise Control System

verify testCase [Package] Maintain Speed - with flows

satisfysatisfy

deriveReqt

requirement REQ_CCS_04 txt The failsafe state for the CCS is 'disengaged' - any errors encountered by the cruise control system shall be logged (along with the system's configuration data) and the system shall be disengaged.

requirement REQ_CCS_06 txt W hen cruise control is engaged, the driver must be able to increment or decrement the desired speed (in increments of 1 MPH). The driver must also have the ability to change the gear selection whilst the cruise control is active.

requirement REQ_CCS_06a txt W hen cruise control is engaged, the driver must be able to increment the desired speed in increments of 1 MPH. satisfy Activity Increment Speed

requirement REQ_CCS_06b txt W hen cruise control is engaged, the driver must be able to decrement the desired speed in increments of 1 MPH. satisfy Activity Decrement Speed

requirement REQ_CCS_06c requirement REQ_CCS_07 txt The CCS must provide displayed outputs to the driver. This will enable the driver to determine the current desired speed before resuming cruise control. txt W hen cruise control is active, the driver must be able to change the gear selection.

satisfy

Activity Shift Gear

satisfy

Display Speed

Cruise Control System - block operation

2008 Artisan Software Tools. All rights reserved.

29

Use Case Example Provides means for describing basic functionality in terms of usages of system by actors Generally elaborated via other behavioral representations to describe detailed scenarios
2008 Artisan Software Tools. All rights reserved.

uc Vehicle [High Level Use uc Vehicle [Operational Level Use Cases] Cases]

Drive The Vehicle Vehicle Start Driver

Operator include Shut Down Insure Vehicle Vehicle include


Register Vehicle

Insurance Company

Registered Owner

Drive The Vehicle

Driver

Department Of extend

Motor Vehicles

Maintain Cruise Control Vehicle Maintainer

Operate

30

Interactions Sequence diagrams provide representation for message based behavior represents flow of control Sequence diagrams provide key mechanisms for representing complex behavior reference sequences control logic lifeline decomposition

2008 Artisan Software Tools. All rights reserved.

31

Vehicle Interaction Diagrams


sd Drive The Vehicle Drive The Vehicle Description Driver Block :Vehicle Start The Vehicle

Start Vehicle par alt Idle else alt Accelerate else alt Brake end alt also par Steer also par Maintain Speed end par Park Shutdown

ref par alt ref

Coast

ref

Accelerate The Vehicle

ref

Brake The Vehicle

ref

Steer The Vehicle

ref [Package] Maintain Speed

ref ref

Park Vehicle Shut Down The Vehicle

2008 Artisan Software Tools. All rights reserved.

32

Vehicle Interaction Diagrams

sd [Package] Maintain Speed Maintain Speed Description BlockProperty CCUnit:Cruise Control Unit BlockProperty CCIO:Cruise Control IO ref Update Display Block :Engine Management Unit

loop while CC operational EMU message arrives load gear profile calibrate profile and speeds if reqd speed not = actual speed calculate reqd throttle position send message to EMU end if update CC display end loop

handle EMU message load gear profile( current gear ) calibrate calculate throttle position Set Throttle update display
referenced diagram specifies message sequences internall to Cruise Control IO to update the display

2008 Artisan Software Tools. All rights reserved.

33

Activities
Activity used to specify the flow of inputs/outputs and control, including sequence and conditions for coordinating activities Secondary constructs show responsibilities for the activities using swim lanes SysML extensions to Activities Support for continuous flow modeling Support probabilistic choice Alignment of activities with Enhanced Functional Flow Block Diagram

2008 Artisan Software Tools. All rights reserved.

34

Analysis Model of Vehicle SysML additions on this chart streaming activities consume inputs after initialization continuous flows

AD Operate Vehicle

Start Up Vehicle

Drive Vehicle

Shut Down Vehicle

2008 Artisan Software Tools. All rights reserved.

35

35

Analysis Model of Vehicle SysML additions on this chart streaming activities consume inputs after initialization continuous flows
AD Drive Vehicle

select first gear

move from stopped

coast Steer Vehicle Shift Gear

Accelerate Vehicle stopped Brake Vehicle

Operate Cruise Control

2008 Artisan Software Tools. All rights reserved.

36

Analysis Model of Vehicle SysML additions on this chart streaming activities consume inputs after initialization continuous flows
AD Operate Cruise Control Driver block Automotive Domain block Cruise Control System

Press Engage Button

Do Initialisation tests

OK Engaged

error

Log Error

Engage CC Operating

Press Set Button

Set Desired Speed EMUMessage valueType Speed SpeedMsg

Maintain Speed ThrottleMessage Press Increment Button Increment Speed

Press Decrement Button Decrement Speed brake applied

wait until.... Suspend CC Press Suspend/Resume Button if suspended Resume CC CCerror

Log Error

Press Disengage Button

Disengage CC

2008 Artisan Software Tools. All rights reserved.

37

Analysis Model of Vehicle


SysML additions on this chart streaming activities consume inputs after initialization continuous flows

block Cruise Control Unit Maintain Speed

block Cruise Control IO

load profile for current gear EMUMessage Callibrate against current EMU Data SpeedMsg Update CC Display

Calculate required throttle position

send EMU throttle position message

ThrottleMessage

2008 Artisan Software Tools. All rights reserved.

38

SysML Blocks
Provides a unifying concept to describe the structure of an element or system Hardware Software Data Procedure Facility Person

Block is Basic Structural Element

2008 Artisan Software Tools. All rights reserved.

39

Structure vs. Usage


Block Definition Diagram Internal Block Diagram

Definition

Usage

Block is a definition/type Captures properties, etc. Reused in multiple contexts

Part is the usage in a particular context Typed by a block Also known as a role

2008 Artisan Software Tools. All rights reserved.

40

Block Definition Diagram for Vehicle Structural Components


Parts shown by black-diamond notation, or by Parts Compartment Values compartment shows properties of the block Flowports compartment shows block interface
bdd [Package] Structure Automotive Domain Breakdown Block Automotive Domain

* Veh 1 Block Vehicle

* Env Block Environment

* Cargo Block Baggage

1 1 Drv * Main * Pass * Wthr Block Weather * FO Block Foreign Object * Sat Block Satellite * Rd Block Road

Driver

Maintainer

Passenger Block Other Vehicle Block Pedestrian Block Fixed Obstacle Block Cyclist

Block Tree

Block Wall

2008 Artisan Software Tools. All rights reserved.

41

Block Definition Diagram for Vehicle Structural Components


Parts shown by black-diamond notation, or by Parts Compartment Values compartment shows properties of the block Flowports compartment shows block interface

bdd [Package] Vehicle [Main Subsystems] Block Vehicle

PowSys

BodySys

1 LightSys Block Lighting Subsystem

CC Sys

Block Power Subsystem 1 SteerSys Block Steering Subsystem

Block Body Subsystem

Block Cruise Control System

1 BrakeSys Block Brake Subsystem

1 InteriorSys Block Interior Subsystem

ChasSys

1 ElecSys Block Electrical Subsystem

Block Chassis Subsystem

2008 Artisan Software Tools. All rights reserved.

42

Block Definition Diagram for Vehicle Structural Components


bdd [Package] Power Subsystem [Detail]

Parts shown by blackdiamond notation, or by Parts Compartment Values compartment shows properties of the block Flowports compartment shows block interface

Block Differential 1 Diff 1 1 Block Power Subsystem operations ignitionOn () parts Diff : Differential DrvShft : Drive Shaft DrvShftSens : Drive Shaft Sensor ICEng : Internal Combustion Engine Transm : Transmission TransmAct : Transmission Actuator 1 DrvShftSens 1 DrvShft 1 TransmAct 1 Transm 1 Block Drive Shaft Sensor Block Drive Shaft Block Transmission Actuator Block Transmission

1 1 ICEng Block Internal Combustion Engine parts EMU : Engine Management Unit EngSens : Engine Sensors [*] FuelInj : Fuel Injector [4] 1 EMU 1

Block Engine Management Unit parts FuelMgt : Fuel Management ThrotlCtrl : Throttle Control

1 1 1 1 FuelMgt Block Fuel Management 4 FuelInj * EngSens

1 1 ThrotlCtrl

Block Throttle Control parts ThrotlAct : Throttle Actuator

Block Fuel Injector

Block Engine Sensors

1 1 ThrotlAct Block Throttle Actuator

2008 Artisan Software Tools. All rights reserved.

43

Block Definition Diagram for Vehicle Structural Components


Parts shown by blackdiamond notation, or by Parts Compartment Values compartment shows properties of the block Flowports compartment shows block interface
1 AccPedal

bdd [Package] Vehicle [CC DriverInterfaces] Block Vehicle parts AccPedal : Accelerator Pedal BodySys : Body Subsystem BrakeSys : Brake Subsystem CC Sys : Cruise Control System ChasSys : Chassis Subsystem ElecSys : Electrical Subsystem GearSel : Gear Selector InteriorSys : Interior Subsystem LightSys : Lighting Subsystem PowSys : Power Subsystem SteerSys : Steering Subsystem Block Brake Subsystem 1 1 parts BrakeSys ABS : Anti-Locking Braking System BrkPed : Brake Pedal BrkSens : Brake Assembly Sensor [*]

GearSel

CC Sys

BrkPed

Block Accelerator Pedal 1

Block Gear Selector 1

Block Cruise Control System 1

Block Brake Pedal 1

Driver

2008 Artisan Software Tools. All rights reserved.

44

Block Definition Diagram for Vehicle Structural Components


Parts shown by black-diamond notation, or by Parts Compartment Values compartment shows properties of the block Flowports compartment shows block interface
bdd [Block] Cruise Control System Block Cruise Control System parts CCIO : Cruise Control IO CCUnit : Cruise Control Unit 1 1 CCUnit Block Cruise Control Unit operations load gear profile (in gear : Integer) calibrate () calculate throttle position () handle EMU message () 1 1 CC Disp 1 Block CC Display Panel 1 1 1 CANbus 1 CCUio 1 CCUmb Block CAN

Block CC IO Card

1 1

CCIO

Block Cruise Control IO operations update display () parts CC Disp : CC Display Panel Dec : Dec Speed Eng/Dis : Engage/Disengage CC Inc : Inc Speed Set : Set Speed Sus/Res : Suspend/Resume CC

Block CC Motherboard

allocatedFrom Class eCruiseControlPanel Class eEMUIF Class eTransmissionMonitor Class eBrakePedalMonitor

allocatedFrom Class cThrottle Controller Class pAccelerationProfile Class pCalibration Manager Class cSpeedMonitor

Set

Block Set Speed

1 Inc Block Inc Speed

1 Dec Block Dec Speed

Sus/Res

Eng/Dis

Block Suspend/Resume CC

Block Engage/Disengage CC

Block Push Button

Block Toggle Button

2008 Artisan Software Tools. All rights reserved.

45

Unit and Item Types


Unit types normally based on Real SI Units and Dimensions defined in SysML appendix
bdd [Package] Vehicle [Definitions] Block Liquid values MFR : Mass Flow Rate [*] Press : Pressure [*] Temp : Temperature [*] ValueType Temperature unit DegreeCelsius ValueType CAN ValueType Speed dimension Velocity unit MeterPerSecond Watt ValueType Electric Power unit

ValueType Pressure unit Pascal Block Fuel values MFR : Mass Flow Rate [*] Press : Pressure [*] Temp : Temperature [*] ValueType Force unit Newton

ValueType Electrical Signal

ValueType RPM dimension Rotational Speed unit RevolutionsPerMinute ValueType Torque unit NewtonMetre ValueType Analogue dimension ElectricCurrentRange operations Send () unit Ampere ValueType Digital dimension ElectricPotentialDifference operations Send () unit Volt

FlowSpecification FPump-ICEng flowPropertyList out FuelReturn : Fuel in FuelSupply : Fuel FlowSpecification TorqueSpec flowPropertyList in TorqueIn : Torque out TorqueOut : Torque

ValueType Mass Flow Rate unit KilogramPerSecond

Unit KilogramPerSecond

Unit NewtonMetre

Dimension Rotational Speed

Unit RevolutionsPerMinute

Dimension ElectricCurrentRange

2008 Artisan Software Tools. All rights reserved.

46

Item Flows
Distinct from what can flow via the port specification Supports top down description of flows without imposing behavioural method (e.g. activities, state, interactions) Behavior is not driven from itemFlows but needs to be consistent with it Is aligned with behavior thru refinement and allocation Can be allocated from an object node, message, or signal from a behavioral diagram Properties of item flow can be specified and constrained in parametric diagram

2008 Artisan Software Tools. All rights reserved.

47

IBD for Vehicle


ibd [Block] Automotive Domain Block Automotive Domain

BlockProperty Veh : Vehicle Driver Maintainer

Passenger BlockProperty Env : Environment

BlockProperty Cargo : Baggage

BlockProperty W thr : W eather

BlockProperty Sat : Satellite

BlockProperty Rd : Road

BlockProperty FO : Foreign Object

Non-Atomic Ports I/O is specified using FlowSpecification FlowSpecification consists of properties stereotyped FlowProperty isConjugate promotes reuse of flowSpecifications

Atomic FlowPorts In this case the port is directly typed by the item type (Block or ValueType) Direction property specify the direction of flow

2008 Artisan Software Tools. All rights reserved.

48

IBD for Vehicle


ibd [Block] Vehicle [High Level Systems] Block Vehicle

BlockProperty SteerSys : Steering Subsystem

BlockProperty BodySys : Body Subsystem

Body-Interior

BlockProperty InteriorSys : Interior Subsystem

Body-Chassis Steer-Chassis Body-Lighting

Interior-Lighting

BlockProperty ChasSys : Chassis Subsystem

Chassis-Brake

BlockProperty BrakeSys : Brake Subsystem

Brake-Lighting

BlockProperty LightSys : Lighting Subsystem Interior-Elec

Brake-CC System Power-Chassis BlockProperty CC Sys : Cruise Control System

Elec-Lighting

Power-CC System BlockProperty PowSys : Power Subsystem

CCSystem-Elec

Power-Elec

BlockProperty ElecSys : Electrical Subsystem

2008 Artisan Software Tools. All rights reserved.

49

IBD for Vehicle


ibd [Block] Vehicle [Driver Interface Connections] Block Vehicle

CCIF : RS232

EMU : EMU Message EMUIF : RS232 BlockProperty CC Sys : Cruise Control System

Set Throttle : AnalogueMessage BlockProperty PowSys : Power Subsystem CCIF : Analogue

TransmIF : Analogue ItemFlow Gear : Analogue BrakeIF : Digital ItemFlow BrakeEngaged : Digital

GearShiftIF : Force

AccelIF : Force CCIF : Digital

ItemFlow Select : Force

ItemFlow Accel : Force

BlockProperty BrakeSys : Brake Subsystem

TransmIF : Force BlockProperty GearSel : Gear Selector

ThrotIF : Force BlockProperty AccPedal : Accelerator Pedal BlockProperty BrkPed : Brake Pedal Driver

Driver

2008 Artisan Software Tools. All rights reserved.

50

IBD for Vehicle


ibd [Block] Power Subsystem [Connections] Block Power Subsystem
to Fuel Tank Assembly

FTAIF

ItemFlow Return : Fuel

ItemFlow Flow : Fuel

FTAIF BlockProperty ICEng : Internal Combustion Engine

AccelIF : Force

ItemFlow Foot Pressure : Force AccelIF : Force SetThrottle : AnalogueMessage CCIF : RS232

StarterIF

ItemFlow Resistance : Torque

ItemFlow Crank : Torque

StarterIF

CCIF : RS232

EMU : EMU Message ElecIF ElecIF : Electric Power DSSIF : Speed ItemFlow Raw Speed : Speed ItemFlow Shaft Speed : RPM DSSIF : RPM DiffIF : TorqueSpec ShftIF : RPM EMUIF : Speed BlockProperty DrvShftSens : Drive Shaft Sensor TransmIF : TorqueSpec ItemFlow Torque : Torque ItemFlow Torque : Torque ICEngIF : TorqueSpec BlockProperty Transm : Transmission TransActIF : Force CCIF : Analogue

BlockProperty DrvShft : Drive Shaft

TransmIF : TorqueSpec DrvShftIF : TorqueSpec

ItemFlow Torque : Torque ItemFlow Torque : Torque DrvShftIF : TorqueSpec BlockProperty Diff : Differential LFW IF

ItemFlow Torque : Torque

ItemFlow Torque : Torque

CCIF : Analogue ItemFlow Gear : Analogue

ItemFlow Shift : Force

TransIF : Force RFW IF GearShiftIF : Force BlockProperty TransmAct : Transmission Actuator GearShiftIF : Force ItemFlow Shift : Force

LFW IF : TorqueSpec

RFW IF : TorqueSpec

2008 Artisan Software Tools. All rights reserved.

51

IBD for Vehicle


ibd [Block] Internal Combustion Engine [EMU] Block Internal Combustion Engine BlockProperty EMU : Engine Management Unit BlockProperty FuelMgt : Fuel Management BlockProperty ThrotlCtrl : Throttle Control BlockProperty ThrotlAct : Throttle Actuator

FTAIF : FPump-ICEng ItemFlow Flow : Fuel BlockProperty FuelInj : Fuel Injector

4 ItemFlow Fuel : Fuel *

BlockProperty EngSens : Engine Sensors Set Throttle : AnalogueMessage CCIF : RS232

CCIF : RS232

EMU : EMU Message ACCIF : Force ElecIF

ElecIF : Electric Power

DSSIF : Speed ItemFlow Speed : Speed


connections not modeled here

ItemFlow FootPressure : Force

StarterIF : TorqueSpec TransmIF : TorqueSpec

DSSIF : Speed

AccelIF : Force

2008 Artisan Software Tools. All rights reserved.

52

Internal Block Diagram for CC


Shows parts (structural children) and ports (interaction points on blocks and parts)
Supports integration of behavior and structure
Driver

ibd [Block] Cruise Control System [connections] Block Cruise Control System BlockProperty CCIO : Cruise Control IO BlockProperty CCUnit : Cruise Control Unit

BlockProperty CC Disp : CC Display Panel

CCIF : RS232

BlockProperty CCUmb : CC Motherboard Speed : Speed CANIF

Power : Electric Power

BlockProperty Eng/Dis : Engage/Disengage CC CCIF : Digital

Port types
Standard ports Specify a set of operations and/or signals Typed by a UML interface

BlockProperty Sus/Res : Suspend/Resume CC CCIF : Digital

ItemFlow Press : Digital

BlockProperty CANbus : CAN

CANIF ItemFlow Press : Digital CCIF : Digital ItemFlow Press : Digital CCDispIF EngDisIF SusResIF BlockProperty CCUio : CC IO Card BlockProperty Inc : Inc Speed CCIF : Digital ItemFlow Press : Digital SetIF IncIF DecIF BlockProperty Dec : Dec Speed CCIF : Digital ItemFlow Press : Digital EMUIF : RS232

ItemFlow Brake Engaged : Digital BrakeIF : Digital ItemFlow Gear : Analogue TransmIF : Analogue : EMU Message EMUIF : RS232 TransmIF : Analogue BrakeIF : Digital

BlockProperty Set : Set Speed

: AnalogueMessage

Flow ports
Specify what can flow in or out of block/part Typed by a flow specification

2008 Artisan Software Tools. All rights reserved.

53

Callout Notation for Requirements


req [Package] Cruise Control System [Reqts] requirement REQ_CCS_01 txt The CCS must allow a driver to enable the vehicle to maintain a desired speed. deriveReqt requirement REQ_CCS_02 txt The CCS must allow cruise control to be engaged and disengaged. When engaged the cruise control system is available to accept driver instructions (such as 'set' and 'increment'). When disengaged, the cruise control system will not respond to any driver inputs. requirement REQ_CCS_03 deriveReqt satisfiedBy Block CC Model::Analysis::Structure::Vehicle::CC System::Cruise Control System Class CC Model::Analysis::Behaviour::Activities::Maintain Speed txt The CCS must allow cruise control to be suspended (via toggle or brake application) and resumed (via toggle only). This feature should be available only when cruise control is active. When suspended, the cruise control system shall memorize the desired speed, but the cruise control system is inactive (i.e. suspended) and must relinquish control of the throttle pedal back to the driver. The only commands which can be accepted whilst suspended are 'resume', 'disengage' or 'set' requirement REQ_CCS_05 txt Once the CCS is engaged, to activate cruise control the driver can 'set' the desired speed. Once this is set the CCS shall take over control of the throttle. derivedFrom requirement REQ_CCS_01 derivedFrom requirement REQ_CCS_01

derivedFrom requirement REQ_CCS_01

satisfiedBy Class CC Model::Analysis::Behaviour::Activities::Suspend CC State Diagram CC Model::Analysis::Structure::Vehicle::CC Syst ... Class CC Model::Analysis::Behaviour::Activities::Resume CC

deriveReqt requirement REQ_CCS_04 txt The failsafe state for the CCS is 'disengaged' - any errors encountered by the cruise control system shall be logged (along with the system's configuration data) and the system shall be disengaged.

satisfiedBy Use Case CC Model::Analysis::Behaviour::Use Cases.Safety Certification Block CC Model::Analysis::Structure::Vehicle::CC System::Cruise Control System Class CC Model::Analysis::Behaviour::Activities::Log Error requirement REQ_CCS_06a txt When cruise control is engaged, the driver must be able to increment the desired speed in increments of 1 MPH.

satisfiedBy Class CC Model::Analysis::Behaviour::Activities::Shift Gear Class CC Model::Analysis::Behaviour::Activities::Increment Speed Class CC Model::Analysis::Behaviour::Activities::Set Desired Speed

requirement REQ_CCS_06 txt When cruise control is engaged, the driver must be able to increment or decrement the desired speed (in increments of 1 MPH). The driver must also have the ability to change the gear selection whilst the cruise control is active.

satisfiedBy Class CC Model::Analysis::Behaviour::Activities::Increment Speed

requirement REQ_CCS_06b txt When cruise control is engaged, the driver must be able to decrement the desired speed in increments of 1 MPH. requirement REQ_CCS_06c txt When cruise control is active, the driver must be able to change the gear selection. requirement REQ_CCS_07 txt The CCS must provide displayed outputs to the driver. This will enable the driver to determine the current desired speed before resuming cruise control.

satisfiedBy Class CC Model::Analysis::Behaviour::Activities::Decrement Speed

satisfiedBy Class CC Model::Analysis::Behaviour::Activities::Shift Gear

satisfiedBy Class CC Model::Analysis::Behaviour::Activities::Increment Speed Class CC Model::Analysis::Behaviour::Activities::Decrement Speed Operation CC Model::Analysis::Structure::Vehicle::CC System::CC Display Panel.Display Set Speed Operation CC Model::Analysis::Structure::Vehicle::CC System::Cruise Control System.Display Speed Class CC Model::Analysis::Behaviour::Activities::Shift Gear

2008 Artisan Software Tools. All rights reserved.

54

Parametrics
Used to express constraints (equations) between value properties Provides support to engineering analysis (e.g. performance, reliability, etc) Constraint block captures equations Expression language can be formal (e.g. MathML, OCL ) or informal Computational engine is defined by applicable analysis tool and not by SysML Parametric diagram 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)

Parametrics Enable Integration of Engineering Analysis with Design Models


2008 Artisan Software Tools. All rights reserved.

55

Vehicle Parametrics BDD


BDDs can show parametric definitions Parameter compartment shows the constraint parameters Constraint compartment for the applied constraint
bdd [Package] Parametrics constraint Straight Line Vehicle Dynamics constraints {} AccEq : Acceleration Equation BrkFrceEq : Braking Force Equation DistEq : Distance Equation 1 VelEq : Velocity Equation parameters Bf : Force m : Mass Posn : Position tf : Friction tl : Duty Cycle block Vehicle values Mass : kg = 2000 Posn : Position Power : W = 300

1 Param

1 BrkFrceEq constraint Braking Force Equation constraints {f = (tf * bf) * (1 - tl)} parameters bf : Force f : Force tf : Force tl : Loss

1 AccEq constraint Acceleration Equation constraints {F = m * a} parameters a : Acceleration F : Force m : Mass

1 VelEq constraint Velocity Equation constraints {a = dv / dt} parameters a : Acceleration t : Time v : Velocity

1 DistEq constraint Distance Equation constraints {v = dx / dt} parameters t : Time v : Velocity x : Position

{f = (tf * bf) * (1 - tl)}

{F = m * a}

{a = dv / dt}

{v = dx / dt}

valueType Loss

valueType Mass valueType Acceleration

valueType Time valueType Duty Cycle

valueType Position valueType Velocity

valueType Friction

2008 Artisan Software Tools. All rights reserved.

56

Parametric Diagram
Small boxes represent parameters and bound properties Boxes on left represent item flows Constraint can be in compartment or in attached note
par [block] Vehicle [1]

Vehicle.BrakeSys.Rtr.BrakingForce : Force

Vehicle.Param : Straight Line Vehicle Dynamics Bf m tl Vehicle.Mass : kg

Vehicle.BrakeSys.ABS.Duty Cycle : Duty Cycle

tf Vehicle.ChasSys.RFTire.Frctn : Friction Posn

Vehicle.Posn : Position

2008 Artisan Software Tools. All rights reserved.

57

Parametric Diagram
Small boxes represent parameters and bound properties Boxes on left represent item flows Constraint can be in compartment or in attached note
par [constraint] Straight Line Vehicle Dynamics [1] Straight Line Vehicle Dynamics.BrkFrceEq : Braking Force Equation constraints {f = (tf * bf) * (1 - tl)} tf bf Bf m Straight Line Vehicle Dynamics.AccEq : Acceleration Equation a

constraints {F = m * a} m

tf

f tl tl

Straight Line Vehicle Dynamics.DistEq : Distance Equation constraints {v = dx / dt} t v x Posn

Straight Line Vehicle Dynamics.VelEq : Velocity Equation constraints {a = dv / dt} t v a

2008 Artisan Software Tools. All rights reserved.

58

Allocations
Provides general relationship to map one model element to another Different types of allocation may include: Behavioral (i.e. function to component) Structural (i.e. logical to physical) Hardware to Software Explicit allocation of activities to swim lanes (e.g. activity partitions) Use of graphical and/or tabular representations

2008 Artisan Software Tools. All rights reserved.

59

Swimlane Allocation of Behavior to Structure


act Maintain Speed swimlanes _ Block Allocated Cruise Control System BlockProperty Allocated CCIO :Cruise Control IO

BlockProperty Allocated CCUnit :Cruise Control Unit


load profile for current gear

EMU Message

ValueType reqdSpeed:Speed

calibrate against current E MU data update CC display

calculate required throttle position

send EMU throttle position message

AnalogueMessage

<<allocate>> partitions show which parts are responsible for executing which activities
2008 Artisan Software Tools. All rights reserved.

60

Allocation Shown on IBD


ibd [Block] Vehicle [High Level Systems] Block Vehicle

BlockProperty SteerSys : Steering Subsystem

allocatedFrom Class Steer Vehicle

BlockProperty BodySys : Body Subsystem

Body-Interior Interior-Lighting Body-Lighting

BlockProperty InteriorSys : Interior Subsystem

Body-Chassis Steer-Chassis BlockProperty BrakeSys : Brake Subsystem BlockProperty ChasSys : Chassis Subsystem Chassis-Brake Brake-CC System BlockProperty CC Sys : Cruise Control System allocatedFrom Class Brake Vehicle allocatedFrom Decrement Speed Disengage CC Do Initialisation Tests Engage CC Increment Speed Log Error Maintain Speed Operate Cruise Control Resume CC Set Desired Speed Power-Elec Brake-Lighting

BlockProperty LightSys : Lighting Subsystem Interior-Elec

Elec-Lighting

Power-Chassis

Power-CC System BlockProperty PowSys : Power Subsystem allocatedFrom Class Shift Gear Class Accelerate Vehicle

CCSystem-Elec BlockProperty ElecSys : Electrical Subsystem allocatedFrom Class Power On Vehicle Class Power Off Vehicle

Allocations
Allocation of activity invocative to parts shown in allocatedForm compartment Allocation of activity object nodes to item flows via call-outs

2008 Artisan Software Tools. All rights reserved.

61

State Machines
Support event based behavior (generally asynchronous) Transition with trigger, guard, action State with entry, exit and do-activity Can include nested sequential or concurrent states Can send/receive signals to communicate between blocks during state transitions, etc..

2008 Artisan Software Tools. All rights reserved.

62

Automotive Example State Machine Diagram Cruise Control


Cruise Control System stm [Block] Cruise Control System Power On
P ow e r O n / D is engag e/

Engaged
Resume[(Set Speed <> 0)& (B rake Not Engaged)]/

Idle
Engage/ Do Initialisation Tests ...
[ e ls e ] /

Suspended do : Suspend

S et S pee d/

Accelerating do : Resume
[S et S peed Reac hed]/

[t e s t fa il] /

S u s p en d /

Fault
P ow e r O ff/

Operating
C C erro r/ .. .

do : Log Error do : Disengage

do : Maintain Speed Decrement Reqd Speed/Decrement Speed Increment Reqd Speed/Increment Speed

Suspend operation also called when brake applied or when throttle applied for >20 sec

2008 Artisan Software Tools. All rights reserved.

63

Cross Connecting Model Elements


Structure
ibd [block] Anti-LockController Anti-LockController [Internal Block Diagram] satisfies satisfies requirement requirement Anti-Lock Anti-Lock Performance Performance ibd [block] Anti-LockController [Internal Block Diagram] d1:TractionDetector d1:TractionDetector allocatedFrom allocatedFrom activityDetectLos activityDetectLos d1:Traction OfTraction Of Traction Detector m1:BrakeModulator m1:BrakeModulator m1:Brake Modulator allocatedFrom allocatedFrom activityModulate activityModulate BrakingForce BrakingForce

Behavior
act PreventLockup [Swimlane Diagram] allocate act PreventLockup [Activity Diagram] :TractionDetector allocate :BrakeModulator

c1:modulator c1:modulator Interface Interface c1:modulator interface allocatedFrom allocatedFrom ObjectNode TractionLoss:

cate allo

DetectLossOf Traction

TractionLoss:

Modulate Modulate BrakingForce BrakingForce

values DutyCycle: Percentage

value binding
Friction: Friction: DutyCycle: DutyCycle:

allocatedTo connectorc1:modulatorInterface

Requirements
V eh icle S ystem Vehicle System SVehicle System p ecification Specification

satisfy

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram] par [constraintBlock] StraightLineVehicleDynamics [Parametric v.chassis.tire. v.brake.rotor. par [constraintBlock]v.brake.abs.m1. StraightLineVehicleDynamics [Parametric v.Weight: Diagram] v.chassis.tire. v.brake.abs.m1. v.brake.rotor. BrakingForce: BrakingForce:
v.Weight:

req [package V ehicleS pecifications req [package] ]VehicleSpecifications req [package] VehicleSpecifications [R equirem ents D iagram B raking R equirem ents] [Requirem ents Diagram - -Braking Requirem ents]

[Requirements Diagram - Braking Requirements]

tf:

tl:
tf: tf:

bf:
tl: tl: bf: bf: f: f:

c :Accelleration Equation :Accelleration [F = ma]


F: Equation [Fa: ma] = a: a: m:

B raking S u bsystem Braking Subsystem Brakingecification S p Subsystem Specification

Specification
requirem ent requirem ent S topp in gD istance StoppingDistance requirement id=102 id=102 text= T he vehicle shall stop text=The vehicle shall stop id=102 from 60 m phwithin 150 w ithin 150 from 60 m phvehicle shallftft text=The stop on a clean dry surface. on a clean dry surface.

Specification
req uirem en requirem ent t A nti-Lo ckP erform an Anti-LockPerform ancece requirement id=337" id=337" text=B text=Braking subsystem id=337" raking subsystem shall prevent w heel lockup shall prevent wheel lockup text=Braking subsystem under all braking conditions under all braking conditions. . blockA nti-LockC ontroller blockAnti-LockController

f: :BrakingForce Equation :BrakingForce :BrakingForce [f = (tf*bf)*(1-tl)]


Equation Equation [f = (tf*bf)*(1-tl)] [f = (tf*bf)*(1-tl)]

F:

StoppingDistance

Anti-LockPerformance

a: v: :DistanceEquation [v = :DistanceEquation dx/dt] :DistanceEquation


[v = dx/dt] [v = dx/dt] x: x: v.Position: v.Position:

from 60 mph within 150 ft on a clean dry surface. V erifiedB y

interactionM inim um S topp ingD istance

shall prevent wheel lockup under all SatisfiedBy y braking conditions. S atisfiedB

v: v:

v:
v:

:VelocityEquation [a = dv/dt] :VelocityEquation


[a = dv/dt]

x:

deriveReqt
deriveReqt deriveR eqt

verify
2008 Artisan Software Tools. All rights reserved.

Parametrics
64

Summary
SysML sponsored by INCOSE/OMG with broad industry and vendor participation SysML provides a general purpose modeling language to support specification, analysis, design and verification of complex systems Subset of UML 2 with extensions 4 Pillars of SysML include modeling of requirements, behavior, structure, and parametrics OMG SysML Adopted in May 2006 Multiple vendor implementations announced Standards based modeling approach for SE expected to improve communications, tool interoperability, and design quality

2008 Artisan Software Tools. All rights reserved.

65

Model Based Systems Engineering Opportunity to Improve Efficiencies with SysML Problems Facing Todays Systems Engineers Introducing the OMGs SysML Requirements Structure Parametric Models Allocation The Artisan Studio Solution Typical Productivity Gains and Cost Savings How to Take Advantage Next Steps

2008 Artisan Software Tools. All rights reserved.

66

Artisan Studio
Full OMG SysML Integrated Architectural Framework, Requirements, Safety, System and Software Modeling Model Configuration Management Fine Grain, Model to Model Linking and Traceability Software Code and Legacy Synchronization Domain Expertise - Solutions delivered through People, Process, Product

2008 Artisan Software Tools. All rights reserved.

67

Model Based Systems Engineering Opportunity to Improve Efficiencies with SysML Problems Facing Todays Systems Engineers Introducing the OMGs SysML Requirements Structure Parametric Models Allocation The Artisan Studio Solution Typical Productivity Gains and Cost Savings How to Take Advantage Next Steps

2008 Artisan Software Tools. All rights reserved.

68

Typical MBE Productivity Improvements


Extrapolating Artisan Customer System and Software Modeling Integration Benefits what to Expect:
Validation Costs Reduces by up to 75%
[rail customer]

Productivity Increased by up to 10x Quality Increased by up to10x General Costs Reduced by up to 60% Decreased time to market (to field, to launch...) by up to 98%
[SEI Software Product Lines Essentials Linda Northrop]

2008 Artisan Software Tools. All rights reserved.

69

Model Based Systems Engineering Opportunity to Improve Efficiencies with SysML Problems Facing Todays Systems Engineers Introducing the OMGs SysML Requirements Structure Parametric Models Allocation The Artisan Studio Solution Typical Productivity Gains and Cost Savings How to Take Advantage Next Steps

2008 Artisan Software Tools. All rights reserved.

70

Summary what next?


To Find Out More
Visit: http://www.artisansoftwaretools.com/community/SysML/

Next Steps - Contact Artisan on:


North America +1-888-800-1416 UK +44 (01242) 229 300 DACH +49 (0)221 485 2260 Italy + +39 02 5530 3384 Email info@ArtisanSoftwareTools.com

Todays Webinar can be downloaded from the following link:


http://www.artisansoftwaretools.com/webinars/archive/

2008 Artisan Software Tools. All rights reserved.

71

Discussion and Comments

2008 Artisan Software Tools. All rights reserved.

72

Anda mungkin juga menyukai