> Power Supervison Desired Output level Source Diesel Valve Sink Diesel Valve > Valve Regulator Sink T = 40 ms Air Valve The SaveComp Component Technology SaveCCM
24/05/2015Mikael Åkerholm, CBSE Course Abstract More Functionality Improve existing Functionality Lower price More Electronics With Software Software Crisis (1968): Error-Prone Late Expensive Promising, successful in the PC domain Component Technologies, target PC Applications Vehicular Software Different from PC Software Need Better Software Engineering Approaches! Component-Based Software Engineering SaveComp
24/05/2015Mikael Åkerholm, CBSE Course Vehicular Systems Software Charateristics Safety Reliability Resource efficiency Predictability Engineering Activities Targeting non general System Architecture Early Analysis Modelling Verification
24/05/2015Mikael Åkerholm, CBSE Course Design Goals Efficient Development: Utilization of CBSE advantages, that has proven successful in other domains. Predictable Behavior: Need to be able to apply analysis of important run- time attributes during design-time, e.g., Timing, Safety, Reliability, Application Size, Processor demands Run-Time Efficiency: Ideally enable CBSE without run-time cost
5 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
6 SaveCCT Technology Overview Repository
Mikael Åkerholm, SaveCCT lecture CBSE Course 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 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 SaveCCM Syntax: Switch Ports Setports determine active configuration Connection patterns For static or dynamic reconfiguration
10 SaveCCM Syntax: Assembly Ports Internal components and connections Encapsulation of a “subsystem”
Mikael Åkerholm, SaveCCT lecture CBSE Course SaveCCM Syntax: Composite Component Ports Internal components and connections Restricted behaviour, read-execute-write
24/05/ Compile-Time Overview Design- Time Component model Real-Time Analysis Real-time model Synthesis Compile- Time Model transformation Run- Time Target application RTOS t Task Allocation Attribute Assignment Analysis Glue Code Generation Target Compiler Component model RTOS Fully Automated Compile-Time Step
24/05/ Run-Time System Applications have no dependencies to operating systems, all operating system dependencies are automatically generated glue code, gives portable and reusable components Prototype: Win32 for Simulation with the CCSimTech simulation technique RTXC RTOS for target
24/05/ Road Signs Enabled Current Speed Road Sign Speed ACC Max Speed Distance ACC Enabled Brake Pedal Used > 50 Hz 10 Hz Brake Signal Throttle Brake Assist > Logger HMI Outputs > Object Recognition > Mode Switch > ACC Controller > Brake Assist ACC Max Speed ACC Application Speed Limit >
24/05/ SaveCCM Architectural Edtor
24/05/ Behavoural Edtor (UPPAAL PORT
24/05/ Simulation of the behaviour
24/05/2015Mikael Åkerholm, CBSE Course