180 likes | 408 Views
<<AutoComp>>. <<AutoComp>>. Sink. Sink. T = 40 ms. Valve Regulator. Power Supervison. Source. Diesel Valve. Desired Output level. Diesel Valve. Air Valve. Air Valve. SaveCCM. The SaveComp Component Technology. Abstract. More Functionality Improve existing Functionality
E N D
<<AutoComp>> <<AutoComp>> Sink Sink T = 40 ms Valve Regulator Power Supervison Source Diesel Valve Desired Output level Diesel Valve Air Valve Air Valve SaveCCM The SaveComp Component Technology
Abstract 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 SaveComp Mikael Åkerholm, CBSE Course 2005
Vehicular Systems • Software Charateristics • Safety • Reliability • Resource efficiency • Predictability • Engineering Activities • Targeting non general System Architecture • Early Analysis • Modelling • Verification Mikael Åkerholm, CBSE Course 2005
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 Mikael Åkerholm, CBSE Course 2005
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
SaveCCT Technology Overview Repository
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
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
SaveCCM Syntax:Switch • Ports • Setports determine active configuration • Connection patterns • For static or dynamic reconfiguration Mikael Åkerholm, SaveCCT lecture CBSE Course 2007
SaveCCM Syntax:Assembly • Ports • Internal components and connections • Encapsulation of a “subsystem”
SaveCCM Syntax:Composite Component • Ports • Internal components and connections • Restricted behaviour, read-execute-write Mikael Åkerholm, SaveCCT lecture CBSE Course 2007
Compile-Time Overview Design - Component model Time Component model Target application Run - Time RTOS Fully Automated Compile-Time Step Task Allocation Attribute Assignment Model transformation Analysis Compile - Real - time model Time t Glue Code Generation Real - Time Synthesis Analysis Target Compiler RTOS RTOS
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
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