Reconfigurable Embedded Control Systems: Problems and Solutions
Total Page:16
File Type:pdf, Size:1020Kb
RECONFIGURABLE EMBEDDED CONTROL SYSTEMS: PROBLEMS AND SOLUTIONS By Dr.rer.nat.Habil. Mohamed Khalgui ⃝c Copyright by Dr.rer.nat.Habil. Mohamed Khalgui, 2012 v Martin Luther University, Germany Research Manuscript for Habilitation Diploma in Computer Science 1. Reviewer: Prof.Dr. Hans-Michael Hanisch, Martin Luther University, Germany, 2. Reviewer: Prof.Dr. Georg Frey, Saarland University, Germany, 3. Reviewer: Prof.Dr. Wolf Zimmermann, Martin Luther University, Germany, Day of the defense: Monday January 23rd 2012, Table of Contents Table of Contents vi English Abstract x German Abstract xi English Keywords xii German Keywords xiii Acknowledgements xiv Dedicate xv 1 General Introduction 1 2 Embedded Architectures: Overview on Hardware and Operating Systems 3 2.1 Embedded Hardware Components . 3 2.1.1 Microcontrollers . 3 2.1.2 Digital Signal Processors (DSP): . 4 2.1.3 System on Chip (SoC): . 5 2.1.4 Programmable Logic Controllers (PLC): . 6 2.2 Real-Time Embedded Operating Systems (RTOS) . 8 2.2.1 QNX . 9 2.2.2 RTLinux . 9 2.2.3 VxWorks . 9 2.2.4 Windows CE . 10 2.3 Known Embedded Software Solutions . 11 2.3.1 Simple Control Loop . 12 2.3.2 Interrupt Controlled System . 12 2.3.3 Cooperative Multitasking . 12 2.3.4 Preemptive Multitasking or Multi-Threading . 12 2.3.5 Microkernels . 13 2.3.6 Monolithic Kernels . 13 2.3.7 Additional Software Components: . 13 2.4 Conclusion . 14 3 Embedded Systems: Overview on Software Components 15 3.1 Basic Concepts of Components . 15 3.2 Architecture Description Languages . 17 3.2.1 Acme Language . 17 3.2.2 Rapide Language . 17 vi vii 3.2.3 Wright Language . 18 3.2.4 Aesop Language . 18 3.2.5 Metah Language . 18 3.2.6 Architecture Analysis and Design Language . 18 3.2.7 Unicon Language . 19 3.2.8 Darwin Language . 19 3.3 Component-based Technologies . 19 3.3.1 Industrial Technology IEC61131 . 19 3.3.2 Industrial Technology IEC61499 . 20 3.3.3 Port Based Object Technology . 21 3.3.4 Koala Technology . 23 3.3.5 Pecos Technology . 23 3.3.6 Rubus Technology . 24 3.4 Conclusion . 25 4 Formalisms for Modelling and Verification of Embedded Systems 26 4.1 Petri nets . 26 4.2 NCES Formalism: Extension of Petri Net . 27 4.3 Temporal Logic . 28 4.3.1 Computation Tree Logic . 28 4.3.2 Extended Computation Tree Logic . 29 4.3.3 Timed Computation Tree Logic . 30 4.4 Conclusion . 30 5 Problems and Contributions 31 6 Reconfigurable Component-based Embedded Systems: New Motivations 33 6.1 Plant Formalization . 34 6.2 Control Components . 34 6.2.1 Formalization . 35 6.2.2 Specification . 35 6.3 Reconfigurable Systems: State of the Art . 35 6.4 New Reconfiguration Semantic . 36 6.5 Industrial Case Studies: Reconfiguration of Benchmark Production Systems FESTO and EnAS . 37 6.5.1 FESTO Manufacturing System . 37 6.5.2 EnAS Manufacturing System . 38 6.6 Reconfiguration Forms . 43 6.7 Conclusion . 45 7 Safety Multi-Agent Reconfigurable Architectures: Modelling And Verifi- cation 47 7.1 Introduction . 47 7.2 State of the Art . 48 7.2.1 Model Checking . 48 7.2.2 Multi-Agent Systems . 49 7.3 Contribution: Multi-Agent Architecture for Reconfigurable Embedded Con- trol Systems . 50 7.3.1 Reconfiguration in a Device . 51 7.3.2 Reconfiguration in a Distributed Architecture . 54 7.3.3 Implementation . 63 7.4 Contribution: NCES-based Modelling and SESA-Based Model Checking of Distributed Reconfigurable Embedded Systems . 64 7.4.1 NCES-Based Specification of a Reconfiguration Agent . 65 7.4.2 SESA-Based Model Checking in a Device . 66 7.4.3 SESA-Based Model Checking of the Coordination Agent . 69 viii 7.5 Contribution: Hierarchical Verification of Control Components . 73 7.5.1 Refinement-based Specification and Verification of a Network of Con- trol Components . 73 7.5.2 Generalization: Refinement-based Specification and Verification of a Reconfigurable System . 79 7.6 Application: Implementation of Multi-Agent Reconfigurable IEC61499 Systems 81 7.6.1 Implementation of Reconfiguration Agents . 83 7.6.2 Agent Interpreter . 83 7.6.3 Reconfiguration Engine . 85 7.6.4 Agent Converter . 85 7.6.5 Implementation of The Coordination Agent . 87 7.7 Conclusion . 89 7.8 References of the Chapter's Contributions . 90 8 Feasible Execution Models for Reconfigurable Real-Time Embedded Con- trol Systems 91 8.1 Introduction . 91 8.2 State of the Art . 92 8.3 Temporal Properties of Reconfigurable Embedded Control Systems . 93 8.4 Contribution: Formalization of Reconfigurable Embedded Control Systems 93 8.4.1 Action of Control Component . 94 8.4.2 Trace of Control Component . 95 8.5 Contribution: Verification and Assignment of Control Components to OS Tasks . 95 8.5.1 Verification and Pre-scheduling of a Container . 96 8.5.2 Verification of OS tasks for a Reconfiguration Scenario . 101 8.6 Generalization: Verification and Assignment of Reconfigurable Embedded Control Systems . 102 8.6.1 Algorithm . 103 8.6.2 Discussion . 104 8.7 conclusion . 104 8.8 References of the Chapter's Contributions . 105 9 Dynamic Low Power Reconfigurations of Real-Time Embedded Systems106 9.1 Introduction . 106 9.2 Related Works . 107 9.2.1 Reconfigurations of Embedded Systems . 107 9.2.2 Real-Time Scheduling . 108 9.2.3 Low Power Scheduling . 109 9.3 Formalization of Reconfigurable Real-Time Systems . 110 9.4 Power Consumption of Reconfigurable Embedded Real-Time Systems . 111 9.5 Contribution: Agent-based Architecture for Low Power Reconfigurations of Embedded Systems . 112 9.5.1 Modification of periods and deadlines . 113 9.5.2 Modification of WCETs . 113 9.5.3 Removal of Tasks . 114 9.6 Experimentation . 115 9.6.1 Implementation of the Reconfiguration Agent . 115 9.6.2 Simulations . 117 9.6.3 Analysis . 119 9.6.4 Advantages of the First Solution . 119 9.6.5 Application and Advantages of the Third Solution . 120 9.7 Conclusion . 121 9.8 References of the Chapter's Contributions . 121 ix 10 Simulation of Control Components implementing a Reconfiguration Sce- nario 126 10.1 Introduction . 126 10.2 Industrial Case Study . ..