Model-Based Embedded Real- Time Software Development Dionisio de Niz and Raj Rajkumar Real-Time and Multimedia Sys Lab Carnegie Mellon University
Para-Functionals Timeliness Guarantee End-to-end response time Reliability Tolerate Faults Throughput Data elements per second
Embedded Systems Composition = Software Hardware Embedded System Process Thread Process Thread +
Embedded Software Different Para-Functional Properties = Software Hardware Embedded System Throughput ( trajectories / s ) Reliability Process Thread Process Thread + Process Thread Process Thread radar scan track radar scan track radar scan
Embedded Software Heterogeneous Platforms Process Thread Process Thread pthread_create() Process Thread Process CreateThread() Process Thread Process Thread Process Thread New Thread() TCP/IP SocketsCANBusFlexRay
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 para- functional constructs
Inter-component relationships decomposition Deployment Synchronization (Virtual Synchrony) Data dependency
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 Semantic Separation Projections to other dimensions Fault-ToleranceDeployment
Inter-dimensional projections Functional Deployment Network 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
Avionics OEP Rational ® Rose UML TimeWiz ® Target XML … Time Weaver
Avionics OEP Interface with multiple tools Standard XML interfaces –IIF, AIF, ACL, Configurator Large model for scalability testing
Software Radio OEP Time Weaver (DSP Processing) Matlab 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 uCOS-II / ARM TimeWiz® Time Weaver
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