Project Details
Projekt Print View

Actor-Oriented Synthesis and Optimization of Digital Hardware/Software Systems at System-Level

Subject Area Computer Architecture, Embedded and Massively Parallel Systems
Term from 2009 to 2016
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 101967358
 
Final Report Year 2016

Final Report Abstract

Eingebettete Systeme sind aus unserem täglichen Leben nicht mehr wegzudenken. Es handelt sich hierbei um spezialisierte Rechensysteme, die in Bereichen der Industrieautomatisierung, Transportwesen, Medizintechnik, Consumer-Elektronik und vielen mehr zu finden sind. Aufgrund ihrer Spezialisierung werden diese Systeme oftmals als digitales Hardware/Software-Systeme realisiert, also aus interagierenden Hardware- und Software-Komponenten. Bedingt durch die steigende Komplexität dieser Systeme ist deren Entwicklung auf unteren Abstraktionsebenen heutzutage zu zeitaufwändig, weshalb neue automatisierte Entwurfsverfahren auf Systemebene ansetzen müssen. Während Entwurfsverfahren für Hardware und Software auf niedrigeren Abstraktionsebenen mittlerweile weitgehend automatisiert sind, fehlt es nach wie vor an entsprechenden Verfahren für eingebettete Systeme auf Systemebene. Dies ist umso bedenklicher, da die Mehrheit aller Entscheidungen, welche auf dieser Ebene getroffen werden, einen enormen Einfluss auf die Qualität der entwickelten Implementierung haben. Schlimmer noch, Fehlentscheidungen lassen sich in späteren Entwurfsphasen nicht mehr mit vertretbarem Aufwand revidieren. Ohne automatisierte Entwurfsverfahren auf Systemebene wird es kaum gelingen, alternative Entwurfsentscheidungen frühzeitig zu antizipieren, um die Entwurfsqualität nachhaltig zu verbessern. Aus diesem Grund wurden im AEOS-Projekt neuartige Methoden zum automatischen Entwurf und Optimierung von eingebetteten digitalen Hardware/Software-Systemen auf der Systemebene konzipiert und untersucht. Durch die entwickelten Methoden ist es möglich, unterschiedliche, aber dennoch optimale Hardware/Software-Lösungen identifizieren zu können. Ausgangspunkt aller Untersuchungen war eine Modellierung der zu realisierenden Anwendung aus kommunizierenden Tasks, die selbstständig ihre Ausführung steuern können, sog. Aktoren. Mit diesem Aktororientierten Ansatz ist es möglich, sowohl die Implementierungsform jedes Aktors (Task) als Hardware- oder Softwarekomponenten als auch die entsprechende Kommunikationsform (Software/Software-, Hardware/Hardware- oder Hardware/Software-Kommunikation) zu wählen. In einer Entwurfsraumexploration erfolgt die Optimierung dieser Aufteilung. Um die Anwendbarkeit im industriellen Umfeld zu ermöglichen, erfolgte zuvor eine sprachbasierte Umsetzung des formalen Modells in einer C++-basierten Systembeschreibungssprache. Schwerpunkte innerhalb des AEOS-Projekts lagen auf Methoden zur Generierung von (1) Software, (2) Hardware und (3) Kommunikationsstrukturen aus Aktororientierten Modellen. Dabei wurde insbesondere darauf geachtet, dass existierende Entwurfswerkzeuge für tiefere Abstraktionsebenen angebunden werden können. Somit konnte sich die Forschung alleinig auf die wichtigen Fragestellungen zum Entwurf auf der Systemebene konzentrieren. Im Bereich der Softwaresynthese konnten hier neuartige Transformationen konzipiert und untersucht werden, die es erlauben, den Overhead bei der Ablaufplanung auf den besonders wichtigen Multi-Core-Prozessoren zu reduzieren und somit die Performance der Software steigern. Die grundlegende Idee hierbei ist, zunachst Aktoren mit statischem Kommunikationsverhalten zu identifizieren und diese zu einem größeren Verbundaktor zusammenzufassen. Hierbei können die zusammengefassten Aktoren quasi-statisch geplant und somit die Anzahl dynamischer Planungsentscheidungen reduziert werden. Im Bereich der Hardwaresynthese wurden Verfahren zur effizienten Umsetzung von Aktoren oder Gruppen von Aktoren in Hardware untersucht. Wichtige Ergebnisse konnten auf dem Gebiet des Cachings von Daten und des Ressourcen-Sharings erzielt werden. In der zweiten Projektphase wurden außerdem die Methoden des domänenspezifischen Clusterings, die in der ersten Phase für die Softwaresynthese entwickelt wurden, auf den Hardwareentwurf übertragen. Die entwickelten Verfahren zur Kommunikationssynthese basieren auf einem Bibliotheksansatz, der aufgrund der klaren Semantik der Aktor-Aktor-Kommunikation möglich ist. Eine besondere Herausforderung stellte die Unterstützung von Multi-Hop-Kommunikation dar, die mittels symbolischer Techniken in der Entwurfsraumexploration gelöst wurden. In der zweiten Phase erfolgte schließlich auch die Integration der entwickelten Clustering-Techniken in die Entwurfsexploration, um diese neuartige Transformation auch umfänglich in der Systemsynthese zu unterstützen. Innerhalb des AEOS-Projekts sind international sichtbare Forschungsbeiträge im Bereich des Entwurfs eingebetteter Systeme entstanden.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung