SysML - System Modeling Language Benefits for the Complex Systems of IIoT Matthew Hause PTC Engineering Fellow, GTM Technical Specialist THINGS are Changing Product Smart Product Smart, Connected Product Product System System Of Systems Farm Equipment System Tractors Tillers Farm Equipment System Planters Irrigation System Combine Harvesters Field sensors Irrigation nodes Irrigation application “ Farm Management System Platform Seed Optimization System Weather Data System Rain, humidity, temperature sensors Weather maps Farm performance database Weather forecasts Seed database Weather data application Seed optimization application The changing nature of products is disrupting value chains, forcing companies to rethink and retool nearly everything they do internally.” 2 Systems Engineering is… A holistic, multi-disciplinary and collaborative approach to designing and maintaining complex systems. 3 Model-Based Engineering • Model-based Systems Engineering (MBSE) is the formalized application of modeling to support system requirements, design, analysis, verification, and validation activities beginning in the conceptual design phase and continuing through-out development and later lifecycle phases.” (INCOSE, 2007). • Modeling is at the heart of all aspects of the development effort Covers the complete product and project lifecycle Has a direct effect on any generated artifacts. MBE encompasses architecture, systems and software development. 4 Changes in Systems Engineering Practice Change from Document centric to Model centric Requirement Specifications Interface Definitions System Architecture System Functionality Trade-off Analysis Test Specifications Etc. Old Approach ATC Pilot Airplane Request to proceed Authorize Initiate power-up Power-up Report Status Direct taxiway Initiate Taxi Executed cmds New Approach 5 The Four Pillars of SysML Behavior Interaction Structure ibd [Block] Anti-Lock Controller1 Definition bdd [Package] Vehicle [ABS] «Block» Library:: Electronic Processor «Block» Library:: Electro-Hydraulic Valve «BlockProperty» d1 : Traction Detector c1:modulator interface «BlockProperty» m1 : Brake Modulator m1 «Block» Traction Detector «Block» Brake Modulator Los s O fTrac tion/ Activity/Function Gripping Detec t Los s Of Trac tion M odulate B rak ing Forc e TractionLoss Use Requirements par [constraint] StraightLineVehicleDynamics [Parametric Diagram] {f = (tf*bf)*(1-tl)} req [Package] Vehicle Specifications [Braking] {F = ma} : BrakingForceEquation Vehicle System Specification : AccelerationEquation f F c «requirement» Stopping Distance tl bf a : DistanceEquation x Slipping RegainTrac tion/ Parametrics tf State Machine act PreventLockup «Block» Anti-Lock Controller d1 stm Tire [Traction] «Block» Anti-Lock Controller id# : VelocityEquation v v Braking Subsystem Specification «requirement» Anti-Lock Performance id# 102 337 txt The vehicle shall stop from 60 mph within 150ft on a clean dry surface. txt The Braking subsystem shall prevent wheel lockup under all braking conditions. a «deriveReqt» {v = dx/dt} {a = dv/dt} 6 Cross Connecting Model Elements Structure Behavior act PreventLockup [Swimlane Diagram] ibd [block] Anti-LockController Anti-LockController [Internal Block Block Diagram] Diagram] satisfies satisfies «requirement» «requirement» Anti-Lock Anti-Lock Performance Performance ibd [block] Anti-LockController [Internal Block Diagram] d1:TractionDetector d1:TractionDetector «allocate» act PreventLockup [Activity Diagram] :TractionDetector «allocate» :BrakeModulator allocatedFrom allocatedFrom «activity»DetectLos «activity»DetectLos d1:Traction OfTraction Of Traction Detector c1:modulator c1:modulator Interface Interface c1:modulator interface DetectLossOf Traction m1:BrakeModulator m1:BrakeModulator m1:Brake Modulator allocatedFrom allocatedFrom «activity»Modulate «activity»Modulate BrakingForce BrakingForce allocatedFrom allocatedFrom «ObjectNode» «ObjectNode» TractionLoss: allocatedTo «connector»c1:modulatorInterface values DutyCycle: Percentage satisfy par par [constraintBlock] [constraintBlock] StraightLineVehicleDynamics StraightLineVehicleDynamics [Parametric [Parametric Diagram] Requirements v.chassis.tire. v.brake.rotor. par [constraintBlock]v.brake.abs.m1. StraightLineVehicleDynamics [Parametric v.Weight: Diagram] v.chassis.tire. v.brake.abs.m1. v.brake.rotor. req [package] [package]VehicleSpecifications VehicleSpecifications req req [package]Diagram VehicleSpecifications [RequirementsDiagram BrakingRequirements] Requirements] [Requirements - -Braking Friction: Friction: [Requirements Diagram - Braking Requirements] VehicleSystem System Vehicle Vehicle System Specification Specification tf: bf: bf: m: f:f: :Accelleration Equation :Accelleration [F = ma] F: F: id=”337" id=”337" text=”Braking subsystem text=”Braking subsystem id=”337" shallprevent prevent wheel lockup shall wheel lockup text=”Braking subsystem under braking conditions.” under allall braking conditions.” «interaction»MinimumStopp ingDistance «block»Anti-LockController «block»Anti-LockController Equation [Fa:= ma] a: Anti-LockPerformance id=“102” id=“102” text=”The vehicleshall shallstop stop text=”The id=“102”vehicle from60 60mph mphwithin within150 150ftft from text=”The vehicle shall stop onaaclean cleandry drysurface.” surface.” on from 60 mph within 150 ft on a clean dry surface.” VerifiedBy c Equation Equation [f[f == (tf*bf)*(1-tl)] (tf*bf)*(1-tl)] «requirement» «requirement» Anti-LockPerformance Anti-LockPerformance «requirement» StoppingDistance tl: tl: v.Weight: BrakingForce: BrakingForce: bf: f: :BrakingForce Equation :BrakingForce :BrakingForce [f = (tf*bf)*(1-tl)] Specification «requirement» «requirement» StoppingDistance StoppingDistance «requirement» DutyCycle: DutyCycle: tl: tf: tf: BrakingSubsystem Subsystem Braking Braking Subsystem Specification Specification Specification Modulate Modulate BrakingForce BrakingForce TractionLoss: a: a: v: :DistanceEquation [v = :DistanceEquation dx/dt] :DistanceEquation shall prevent wheel lockup under all SatisfiedBy braking conditions.” SatisfiedBy [v [v == dx/dt] dx/dt] x: v: v: :VelocityEquation [a = dv/dt] :VelocityEquation v: v: [a = dv/dt] x: x: «deriveReqt» v.Position: v.Position: «deriveReqt» «deriveReqt» verify Parametrics 7 Problem Statement for Traffic Management System • 1. General Background The city of Autoville has just elected a new city council with a mandate to reduce traffic on the highways and thoroughfares. After receiving a grant of $200M from the federal government, they have decided to acquire a traffic management system to help them identify areas and times of high traffic density so they can take measures to alleviate the effects of it. The city of Autoville has 100 miles of highway with 10 interchanges and 300 miles of thoroughfares with 100 major intersections. Systems will include controlled parking facilities, availability monitoring and dissemination, emergency management, traffic control and prediction, and support for electric vehicles. 8 SysML Requirements Diagram req [Package] User Requirements [Diagram] satisfiedBy «Rule(System)» Sensor Spacing «Capability» «block» Calculate Traffic Levels «trace» «requirement» UREQ_02 «requirement» UREQ_01 txt The system shall identify traffic levels on all highways and thoroughfares. «satisfy» «Materiel» «block» Video txt The system shall provide traffic data for intervals not greater than 1 mile for highways and ¼ mile for thoroughfares. satisfiedBy «Rule(System)» Sensor Spacing «satisfy» «satisfy» «Materiel» «block» Traffic Sensor «Activity(System)» Calculate Traffic Levels «satisfy» «Software» «block» Traffic Flow Calculation SW [Package] User Requirements [Table] [Architectural Description] All Views [AV-1] 9 Requirements Traceability Table 10 Operational Concept with Boxes OV-1a [High Level Operational Concept] High Level Traffic Control Concept [OV-1a] «HighLevelOperationalConcept» «block» High Level Traffic Control Concept : Traffic Display Board : Emergency Services : Internet Informs Reports : Traffic Control Organization Updates Manages : Control Center Traffic Images : Video Traffic Measurement : Vehicle Records : Mass Media Informs : Traffic Sensor Measures [High Level Operational Concept] High Level Traffic Control Concept [OV-1a Graphic] 11 Operational Concept with Graphics 12 Traffic Management Use Cases and Stakeholders 13 Capability Taxonomy with Implementing Resources CV-2 [Architectural Description] Capabilities [CV-2 Resources] «Capability» «block» Calculate Traffic Levels «Capability» «block» Traffic Prediction «Capability» «block» Respond to Traffic Event realizingResource «Software» Traffic Flow Calculation SW realizingResource «Software» Traffic Prediction SW realizingResource «Software» Emergency Services SW «Software» Traffic Event SW «Capability» «block» Traffic Control «Capability» «block» Traffic Reporting realizingResource «Software» Traffic Signal SW «System» Control Center «System» Control Room «System» Traffic Display Board «Software» Traffic Control SW realizingResource «Software» Traffic Report Generation SW «Capability» «block» Communication «Capability» «block» Coordination realizingResource «Software» Emergency Services SW «Software» Traffic Control SW Traffic Context «Capability» «block» Traffic Surveillance realizingResource «Materiel» Video «Materiel» User Interface «Software» Video Processing SW «Software» Sensor Processing SW «Software» Traffic Display SW «Materiel» Traffic Sensor «Capability» «block» Provide Traffic History realizingResource «Software» Traffic Data Archive SW 14 Capability to Activity Mapping CV-6 [Architectural Description] Operational Activities [CV-6] «Capability» «block» Respond to Traffic Event «ActivityPartOfCapability» «ActivityPartOfCapability» «StandardOperationalActivity» Dispatch Road Crew «StandardOperationalActivity» Control Traffic Signals «StandardOperationalActivity» Re-Route Traffic «StandardOperationalActivity» «StandardOperationalActivity» Dispatch Emergency Services Execute Accident Report «ActivityPartOfCapability» «Capability» «block» Traffic Reporting «ActivityPartOfCapability» «StandardOperationalActivity» Analyze Routes «StandardOperationalActivity» Send Live Traffic Report «ActivityPartOfCapability» «ActivityPartOfCapability» «StandardOperationalActivity» Calculate Traffic Flow «Capability» «block» Provide Traffic History «ActivityPartOfCapability» «StandardOperationalActivity» Execute Planning Report «StandardOperationalActivity» Dispatch Recovery Vehicle «StandardOperationalActivity» Predict Accident Impact «ActivityPartOfCapability» «StandardOperationalActivity» Access traffic History «StandardOperationalActivity» Archive Traffic History «ActivityPartOfCapability» «Capability» «block» Traffic Surveillance «ActivityPartOfCapability» «StandardOperationalActivity» Monitor Accident «ActivityPartOfCapability» «ActivityPartOfCapability» «Capability» «block» Calculate Traffic Levels «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «Capability» «block» Traffic Control «ActivityPartOfCapability» «Capability» «block» Communication «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «Capability» «block» Coordination «Capability» «block» Traffic Prediction «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «ActivityPartOfCapability» «StandardOperationalActivity» Monitor Traffic Speed «StandardOperationalActivity» Search for Traffic Events «StandardOperationalActivity» Predict Traffic Flow «StandardOperationalActivity» Predict Accident Hot Spots «StandardOperationalActivity» Review Event Schedule «StandardOperationalActivity» Monitor Weather [Activity (Operational)] Manage Traffic [OV-5b] 15 Manage Traffic Activity Sequence 16 Operational Structure OV-2 [Performer] Autoville Context [OV-2] «Performer» «block» Autoville Traffic Context «PerformerRole» WS : Weather Services WS->TC:WR : Weather Report «PerformerRole» TP : Traffic Planning TS->TP:TF : Traffic Flow «PerformerRole» TS : Traffic Sensing EP->TP:ES : Event Schedule «PerformerRole» EP : Event Planning TP->TC:AP : Accident Prediction TS->TC:TF : Traffic Flow «PerformerRole» TC : Traffic Control TC->CS:SR : Service Request «PerformerRole» CS : City Services CS->TC:SS : Service Status TC->CM:AR : Accident Report TA->TC:TAD : Traffic Archive Data CS->CM:SS : Service Status TC->TA:TAD : Traffic Archive Data TC->MM:TR : Traffic Report TC->CM:TPR : Traffic Planning Report TC->TE:TSS : Traffic Signal Schedule «PerformerRole» TA : Traffic Archive «PerformerRole» TE : Traffic Equipment «PerformerRole» MM : Mass Media «PerformerRole» CM : City Management [Architectural Description] Operational Nodes [OV-3] 17 Interaction Summary (ICD) 18 Operational Modes 19 Traffic Management Systems SV-1/SvcV-1 [System] Traffic Context [SV-1] «System» «block» Traffic Context «SystemRole» CC : Control Center 1..* «SystemRole» TMS : Traffic Display Board 1..* «SystemRole» EV : Event Venue EV->CS:ES : Event Schedule «SystemRole» CR : Control Room CS->TMS:TSM : Traffic Status Message «SystemRole» CRO1 : Control Room Operator 1..* «SystemRole» TS : Traffic Signal CS->IN:TR : Traffic Report «SystemRole» CRO2 : Control Room Operator CS->RM:SR : Service Request CS->TS:TSS : Traffic Signal Schedule «SystemRole» IN : Internet «SystemRole» RM : Road Maintenance CS->MM:TR : Traffic Report 100 «SystemRole» VID : Video VID->CS:VD : Video Data «SystemRole» UI1 : User Interface «SystemRole» UI2 : User Interface 1..* «SystemRole» MM : Mass Media CS->UI:RT : Road Topology CS->UI:SS : Service Status CS->UI:TR : Traffic Report 1..* «SystemRole» WS : Weather Services CS->UI:TF : Traffic Flow «SystemRole» Veh : Vehicle CS->UI:ES : Event Schedule CS->UI:VD : Video Data RM->CS:SS : Service Status «SystemRole» CS : Control System 1000 «SystemRole» TS : Traffic Sensor «SystemRole» ES : Emergency Services WS->CS:WR : Weather Report ES->CS:SS : Service Status CS->ES:SR : Service Request CS->CP:TPR : Traffic Planning Report «SystemRole» CP : City Planning TS->CS:SD : Sensor Data 20 Software Interfaces and Interactions SV-2/SvcV-2 [System] Control System [SV-2] «System» «block» Control System VP : Video Data VP CS->VP:VD : Video Data VP->TFC:VD : Video Data «SystemRole» TFCSW : Traffic Flow Calculation SW CS TRG «SystemRole» VPSW : Video Processing SW «SystemRole» DBSW : Display Board SW TFC TRG->DB:TR : Traffic Report SP TRG TE SP->TFC:SD : Sensor Data FC->TRG:TF : Traffic Flow WebP DB->CS : Traffic Status Message CS TFC DB «SystemRole» SPSW : Sensor Processing SW DB TDA TRG->TDA:TR : Traffic Report RG «SystemRole» TDA : Traffic Data Archive SW «SystemRole» TRGSW : Traffic Report Generation SW TFC TP Web TC TFC->TE:TF : Traffic Flow SP->TP:SD : Sensor Data TE SP TRG->TC:TR : Traffic Report «SystemRole» TC TESW : Traffic Event SW VP->Web:VD : Video Data «SystemRole» TPSW : Traffic Prediction SW TRG->Web:TR : Traffic Report VP Web CS TE->TC:AER : Accident Event Report TRG TRG TS «SystemRole» WebPSW : Web Presence SW TE TP : Sensor Data CS CS->TP:SD : Sensor Data WP WP->TP:WR : Weather Report «SystemRole» TCSW : Traffic Control SW TP ES «SystemRole» WPSW : Weather Processing SW Web->CS:TR : Traffic Report CS WP : Weather Report CS->WP:WR : Weather Report TC->TS:TSS : Traffic Signal Schedule «SystemRole» TSSW : Traffic Signal SW TC «SystemRole» TDSW : Traffic Display SW CS [System] Control Room [SV-6] TC «SystemRole» ESSW : Emergency Services SW CS ES->CS:SR : Service Request CS->ES:SS : Service Status ES TS->CS:TSS : Traffic Signal Schedule [Architectural Description] Resources [SV-3] [Architectural Description] System Activities [SV-4] TS 21 System Connection Matrix – N2 22 Parking Lot System With Charging Stations Pressure sensor Display Boards Lot 1 Spaces Lot Lot 1 2Spaces Full Lot Lot 2 3FullSpaces Lot 3 Spaces Serial Links System controller & barrier motor Exit FULL Traffic lights Parking Lot Entry Safety barrier IR beam sensor 23 Parking Control Context 24 Parking Lot System Model ibd [block] Parking Lot System [Physical] Parking Lot System exitSnsr : PressureSensor prS : 5Vhigh motor : Barrier Motor Car greenLt : Light mot : 12Vhigh gL : 12Vhigh high : 5Vhigh low : 12Vhigh : 5Vhigh low : 5Vhigh high : 5Vhigh high : 12Vhigh rL : 12Vhigh redLt : Light : 12Vhigh : 12Vhigh low : 12Vhigh fullLt : Light ctrllr : Controller entrySnsr : IR Sensor high : 12Vhigh fL : 12Vhigh irS : 5Vhigh : IOUcomms allocatedFrom «ItemFlow» dbPress «ItemFlow» keyPress «ItemFlow» rbPress allocatedFrom «Connector» ctrl-io serial connection data Type RS232/V24 : serialByte : dispString inputs : 1 start bit, 2 stop bits, no parity 7 data bits: 0-3 : key value 4 : keypad press (see bits 0-3 for value) 5 : display button press 6 : reset button press : ~IOUcomms ioUnit : IO Unit output : 4 bytes, each byte: 1 start bit, 2 stop bits, no parity 7 data bits: ASCII number Operator 25 Example - Parametrics Context bdd [Package] Constraints [Context] Max Capacity Equation constraintParameters dl : integer 1 1 maxC : integer mcEq sa : surfaceArea ua : surfaceArea vSA : surfaceArea Parking Lot System values PLid 1 1 «rationale» Need to maximise total capacity 1 params nvEq 1 PL Params values totalSurfaceArea : surfaceArea totalUnusableArea : surfaceArea {maxC = (sa - ua) / (vSA + (dl * 4))} sa - surface area in square metres; vSA - surface area required for all vehicles; dl - length of driveways (4 metres wide); ua - unusable area in square metres; c - number of normal car spaces (each @ 6 square metres); d - number of disabled car spaces (each @ 9 square metres); m - number of motor bike spaces (each @ 3 square metres); Number Vehicles Equation constraintParameters c : integer d : integer m : integer vSA : surfaceArea «rationale» ratio of vehicle types can be subject to local legislation surfaceArea quantityKind Area unit SquareMeter 26 Parking Area with Charging Space 27 ThingWorx Platform Connectivity Connectivity and Device Management Device Cloud Marketplace Private Device Cloud Smart Extensions and Applications Application Enablement Application Enablement Platform IoT Platform Cassandra Big data for operational data Composer Rapid Application Development and Graphical User Interface Builder ColdLight Machine learning and predictive analytics Federated Deployments Deploy how you like Predictive Analytics Augmented Reality* *Beta Digital Twin* *Beta 28 ThingWorx Composer –Rapid Application Development • Customer Portals – Mashup of Data Sources • Mobile Applications – Smartphone and Tablet Applications to enhance Product Experience • New Internal Applications – Field Service Applications 29 System Model Simulation PTC Integrity Modeler CAPABILITIES Reuse blocks containing simulation data within diagrams • Simulate SysML model visually • Store simulation information within system model blocks Simulate behavior • Drag and Play Simulation • Connect to third-party simulators (MATLAB Simulink™, etc.) BENEFITS Validate complex behavior early Project cost reduction Reduce design walkthrough efforts Reduce design errors 30 Systems Engineering and ThingWorx Future PTC Integrity Modeler – Automated ThingWorx Code Generation Layer SoS/ ThingWorx Mashup Thing Shapes System Design Live System Real World Mashup Deployed Thing Shapes Deployed Device Code Deployed Edge Devices Prototype driving requirements for Integrity Modeler 8.3 Forward Looking Information Subject to Change without Notice 31 Demo 32 Questions and Answers Description {Speech Time} 1 1.1 loop You :Attendee Me :Speaker while open questions exist Question 1.1.1 Answer Question Answer end loop 33