Automatic software configuration: a model for service provisioning in dynamic and heterogeneous environments (2002)

Diese Dissertation behandelt drei fundamentalen Problemen, die im Umfeld von Ubiquitous Computing und Web-Diensten auftreten. Es handelt sich um HeterogenitÃ¤t sowie statische und dynamische Konfiguration. Das HeterogenitÃ¤tsproblem wird definiert und anhand von Beispielen in den Bereichen Anwendungen, Middleware, Kommunikation und Hardware illustriert. Anschliessend werden die heute verwendeten LÃ¶sungen prÃ¤sentiert. Das statische Konfigurationsproblem tritt vor allem wÃ¤hrend der Entwicklung und der Umsetzung von Software und Hardware auf. Im Bereich des Software-Engineering wird viel Forschung betrieben, welche zu Architekturbeschreibungssprachen und vielen Software- Konfigurations-Management-Werkzeugen gefÃ¼hrt hat. Das statische Konfigurationsproblem wird definiert und anhand von heutigen Werkzeugen beleuchtet. Weiter hat das Konfigurationsproblem auch einen dynamischen Aspekt, im Speziellen in Umgebungen wie Ubiquitous Computing wo die Konfiguration schnell Ã¤ndert oder dem Internet, wo neue Dienste tÃ¤glich aufgeschaltet werden oder verschwinden. Es wird eine Definition gegeben und es werden sowohl Software-Systeme, die fÃ¼r dynamische Umgebungen entwickelt wurden, als auch der Aspekt der dynamisch sich Ã¤ndernden Hardwarekonfiguration betrachtet. Als wichtigstes Resultat dieser Arbeit wird das COCA Model vorgestellt. Zudem werden die sieben Hauptelemente, welche das Design und die Entwicklung von Applikationen fÃ¼r heterogene und dynamische Umgebungen vereinfachen, eingefÃ¼hrt. Diese sieben Elemente sind: Ressourcen als die fundamentale Abstraktion innerhalb von COCA und die atomaren Einheiten, die manipuliert werden. Kontexte sind BehÃ¤lter, die Ressourcen enthalten und deren Zugriff sowie den Namensraum definieren. Klassifikatoren sind die Grundlage fÃ¼r die semantische Abstraktion und assoziieren Konzepte mit Ressourcen. Konzepte sind die semantische Abstraktion, die von den Klassifikatoren eingefÃ¼hrt werden und die Konstruktion von Ontologien erlauben. Ontologien bestehen aus Konzepten, die in Beziehung mit anderen Konzepten stehen. Zusammen mit einem Inferenzmechanismus erlauben sie eine erweiterte Semantik. Relationen werden verwendet um die erweiterte Semantik in Ontologien auszudrÃ¼cken. Aktionen behandeln den dynamischen Aspekt und erlauben die Transformation von Ressourcen zwischen Konzepten. Die Umsetzung von COCA erlaubt sowohl das automatische Konfigurieren von Software als auch des Adressieren durch Konzepte welches die Konstruktion von fehlertoleranten Systemen ermÃ¶glicht. COCA hilft nicht nur bei der Umsetzung von Software-Systemen, sondern unterstÃ¼tzt auch die Integration von objektorientierten Systemen, sowie funktionaler und logischer Programmierung. Autonome Agenten und das Entity-Relationship-Model finden eine Korrespondenz in COCA. Die VorgÃ¤nger von COCA werden zusammen mit drei Implementationen des Modells vorgestellt. Der Ubiquitous Computing Demonstrator ist die erste COCA-Umsetzung, die alle Elemente implementiert und einfache automatische Software-Konfiguration und das Adressieren durch Konzepte verwendet. Schliesslich wird das Modell mit einer Auswahl von Systemen verglichen, welche ein Ã¤hnliches Anwendungsgebiet wie COCA haben oder andere Gemeinsamkeiten aufweisen.