1 / 24

Predictable Assembly with SaveCCT

<<AutoComp>>. <<AutoComp>>. Sink. Sink. T = 40 ms. Valve Regulator. Power Supervison. Source. Diesel Valve. Desired Output level. Diesel Valve. Air Valve. Air Valve. Predictable Assembly with SaveCCT. Mikael Åkerholm MRTC, Mälardalen University, http://www.mrtc.mdh.se

annora
Download Presentation

Predictable Assembly with SaveCCT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. <<AutoComp>> <<AutoComp>> Sink Sink T = 40 ms Valve Regulator Power Supervison Source Diesel Valve Desired Output level Diesel Valve Air Valve Air Valve Predictable Assembly with SaveCCT Mikael Åkerholm MRTC, Mälardalen University, http://www.mrtc.mdh.se CC Systems AB, http://www.cc-systems.com mikael.akerholm@mdh.se

  2. Outline • Background and motivation • Central Concepts of Component Technologies • SaveCCT - A Component Technology for Vehicular Systems • Target Domain • Technology Overview • Component Model • Tools • Example application – Adaptive Crusie Controller (ACC) Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  3. Background: Save/Save++ (and progress) • Save (2003-2006) • Enabling systematic development of component-based software for safety critical embedded systems. • Component technologies -> SaveCCT • MDH, UU, KTH, LiTH, (ABB, Bombardier, CC Systems, CR&T, Saab, Scania, Volvo Car and Volvo TD) • Save++ (2006-2007) integrates as a part of the progress project (2006-2010) at MDH • Improved theories, methods, technologies, and tools, based on Save and Save++, -> (SaveCCT++ ) Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  4. Motivation More Functionality Improve existing Functionality Lower price More Electronics With Software • Software Crisis (1968): • Error-Prone • Late • Expensive Need Better Software Engineering Approaches! Component-Based Software Engineering • Promising, successful in the PC domain • Component Technologies, target PC Applications • Vehicular Software Different from PC Software Component Technology For Vehicular Applications! Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  5. Central Concepts Supporting Tool Components Platform Component Framework Repository Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  6. SaveCCT – For Vehicular Systems • Characteristcs: • Many suppliers • Distributed applications • Safety • Reliability • Resource efficiency • (Hard) Real-Time requirements Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  7. SaveCCT Design Goals • Efficient Development: • Enable utilization of CBSE advantages, provide the necessary possibilities for the target domain • Predictable Behavior: • Need to be able to apply analysis of important run-time attributes during design-time, e.g., Timing, Safety, Reliability, Memory needs, Processor demands • Run-Time Efficiency: • Ideally enable CBSE without run-time cost, compared to C programming with RTOS Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  8. Process Overview System Verification System Requirements System Composition System Decomposition Component Verification Component Requirements Interface between Component developers And system developers Select and Adapt Repository Verify Component Need for component Develop or Buy Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  9. SaveCCT Technology Overview Repository Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  10. The SaveCCM component model • Restictive in comparision to PC/Internet component models • COM, .Net, EJB • Enable analysis during design-time, and determinstic reproducable behaviour during run-time (test-time) • Textual xml, and graphical UML influenced syntax Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  11. SaveCCM Syntax:Basic Component • Ports • Trigger, data, combined • Behaviour • Read  Execute  Write fixed_t error = Setpoint – Value; fixed_t u = fixed_mul(K, e); if (IntegrationEnabled) u += fixed_div(NewState, T_i); Control = LIMIT(u, 0, MAX_CONTROL); State = error; Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  12. SaveCCM Syntax:Basic Component • Ports • Trigger, data, combined • Behaviour • Read  Execute  Write fixed_t error = Setpoint – Value; fixed_t u = fixed_mul(K, e); if (IntegrationEnabled) u += fixed_div(NewState, T_i); Control = LIMIT(u, 0, MAX_CONTROL); State = error; Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  13. SaveCCM Syntax:Switch • Ports • Setports determine active configuration • Connection patterns • For static or dynamic reconfiguration Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  14. SaveCCM Syntax:Assembly • Ports • Internal components and connections • Encapsulation of a “sub-system” Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  15. SaveCCM Syntax:Composite Component • Ports • Internal components and connections • Restricted behaviour, read-execute-write Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  16. SaveCCM Formal Foundation • Timed Automata with Tasks • SaveCCM Core • Building blocks for SaveCCM semantics: • Basic Component • Composite Component • Conditional Connection • Port: point of interaction • Where connection meet component • Transfer data or triggering • Single data item, overwrite semantics Finite automata with • Dense time clocks, manipulated on edges • Tasks, released when a location is reached Dense time is possible by using a symbolic representation x  5 y := 0 T1 u! x  10 On request, John may give a lecture ;o) Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  17. SaveCCT Glue Code Generator • Motivation Component Framework Run-time Binding DB Transactions, Web <1 GB OS Graphics, User Accounts run-time configuration >1 MB OS Syncronisation, IPC, Timing static configuration Thypical target platform For component technologies 2 GHz 256 MB RAM 20 MHz 256 kB RAM Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  18. SaveCCT Glue Code Generator SaveCCM Component Model Fully Automated Compile-Time Step Task Allocation Intermediate Task Models Analysis - Target Compiler RTOS Execution Models RTOS RTOS CrossFire, RTXC PC/Win32, CCSimTech Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  19. SaveCCT Tools (under continous improvement) • Save IDE (under continous improvement) • Component composition • Several existing prototypes for graphical composition from masters thesis projects, currently under major revision • Automated connectivity to analysis tools through translations of SaveCCM XML to • timed automata with tasks ->Times (Timing and much more) • Finite State Processes -> LTSA (Control loop liveness) • Test • Automated test tools, e,g., test-complete and LabView, from CCSimTech • Repository • Under construction, will provide means for easy selection and specialisation of components through distingushing component versions, from component variants • … Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  20. Example Application – SaveCCT in an industrial Environment • Case Study at CC Systems • Integrated our technology in a real industrial environment, i.e., selected development tools and hardware from the company’s repertoire • CrossFire ECU, CCSimTech simulation technique, target compiler • Implemented a “fictive” vehicular control application with the technology, and used as basis for evaluation Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  21. 50 Hz Speed Limit <<Assembly>> <<SaveComp>> Road Signs Enabled ACC Application ACC Max Speed Road Sign Speed ACC Controller <<Assembly>> Throttle Object Recognition <<SaveComp>> Distance Current Speed 10 Hz Logger HMI Outputs Mode Switch Max Speed <<Switch>> <<SaveComp>> ACC Enabled Brake Assist Brake Pedal Used ACC Brake Assist <<SaveComp>> Brake Signal Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  22. View, hiding low level information of data flow direction and triggering. Relative Max Current Distance Speed Speed Speed << Assembly >> << Assembly >> ACC Controllers ACC Controllers Control << Assembly << Assembly >> << Assembly >> << Assembly >> Speed Distance Distance Speed Controller Controller Controller Controller Max Current Speed Relative Speed Distance Speed << Assembly >> << Assembly >> Speed Distance Controller Controller Control << SaveComp >> << SaveComp >> 3 Calc Output Calc Output 2 1 << SaveComp >> << SaveComp >> Update State Update State 5 4 Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  23. Automated Analysis of The ACC • Static WCET analysis through integration of the aiT Worst-Case Execution Time Analyser • WCET ~ 3% over-estimation • Context dependent WCET analysis preferable, but not yet achieved • Timing and more through the underlying Timed Automata model • The Times tool checks e.g., Schedulability and Response times for end-2-end transactions • Liveness • Finite State Processes (FSP), derived from SaveCCT • Labeled Transition System Analyser (LTSA), is used to verify liveness Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

  24. Questions Mikael Åkerholm, SaveCCT lecture CBSE Course 2007

More Related