sysml webinar

70
© 2008 Artisan Software Tools. All rights reserved. Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysML Using Artisan Studio

Upload: bijana79

Post on 07-Oct-2014

103 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved.

Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysMLUsing Artisan Studio

Page 2: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 2

Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysML

Problems Facing Todays’ Systems Engineers

Introducing the OMG’s SysML

Requirements

Structure

Parametric Models

Allocation

The Artisan Studio Solution

Typical Productivity Gains and Cost Savings

How to Take Advantage – Next Steps

Page 3: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 3

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

Page 4: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 4

Complex Systems of Systems

SoSE

is different from other Application Development Environments

Interactions

Boundaries

Page 5: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 6

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

Page 6: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 7

8% 15% 20%

50%

100%

Concept Phase

Design PhaseDevelopment

Prod/Test Phase

OperationsThroughDisposal

Cum

ulat

ive

Per

cent

age

Life

Cyc

le C

ost

Time

Committed Costs

70%

85%95%

3-6%

20-100%

500-1000%

Full Program ExpendituresReference: Defense Systems

Management College -

9/1993

Cost to Extract D

efects

100%

90%

80%

70%

60%

50%

40%

30%

20%

10%

0%

REALITY70% of the project costs are committed during the first 8% (85% after the first 15%)It gets increasingly expensive to fix problems

SOLUTIONUse Artisan Early and Often - Architectural Frameworks, SysML, Requirements Modeling

Success Through Systems Thinking

Page 7: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 9

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

Page 8: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 10

Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysML

Problems Facing Todays’ Systems Engineers

Introducing the OMG’s SysML

Requirements

Structure

Parametric Models

Allocation

The Artisan Studio Solution

Typical Productivity Gains and Cost Savings

How to Take Advantage – Next Steps

Page 9: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 11

Something has changed inSomething has changed in System EngineeringSystem Engineering……

Page 10: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 12

Where we’ve come from – A Historical Perspective

*

XMIXMIXMI

yrs yrs ’’7070 yrs yrs ’’8080 yrs yrs ’’9090yrs yrs ’’6060 yrs200yrs200 00

OO Programming :ADAEiffelSmalltalkSimulaC++

OO Programming :OO Programming :ADAADAEiffelEiffelSmalltalkSmalltalkSimulaSimulaC++C++

Shlaer/MellorShlaer/MellorShlaer/Mellor

BoochBoochBooch

Coad/YourdonCoad/YourdonCoad/Yourdon

Wirfs-BrockWirfsWirfs--BrockBrock

Jacobson: OOSEJacobson: OOSEJacobson: OOSE

Martin/OdellMartin/OdellMartin/Odell

Rumbaugh: OMTRumbaugh: OMTRumbaugh: OMT

Bell LabsBell LabsBell Labs

XEROX PARCXEROX PARCXEROX PARC

US D.O.DUS D.O.DUS D.O.D

ecc. ecc.....ecc. ecc.....ecc. ecc.....

Structured Method:SA&SDEntity ModellingEvent Modellingi

Structured Method:Structured Method:SA&SDSA&SDEntity ModellingEntity ModellingEvent ModellingiEvent Modellingi

SysMLSysMLSysML

MDAMDAMDA

UMLUMLUML

INCOSEINCOSEINCOSE

SPEMSPEMSPEM

DDSDDSDDS

BPMNBPMNBPMNMOFMOFMOF

Page 11: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 13

... And where we’ve arrived – A Historical Perspective

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

*

After Software Engineering, OMG deals now also with other aspects of system design…

Testing Profile

AUTOSARDoDAF

MODAF

Page 12: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 14

A Unifying Systems Language

SysMLSysMLA Language to A Language to

documentdocument the properties the properties from different disciplines tofrom different disciplines to

describedescribe the the whole solutionwhole solution

Page 13: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 15

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 system’s 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

Page 14: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 16

OMG SysMLOMG SysMLTMTM

Systems Modeling LanguageSystems Modeling Language

Page 15: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 17

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)

Page 16: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 18

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

Page 17: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 19

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?

SysML is a modeling language supporting specification, analysis, design, verification and validation of a broad range of complex systems including:

Hardware

-

Processes

Software -

Personnel

Info -

Plants

OMG SysML 1.0May 2006

Page 18: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 20

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 TechnologyLiaison Organizations−

INCOSE, AP233 WG

Page 19: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 21

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

Page 20: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 22

Language Architecture

Page 21: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 23

Reuse of UML 2.0 for SysML

UML 2.0 SysMLUML not

required by SysML

SysML extensions

UML reusedby SysML

Page 22: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 24

SysML Taxonomy of Diagrams

Diagram

Structure Behavior

BlockDefinition [1]

InternalBlock [2] Package Activity

Use Case

State Machine

Sequence

New forSysML

Requirements

Parametric

Modifiedfrom UML

Sameas UML

[1] Modified UML Class Diagram[2] Enhanced UML Composite Structure Diagram

Page 23: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 25

Car

Operator

Set Capacity

Use ParkingLot

Suspend Entry

«extend»

uc [Package] Use Cases [Parking Lot]

par [block] Parking Lot System [Number Vehicles Equation]

PL Params.totalBikes :integer

PL Params.totalCars :integer

PL Params.totalDisabled: integerNVeq : Number Vehicles Equation

cars

disabledmBikes

vehiclesSAcars

disabledmBikes

vehiclesSA

mcEq : Max Capacity Equation

vehiclesSAvehiclesSA

constraints{vSA = (c * 6) + (d * 9)+ (m * 3)}

ibd [block] Parking System

«part»DB : Display Board

ipip

«part»PL : Parking Lot System

opopspaceData«ItemFlow»spaceData«ItemFlow»

The Four Pillars of SysML

bdd [Package] Parking System «block»Parking System

«block»Display Board

«block»Parking Lot System

«block»Display Device

Car Operator

4

1

DB 3

1

PL

*

1

user*

1

potential user

11

1. Structure

4. Parametrics

2. Behavior

req [Package] Requirements [Entry]

«requirement»

txtThe System shall control access to each parking lot, onlyallowing a car to enter if there is at least one free parking bay.

REQ-1-1

«requirement»

txtThe System shall maintain a count ofcars currently in the parking lot.

REQ-1-1-a«deriveReqt»

usedefinition

act [Activity] installSystem

do physical installation run install test

setCapacitydiagnose and

repair[test fails][test ok]

ctrllr:Controller«part»

exitSnsr:PressureSensor«part»Car

car exits triggerSensorcontroller notifed

carLeaves

decrement count

controller notifed

carLeaves

decrement count

sd Car Leaves

messages

powered upEntry/intialize system

operatingbeamBreak/Use Parking Lot

setting capacityEntry/Set Capacity

powered down

when( initialization complete )/

press display button[IR beam connected]/

press reset button/

stm [block] Parking Lot System [States]

3. Requirements

Page 24: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 26

Language Details...Language Details...

Page 25: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 27

An Automotive Example

The Business Process

The Business Case

Marketing have identified a niche in the market for a mid-range engine, high-specification vehicle (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 Development (including any re-tooling and training on the production line). The estimated profit 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 4-

months to determine ‘go-ahead’

of Development (and subsequent) phases. Target market: Executive Fleet and Family.

Feature-Set

StandardFront-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; …

The Business Case

Will specify the Requirement for a System (e.g. a Car)

May include (solution-based) capabilities of the System (e.g. Cruise Control, EMS, ABS)

May include Constraints (e.g. Cost, Time, Component Re-use, Tooling)

Page 26: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 28

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

Page 27: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 29

User Requirements Flow Down

«Activity»Set Desired Speed

«Activity»Decrement Speed

«Activity»Shift Gear

«Activity»Maintain Speed

«Activity»Engage CC

«Activity»Disengage CC

«Block»Cruise Control System

«Activity»Suspend CC

«Activity»Resume CC

«Activity»Increment Speed

«requirement»

txtThe CCS must allow a driver to enable the vehicle to maintain a desired speed.

REQ_CCS_01«requirement»

txtThe CCS must allow cruise control to be engaged and disengaged. When engaged the cruisecontrol system is available to accept driver instructions (such as 'set' and 'increment'). Whendisengaged, the cruise control system will not respond to any driver inputs.

REQ_CCS_02

«requirement»

txtThe 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. Whensuspended, the cruise control system shall memorize the desired speed, but the cruise controlsystem is inactive (i.e. suspended) and must relinquish control of the throttle pedal back to thedriver. The only commands which can be accepted whilst suspended are 'resume', 'disengage' or'set'

REQ_CCS_03

«requirement»

txtThe failsafe state for the CCS is 'disengaged' - any errors encountered by the cruisecontrol system shall be logged (along with the system's configuration data) and thesystem shall be disengaged.

REQ_CCS_04

«requirement»

txtOnce the CCS is engaged, to activate cruise control the driver can 'set' the desired speed. Oncethis is set the CCS shall take over control of the throttle.

REQ_CCS_05

«requirement»

txtWhen cruise control is engaged, the driver must be able to increment or decrement thedesired speed (in increments of 1 MPH). The driver must also have the ability to changethe gear selection whilst the cruise control is active.

REQ_CCS_06

«requirement»

txtThe CCS must provide displayed outputs to the driver. This will enable the driver to determinethe current desired speed before resuming cruise control.

REQ_CCS_07

Maintain Speed

«testCase»[Package] Maintain Speed - with flows

Display Speed Cruise Control System - block operation

«requirement»

txtWhen cruise control is engaged, the driver must be able to increment thedesired speed in increments of 1 MPH.

REQ_CCS_06a

«requirement»

txtWhen cruise control is engaged, the driver must be able to decrementthe desired speed in increments of 1 MPH.

REQ_CCS_06b

«requirement»

txtWhen cruise control is active, the driver must be able to change the gearselection.

REQ_CCS_06c

req [Package] Cruise Control System [Reqts with links]

«deriveReqt»

«deriveReqt»

«deriveReqt»

«refine» «satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

«verify»

«satisfy»«satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

Page 28: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 30

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

Driver

Maintainer

RegisteredOwner

InsuranceCompany

Department OfMotor Vehicles

Drive TheVehicle

Insure Vehicle

RegisterVehicle

MaintainVehicle

uc Vehicle [High Level Use Cases]

Driver

Operator

Drive TheVehicle

Start Vehicle

Shut DownVehicle

OperateCruise Control

«include»

«include»

«extend»

uc Vehicle [Operational Level Use Cases]

Page 29: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 31

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

Page 30: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 32

Vehicle Interaction Diagrams

Drive The VehicleDescription

:Vehicle«Block»Driver

Start Vehicle ref Start The Vehicle

par paralt alt

Idle ref Coast

else altAccelerate ref Accelerate The Vehicle

else altBrake ref Brake The Vehicle

end alt

also parSteer ref Steer The Vehicle

also parMaintain Speed ref [Package] Maintain Speed

end par

Park ref Park Vehicle

Shutdown ref Shut Down The Vehicle

sd Drive The Vehicle

Page 31: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 33

Vehicle Interaction Diagrams

Maintain SpeedDescription

CCUnit:Cruise Control Unit«BlockProperty»

CCIO:Cruise Control IOref Update Display

«BlockProperty»:Engine Management Unit

«Block»

loop while CC operationalEMU message arrives handle EMU messageload gear profile load gear profile( current gear )calibrate profile and speeds calibrateif reqd speed not = actual speed

calculate reqd throttle position calculate throttle positionsend message to EMU Set Throttle

end ifupdate CC display update display

end loop

referenced diagram specifies message sequences internall to Cruise Control IO to update the display

sd [Package] Maintain Speed

Page 32: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 34

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

Page 33: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 35

Analysis Model of Vehicle

Start Up Vehicle

Drive Vehicle

Shut Down Vehicle

AD Operate VehicleSysML additions on this chart

«streaming» activities consume

inputs after initialization

«continuous»

flows

35

Page 34: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 36

Analysis Model of Vehicle

select first gear

move from stopped

Steer Vehicle

coast

Shift Gear

Accelerate Vehicle

Brake Vehicle

Operate Cruise Control

stopped

AD Drive VehicleSysML additions on this chart

«streaming» activities consume

inputs after initialization

«continuous»

flows

Page 35: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 37

Analysis Model of Vehicle

Automotive DomainDriver

Press Engage Button

Press Set Button

Press Increment Button

Press Decrement Button

Press Suspend/Resume Button

Press Disengage Button

Cruise Control System

Do Initialisation tests

Log Error

Engage CC

Set Desired Speed

Maintain Speed

SpeedMsgEMUMessage

ThrottleMessage

Increment Speed

Decrement Speed

Suspend CC

Resume CC

Log Error

Disengage CC

brake applied

CCerror

Speed«valueType»

«block»

«block»

OK error

wait until....

if suspended

Engaged

Operating

AD Operate Cruise Control

SysML additions on this chart

«streaming» activities consume

inputs after initialization

«continuous»

flows

Page 36: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 38

Analysis Model of Vehicle

Maintain Speed

SpeedMsg

EMUMessage

ThrottleMessage

Cruise Control Unit

load profile for current gear

Callibrate againstcurrent EMU Data

Calculate requiredthrottle position

send EMU throttleposition message

«block»Cruise Control IO

Update CC Display

«block»

SysML additions on this chart

«streaming»

activities consume inputs after initialization

«continuous»

flows

Page 37: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 39

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 ElementBlock is Basic Structural Element

Page 38: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 40

Structure vs. Usage

Definition

Block is a definition/type

Captures properties, etc.

Reused in multiple contexts

Block Definition Diagram Internal Block Diagram

Usage

Part is the usage in a particular context

Typed by a block

Also known as a role

Page 39: SysML Webinar

© 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 interfacebdd [Package] Structure Automotive Domain Breakdown

«Block»Automotive Domain

«Block»Vehicle

«Block»Environment

«Block»Baggage

«Block»Weather

«Block»Foreign Object

«Block»Satellite

«Block»Road

«Block»Other Vehicle

«Block»Pedestrian

«Block»Cyclist

«Block»Fixed Obstacle

«Block»Tree

«Block»Wall

Driver Maintainer Passenger

*

1

Pass*

1

Main

*

1

Veh *

1

Env

1

1

Drv

*

1

Cargo

*

1

Wthr *

1

FO *

1

Sat *

1

Rd

Page 40: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 42

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»Lighting Subsystem

«Block»Chassis Subsystem

«Block»Cruise Control System

«Block»Power Subsystem

«Block»Brake Subsystem

«Block»Body Subsystem

«Block»Interior Subsystem

«Block»Vehicle

«Block»Steering Subsystem «Block»

Electrical Subsystem

1

1

SteerSys

1

1

PowSys

1

1

BrakeSys

1

1

BodySys

1

1

InteriorSys

1

1

LightSys

1

1

ChasSys

1

1

CC Sys

1

1

ElecSys

Page 41: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 43

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] Power Subsystem [Detail]

«Block»Engine Sensors

«Block»

partsThrotlAct : Throttle Actuator

Throttle Control

«Block»

partsFuelMgt : Fuel ManagementThrotlCtrl : Throttle Control

Engine Management Unit

«Block»

operationsignitionOn ()

partsDiff : DifferentialDrvShft : Drive ShaftDrvShftSens : Drive Shaft SensorICEng : Internal Combustion EngineTransm : TransmissionTransmAct : Transmission Actuator

Power Subsystem

«Block»

partsEMU : Engine Management UnitEngSens : Engine Sensors [*]FuelInj : Fuel Injector [4]

Internal Combustion Engine

«Block»Fuel Management

«Block»Throttle Actuator

«Block»Drive Shaft

«Block»Transmission Actuator

«Block»Transmission

«Block»Differential

«Block»Fuel Injector

«Block»Drive Shaft Sensor

1

1

Diff

11

ICEng

4

1

FuelInj*

1

EngSens

11

EMU

1

1

ThrotlCtrl1

1

FuelMgt

1

1

ThrotlAct

11DrvShftSens

11DrvShft

11TransmAct

11Transm

Page 42: SysML Webinar

© 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 [Package] Vehicle [CC DriverInterfaces]

«Block»Gear Selector

«Block»Brake Pedal

«Block»Accelerator Pedal

«Block»

partsAccPedal : Accelerator PedalBodySys : Body SubsystemBrakeSys : Brake SubsystemCC Sys : Cruise Control SystemChasSys : Chassis SubsystemElecSys : Electrical SubsystemGearSel : Gear SelectorInteriorSys : Interior SubsystemLightSys : Lighting SubsystemPowSys : Power SubsystemSteerSys : Steering Subsystem

Vehicle

«Block»

partsABS : Anti-Locking Braking SystemBrkPed : Brake PedalBrkSens : Brake Assembly Sensor [*]

Brake Subsystem

«Block»Cruise Control System

Driver

1 1

1

1

CC Sys

1 1

1

1

GearSel1

1

AccPedal

11BrakeSys

1

1

BrkPed

Page 43: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 45

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»CC Display Panel

«Block»Toggle Button

«Block»CAN

«Block»CC IO Card

«Block»CC Motherboard

«Block»Inc Speed

«Block»

operationsload gear profile (in gear : Integer)calibrate ()calculate throttle position ()handle EMU message ()

Cruise Control Unit

«Block»Dec Speed

«Block»Push Button

«Block»

operationsupdate display ()

partsCC Disp : CC Display PanelDec : Dec SpeedEng/Dis : Engage/Disengage CCInc : Inc SpeedSet : Set SpeedSus/Res : Suspend/Resume CC

Cruise Control IO

«Block»

partsCCIO : Cruise Control IOCCUnit : Cruise Control Unit

Cruise Control System

«Block»Set Speed

«Block»Suspend/Resume CC

«Block»Engage/Disengage CC

11

CCUmb

11CCUio

11 CANbus

11 Inc 11 Dec

1

1

CCUnit

1

1CCIO

1

1

Set1

1

Sus/Res1

1

Eng/Dis

11CC Disp allocatedFrom

«Class» cThrottle Controller«Class» pAccelerationProfile«Class» pCalibration Manager«Class» cSpeedMonitor

allocatedFrom«Class» eCruiseControlPanel«Class» eEMUIF«Class» eTransmissionMonitor«Class» eBrakePedalMonitor

Page 44: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 46

Unit and Item Types

bdd [Package] Vehicle [Definitions]

«Block»

valuesMFR : Mass Flow Rate [*]Press : Pressure [*]Temp : Temperature [*]

Liquid«ValueType»

unitDegreeCelsius

Temperature

«ValueType»

unitPascal

Pressure

«ValueType»

unitKilogramPerSecond

Mass Flow Rate

«ValueType»Electrical Signal

«Unit»KilogramPerSecond

«Unit»NewtonMetre

«Unit»RevolutionsPerMinute

«Dimension»ElectricCurrentRange

«Dimension»Rotational Speed

«ValueType»

unitWatt

Electric Power«ValueType»

CAN

«ValueType»

unitNewtonMetre

Torque

«ValueType»

dimensionElectricCurrentRange

operationsSend ()

unitAmpere

Analogue«ValueType»

dimensionElectricPotentialDifference

operationsSend ()

unitVolt

Digital

«Block»

valuesMFR : Mass Flow Rate [*]Press : Pressure [*]Temp : Temperature [*]

Fuel

«FlowSpecification»

flowPropertyListout FuelReturn : Fuelin FuelSupply : Fuel

FPump-ICEng

«FlowSpecification»

flowPropertyListin TorqueIn : Torqueout TorqueOut : Torque

TorqueSpec

«ValueType»

dimensionRotational Speed

unitRevolutionsPerMinute

RPM

«ValueType»

dimensionVelocity

unitMeterPerSecond

Speed

«ValueType»

unitNewton

Force

Unit types normally based on Real

SI Units and Dimensions defined in SysML appendix

Page 45: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 47

Item Flows

Distinct from what can flow via the port specificationSupports 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

Page 46: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 48

IBD for Vehicle

Non-Atomic Ports−

I/O is specified using FlowSpecification−

FlowSpecification consists of properties stereotyped «FlowProperty»

isConjugate promotes reuse of flowSpecifications

ibd [Block] Automotive Domain

«Block»Automotive Domain

«BlockProperty»Cargo : Baggage

«BlockProperty»Env : Environment

«BlockProperty»FO : Foreign Object

«BlockProperty»Sat : Satellite

«BlockProperty»Wthr : Weather

«BlockProperty»Rd : Road

«BlockProperty»Veh : Vehicle

Driver

Maintainer

Passenger

Atomic FlowPorts−

In this case the port is directly typed by the item type (Block or ValueType)

Direction property specify the direction of flow

Page 47: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 49

IBD for Vehicle

ibd [Block] Vehicle [High Level Systems]

«Block»Vehicle

«BlockProperty»BodySys : Body

Subsystem

«BlockProperty»BrakeSys : Brake

Subsystem

«BlockProperty»CC Sys : Cruise Control

System

«BlockProperty»ChasSys : Chassis

Subsystem

«BlockProperty»InteriorSys : Interior

Subsystem

«BlockProperty»LightSys : Lighting

Subsystem

«BlockProperty»PowSys : Power

Subsystem

«BlockProperty»SteerSys : Steering

Subsystem

«BlockProperty»ElecSys : Electrical

Subsystem

Body-Chassis

Body-Lighting

Power-Chassis

Brake-CC System

Power-CC System

Steer-Chassis

Body-Interior

Interior-Lighting

Brake-LightingChassis-Brake

Elec-Lighting

Power-Elec

CCSystem-Elec

Interior-Elec

Page 48: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 50

IBD for Vehicle

ibd [Block] Vehicle [Driver Interface Connections]

«Block»Vehicle

«BlockProperty»PowSys : Power Subsystem

CCIF : RS232

CCIF : Analogue

GearShiftIF : Force AccelIF : Force

«BlockProperty»AccPedal : Accelerator

Pedal

ThrotIF : Force

«BlockProperty»BrakeSys : Brake Subsystem

CCIF : Digital

«BlockProperty»BrkPed : Brake Pedal

«BlockProperty»CC Sys : Cruise Control

System

EMUIF : RS232

TransmIF : AnalogueBrakeIF : Digital

«BlockProperty»GearSel : Gear Selector

TransmIF : Force

Driver

Driver

Select : Force«ItemFlow»

Accel : Force«ItemFlow»

BrakeEngaged : Digital«ItemFlow»

EMU : EMU Message

Set Throttle : AnalogueMessage

Gear : Analogue«ItemFlow»

Page 49: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 51

IBD for Vehicle

ibd [Block] Power Subsystem [Connections]

«Block»Power Subsystem

«BlockProperty»Diff : Differential

LFWIF RFW IF

DrvShftIF : TorqueSpec

«BlockProperty»DrvShft : Drive Shaft

DiffIF : TorqueSpec

DSSIF : RPM

TransmIF : TorqueSpec

«BlockProperty»DrvShftSens : Drive Shaft SensorShftIF : RPM

EMUIF : Speed

«BlockProperty»ICEng : Internal Combustion Engine

ElecIF : Electric Power

AccelIF : Force

CCIF : RS232

TransmIF : TorqueSpecDSSIF : Speed

FTAIF

StarterIF

«BlockProperty»Transm : Transmission

ICEngIF : TorqueSpec

CCIF : AnalogueDrvShftIF : TorqueSpec

TransActIF : Force

«BlockProperty»TransmAct :

Transmission Actuator GearShiftIF : Force

TransIF : Force

AccelIF : Force

CCIF : Analogue

GearShiftIF : Force

LFWIF : TorqueSpec RFWIF : TorqueSpec

CCIF : RS232

ElecIF

StarterIF

FTAIFFoot Pressure : Force«ItemFlow»

SetThrottle : AnalogueMessage

EMU : EMU Message

Torque : Torque«ItemFlow»

Torque : Torque«ItemFlow»

Gear : Analogue«ItemFlow»

Shift : Force«ItemFlow»

Shift : Force«ItemFlow»

Torque : Torque«ItemFlow»

Torque : Torque«ItemFlow»

Shaft Speed : RPM«ItemFlow»

Torque : Torque«ItemFlow»

Torque : Torque«ItemFlow»

Raw Speed : Speed«ItemFlow»

Resistance : Torque«ItemFlow»

Crank : Torque«ItemFlow»

Return : Fuel«ItemFlow»

Flow : Fuel«ItemFlow»

to Fuel Tank Assembly

Page 50: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 52

IBD for Vehicle

ibd [Block] Internal Combustion Engine [EMU]

«Block»Internal Combustion Engine

«BlockProperty»EMU : Engine Management Unit

«BlockProperty»FuelMgt : FuelManagement

«BlockProperty»ThrotlCtrl : Throttle Control

«BlockProperty»ThrotlAct : Throttle

Actuator

ACCIF : Force

CCIF : RS232

DSSIF : Speed

ElecIF

«BlockProperty»*

EngSens : EngineSensors

«BlockProperty»4

FuelInj : Fuel Injector

AccelIF : Force

ElecIF : Electric Power

DSSIF : Speed

FTAIF : FPump-ICEng

StarterIF : TorqueSpec

TransmIF : TorqueSpec

CCIF : RS232 EMU : EMU Message

Set Throttle : AnalogueMessage

Speed : Speed«ItemFlow» FootPressure : Force

«ItemFlow»

Flow : Fuel«ItemFlow»

Fuel : Fuel«ItemFlow»

connections not modeled here

Page 51: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 53

Internal Block Diagram for CC

Shows parts (structural children)

… and ports (interaction points on blocks and parts)

Supports integration of behavior and structure

Port types

Standard ports−

Specify a set of operations and/or signals

Typed by a UML interface

Flow ports −

Specify what can flow in or out of block/part

Typed by a flow specification

ibd [Block] Cruise Control System [connections]

«Block»Cruise Control System

BrakeIF : Digital

TransmIF : Analogue

EMUIF : RS232

Power : Electric Power

«BlockProperty»CCIO : Cruise Control IO

«BlockProperty»CC Disp : CC Display

Panel

CCIF : RS232

«BlockProperty»Eng/Dis :

Engage/Disengage CC CCIF : Digital

«BlockProperty»Set : Set Speed

CCIF : Digital

«BlockProperty»Sus/Res :

Suspend/Resume CC CCIF : Digital

«BlockProperty»Inc : Inc Speed CCIF : Digital

«BlockProperty»Dec : Dec Speed CCIF : Digital

«BlockProperty»CCUnit : Cruise Control Unit

«BlockProperty»CANbus : CAN

«BlockProperty»CCUio : CC IO Card

CCDispIFBrakeIF : Digital

CANIF

EngDisIF

SetIF

SusResIF

TransmIF : Analogue

EMUIF : RS232

IncIF

DecIF

«BlockProperty»CCUmb : CCMotherboard

CANIF

Driver

Speed : Speed

Press : Digital«ItemFlow»

: EMU Message

: AnalogueMessage

Brake Engaged : Digital«ItemFlow»

Gear : Analogue«ItemFlow»

Press : Digital«ItemFlow»

Press : Digital«ItemFlow»

Press : Digital«ItemFlow»

Press : Digital«ItemFlow»

Page 52: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 54

Callout Notation for Requirements

«requirement»

txtThe CCS must allow a driver to enable the vehicle to maintain a desired speed.

REQ_CCS_01«requirement»

txtThe CCS must allow cruise control to be engaged and disengaged. When engaged the cruisecontrol system is available to accept driver instructions (such as 'set' and 'increment'). Whendisengaged, the cruise control system will not respond to any driver inputs.

REQ_CCS_02

«requirement»

txtThe 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. Whensuspended, the cruise control system shall memorize the desired speed, but the cruise controlsystem is inactive (i.e. suspended) and must relinquish control of the throttle pedal back to thedriver. The only commands which can be accepted whilst suspended are 'resume', 'disengage' or'set'

REQ_CCS_03

«requirement»

txtThe failsafe state for the CCS is 'disengaged' - any errors encountered by the cruisecontrol system shall be logged (along with the system's configuration data) and thesystem shall be disengaged.

REQ_CCS_04

«requirement»

txtOnce the CCS is engaged, to activate cruise control the driver can 'set' the desired speed. Oncethis is set the CCS shall take over control of the throttle.

REQ_CCS_05

«requirement»

txtWhen cruise control is engaged, the driver must be able to increment or decrement thedesired speed (in increments of 1 MPH). The driver must also have the ability to changethe gear selection whilst the cruise control is active.

REQ_CCS_06

«requirement»

txtThe CCS must provide displayed outputs to the driver. This will enable the driver to determinethe current desired speed before resuming cruise control.

REQ_CCS_07

«requirement»

txtWhen cruise control is engaged, the driver must be able to increment the desiredspeed in increments of 1 MPH.

REQ_CCS_06a

«requirement»

txtWhen cruise control is engaged, the driver must be able to decrement the desiredspeed in increments of 1 MPH.

REQ_CCS_06b

«requirement»

txtWhen cruise control is active, the driver must be able to change the gear selection.

REQ_CCS_06c

derivedFrom«requirement» REQ_CCS_01

derivedFrom«requirement» REQ_CCS_01

derivedFrom«requirement» REQ_CCS_01

satisfiedBy«Block» CC Model::Analysis::Structure::Vehicle::CC System::Cruise Control System«Class» CC Model::Analysis::Behaviour::Activities::Maintain Speed

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

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

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

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

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

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

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

req [Package] Cruise Control System [Reqts]

«deriveReqt»

«deriveReqt»

«deriveReqt»

Page 53: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 55

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 ananalysis context−

Binding of constraint usage to value properties of blocks (e.g. vehicle mass bound to F= m * a)

Parametrics Enable Integration of Engineering Parametrics Enable Integration of Engineering Analysis with Design ModelsAnalysis with Design Models

Page 54: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 56

Vehicle Parametrics BDD

bdd [Package] Parametrics

«valueType»Position

«valueType»Friction

«valueType»Duty Cycle

«valueType»Velocity

«constraint»

constraints{}AccEq : Acceleration EquationBrkFrceEq : Braking Force EquationDistEq : Distance EquationVelEq : Velocity Equation

parametersBf : Forcem : MassPosn : Positiontf : Frictiontl : Duty Cycle

Straight Line Vehicle Dynamics

«constraint»

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

parametersbf : Forcef : Forcetf : Forcetl : Loss

Braking Force Equation«constraint»

constraints{F = m * a}

parametersa : AccelerationF : Forcem : Mass

Acceleration Equation

«constraint»

constraints{a = dv / dt}

parametersa : Accelerationt : Timev : Velocity

Velocity Equation

«constraint»

constraints{v = dx / dt}

parameterst : Timev : Velocityx : Position

Distance Equation

«valueType»Loss «valueType»

Mass

«valueType»Acceleration

«valueType»Time

«block»

valuesMass : kg = 2000Posn : PositionPower : W = 300

Vehicle

1

1

BrkFrceEq 1

1

AccEq 1

1

VelEq 1

1

DistEq

1 1

Param

{f = (tf * bf) * (1 - tl)} {F = m * a} {a = dv / dt} {v = dx / dt}

BDDs can show parametric definitions

Parameter compartment shows the constraint parameters

Constraint compartment for the applied constraint

Page 55: SysML Webinar

© 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 notepar [block] Vehicle [1]

Vehicle.Mass : kg

Vehicle.Param : Straight LineVehicle Dynamics

Bf

m

Posn

tf

tl

Vehicle.Posn : Position

Vehicle.ChasSys.-RFTire.Frctn :

Friction

Vehicle.BrakeSys-.ABS.Duty Cycle :

Duty Cycle

Vehicle.BrakeSys-.Rtr.BrakingForce

: Force

Page 56: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 58

Parametric Diagram

Small boxes represent parameters and bound properties

Boxes on left represent item flows

Constraint can be in compartment or in attached notepar [constraint] Straight Line Vehicle Dynamics [1]

Bf m

Posn

tf

tl

Straight Line VehicleDynamics.AccEq : Acceleration

Equation

constraints{F = m * a}

a

F

m

Straight Line VehicleDynamics.BrkFrceEq : Braking

Force Equation

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

bf

f

tf

tl

Straight Line VehicleDynamics.DistEq : Distance

Equation

constraints{v = dx / dt}

t

v

x

Straight Line VehicleDynamics.VelEq : Velocity

Equation

constraints{a = dv / dt}

a

t

v

Page 57: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 59

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

Page 58: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 60

Swimlane Allocation of Behavior to Structure

<<allocate>> partitions show which parts are responsible for executing which activities

act Maintain Speed_

Cruise Control System

CCIO

AnalogueMessage

update CC display

:Cruise Control IO

«BlockProperty»«Allocated»

CCUnit

reqdSpeed:Speed«ValueType»

load profile for current gear

calibrate against current EMU data

EMU Message

calculate required throttle position

send EMU throttle position message

:Cruise Control Unit

«BlockProperty»«Allocated»

«Block»«Allocated»

«swimlanes»

Page 59: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 61

Allocation Shown on IBD

Allocations

Allocation of activity invocative to parts shown in allocatedForm compartment

Allocation of activity object nodes to item flows via call-outs

ibd [Block] Vehicle [High Level Systems]

«Block»Vehicle

«BlockProperty»BodySys : Body

Subsystem

«BlockProperty»BrakeSys : Brake

Subsystem

«BlockProperty»CC Sys : Cruise Control System

allocatedFromDecrement SpeedDisengage CCDo Initialisation TestsEngage CCIncrement SpeedLog ErrorMaintain SpeedOperate Cruise ControlResume CCSet Desired Speed

«BlockProperty»ChasSys : Chassis

Subsystem

«BlockProperty»InteriorSys : Interior

Subsystem

«BlockProperty»LightSys : Lighting

Subsystem

«BlockProperty»PowSys : Power

Subsystem

«BlockProperty»SteerSys : Steering

Subsystem

«BlockProperty»ElecSys : Electrical

Subsystem

Body-ChassisBody-Lighting

Power-Chassis

Brake-CC System

Power-CC System

Steer-Chassis

Body-Interior

Interior-Lighting

Brake-LightingChassis-Brake

Elec-Lighting

Power-Elec

CCSystem-Elec

Interior-Elec

allocatedFrom«Class» Power On Vehicle«Class» Power Off Vehicle

allocatedFrom«Class» Shift Gear«Class» Accelerate Vehicle

allocatedFrom«Class» Brake Vehicle

allocatedFrom«Class» Steer Vehicle

Page 60: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 62

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..

Page 61: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 63

Automotive Example – State Machine Diagram Cruise Control

stm [Block] Cruise Control System

Faultdo : Log Errordo : Disengage

Operatingdo : Maintain SpeedDecrement Reqd Speed/Decrement SpeedIncrement Reqd Speed/Increment Speed

Acceleratingdo : Resume

Suspendeddo : Suspend

Engaged

Idle

Power On

Cruise Control System

[ tes t fa il] /

[e ls e ] /

P ower O ff/

P ower On/

Engage/Do Initialisation Tests...

C C error/.. .

D isengage/

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

[Set Speed Reached]/

S et S peed/

S us pend/

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

Page 62: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 64

Cross Connecting Model Elements

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

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

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

Structure Behavior

Parametrics

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOf Traction

d1:TractionDetector

valuesDutyCycle: Percentage

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

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

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

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

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

req [package] VehicleSpecifications [Requirements D iagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

VerifiedBy«interaction»M inim umStoppingDistance

id=“102”text=”The vehicle shall stop from 60 m ph within 150 ft on a clean dry surface.”

«requirem ent»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirem ent»Anti-LockPerformance

«deriveReqt»

satisfy

verify

value binding

allocate

Requirements

Page 63: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 65

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

Page 64: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 66

Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysML

Problems Facing Todays’ Systems Engineers

Introducing the OMG’s SysML

Requirements

Structure

Parametric Models

Allocation

The Artisan Studio Solution

Typical Productivity Gains and Cost Savings

How to Take Advantage – Next Steps

Page 65: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 67

Artisan Studio

Full OMG SysML

Integrated Architectural Framework, Requirements, Safety, Systemand 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

Page 66: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 68

Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysML

Problems Facing Todays’ Systems Engineers

Introducing the OMG’s SysML

Requirements

Structure

Parametric Models

Allocation

The Artisan Studio Solution

Typical Productivity Gains and Cost Savings

How to Take Advantage – Next Steps

Page 67: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 69

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]

Page 68: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 70

Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysML

Problems Facing Todays’ Systems Engineers

Introducing the OMG’s SysML

Requirements

Structure

Parametric Models

Allocation

The Artisan Studio Solution

Typical Productivity Gains and Cost Savings

How to Take Advantage – Next Steps

Page 69: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 71

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 [email protected]

Today’s Webinar can be downloaded from the following link:http://www.artisansoftwaretools.com/webinars/archive/

Page 70: SysML Webinar

© 2008 Artisan Software Tools. All rights reserved. 72

Discussion and Comments