SSyysstteemmss MMooddeelliinngg LLaanngguuaaggee ((SSyyssMMLL)) OOvveerrvviieeww && UUppddaattee
NNDDIIAA SSyysstteemmss EEnnggiinneeeerriinngg CCoonnffeerreennccee OOccttoobbeerr 2277,, 22000044
Rick Steiner SysML Submission Team Raytheon (858) 522-2008 [email protected] CCaavveeaatt
• Current baseline for SysML is v0.9 submitted to OMG in January 05
• SysML Submission Team and SysML Partners are two competing teams working to finalize the specification and submit for adoption to the OMG in February 2006
• This material is based on current status of the SysML Submission Team NNeeeedd ffoorr SSyyssMMLL::
• Systems Engineers need a robust language for analyzing, specifying, designing, verifying and validating systems • Many different modeling techniques – Behavior diagrams, IDEF0, N2 charts, … • General purpose language must: – satisfy broad set of modeling requirements integrate with other disciplines (SW, HW, ..) – be scalable, adaptable to different SE domains, supported by multiple tools – A Systems Engineering Modeling Language based on UML 2 has a good chance of meeting these objectives! • Joint INCOSE / Object Management Group (OMG) Initiative to extend UML to SE – Systems Engineering Domain Special Interest Group (SE DSIG) kickoff in Sept ‘01 • Aligned with ISO AP-233 Systems Engineering data interchange standard to support tool interoperability – UML for SE RFI issued in 2002 – UML for SE RFP (ad/03-03-41) issued March 28, 2003 SSttrruuccttuurree iinn UUMMLL 22 –– AA UUsseeffuull CCoonncceepptt ffoorr SSyysstteemmss EEnnggiinneeeerrss
Definition Use (Class Diagram) (Composite Structure Diagram)
Structural Hierarchy: Class Diagram Structural Hierarchy: Composite Structure Diagram
Electro- Electronic Anti-Lock Anti-Lock Controller Hydraulic Processor Controller Valve :Traction Detector :modulator interface Traction Brake :Brake Detector Modulator Modulator SSyyssMMLL SSuubbmmiissssiioonn SSttaattuuss
• SysML Partners formed in March, 2003 – SysML V0.9 submitted to OMG on Jan 10, 2005 • Profiles chapter addendum submitted May 30 – 4 tool vendors piloted use of SysML 0.9 in their tools, and presented at INCOSE 2005 symposium in Rochester • Artisan, EmbeddedPlus, iLogix, and Telelogic – Missed goal for revised submission update in May and August ’05 • SysML Submission Team announced split from SysML Partners on August 30, 2005 to finalize spec – Goal to submit Final Revised Submission for presentation at December ‘05 OMG meeting – Request vote to recommend adoption at February ‘05 OMG meeting • SSyyssMMLL 11..00 sshhoouulldd bbee rreeaaddyy ffoorr uussee eeaarrllyy iinn 22000066 – Already appearing in tools (0.9x version) SysML Diagram Taxonomy
(1) Simplified Class Diagram (2) Derived from UML 2 Composite Structure Diagram (3) Same as UML 2 Object Diagram (4) Parametric Diagram in SysML v0.9 HHyybbrriidd SSUUVV EExxaammppllee –– CCoonntteexxtt DDiiaaggrraamm
def:HSUV_ContextDiagram
«system, block» «external, block» Hybrid SUV Environment
Driver HHyybbrriidd SSUUVV EExxaammppllee –– RReeqquuiirreemmeennttss HHiieerraarrcchhyy req:HSUV_Requirement_Hierarchy
HybridSUVSpeccification
«requirement» «requirement» «requirement» «requirement» Capacity Eco-Friendliness Performance Ergonomics
«requirement» «requirement» «requirement» «requirement» «requirement» «requirement» Braking FuelEconomy OffRoadCapability Accelleration CargoCapacity PassengerCapacity
«requirement» «requirement» Emissions FuelCapacity Id:String = ”R1.2.1" source:String = “
req:HSUV_Requirement_Derivation
«requirement» «requirement» «requirement» «requirement» «requirement» «requirement» Braking FuelEconomy FuelCapacity OffRoadCapability Accelleration CargoCapacity
«derive» «derive» «derive» «derive» «derive» «derive» «derive»
«requirement» «requirement» Range RegenerativeBraking «derive»
«requirement» Power
«derive»
«requirement» PowerSourceManagement HHyybbrriidd SSUUVV –– SSaattiissffyy//VVeerriiffyy RReeqquuiirreemmeennttss
req:HSUV_Requirement_SatisfyVerify
«requirement» Accelleration
«satisfy» «verify» «satisfy» «verify»
Acellerate stm:TestCase1_StateMachine
«block» «testContext» PowerSubsystem TestContext1 Braking yes[]
over200 no[]
Accellerating HHyybbrriidd SSUUVV –– bbllaacckk bbooxx SSeeqquueennccee DDiiaaggrraamm
sd:DriveBlackBox
driver:Driver hybridSUV:HybridSUV
ref StartVehicle
par
alt
ref Idle
[HybridSUV state = accellerating/cruising]
ref Accellerate/Cruise
[HybridSUV state = braking]
ref Brake
ref Steer
ref Park/ShutdownVehicle HHyybbrriidd SSUUVV –– TToopp LLeevveell SSttaattee MMaacchhiinnee
stm:SystemStates
Off
startCar shutCarOff
Idle
accellerateCommand stopped
brakeDisengaged
Accellerating/ Braking Cruising
brakeEngaged HHyybbrriidd SSUUVV–– PPoowweerr SSyysstteemm BBlloocckk DDeeffiinniittiioonn DDiiaaggrraamm
bdd:PowerSubsystem «block» BrakePedal «system, block» HybridSUV
«block» accelerator 2 «block» «block» FrontWheel PowerSubsystem «block» PowerControlUnit «block» Differential
«block» ElectricalPowerController «block» Transmission
«block» «block» FuelTankAssembly BatteryPack «block» «block» InternalCombustionEngine ElectricalMotorGenerator
4
«block» FuelPump «block» FuelInjector HHyybbrriidd SSUUVV –– PPoowweerr SSyysstteemm IInntteerrnnaall BBlloocckk DDiiaaggrraamm
ibd:PowerSubsystem
epc:ElectricalPower emg:ElectricalMotor bp:BatteryPack Controller Generator «itemFlow» «itemFlow» epc.genPwr: epc.drivePwr: ElectricCurrent ElectricCurrent I_EPCCmds CAN_Bus rfw:FrontWheel CAN_Bus spline trsm:Transmission accelerator: accelerator I_TRNSCmds I_TRNSCmds torquein:Torque service rightHalfShaft I_EPCCmds ports Flow ports
ecu:PowerControlUnit torqueOut:Torque dif:Differential I_ICECmds CAN_Bus ice:InternalCombustionEngine
brakePedal: BrakePedal I_ICECmds leftHalfShaft fi:FuelInjector (4)
Ports with Port:EngineFuelFitting lfw:FrontWheel ft:FuelTankAssy «flowProperties»
Port:FuelTankFitting fuelLine fp:FuelPump «itemFlow» ft.fuel:Fuel HHyybbrriidd SSUUVV –– FFuueell EEccoonnoommyy EEqquuaattiioonn CCoonnssttrraaiinntt DDiiaaggrraamm
cst:FuelEconomy
PayloadCapacity incline RegenBrake ElectricMotor EfficiencyEquation EfficiencyEquation
Volume AeroDragEquation Cd pcap eBrakePower epower mpower
accelleration StraightLine Vehicle PayloadEquation RoadElevProfile incline velocity VehicleDynamics EfficiencyEquation wheelPower mpg
mpower fuelFlow CargoWeight epower Cf TotalWeight twtw mpower PassengerWeight
ElectricGenerator GasEngine RollingFriction fw EfficiencyEquation EfficiencyEquation VehicleDryWeight vw
FuelWeight HHyybbrriidd SSUUVV –– VVeehhiiccllee DDyynnaammiiccss CCoonnssttrraaiinntt DDiiaaggrraamm
cst:StraightLineVehicleDynamics
tw tw a(g) = F/m = P*t/m = (550/32)*tp(hp)*delta-t*tw Cf
Cd wheelPower
Accelleration PowerEquation tp Equation
a a tp(hp) = wheelPower - (Cd*v) - (Cf*tw*v)
delta-t VelocityEquation
v v(n+1) (mph) = v(n) + delta-v = v(n) + a*delta-t v v(n+1) (mph) = v(n) + a(g)*32*3600/5280*delta-t
PostionEquation
x(n+1) (ft) = x(n) + delta-x(ft) = x(n) + v*delta-t x(n+1) (ft) = x(n) + v(mph)*5280/3600*delta-t x HHyybbrriidd SSUUVV –– AAcccceelleerraattiioonn TTiimmiinngg DDiiaaggrraamm
tim:100WheelHorsePower
140
120 Diagram: 100 Constant 100 wheel horsepower 4000 lb total vehicle weight 80
60 Velocity (mph) 40 «requirement» Accelleration 20
0 «verify» 0 5 10 15 20 Time (sec) 1800 1600
1400 1200 1000
800
Distance (ft) 600 400 200 0 0 5 10 15 20 Time (sec) HHyybbrriidd SSUUVV –– AAcccceelleerraattiioonn AAccttiivviittyy DDiiaaggrraamm ((EEFFFFBBDD -- 11))
«EFFBD» act:Accelleration Overviewb
InitializeVehicle
goFaster
PushAccelerator ProvidePower MeasureVehicle Conditions
vehCond HHyybbrriidd SSUUVV –– AAcccceelleerraattiioonn AAccttiivviittyy DDiiaaggrraamm ((EEFFFFBBDD -- 22))
«EFFBD» act:Acceleration Detail
InitializeVehicle
ProvideGasPow ControlElectricP MeasureVehicle PushAccelerator er ower Velocity speed
aPedalForce driveCurrent MeasureBattery gThrottle eThrottle Condition
SetAcceleratorP ProportionPowe osition ProvideElectricP battCond rLoad ower
accelPosition HHyybbrriidd SSUUVV –– AAcccceelleerraattiioonn AAccttiivviittyy DDiiaaggrraamm ((AAllllooccaattiioonn))
act:Acceleration Detail w/Allocation Partitions
«allocate» «allocate» «allocate» «allocate» «allocate» «allocate» «allocate» Driver Accelerator SensorPkg PowerControlUnit InternalCombustionEngi ElectricalPowerContr ElectricalMotorGener ne oller ator
«allocated» «allocated» «allocated» «allocated» ConvertGasToP ControlElectricP MeasureVehicle PushAccelerator speed ower ower Velocity
aPedalForce «allocated» driveCurrent MeasureBattery gThrottle eThrottle Condition
«allocated» SetAcceleratorP «allocated» osition ProportionPowe «allocated» battCond ConvertElectric rLoad ToPower
accelPosition HHyybbrriidd SSUUVV –– IInntteerrnnaall BBlloocckk DDiiaaggrraamm wwiitthh AAllllooccaattiioonn
ibd:Power Subsystem Allocated
«allocated» {allocatedFrom= driveCurrent}
epc:ElectricalPowerC emg:ElectricalMotor bp:BatteryPack ontroller Generator «itemFlow» «itemFlow» «allocated» epc.genPwr: epc.drivePwr: «allocated» {allocatedFrom= {allocatedFrom= ControlElectricPower} ElectricCurrent ElectricCurrent ConvertElectricTo Power}
accelerator:accelerator CAN_Bus CAN_Bus «allocated» {allocatedFrom= SetAcceleratorPosition} trsm:Transmission
torquein:Torque ecu:PowerControlUnit torqueOut:Torque «allocated» CAN_Bus {allocatedFrom= ice:InternalCombustionEngine ProportionPowerLoad}
«allocated» {allocatedFrom= ConvertGasToPower} BBaacckkuupp CChhaarrttss SSyyssMMLL SSuubbmmiissssiioonn TTeeaamm
• Members – Industry & Government • American Systems, BAE SYSTEMS, Boeing, Lockheed Martin, NIST, oose.de, Raytheon, THALES, Eurostep, EADS Astrium – Vendors • Artisan, EmbeddedPlus, IBM, I-Logix, Mentor Graphics, Sparx Systems • Collaborations – Deere & Company – Georgia Institute of Technology – INCOSE, AP-233 SSyyssMMLL MMiilleessttoonneess
• UML for SE RFP issued – March 28, 2003 • Kickoff meeting – May 6, 2003 • Overview presentation to OMG ADTF – Oct 27, 2003 • Initial draft submitted to OMG – Jan 12, 2004 • INCOSE Review – January 25-26, 2004 • INCOSE Review – May 25, 2004 • Revised draft submitted to OMG – Aug 2 • 2nd Revised submission to OMG – October 11 • OMG technology adoption – Q1 2005 (Goal) MMooddeelliinngg LLaanngguuaaggee RReeqquuiirreemmeennttss RReeffeerr ttoo UUMMLL ffoorr SSEE RRFFPP
• Structure – e.g., system hierarchy, interconnection • Behavior – e.g., function-based behavior, state-based behavior • Properties – e.g., parametric models, time property • Requirements – e.g., requirements hierarchy, traceability • Verification – e.g., test cases, verification results • Other – e.g., trade studies 44 PPiillllaarrss ooff SSyyssMMLL Structure Behavior
ABS System:Assembly Diagram Apply Brakes: Activity Diagram
:Traction Detector :Brake Modulator Anti-Lock Controller
:Traction Detector allocation :Traction Detector <
:B
Vehicle System Braking Subsystem <
Requirements Constraints SSyyssMMLL // AAPP--223333 AAlliiggnnmmeenntt
SysMLTools
Systems Engineering
Electrical Engineering CAE Analysis
AP-233 NEUTRAL Mechanical DATA EXCHANGE Algorithm CAD FORMAT Design
SW Dev Planning Environment Testing Tools Tools RReeffeerreenncceess
• UML for SE RFP – OMG doc# ad/03-03-41 • UML 2 Superstructure – OMG doc# formal/05-07-04 • UML 2 Infrastructure – OMG doc# ptc/04-10-14 • INCOSE 2004 Symposium Paper “Extending UML to Support a Systems Modeling Language” – S. Friedenthal, C. Kobryn • INCOSE 2003 Symposium Paper “Extending UML from Software to Systems” – S. Friedenthal, R. Burkhart • INCOSE Insight (June 2004) • [Bock 2003] "UML 2 Activity Model Support for Systems Engineering Functional Flow Diagrams," Journal of INCOSE Systems Engineering, vol. 6, no. 4, October 2003 – C. Bock