300 likes | 616 Views
Fachgebiet Programmiermethodik. Lehrstuhl für Software & Systems Engineering. A Configuration Approach for IMA Systems. Visar Januzaj , Stefan Kugele, Florian Biechele and Ralf Mauersberger. SEFM ´12 10 th International Conference on Software Engineering and Formal Methods
E N D
Fachgebiet Programmiermethodik Lehrstuhlfür Software & Systems Engineering A Configuration Approach for IMA Systems Visar Januzaj, Stefan Kugele, Florian Biechele and Ralf Mauersberger SEFM ´12 10th International Conference on Software Engineering and Formal Methods 01 – 05 October 2012, Thessaloniki, Greece
Avionics Systems • Implemented as federated systems: • a processor for each function • unique design of hardware types • separate buses for each connection/communication • favourable effects for fault containment • The progressive growth of the complexity of Avionics Systems has its impact on: • Weight • Size/Space/Packaging • Costs 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 2 / 23
Avionics Systems • Applied on A 380 • Cost reduction • Neither Airbus nor Boeing • have 100% switched to IMA • The IMA methodology needs • further investigation Integrated Modular Avionics (IMA) kg • Avionics Systems are defined as integrated systems with multiple • applications hosted on a cabinet of processors • Facilitating the reusability of function units 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 3 / 23
Concept for IMA/ASAAC systems modelling System configurations for IMA/ASAAC systems (mapping/binding SW to HW) System designer controlled configuration calculation Goal Software Which is the final binding? APP APP APP APP APP Hardware 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 4 / 23
ASAAC Allied Standard Avionics Architecture Council (ASAAC) • NATO Standardization Agreement STANAG 4626 • European Standard EN 4660 AC AC = Aircraft Level IA = Integration Area Level RE = Resource Element Level IA IA Health monitoring Fault management Configuration management RE ASAAC system (management) hierarchy 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 5 / 23
Understand the Hierarchy • Applications • Processes APP APP APP • Threads APP APP T T P P mem AC T IA IA • Modules (CFMs) • Processors • Memory RE ASAAC system (management) hierarchy 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 6 / 23
Data Model • Module • osType • CFM_Type • memoryCapacity Processor • Application • requiredOS • Process • CFM_Type • requiredMemory • Thread • deadline • period • wcet • activeInModes * * * 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 7 / 23
system AC properties ASAAC_Properties::Elem_Type => AC; end AC; systemimplementationAC.impl subcomponents IA1: system IA1.impl; RE1: system RE1.impl; Platform: systemResource::Platform.impl; endAC.impl; system IA properties ASAAC_Properties::Elem_Type => IA; end IA; systemimplementation IA1.impl RE2: systemRE.impl; APP: systemApplication::Application.impl; end IA1.impl; system RE properties ASAAC_Properties::Elem_Type => RE; end RE; systemimplementation RE1.impl subcomponents Module: systemResource::CFM.SPM; end RE1.impl; system CFM … properties ASAAC_Properties::Elem_Type => MODULE; end CFM; systemimplementationCFM.impl subcomponents PE1: processor CFM_PE.CPU1; PE2: processor CFM_PE.CPU2; MEM: memoryMemory.impl; endCFM.impl; systemimplementation CFM.SPM extendsCFM.impl properties ASAAC_Properties::CFM_Type => SPM; ASAAC_Properties::OS_Type => LynxOS; end CFM.SPM; processorimplementation CFM_PE.CPU1 end CFM_PE.CPU1; memoryPE_Memory endPE_Memory; memoryimplementationMemory.impl properties ASAAC_Properties::Memory_Size => 512 MB; endMemory.impl; Blueprints in AADL systemApplication … properties ASAAC_Properties::Elem_Type => APPLICATION; endApplication; systemimplementationApplication.impl subcomponents P1: process P1.impl; … properties ASAAC_Properties::Required_OS_Type => LynxOS; endApplication.impl; processimplementation P1.impl … subcomponents GPthread: thread Thread.GP in modes (GP); TOthread: thread Thread.TO in modes (TO); properties ASAAC_Properties::Required_CFM_Type => SPM; ASAAC_Properties::Required_Memory_Size => 1 MB; end P1.impl; threadimplementation Thread.GP properties Compute_Execution_Time => 1ms .. 1ms in binding(Resource::CFM.PE1); Compute_Execution_Time => 2ms .. 2ms in binding(Resource::CFM.PE2); Deadline => 3ms; Period => 3ms; end Thread.GP; Application All software components and their demands. Resource All hardware components of the system platform. Composition The composition of components in Application and Resource blueprint (AC, IAs, and REs). System Extends the Composition blueprint with system allocations and reconfigurations. 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 8 / 23
Configuration Process packageSystem_Blueprint public system AC extendsComposition::AC end AC; systemimplementationAC.impl extendsComposition::AC modes Initial_Config: initialmode; properties -- Allocations in theinitalmode Actual_Processor_Binding => reference Platform.ModuleSPM.PE1appliestoIA1.APP.P1.GPthread in modes(Initial_Config); Actual_Processor_Binding => reference Platform.ModuleSPM.PE1 appliesto IA1.APP.P1.TOthread in modes(Initial_Config); … endAC.impl; endSystem_Blueprint; Application Resource Composition System Read blueprints Input parameters Schedulable configurations Schedulable configurations Schedulable configurations Schedulable configurations Chosen configuration Schedulable configurations Ranked schedulable configurations Configuration computation Configuration ranking 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 9 / 23
Configuration Computation Computation is performed on following stages: • Design space reduction (static) • Encoding/Solving (SMT formulae) Software APP APP APP APP APP APP APP APP APP APP Φ Reduction Encoding Hardware 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 10 / 23
Design Space Reduction Reduction due to: • Topological constraints • Compatibility constraints - requiredOS - CFM_Type - requiredMemory APP - osType - CFM_Type - memoryCapacity 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 11 / 23
Design Space Reduction Reduction due to: • Topological constraints • Compatibility constraints APP 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 12 / 23
Design Space Reduction Reduction due to: • Topological constraints • Compatibility constraintse.g. non-compatible OS type or CFM type APP 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 13 / 23
Design Space Reduction Reduction due to: • Topological constraints • Compatibility constraintse.g. non-compatible OS type or CFM type For the remaining possibilitiesthe design space is explored using SMT solvers APP 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 14 / 23
Encoding Φ The following constraints have to be satisfied in order to obtain a feasible configuration, i.e., mapping of threads onto processors: • Each thread shall only be allocated to exactly one processor. • All threads of a process shall be allocated to the same processor. • All threads allocated to a processor shall not exceed the available memory of the parent module. • Each processor utilisation U(p)shall not exceed the limit given by the scheduling algorithm (EDF, RMS). n = # threads m = # CPUs t – thread c – CPU 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 15 / 23
Design Space Exploration Iterative Configuration Enumeration Γ= ∅// set of configurations while ∃configuration γsatisfying Φdo compute γΓ ⟵ Γ ∪ {γ}// add the found config. to the set of all confs. Φ ⟵ Φ∧ ¬γ// add a conflict constraint od return Γ CPU1 CPU2 CPU3 Utilisation Utilisation CPU1 CPU2 CPU3 U(p) *factor 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 16 / 23
Reconfigurations The flexibility of IMA/ASAAC systems supports fault tolerance by means of the reconfigurationconcept. Reconfiguration: The transition of a system at run time from one configuration to another (at design time calculated) configuration as a result of an (error) event. Software P P T T T P P P Hardware 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 17 / 23
packageSystem_Blueprint public system AC extendsComposition::AC end AC; systemimplementationAC.impl extendsComposition::AC modes Initial_Config: initialmode; Reconfig_1a: mode ; Reconfig_1b: mode ; Reconfig_2: mode ; Initial_Config-[ ErrorPattern1 ]-> Reconfig_1a; Reconfig_1a -[ ErrorPattern2 ]-> Reconfig_1b; Initial_Config-[ ErrorPattern3 ]-> Reconfig_2; properties -- Initial allocations Actual_Processor_Binding => reference Platform.ModuleSPM.PE1appliestoIA1.APP.P1.GPthread in modes(Initial_Config); Actual_Processor_Binding => reference Platform.ModuleSPM.PE1 appliesto IA1.APP.P1.TOthread in modes(Initial_Config); -- Reconfigurationallocations Actual_Processor_Binding => reference Platform.ModuleSPM.PE2appliestoIA1.APP.P1.GPthread in modes(Reconfig_1a); Actual_Processor_Binding => reference Platform.ModuleSPM.PE2 appliesto IA1.APP.P1.TOthread in modes(Reconfig_1a); … endAC.impl; endSystem_Blueprint; Reconfiguration Process Application Resource Composition System Schedulable configurations Schedulable configurations Schedulable configurations Schedulable configurations Schedulable configurations Ranked schedulable configurations Chosen configuration Configuration computation Configuration ranking Reconfiguration 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 18 / 23
Modes The benefit of considering modes is twofold: • efficient resource usage • more feasible configurations TO Statemachine Software U(p) U(p,mode) wcetperiodmode AL T1 1ms 2ms T2 1ms 2ms CPU 1 1 T1 T2 T3 Hardware P Modes: TO – take off AL – automaticlanding 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 19 / 23
Modes The benefit of considering modes is twofold: • efficient resource usage • more feasible configurations TO Statemachine Software U(p) U(p,mode) wcetperiodmode AL T1 1ms 2ms T2 1ms 2ms CPU 1 1 CPU 1 0,5 T1 T2 T3 Hardware P Modes: TO – take off AL – automaticlanding 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 20 / 23
Modes The benefit of considering modes is twofold: • efficient resource usage • more feasible configurations TO Statemachine Software U(p) U(p,mode) wcetperiodmode AL T1 1ms 2ms T2 1ms 2ms T3 1ms 2ms CPU 1 1 CPU 1 0,5 CPU 1,5 0,5 / 1 T1 T2 T3 Hardware P Modes: TO – take off AL – automaticlanding 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 21 / 23
Modes The benefit of considering modes is twofold: • efficient resource usage • more feasible configurations factor CPU1 CPU2 CPU3 Utilisation Utilisation CPU1 CPU2 CPU3 AC= 1, IAs = 2, REs = 6, APPs = 12, Threads = 32 and CPUs = 6 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 22 / 23
Conclusion • Scheduling plan • Modelling • Flexibility • Schedulability • Modes • Stability • OSATE plugin Schedulable configurations Schedulable configurations Schedulable configurations Schedulable configurations Schedulable configurations Ranked schedulable configurations Configuration computation Configuration ranking Reconfiguration 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 23 / 23
The End Thank you! 3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 24 / 23
3. Oktober 2012 | TU Darmstadt | Fachbereich Informatik | Visar Januzaj , Stefan Kugele, F. Biechele and R. Mauersberger | 25 / 20