sysml webinar
TRANSCRIPT
© 2008 Artisan Software Tools. All rights reserved.
Model Based Systems Engineering – Opportunity to Improve Efficiencies with SysMLUsing Artisan Studio
© 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
© 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
© 2008 Artisan Software Tools. All rights reserved. 4
Complex Systems of Systems
SoSE
is different from other Application Development Environments
Interactions
Boundaries
© 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
© 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
© 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
© 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
© 2008 Artisan Software Tools. All rights reserved. 11
Something has changed inSomething has changed in System EngineeringSystem Engineering……
© 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
© 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
© 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
© 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
© 2008 Artisan Software Tools. All rights reserved. 16
OMG SysMLOMG SysMLTMTM
Systems Modeling LanguageSystems Modeling Language
© 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)
© 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
© 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
© 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
© 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
© 2008 Artisan Software Tools. All rights reserved. 22
Language Architecture
© 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
© 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
© 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
© 2008 Artisan Software Tools. All rights reserved. 26
Language Details...Language Details...
© 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)
© 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
© 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»
© 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]
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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
© 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»
© 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
© 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
© 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»
© 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»
© 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
© 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
© 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
© 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
© 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
© 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»
© 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
© 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..
© 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
© 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
© 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
© 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
© 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
© 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
© 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]
© 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
© 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/
© 2008 Artisan Software Tools. All rights reserved. 72
Discussion and Comments