Verteilte Ausführung hybrider System-Modelle auf heterogenen Rechnerplattformen

Rico Dreier
2006
Kurzfassung Wachsende Komplexität und Verbreitung eingebetteter Systeme in der Automobilindustrie, aber zum Beispiel auch in der Luft-und Raumfahrttechnik, machen neue, angepasste Entwicklungsverfahren notwendig. Der Entwurf elektronischer Steuergeräte für Automobile erfolgt heute unter Einsatz leistungsfähiger CASE-Werkzeuge. Wichtige Voraussetzungen für den durchgängigen Entwurf sind dabei vor allem Code-Generatoren, aber auch der frühzeitige Einsatz eines geeigneten Echtzeit-Betriebssystems
more » ... uf dem Zielsystem zur Einhaltung zeitlicher Randbedingungen sowie eine Gesamtsystem-Simulation, damit Aussagen über Qualität und Kosten bereits in frühen Entwicklungsphasen möglich sind und die Markteinführungszeit verkürzt werden kann. Mit Hilfe der Simulation können Abläufe eines realen Systems anhand eines vereinfachten Modells untersucht und Erkenntnisse gewonnen werden, die Rückschlüsse auf das Verhalten des realen Systems zulassen. Der Grad an Übereinstimmung der Simulationsergebnisse mit dem tatsächlichen Verhalten des realen Systems hängt dabei entscheidend von der Genauigkeit ab, mit der das Modell relevante Aspekte der Realität nachbildet. Je umfangreicher und detaillierter das Modell ist, desto größer ist jedoch der Rechenaufwand für die Simulation. Darüber hinaus kann der Aufwand (zum Beispiel bei einer ereignisorientierten Simulation) nichtlinear mit der Modellgröße ansteigen, so dass selbst die schnellsten heutigen Rechner eine lange Ausführungszeit benötigen. Viele Systeme sind durch ausschließlich zeitkontinuierliche oder ausschließlich zeitdiskrete, zustandsbasierte Modelle nicht adäquat darstellbar, sondern nur durch hybride System-Modelle. Für eine Gesamtsystem-Simulation ist es aufgrund unverzichtbarer oder spezieller Eigenschaften von CASE-Werkzeugen (einschließlich integrierter Simulatoren), die auch das Zielsystem betreffen können, oftmals notwendig, unterschiedliche Werkzeuge zu verwenden und miteinander zu koppeln, um eine Co-Simulation durchführen zu können. Solche Eigenschaften sind neben bestimmten Modellierungsparadigmen die Verfügbarkeit von zum Entwurf benötigten oder bereits existierenden, getesteten Modell-Bibliotheken, in die CASE-Werkzeuge integrierte Seriencode-Generatoren für das Hardware-Zielsystem und einer Unterstützung bei der modellbasierten Integration eines bestimmten Echtzeit-Betriebssystems wie zum Beispiel OSEK © /VDX. Abhängig von den eingesetzten CASE-Werkzeugen und den Komponenten des Zielsystems kann eine verteilte Simulation auf einer heterogenen Rechnerplattform basieren, bestehend zum Beispiel aus PC-und Mikrocontroller-basierten Systemen. Dies gilt auch, wenn FPGAs Komponenten des Zielsystems sind oder als Mittel zur Simulationsbeschleunigung eingesetzt werden, so dass Teilsysteme durch Emulation auf FPGAs ausgeführt werden. Neben der Frage, wie die Markteinführungszeit verkürzt werden kann -nämlich durch Beschleunigung der modellbasierten Entwicklung eingebetteter elektronischer Systeme beim Einsatz heterogener Rechnerplattformen -einschließlich der Anwendung von Konzepten wie Hardware-in-the-Loop -stellt sich insbesondere auch die Problematik, wie sich Simulationsexperimente beschleunigen lassen. In der vorliegenden Arbeit wird zur Gesamtsystem-Validierung sowohl eine Kommunikations-Infrastruktur für eine Hardware-in-the-Loop-Simulation zum schrittweisen Testen der Funktionalität unterschiedlich weit entwickelter Systemkomponenten entwickelt -bei Verwendung der realen Zielplattform und des realen Bussystems (CAN) zur Erzielung praxisnaher Ergebnisse -als auch vorhandene Rapid-Prototyping-Systeme in ein Gesamtkonzept integriert. Dabei werden zentrale Eigenschaften verschiedener OSEK/VDX-Echtzeit-Betriebssysteme und kommerzieller Seriencode-Generatoren berücksichtigt, da sich die Eigenschaften der automatisch generierten Quellcodes und der Echtzeit-Betriebssysteme zum Teil erheblich unterscheiden, so dass sie sich nicht für alle Applikationen gleichermaßen gut eignen. Darüber hinaus werden als Alternativen zur Ausführungsbeschleunigung zeitdiskreter, zustandsbasierter sowie hybrider System-Modelle Hardware-Emulation (per FPGA), Parallelisierung (per Partitionierung und Co-Simulation) und effizientere Co-Simulationsverfahren (per optimistischer Synchronisation) untersucht. Dazu dient u. a. eine im Rahmen der Arbeit entwickelte Java-basierte, plattformunabhängige Co-Simulations-Umgebung, die heterogene Ausführungsumgebungen integriert (PC-, Mikrocontroller-und FPGA-basierte Systeme). Darin sind dedizierte Simulatoren für Logikschaltungen und Statecharts eingeschlossen, die optimistische Synchronisation unterstützen sowie ein Werkzeug zur automatischen Generierung von VHDL-Code aus Statecharts zur Konfiguration von FPGAs. Als Voraussetzung für eine verteilte Simulation resultiert ausgehend von Partitionierungsverfahren für Logikschaltungen ein Konzept zur Partitionierung von Statecharts. Weiterhin wird ein existierendes, auf optimistischen Synchronisationsalgorithmen basierendes Verfahren zur verteilten Simulation hybrider System-Modelle verbessert, so dass der Kommunikationsaufwand zwischen den einzelnen Partitionen wesentlich reduziert wird. Abstract Distributed Execution of Hybrid System Models on Heterogeneous Computer Platforms Growing complexity and popularity of distributed systems in automotive as well as in aerospace industries require new, adapted design techniques. The design of electronic control units for automobiles is done today using powerful CASE tools. Important prerequisites for a seamless design flow are code generators as well as the early usage of an adequate real time operating system on the target system in order to meet time constraints and to simulate the complete system for predictions on the quality and the costs in early design phases; thus speeding up the product launch. Through simulation, the operation sequences of a real system can be studied on a simplified model to provide an insight into the behavior of the real system. The degree in which the simulation results comply with the actual behavior of the real system greatly depends on how exactly the model represents relevant aspects of the reality. The larger and more detailed the model is, the more complex are the calculations of the simulation. In addition to that, the computing complexity of an event based simulation may grow non-linearly with model size, so that even the most powerful computers of today require a long execution time. Many systems cannot be adequately described with explicitly time-continuous or explicitly time-discrete, state based models, but only with hybrid system models. For a simulation of the complete system it is often necessary to use and link different tools with each other to carry out a co-simulation, because of essential or otherwise special properties of CASE tools (including integrated simulators), which possibly concern the target system as well. Such properties are, among certain modeling paradigms, e. g., the availability of model libraries necessary for the design or already existent and tested libraries, of production code generators integrated into the CASE tools for the hardware target system, and of support for the model-based integration of a certain real time operating system like OSEK © /VDX. Depending on the CASE tools deployed and the components of the target system, a distributed simulation may be based upon a heterogeneous computer platform. The platform may consist of, for example, PC and microcontroller based systems. It may also include reconfigurable hardware (FPGAs) as a part of the target system or as an emulator accelerating the simulation of a subsystem. Along with the issue of how to speed up the product launch through quicker model-based design of embedded electronic systems when using heterogeneous computer platforms, including the usage of concepts like hardware-in-the-loop, the issue of how to accelerate simulation experiments must also be considered. In the following, for a complete system validation, both a communication infrastructure for a hardware-in-the-loop simulation is developed to stepwise test the functionality of system components in different states of design -using the actual target platform and the real bus system (CAN) to achieve practical results -and already existing rapid prototyping systems are integrated into the over-all concept. Here the central properties of different OSEK/VDX real time operating systems and commercial production code generators are regarded, as the properties of the automatically generated source codes and of the real time operating systems differ in part substantially from each other, so that they are not equally suited for all applications. Furthermore, hardware emulation (with FPGAs), parallelization (through partitioning and co-simulation) and more efficient co-simulation methods (through optimistic synchronization) are examined as alternatives to speeding-up the execution of time dis-crete, state based and hybrid system models. This is exemplary validated using a Java based, platform independent co-simulation environment to integrate heterogeneous execution environments (PC-, microcontroller-and FPGA-based systems), developed in the course of the dissertation. Dedicated simulators for logical circuits and Statecharts are included, supporting optimistic synchronization, as well as a tool for automatically generating VHDL code out of Statecharts to configure FPGAs. Starting from partitioning techniques for logical circuits, a concept for partitioning Statecharts results as a prerequisite for a distributed simulation. Furthermore, an already existing method for distributed simulation of hybrid system models, based on optimistic synchronization algorithms, is improved, so that the communication costs between the individual partitions are considerably reduced. Danksagung Die vorliegende Arbeit entstand während meiner Tätigkeit als wissenschaftlicher Mitarbeiter am FZI Forschungszentrum Informatik an der Universität Karlsruhe im Forschungsbereich Elektronische Systeme und Mikrosysteme (ESM). Mein besonderer Dank gilt Herrn Prof. Dr.-Ing. Klaus D. Müller-Glaser, der diese Arbeit ermöglichte und dessen konstruktive Kritik, wertvolle fachliche Anregungen und Unterstützung während der gesamten Bearbeitungszeit wesentlich zum Gelingen der vorliegenden Arbeit beigetragen haben. In gleicher Weise gilt mein Dank Herrn Prof. Dr.-Ing. Jörg Henkel für die freundliche Übernahme des Zweitgutachtens. Meinen Kollegen danke ich für die angenehme kollegiale Zusammenarbeit bei der täglichen Projektarbeit -allen voran Thomas Stingl für die nicht nur fachlich interessanten Diskussionen -und meinem ehemaligen Abteilungsleiter Stefan Schmerler für die Vorarbeiten bei ESM im Bereich verteilter Simulation, aus denen sich zahlreiche Anregungen für die vorliegende Arbeit ergaben. Für die Zubilligung des notwendigen Freiraums zur Entwicklung eines eigenen wissenschaftlichen Forschungsthemas und die in den späteren Phasen der wissenschaftlichen Arbeit gewährten Freiräume gilt mein Dank meinen ehemaligen Abteilungsleitern Markus Kühl und Eric Sax. Wesentliche Unterstützung bei der Realisierung der hier vorgestellten Arbeit verdanke ich meinen Kollegen, insbesondere Gerd Frick für die gemeinsamen Diskussionen über die Inhalte der Arbeit, die mir auf vielfältige Weise geholfen haben sowie "meinen" studentischen Mitarbeitern, vor allem Georg Wendt und Amir Bukhari, die mir bei den Implementierungsarbeiten, zahlreichen Messreihen und Erprobungen von Ideen mit großem Engagement zur Seite standen.
doi:10.5445/ir/1000004575 fatcat:beubrbpx6nfx3oyh6acnpz25dm