Model-Based Embedded Real-Time Software Development
Download
Report
Transcript Model-Based Embedded Real-Time Software Development
Model-Based Embedded RealTime Software Development
Dionisio de Niz and Raj Rajkumar
Real-Time and Multimedia Sys Lab
Carnegie Mellon University
Para-Functionals
•Data elements per
second
Reliability
Tolerate
Faults
Throughput
Timeliness
Guarantee
End-to-end
response time
Embedded Systems Composition
Software
=
Thread Process
+
Thread
Embedded System
Process
Hardware
Embedded Software
Different Para-Functional Properties
Software
=
Thread Process
radar
scan
Thread
+
track
Process
Embedded System
Thread
radar
scan
Thread
Process
track
Thread
Hardware
radar
scan
Thread
Process
Throughput (trajectories / s)
Thread
track
Process
track
Thread Process
Reliability
Embedded Software
Heterogeneous Platforms
pthread_create()
TCP/IP Sockets
CreateThread()
Thread Process
Thread
Thread
Process
Process
Thread Process
CANBus
New Thread()
FlexRay
Thread
Thread
Thread
Process
Process
Process
DRE Model Requirements
• Composability
– Encode para-functionals
– Compose them into final system
• Correctness
– Reflect consequences of design choices
– Prevent incorrect choices
• Fidelity
– Reflect implementation & deployment
• Enable Reuse
Time Weaver
• DARPA – MoBIES funded project
• Component-Based Modeling Framework &
Tool
• Build run time through models
– Timing model
• Encode component relationships in “couplers”
• Decompose relationships of different aspects
into different dimensions
• Enable recursive composition in functional
and para-functional aspects
• Enable reuse of functional and parafunctional constructs
Inter-component
relationships decomposition
Data
dependency
Deployment
Synchronization
(Virtual Synchrony)
Coupler
Inter-component relationships
decomposition
Data
dependency
Synchronization
(Virtual Synchrony)
Deployment
Coupler manipulate port elements to construct relationship
Basic Mechanisms of Couplers
• Property Propagation
– Relate properties of associated components, e.g. period
• Constraints
– E.g. both component not on same processor
• Synchronization
– Arbitrarily complex synchronization protocol among group of
ports (e.g. mutex, virtual synchrony, barrier)
• Inter-component communication
– Mechanism used, e.g. invocation, CORBA, multicast
– Specified at highest level (when network defined)
– Automatic discovery and change of components affected
Independent Dimensions
Functional
Fault-Tolerance
Deployment
Semantic Separation
Projections to other dimensions
Inter-dimensional projections
Deployment
Processor
Network
Functional
Processor
Modeling Dimensions in Time
Weaver
• Functional
– Functional relationships
• Deployment
– Hardware description & binding
• Timing
– Timing relationships (periods, deadlines)
• Fault-Tolerance
– Replication
• Concurrency
– Threading, synchronization
• Modality
– Modes & mode switching
Ongoing Collaborations
DARPA MoBIES
• Avionics OEP – Boeing, LM
• Software Radio – SwRI
• Automotive OEP – Berkeley, Ford & GM
AvionicsTime
OEP
Weaver
Rational® Rose UML
XML
Target
TimeWiz
®
…
Avionics OEP
• Interface with multiple tools
• Standard XML interfaces
– IIF, AIF, ACL, Configurator
• Large model for scalability testing
Software Radio OEPMatlab
Time Weaver (DSP Processing)
TimeWiz®
Linux
Software Radio OEP
• Unifying modeling of simulation and
final run-time
• Generate matlab code for simulation
• Generate C++ code for final runtime (on
Linux)
Automotive OEP
Time Weaver
TimeWiz®
uCOS-II / ARM
Automotive OEP
• Take the simulation model to final
running code
• Small footprint of network of processors
– uCOS-II / ARM7
Summary
• Model of para-functional properties of
DREs
– New Abstraction: “coupler”
• Separation of para-functional properties
in independent dimensions
• Ongoing experiments with Avionics,
Automotive and Software Radio OEPs