Hardware-in-the-loop simulation framework

Embeddedcontrol Systems ECSs are becomingmore and more present around us. Compared to usual Computer programmingimplementationsthey haveadded problems like robustness,code efficiency, code compactnessand safetywhichmake themdifficultto implement. Moreover,such Systemsare often used in criticaland hazardousapplicationswhere a precise and methodological implementationis mandatory.Most ECSs are thereforevery conservative in their implementation and the development costs are much bigger than for usual Computer programs. Moreover, it is difficult to replace or correctSoftware errors after shipping, and consequentlythe ability to test such Systems methodologically before shipping is very important. In this thesis we examine a new approach for testing embedded Systems based on temporal logic and fault generation. We added those features to a generic Hardware-in-the-loop(HIL) frameworkwhich enables a simpler implementationof application specific HIL Simulators. To prove the feasibility of our approachwe applied it to the testing of twovery different applications, a model helicopter controlledby a customized ECS, and a hydro-powerplantbarrage controlled by a small ECS. Our contribution to the field includes a novel approach for specifying fault sequences and the correspondingresponseof the embedded control system under test. Due to this addition to the HIL Simulator, we are able to test more systematically embedded Systems for their safety and robustness in hazardousor critical situations.

[1]  Erich Gamma,et al.  ET++—a portable, homogeneous class library and application framework , 1995 .

[2]  Lawrence E. Holloway,et al.  Fault detection and diagnosis in manufacturing systems: a behavioral model approach , 1990, [1990] Proceedings. Rensselaer's Second International Conference on Computer Integrated Manufacturing.

[3]  Rolf Isermann,et al.  Hardware-in-the-loop simulation for the design and testing of engine-control systems , 1998 .

[4]  M. A. Mnich,et al.  Minimum-complexity helicopter simulation math model , 1988 .

[5]  Erwin Ewald Oertli Switcherland - A scalable computer architecture with support for continuous data types , 2001 .

[6]  Hans Eberle Tools for digital circuit design using FPGAs , 1994 .

[7]  Niklaus Wirth Lola system notes , 1995 .

[8]  P.D.T. O'Connor Neglect testing at your peril , 2001 .

[9]  Tom Davis,et al.  Opengl programming guide: the official guide to learning opengl , 1993 .

[10]  Rajeev Alur,et al.  Timed Automata , 1999, CAV.

[11]  Hermann Kopetz,et al.  The non-blocking write protocol NBW: A solution to a real-time synchronization problem , 1993, 1993 Proceedings Real-Time Systems Symposium.

[12]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[13]  Christopher A. Ganz Visual aspects of computer aided control systems design , 1995, IFA publication.

[14]  Niklaus Wirth,et al.  Tasks versus Threads: An Alternative Multiprocessing Paradigm , 1996, Softw. Concepts Tools.

[15]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[16]  Stephan Walter Gehring An integrated framework for structured circuit design with field-programmable gate arrays , 1997 .

[17]  Lawrence E. Holloway,et al.  Template languages for fault monitoring of timed discrete event processes , 2000, IEEE Trans. Autom. Control..

[18]  S. Balemi Control of discrete event systems , 1992 .

[19]  Fausto Giunchiglia,et al.  Improved Automata Generation for Linear Temporal Logic , 1999, CAV.

[20]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[21]  Christian Walter Frei,et al.  Fault tolerant control concepts applied to anesthesia , 2000 .

[22]  C. A. R. Hoare Programs are predicates , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[23]  Erwin Engeler,et al.  Berechnungstheorie für Informatiker , 1988, Leitfäden und Monographien der Informatik.

[24]  Michael Wolfe,et al.  J+ = J , 1994, ACM SIGPLAN Notices.

[25]  Wolfgang Pree,et al.  Two Novel Concepts for systematic product line development , 2000, SPLC.

[26]  Daniel P. Schrage,et al.  An open platform for reconfigurable control , 2001 .

[27]  A. Willsky,et al.  Analytical redundancy and the design of robust failure detection systems , 1984 .

[28]  Bruce P. Douglass,et al.  Doing hard time: developing real-time systems with uml , 1999 .

[29]  Lennart Ljung,et al.  System Identification: Theory for the User , 1987 .

[30]  Marco Aurelio Antonio Sanvido,et al.  A computer system for model helicopter flight control , 1999 .

[31]  Thomas A. Henzinger,et al.  It's About Time: Real-Time Logics Reviewed , 1998, CONCUR.

[32]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[33]  Niklaus Wirth,et al.  Toward a discipline of real-time programming , 1977, CACM.

[34]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[35]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[36]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[37]  Wolfgang Pree,et al.  Embedded Software Market Transformation through Reusable Frameworks , 2001, EMSOFT.

[38]  Hermann Kopetz,et al.  Dependability: Basic Concepts and Terminology , 1992 .

[39]  Thomas A. Henzinger,et al.  Giotto: a time-triggered language for embedded programming , 2001, Proc. IEEE.

[40]  Markus Kottmann Software for model helicopter flight control , 1999 .

[41]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[42]  Andrzej Szałas,et al.  Time and Logic: A Computational Approach , 1995 .

[43]  Doron Drusinsky,et al.  The Temporal Rover and the ATG Rover , 2000, SPIN.

[44]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[45]  Pierre Wolper,et al.  Simple on-the-fly automatic verification of linear temporal logic , 1995, PSTV.

[46]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[47]  Ralph E. Johnson,et al.  Frameworks = (components + patterns) , 1997, CACM.

[48]  C. A. R. Hoare,et al.  Monitors: an operating system structuring concept , 1974, CACM.

[49]  T. Zwartbol,et al.  From simulations to operations: Developments in Test and Verification Equipment for Spacecraft , 2000 .

[50]  Niklaus Wirth A computer system for model helicopter flight control: technical memo Nr. 6: the Oberon compiler for the strong-ARM processor , 1999 .

[51]  Josef Templ,et al.  On the linearization of graphs and writing symbol files , 1991 .

[52]  Douglas C. Schmidt,et al.  Building application frameworks: object-oriented foundations of framework design , 1999 .

[53]  Jürgen Teich,et al.  Digitale Hardware/Software-Systeme - Synthese und Optimierung , 1997 .

[54]  Thomas A. Henzinger Masaccio: A Formal Model for Embedded Components , 2000, IFIP TCS.

[55]  S. Balemi,et al.  On Supervision of Concurrent Real-Time Processes, Report 1992.07 , 1992 .

[56]  Edward A. Lee Embedded Software — An Agenda for Research , 1999 .

[57]  W. Schaufelberger,et al.  TESTING EMBEDDED CONTROL SYSTEMS USING HARDWARE-IN-THE-LOOP SIMULATION AND TEMPORAL LOGIC , 2002 .

[58]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.