Editorial Cuvillier

Publicaciones, tesis doctorales, capacitaciónes para acceder a una cátedra de universidad & prospectos.
Su editorial internacional especializado en ciencias y economia

Editorial Cuvillier

De En Es
Architektur Komponenten-basierter Systeme mit Loom

Impresion
EUR 29,00 EUR 27,55

E-Book
EUR 20,30

Architektur Komponenten-basierter Systeme mit Loom (Tienda española)

Aspekte, Muster, Werkzeuge

Wolfgang Schult (Autor)

Eine gute Modularisierung von Software ist die Grundvoraussetzung für eine verteilte Anwendungsentwicklung. Das wurde bereits von Parnas (1972) beschrieben. Bei einem Modul handelt es sich um eine abgeschlossene Funktionseinheit, die einen Dienst an das System liefert und bei Bedarf ausgetauscht werden kann.
Wünschenswert ist es, wenn die Belange einer Software – also Dinge, die für die Entwicklung, den Betrieb oder anderweitig von Interesse für die Software sind – jeweils separat in einzelnen Modulen implementiert werden können. Gängige Formalismen unterstützen das nur beschränkt: Oft müssen Belange über mehrere Module verstreut implementiert werden oder ein Modul ist mit der Implementation mehrer Belange durchsetzt. In der Forschung wurde bereits nachgewiesen, dass das zu einer höheren Zahl von Programmierfehlern führt und die Softwarequalität verschlechtert.
Mit der Aspektorientierten Programmierung (AOP) nach Kiczales (1997) wurde ein Weg gefunden, der dieses Problem löst: Belange, die mit objektorientierten Formalismen andere Module überschneiden, können mit sogenannten Aspekten separat implementiert werden. Das geht allerdings auf Kosten der Modularisierung – die eigentlich verbessert werden sollte, denn der Aspektprogrammierer greift bei dieser Technik tief in die Implementationsdetails anderer Module ein.
Die Arbeit präsentiert mit dem vom Autor entwickelten LOOM-Programmierparadigma einen neuen Ansatz, mit dem das Problem der Streuung und Durchsetzung unter gleichzeitiger Beibehaltung der Modulgrenzen gelöst werden konnte. Die Interaktion zwischen Aspekten und anderen Modulen erfolgt bei LOOM stets über definierte Schnittstellen, die allen Beteiligten bekannt sind.
Ein wesentliches Konzept in LOOM ist dabei die Annotationsrelation, die zwischen einem neuen Modultyp, den Aspekten, und anderen Modulen, wie Komponenten, Klassen und Methoden, hergestellt werden kann. Mit dem Konzept der Überdeckung lässt sich der Wirkungsbereich von Aspekten explizit festlegen. Konzepte wie die Joinpoint-Variablen und die Nachrichtenmanipulation ermöglichen es dem Aspektentwickler, gegen unbekannte Schnittstellen zu programmieren.
Die neuen LOOM-Konzepte lassen sich alle auf einem bestehenden Industriestandard, der Common Language Infrastructure abbilden. Das bedeutet, dass Standardausführungs-umgebungen und Compiler weiterhin verwendet werden können. Die Umsetzung der Konzepte erfolgt durch die vom Autor entwickelten Werkzeuge Rapier-Loom.Net und Gripper-Loom.Net entweder zur Laufzeit der Anwendung oder als nachgelagerter Kompilierungsschritt.
LOOM ist ein ganzheitliches Paradigma für die Entwicklung komponentenbasierender Softwaresysteme, das – angefangen beim Entwurf über die Programmierung, dem Erstellen und Testen, bis zum Betrieb – in jeder Phase des Softwareentwicklungsprozesses einen Beitrag zur Effizienz und Qualitätssteigerung liefert. Belegt wird das in dieser Arbeit mit vielen Anwendungsbeispielen, unter anderem mit einer Studie im industriellen Umfeld für eine Anwendung mit mehr als 20.000 Nutzern.
Mit LOOM lassen sich auch bestehende Programmiersprachen um andere Programmierkonzepte wie das „Kontextorientierte Programmieren“ oder „Design by Contract“ erweitern.
Die große Praxisrelevanz das LOOM-Paradigmas wird durch die große Zahl der Nutzer, auch aus dem Bereich der Wirtschaft belegt.

ISBN-10 (Impresion) 3869550317
ISBN-13 (Impresion) 9783869550312
ISBN-13 (E-Book) 9783736930315
Idioma Deutsch
Numero de paginas 224
Edicion 1 Aufl.
Volumen 0
Lugar de publicacion Göttingen
Lugar de la disertacion Universität Potsdam
Fecha de publicacion 14.07.2009
Clasificacion simple Tesis doctoral
Area Informática