Architektur Komponenten-basierter Systeme mit Loom
eBook - PDF

Architektur Komponenten-basierter Systeme mit Loom

Aspekte, Muster, Werkzeuge

  1. 223 pages
  2. English
  3. PDF
  4. Available on iOS & Android
eBook - PDF

Architektur Komponenten-basierter Systeme mit Loom

Aspekte, Muster, Werkzeuge

About this book

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.

Trusted by 375,005 students

Access to over 1.5 million titles for a fair monthly price.

Study more efficiently using our study tools.

Information

Year
2009
eBook ISBN
9783736930315
Print ISBN
9783869550312
Edition
1

Table of contents

  1. Inhaltsverzeichnis
  2. 1 Einleitung
  3. 2 Neue Konzepte zu rModularisierung von Software
  4. 3 Zwei LOOM-Aspektweber
  5. 4 Entwurfsmuster
  6. 5 Programmierkonzepte
  7. 6 Projekte mit LOOM.NET
  8. 7 Verwandte Arbeiten
  9. 8 Zusammenfassung und Ausblick
  10. Literaturverzeichnis