Gabor Madl (gabe@ics.uci.edu) Nikil Dutt (dutt@ics.uci.edu) Domain-specific Modeling of Power Aware Distributed Real-time Embedded Systems Gabor Madl (gabe@ics.uci.edu) Nikil Dutt (dutt@ics.uci.edu) Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS) 2006 Workshop November 12, 2018
Outline Motivation Proposed analysis framework Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Outline Motivation Proposed analysis framework The open-source DREAM tool The ALDERIS language Specification by meta-modeling XML representation of ALDERIS Helicopter autopilot case study Analysis results Conclusion November 12, 2018
Outline Motivation DREAM framework ALDERIS Case study Results Conclusion DRE systems are often reactive, and event-driven Better latencies than synchronous or time-triggered models Easy implementation In DRE systems classic scheduling methods may result in scheduling anomalies Hard to analyze real-time properties We need a method that can capture the behavior of DRE systems Continuous time Multiple QoS properties November 12, 2018
Proposed analysis framework Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Proposed analysis framework ALDERIS model GME tool Open-source DREAM Tool Simulations Random testing Schedulability optimizations Automatic timed automata model generation for the UPPAAL and Verimag IF tools Simulation-based model checking Verimag IF model checker Focus of my presentation ALDERIS model XML representation UPPAAL model checker http://dre.sourceforge.net November 12, 2018
Outline Motivation DREAM framework ALDERIS Case study Results Conclusion The ALDERIS language ALDERIS is a modeling language with both a visual and a textual XML-based syntax ALDERIS specifies two aspects of a DRE system The dependency aspect Based on an abstract task model Explicitly captures dependencies between tasks Each task is attributed by a [bcet, wcet] execution interval, and a sub-priority The platform aspect Threads schedule tasks non-preemptively, have priorities Between threads preemptive scheduling within CPUs November 12, 2018
Outline Motivation DREAM framework ALDERIS Case study Results Conclusion The ALDERIS language Timers generate events periodically Sensors sampled at a given rate Event channel model Provides buffering May specify delays using an interval ALDERIS seems to be a good fit to analyze the real-time properties of globally asynchronous locally synchronous (GALS) systems. November 12, 2018
Specification by meta-modeling Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Specification by meta-modeling ALDERIS is specified using meta-modeling (GME tool) We use domain-specific modeling languages (DSMLs) instead of generic modeling languages such as UML Meta-modeling defines Abstract syntax Concrete syntax But not semantics November 12, 2018
XML representation of ALDERIS Outline Motivation DREAM framework ALDERIS Case study Results Conclusion XML representation of ALDERIS <?xml version="1.0" encoding="UTF-8"?> <DRESystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="alderis.xsd" name="helicopter autopilot" version="1.0"> <DependencyAspect> <Node> <Task name="Gyro" bcet=“2” deadline=“5" subpriority="1" wcet=“3"/> ...<Channel name="Gyro Channel" buffersize="2"/> ...<Timer name="Gyro Rate" period="5"/> </Node> <Hierarchy> <Component name="INS"> <TaskContainment task="INS Task"/> </Component> ...</Hierarchy> <Dependency> <TimerToTask timer="Gyro Rate" task="Gyro"/> ...<TaskToChannel task="Gyro" channel="Gyro Channel"/> ...<ChannelToTask channel="Gyro Channel" task="Tail Servo"/> ...</Dependency> </DependencyAspect> <PlatformAspect> <Thread name="Control Thread" priority="1" queueingpolicy="FixedPriority"> <TimerMapping timer="INS Rate"/> <ComponentMapping component="INS"/> ...</Thread> <CPU name="Main CPU" schedulingpolicy="FixedPriority"> <QoSLevel speed="2" power="4"/> ...<ThreadMapping thread="Control Thread"/> ...</CPU> <CPU name="NonConcurrentManager" schedulingpolicy="NonConcurrent"> <ThreadMapping thread="NonConcurrent"/> </CPU> </PlatformAspect> </DRESystem> November 12, 2018
Helicopter autopilot case study Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Helicopter autopilot case study Several problems in helicopters Internal navigation system Cyclic/collective pitch Mechanical Aerodynamic ALDERIS can be used to Formally verify real-time properties Synthesize a task-level power management policy November 12, 2018
Helicopter autopilot case study Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Helicopter autopilot case study Based on a UAV design from the CoSMIC toolset from Vanderbilt University Dependency and platform aspects are shown Components express hierarchy Components are not active objects Encapsulate methods that provide similar functionality November 12, 2018
(Figure from the UPPAAL model checker) Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Real-time Analysis (Figure from the UPPAAL model checker) November 12, 2018
Power Management Task-level power management method Outline Motivation DREAM framework ALDERIS Case study Results Conclusion Power Management Task-level power management method For real-time systems Captures voltage scaling We assume that power = constant*voltage2. Power level can only be changed at discrete time steps This allows the use of timed automata models Decidable power management policy synthesis problem Based on formal model checking methods we were able to show a potential 24% energy savings November 12, 2018
Outline Motivation DREAM framework ALDERIS Case study Results Conclusion We have presented the ALDERIS MoC Formally defined semantics Captures real-time properties and voltage-scaling in a common semantic domain We have shown how meta-modeling has been used to define ALDERIS Can be composed with formal MoCs such as timed automata, hybrid automata, dataflow or Petri-nets ALDERIS provides a formal approach to analyze and verify DRE systems. November 12, 2018
Questions? Please visit http://dre.sourceforge.net The open-source DREAM tool and its documentation Medium to large-scale examples of real-time CORBA applications based on the Boeing Bold Stroke execution framework. Please visit http://alderis.ics.uci.edu GME meta-model of the ALDERIS DSML Case studies November 12, 2018