3 Konfigurationsmöglichkeiten von Software

3.2.3 Schichtenarchitekturen



3.2.3.1 GenVoca

Die GenVoca Methode entstand 1988 aus den beiden Projekten Genesis und Avoca von Don Batory und O’Malley, die sich mit der Anwendung von Data Container Libraries beschäftigten. Im Bereich der Generativen Programmierung wird GenVoca als formale Beschreibung von Schichtenarchitekturen und Grammatik für die Entwicklung eines Generators zum Austausch von Komponenten mit gleicher Schnittstelle verwendet, und fokussiert ebenso Wiederverwendung und Systemfamilien. Ein Generator hat das Ziel, Softwaresysteme automatisch zu erstellen. Don Batory dazu: „Given a GenVoca model, we can create a family of applications by composing features”97.
Er schließt die Lücke zwischen der Systembeschreibung und der Implementierung des Systems, und muss spezifische Anforderungen an Geschwindigkeit, Speicherbelegung, Ressourcenverwaltung etc. erfüllen. GenVoca löst das Problem der Erstellung eines Generators mittels eines kompositionellen Ansatzes als Schichten-orientiertes Modell. Jeder abstrakte Datentyp oder eine Eigenschaft wird in einer eigenen Schicht dargestellt. Jede Schicht enthält dabei eine Anzahl von Klassen, die die untergeordnete Schicht weiter mit Klassen und Methoden verfeinern. Die Klassen verdeutlichen parametrisierbare Komponenten, die sich aus Komponentensicht in einer Baumstruktur darstellen lassen. Das Konfigurationswissen aus der Domänenanalyse wird dabei Schicht für Schicht weiter getragen98.
Ein fertiger Generator muss im Bereich der Systemfamilienentwicklung eine Anforderungsspezifikation prüfen, vervollständigen, optimieren und die Implementierung generieren. Dies können fertige Softwareprodukte und ebenso Halbprodukte sein99.
Ein beispielhafter Ausschnitt verdeutlicht dies:100


Die Komponenten einer Schicht werden in einer Kategorie (realm) zusammengefasst. Eine Kategorie kann so als eine Bibliothek von austauschbaren Komponenten verstanden werden, die über eine einheitliche Schnittstelle nach außen hin repräsentiert wird.
Über Parameter wird dann der oberen Schicht übergeben, welche Komponente der untergeordneten Schicht bei der Realisierung verwendet werden soll. Der Aufbau der Schichten und deren Kategorien wird in eine kontextfreie GenVoca Grammatik überführt, die mit Hilfe der Komponentenkategorien und Entwurfsregeln aus dem Konfigurationswissen besagt, welche Kombinationen an obligatorischen oder wahlpflichtigen Teilen möglich sind. Jeder Ausdruck entlang der Grammatik ist ein realisierbares Familienmitglied101.

Der in der Grammatik hinterlegte Aufbau wird mittels einer geeigneten Sprache als Templates umgesetzt. Ein solcher entwickelter Generator kann nun alle Schichten Schritt für Schritt durchlaufen und Mitglieder der beschriebenen Systemfamilie entwickeln.

Bewertung des GenVoca-Modells102
Vorteile Nachteile
  • Einfache verständliche Beschreibung mittels Grammatik
  • Schnelle und günstige Produktableitung bei einem eingerichteten Generator
  • Fördert hohe Codequalität mit wenig Fehlern
  • Erstellung neuer Produktvarianten sowie Halbprodukten möglich
  • Die Erstellung eines Generators und der Grammatik bedeutet einen enorm hohen Aufwand
  • Spätere Anpassung bedeuten auch ein Anpassen der Grammatik und des Generators mit hohem Zeit- und Kostenbedarf
  • Erschwerte Wartbarkeit

  • Tabelle 16: Bewertung des GenVoca-Modells


     


    Top| Home| << Zurück | Nächste >>
    " TARGET="_blank"> >> Home Page <<