210 likes | 217 Views
This tutorial at ICCE 2006 focuses on the development of dependable component-based software for CE devices using Robocop and Space4U. It covers topics such as fault management, trading, deployment, terminal management, and performance prediction.
E N D
Dependable Component Based Softwarefor CE Devices Robocop & Space4U Experiences Tutorial at ICCE 2006
Fault Management Trading &Deployment Terminal Management Download Analysis&Integration Robocop Component Resource Model Simulation Model Service … Resource Management Functional Model logic other Middleman logic Executable Component Service Component Model logic Outline Introduction Architecture Component Model Resource Management Fault Management Real-Time Prediction Wrap-Up Robocop & Space4U Tutorial ICCE – 2006 page 2 of ???
Performance Prediction Frameworkjoint work with M.R.V.Chaudron Objectives: • At the design phase • Graphically compose an assembly from components • Predict performance properties of an assembly • Task latencies • Number of missed deadlines • Processor, bus, memory load • Note: without even buying the constituent components! Robocop & Space4U Tutorial ICCE – 2006 page 3 of ???
Stimulus Response Video decoder example: Is Response Time within TMin and TMax? Decoder VLD Inverse Quantizer Inverse DCT …011010101… bit-stream of a frame reconstructed frame Decoding task latency < 40 ms Real-time Property PredictionAbstract example: CompA CompB CompC CompD Robocop & Space4U Tutorial ICCE – 2006 page 4 of ???
Application Domains • Hard real-time systems • Task lateness leads to catastrophic results • anti-lock braking system • air-bag controller • Firm real-time systems • No catastrophic consequences, but value of the function = 0 • car navigation • surveillance camera • Soft real-time systems • Task lateness reduces a value of the function • multimedia, video and audio codecs • electronic game Robocop & Space4U Tutorial ICCE – 2006 page 5 of ???
Given • Remote repository with various components and services Reader Reader Reader Reader FIFO Buffer Reader MPEG4 Decoder Renderer Case Study: MPEG Decoder • Requirements • MPEG4 decoder functionality • Rate of skipped frames <= 1% • Refreshment frequency is 25 frames/sec • Missing deadline for decoding task <= once per 4 sec • Goal: without even buying the components • Assess the performance and timeliness of a designed assembly Robocop & Space4U Tutorial ICCE – 2006 page 6 of ???
Performance Prediction Approach (1/2) The approach is a four-step strategy: • The component developer specifies • behaviour model of a component • resource model of a component • Application developer: • composes selected components/services and • selects scenario of interest & models this scenario (application scenario model) • These three models are compiled together • into a model of the execution architecture (incl. concurrent tasks) • For each scenario the tasks execution is simulated • execution timeline of tasks Robocop & Space4U Tutorial ICCE – 2006 page 7 of ???
Select ! Models Component Resource model Component Resource model has ! Real-time aware components Real-time aware components Component Behaviour model has Component Behaviour model Design (assemble) ! Construct Application Scenario model Real-time application Application Scenario model Compile models / reconstruct tasks Validate predicted for Execution architecture (tasks) Simulate task execution Analyze Real-time and performance properties Task execution timeline Performance Prediction Approach (2/2) Input Application requirements Robocop & Space4U Tutorial ICCE – 2006 page 8 of ???
Characteristics of Models • Reflect the implementation at higher abstraction level • Behaviour model • for each operation specifies a sequence of invocations of operations of other interfaces • Resource model • contains processing, bandwidth and memory usage of each component operation • Application Scenario model: • assembly structure, specific for this scenario • environmental events or system interrupts (task triggers) • Resource, Behaviour and Scenario models are composable • composed model represents an execution architecture (task pool) of a whole application Robocop & Space4U Tutorial ICCE – 2006 page 9 of ???
Behaviour and Resource Models BehavourModel_MPEG4Decoder_Component behaviour operation IDecode.decodeFrame() calls IBufferAccess.getElement() passedBits = 0 returnedBits = 1024 synchronous = TRUE numberOfIterations = 1 calls IBufferAccess.storeElement() passedBits = 1024 returnedBits = 1 synchronous = TRUE numberOfIterations = 1 ResourceModel_MPEG4Decoder_Component resource use operation IDecode.decodeFrame() cpu claim max = 1E7 cycles (reference processor) aver = 1E5 cycles (reference processor) min = 1E4 cycles (reference processor) mem claim = 10 KB mem release = 3 KB IDecode IBufferAccess getElement() decodeFrame() storeElement() Robocop & Space4U Tutorial ICCE – 2006 page 10 of ???
Composing MPEG4 Decoder AssemblyOut of selected services IWrite IRead IDecode vRenderer: Renderer vReader: Reader vDecoder: MPEG4Decoder IBufferAccess IBufferAccess IBufferAccess IBufferAccess IBufferAccess wBuffer: FIFO Buffer rBuffer: FIFO Buffer Robocop & Space4U Tutorial ICCE – 2006 page 11 of ???
Task Trigger Invokes IRead.readFrame() every 40 ms Invokes IWrite.renderFrame() every 40 ms Invokes IDecode.decodeFrame() every 40 ms Task Trigger – can be implemented in glue code as a POSIX thread with periodic events Specifying Scenario Model Processing Node: MIPS 130 IWrite IRead IDecode vRenderer: Renderer vReader: Reader vDecoder: MPEG4Decoder IBufferAccess IBufferAccess IBufferAccess IBufferAccess IBufferAccess wBuffer: FIFO Buffer rBuffer: FIFO Buffer Robocop & Space4U Tutorial ICCE – 2006 page 12 of ???
Models Component Resource model Component Resource model Input has Application requirements Component Behaviour model has Component Behaviour model Design (assemble) Construct Application Scenario model Real-time application Application Scenario model Compile models / reconstruct tasks Validate predicted for Pool of tasks in application Simulate task execution Analyze Real-time and performance properties Task execution timeline Composing the Models (1/3) Robocop & Space4U Tutorial ICCE – 2006 page 13 of ???
TaskTrigger invoke InterfaceX.OperationA period 40 ms offset 0 ms deadline 40 ms Application Scenario Component Behavior Model: Model: OperationA() calls InterfaceZ.OperationB() nmbIterations = 1 InterfaceY.OperationC() Service_B Service_C Service_D Service_F nmbIterations = 1 Task Trigger (period 40 ms) Operation_B Operation_D Operation_E Component Resource Model: Operation_E Operation_E 3ms CPU claim = 30ms Operation_E Operation_C Operation_F Composing the Models (2/3) The generated task specifies • sequence of constituent method invocations • period, deadline, priority, synchronization constraints Service_A Operation_A Robocop & Space4U Tutorial ICCE – 2006 page 14 of ???
Invokes IRead.readFrame() every 40 ms Invokes IWrite.renderFrame() every 40 ms Invokes IDecode.decodeFrame() every 40 ms Composing the Models (3/3) Task Trigger IWrite IRead IDecode vRenderer: Renderer vReader: Reader vDecoder: MPEG4Decoder IBufferAccess IBufferAccess IBufferAccess IBufferAccess IBufferAccess wBuffer: FIFO Buffer rBuffer: FIFO Buffer Robocop & Space4U Tutorial ICCE – 2006 page 15 of ???
Models Component Resource model Component Resource model Input has Application requirements Component Behaviour model has Component Behaviour model Design (assemble) Construct Application Scenario model Real-time application Application Scenario model Compile models / reconstruct tasks Validate predicted for Pool of tasks in application Simulate task execution Analyze Real-time and performance properties Task execution timeline Simulation and Analysis (1/2) Robocop & Space4U Tutorial ICCE – 2006 page 16 of ???
Simulation and Analysis (2/2) • Simulation or Schedulability analysis are performed with scheduling algorithms deployed on the target OS (RMA, EDF, CBS) • Simulation results in task latencies, number of missed deadlines, CPU, memory and bus utilization Simulation time Bus load Mem load Simulation time Simulation time Robocop & Space4U Tutorial ICCE – 2006 page 17 of ???
Validation against Requirements Video Decoding Task: Related REQ: “Skipped frames rate < 1%” • Decision on acceptance of the composed assembly • If “not accept”: try different component configurations, or other components • If “accept”: buy the components, implement application-level glue code, test and deploy Robocop & Space4U Tutorial ICCE – 2006 page 18 of ???
Not mentioned Facilities and Benefits • Modelling of parameter-dependent behaviour and resource usage • Multiple-platform resource models • Task synchronization aspects can be modeled • Component mapping on multiprocessor architecture • Multidimensional design space exploration • robusteness vs cost, memory_load vs cpu_load, etc Robocop & Space4U Tutorial ICCE – 2006 page 19 of ???
Framework Deployment Issues • We have developed a tool chain supporting the design activities • We have validated the prediction approach by MPEG4 Decoder case study: • prediction accuracy of general performance is > 90% • prediction accuracy on task latencies is > 70% Real-Time Prediction Framework Robocop & Space4U Tutorial ICCE – 2006 page 20 of ???
RTIE Graphical Composer Robocop & Space4U Tutorial ICCE – 2006 page 21 of ???