SysML - System Modeling Language Benefits for the Complex Systems of IIoT

advertisement
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
Download