Kaiserslautern - Fachbereich Informatik
Refine
Document Type
- Doctoral Thesis (1)
- Study Thesis (1)
Has Fulltext
- yes (2)
Keywords
- Software (2) (remove)
Faculty / Organisational entity
Embedded systems are becoming more and more important in today’s life in many ways. They can be found in dishwashers, mobile phones, coffee machines, PDAs, etc. Although there is no common definition of what an embedded system is, it can be generally defined as a special-purpose information processing system, containing both: software and hardware. Embedded systems are integrated in a larger systems which interact with environment for achieving a set of predefined tasks or applications. In general, embedded systems are characterized by resources scarcity, among which energy is becoming more and more important (especially the energy consumed by the processor). The energy consumed by an embedded system is strongly influenced by the software running on it (the embedded software). That is why it is crucial to explore the software characteristics that have an influence on the energy consumption, and to understand how this influence could be represented. In order to realize this task, there is a need for the construction of a reliable measurement platform for energy consumption by embedded devices. The target of this work is to design and implement a framework for measuring energy consumption of embedded software. This framework is based on the XScale architecture, a popular Intel platform designed for energy aware applications. The framework has a software repository which contains a number of programs (user-defined) that are supposed to run on the mentioned platform. These program codes are the input of the framework. Automated measurements for energy consumption are performed on all programs for gathering the required information. In the context of this work, a first evaluation of the framework was performed to make an initial check its quality.
In dieser Arbeit wird gezeigt, wie durch eine Automatisierung von Software-Entwicklungsaktivitäten sowohl Effizienz- als auch Qualitätsgewinne erzielt und komplexe Aktivitäten beherrschbar gemacht werden können. Dazu wird zunächst eine solide Basis für eine modellbasierte Software-Entwicklung geschaffen. Nach der Identifikation der Probleme der bisher üblicherweise eingesetzten Metamodellierung wird eine verbesserte Multiebenenmodellierung vorgeschlagen, welche die explizite Angabe der Instanziierbarkeit (Tiefe und Automatismus der Instanziierung) der Modellelemente erlaubt und damit eine deutliche Vereinfachung und bessere Verständlichkeit der Metamodelle ermöglicht. Zur operationalen Beschreibung von Modelltransformationen im Kontext dieser Multiebenenmodellierung wird sodann die Aktionssprache AL++ konzipiert. Insbesondere durch die Einführung von Sprachelementen für die Handhabung von Relationen und Attributen und die Aufnahme von Reflexionskonstrukten in die Sprache AL++ werden Transformationen kompakt und generisch beschreibbar. Anwendung finden diese Ansätze in der modellbasierten Entwicklung reaktiver Systeme. Dazu wird eine existierende Entwicklungsmethode erweitert, um eine durchgängige Automatisierung realisieren zu können. Die wichtigste Erweiterung ist dabei die modifizierte Automatenmodellierung, bei welcher erweiterte Endliche Automaten durch die Komposition getrennt modellierter Zustandsübergänge spezifiziert werden, was eine eindeutige Verfolgbarkeit zu den Anforderungen erlaubt. Eingesetzt werden obige Techniken für die statische Analyse von Spezifikationen, wobei insbesondere die automatische Detektion von Feature-Interaktionen (also die Feststellung kritischer Wechselwirkungen zwischen Produktmerkmalen) in dieser Form erstmalig für den Bereich der reaktiven Systeme durchgeführt wird. Daneben werden automatisierte dynamische Analysen auf der Basis generierter Prototypen betrachtet. Die Analyseergebnisse können automatisiert für die Modifikation und Neukonstruktion der Prototypen genutzt werden, womit Software-Entwicklungsexperimente vollständig in einem „virtuellen Labor“ durchgeführt werden können. Wichtigstes experimentelles Ergebnis ist, dass eine statische Parametrisierung einer „intelligenten“ Temperaturregelung möglich ist und daher eine Reduktion der notwendigen Produktmerkmale (und damit der Komplexität) erreicht werden kann. In Fallstudien wird am Ende der Arbeit nachgewiesen, dass alleine durch die automatische Erzeugung von Entwicklungsdokumenten und die konsistente Änderung vorhergehender Dokumente durch die in dieser Arbeit implementierten Werkzeuge ein Effizienzgewinn von 54 % erreicht werden kann. Die Erstellung der eingesetzten Werkzeuge hätte sich dabei bereits nach zwei ähnlichen Projekten bezahlt gemacht.