2.1 Die komplexe Methode GRAPES


1 Kurzdarstellung von GRAPES

GRAPES (Graphical Engineering System) ist eine Systementwicklungsmethode mit dem Ziel, den gesamten Systementwicklungsprozeß von der Problemanalyse bis zur Realisierung zu unterstützen.

Kernstück ist die Modellierungssprache GRAPES-86, die es erlaubt, Struktur, Verhalten und Daten von informationsverarbeitenden Systemen zu spezifizieren, insbesondere von verteilten Systemen wie betrieblichen Organisationen oder Netzarchitekturen.

GRAPES-86 hat eine formale, definierte, textuelle und grafische Syntax und ist daher statisch abprüfbar. Darüberhinaus besitzt GRAPES-86 ein dynamisches Ausführungsmodell. Damit ist das dynamische Verhalten von GRAPES-Modellen simulier- und analysierbar.

GRAPES unterstützt Nebenläufigkeit, synchrone und asynchrone Kommunikationskonzepte (strukturierte Prozeßbeschreibungen), Entity-Relationship-Modellierung sowie objekt-orientierte Konzepte wie Modularisierung und Typisierung.

Zur Darstellung von Modellen mit GRAPES dienen Diagramme mit einem überschaubaren Vorrat an grafischen Symbolen. Diese Diagramme erlauben es, die wesentlichen Eigenschaften eines Gesamtsystems - Struktur, Prozesse und Information - in Form von Modellen abzubilden und sukzessive zu verfeinern. Die verschiedenen Diagrammarten decken verschiedene Aspekte der Systembeschreibung ab. Nachfolgend werden die methodischen Komponenten kurz erläutert:

- Struktur- und Kommunikationsmodellierung

CD: Kommunikationsdiagramme dienen zur Beschreibung der Komposition eines Objektes oder Objekttyps in Unterobjekte durch Kommunikationswege.

IT: Jedem Kommunikationsweg eines Kommunikationsdiagrammes ist genau eine Interface-Tabelle zugeordnet, welche die Struktur des Kommunikationsweges in Form von Kanälen und zugehörigen Datentypen beschreibt.

- Verhaltens- und Prozeßmodellierung

PD: In Prozeßdiagrammen wird das Verhalten von Prozeßobjekten (Prozessen) sowie Prozeduren und Funktionen definiert.

DT: Daten-Tabellen dienen der Deklaration von Konstanten und Variablen, auf die Prozesse, Prozeduren, Funktionen oder Module angewendet werden.

SD: Spezifikationsdiagramme dienen der Beschreibung von Schnittstellen. Hier können die Aufrufschnittstellen (die Parameter) von Prozeduren oder Funktionen sowie die Exportschnittstellen von Modulen dargestellt werden.

- Datenmodellierung

DD: Datenstrukturdiagramme dienen zur Modellierung der Struktur von Daten. Hier können selbstdefinierte Datentypen beschrieben werden.

ER: Entity-Relationship-Diagramme dienen zur Modellierung von Daten. Die logische Datenbankmodellierung und die Normalisierung werden unterstützt.

- Darstellung der Deklarationshierarchie

HD: In Hierarchiediagrammen wird die hierarchische Struktur eines Modells dargestellt. Weiterhin werden die Gültigkeitsbereiche von Namen und Deklarationen gemäß den Scoperegeln von GRAPES-86 festgelegt. Sie geben insbesondere die funktionale Dekomposition des Modells wieder.

- Simulation

Die einheitliche Modellsicht durch abgestimmte Beschreibungstechniken erlaubt die Überprüfung von Konsistenzregeln und die quantitative und qualitative Simulierbarkeit. GRAPES ermöglicht insbesondere die Untersuchung des Zeit- und Lastverhaltens eines Modells.

Eine Beschreibung des Vorgehensmodells von SNI findet sich im Prozeßhandbuch / PHB, 91 / für die Erstellung von Anwendersoftware und Realisierung von Projekten. Die GRAPES-Methode geht von einem Modellzyklus aus, beginnend beim IST-Modell über das SOLL-Modell, Fach-, Grob- und Feinmodell bis zum DV-Modell. Zur GRAPES-Methode siehe auch den von SNI und CCTA durchgeführten Methodenvergleich GRAPES/SSADM in / Duschl, 92 /.

GRAPES ist Teil der offenen integrierten Verfahrenstechnik DOMINO. Von GRAPES nicht abgedeckte Aspekte der Systementwicklung, wie z. B. Projektmanagement, Dokumentationssystem usw. werden dort mit auf GRAPES abgestimmten Methoden und Werkzeugen ergänzt.

GRAPES wurde von der Siemens Nixdorf Informationssysteme AG bzw. der Siemens AG entwickelt und in vielen Projekten eingesetzt. Die Methode wird kontinuierlich modernen Software-Engineering-Technologien angepaßt.


2 Tabellarische Gegenüberstellung

Die folgende Tabelle stellt den Elementarmethoden die methodischen Komponenten von GRAPES gegenüber. Falls sich in der zweiten Spalte der Tabelle kein Eintrag befindet, gibt es in GRAPES keine Entsprechung. Sonst verweist ein Eintrag auf die entsprechende Stelle in der GRAPES-Literatur. Eine Erläuterung zum Eintrag findet sich im Teil 3 des Abgleichs. Einträge, die durch einen (*) gekennzeichnet sind, betreffen Methoden, die durch GRAPES vollständig abgedeckt sind. Diese werden in Teil 3 des Abgleichs nicht weiter erläutert.

Gegenüberstellung der Elementarmethoden und der methodischen Komponenten von GRAPES
AUD Audit  
AVK Analyse verdeckter Kanäle  
BALK Balkenplan  
BAUM Baumdiagramm Hierarchiediagramm / Held, 90 / Kapitel 9
BBTE Black-box-Testfallentwurf  
CRC Class-Responsibility-Collaboration  
DIAL Dialog Design Modellierung  
DFM Datenfluß-Modellierung Kommunikationsdiagramme
/ Held, 90 / Kapitel 5.1 (*)
DNAV Data Navigation Modelling  
DVER Designverifikation  
ELH Entity Life History  
ER E/R-Modellierung Entity-Relationship-Modellierung
/ Held, 90 / Kapitel 7.4 und Informationsmodellierung / Held, 91b / Teil I (*)
ETAB Entscheidungstabellentechnik  
EVV Earned Value Verfahren  
EXPM Expertisemodell  
FKTD Funktionale Dekomposition Strukturmodellierung / Held, 90 / Kapitel 5 und Funktionsmodellierung /Held, 91b/ Teil II
FMEA Failure Mode Effect Analysis  
FNET Funktionsnetz-Modellierung  
FS Formale Spezifikation  
IAM Interaktionsmodellierung  
KFM Kontrollfluß-Modellierung Prozeßmodellierung / Held, 90 / Kapitel 6
KOM Klassen-Objektmodellierung  
LOGM Logische DB-Modellierung Vorgehensweise beim Datendesign
/ GRAPES-RDDG, 93 / Kapitel 3 (*)
MODIAG Moduldiagramme  
NORM Normalisierung Vorgehensweise beim Datendesign
/ GRAPES-RDDG, 93 / Kapitel 3 und Informationsmodellierung / Held, 91b / Teil I Kapitel 2.2 (*)
NPT Netzplan-Technik  
NWA Nutzwert-Analyse  
OBJE Objektentwurfstechnik Objektorientierte Modellierung informationsverarbeitender Systeme /Held, 90/ Kapitel 2
OGG Organigramm  
PCODE Pseudocode Prozeduren / Held, 90 / Kapitel 6.3 (*)
PRODIAG Prozeßdiagramme  
PVER Programmverifikation  
PZIM Prozeßinteraktionsmodellierung  
REV Review  
SIMU Simulationsmodelle Diskrete Simulation / GrapSim, 93 / Kapitel 4 (*)
SMOD Schätzmodelle  
SSM Subsystemmodellierung  
STAT Statische Analyse Syntax und Semantikdefinition / Held, 90 / Kapitel 3, 5.2, 6.7, 6.9, 7.5
STRD Structured Design Modulspezifikation / Held, 90 / Kapitel 6.6
SVM Systemverhaltensmodelle Objektorientierte Modellierung informationsverarbeitender Systeme /Held, 90/ Kapitel 2 und Semantik der Prozeßdiagramme Kapitel 6.7
T Testen  
TRDA Trend-Analyse  
UCM Use-Case-Modellierung  
WBTE White-box-Testfallentwurf  
ZUST Zustandsübergangsmodellierung  
ZUSTO Zustandsmod. im obj.-orient. Bereich  
ZUVM Zuverlässigkeitsmodelle  

Tabelle 2.1: Elementarmethoden - GRAPES


3 Detaillierung der Zuordnung

Baumdiagramm (BAUM)

Entsprechung in GRAPES: / Held, 90 / Kapitel 9: Hierarchiediagramm


Erläuterung

Das Hierarchiediagramm dokumentiert in Baumform die Dekompositionsstruktur in die Komponenten eines Systems. Es zeigt die Funktionshierarchie und die zugeordneten Diagramme wie Prozeßdiagramme, Datentabellen, Spezifikationsdiagramme, usw.

Funktionale Dekomposition (FKTD)

Entsprechung in GRAPES: / Held, 90 / Kapitel 5


Erläuterung

Aus der im Hierarchiediagramm beschriebenen Modellstruktur läßt sich eine funktionale Zerlegung extrahieren, indem man das Hierarchiediagramm auf die Objektbeziehungen reduziert. Eine ausführliche Darstellung findet sich in Informations- und Funktionsmodellierung mit GRAPES / Held, 91b /.

Kontrollfluß-Modellierung (KFM)

Entsprechung in GRAPES: / Held, 90 / Kapitel 5


Erläuterung

Allgemeine Kontrollflüsse können durch Prozeßdiagramme modelliert werden. Das Zusammenspiel der Prozesse kann ebenfalls durch Prozeßdiagramme beschrieben werden, falls diese Darstellung erwünscht ist. Der Kontrollfluß eines Modells ist aber vollständig definiert durch die Prozeßbeschreibungen seiner elementaren Objekte und die Kommunikationsbeziehungen (synchron/asynchron). Das Zusammenspiel der einzelnen Prozesse (Aktivierung, Deaktivierung) muß in separaten Diagrammen gemäß KFM erfaßt werden.

Objektentwurfstechnik (OBJE)

Entsprechung in GRAPES: / Held, 90 / Kapitel 2


Erläuterung

Die Systemsicht von GRAPES ist die hierarchische Dekomposition des Systems in eine Menge kommunizierender Objekte. Objekte sind entweder zusammengesetzt aus anderen kommunizierenden Objekten (Strukturobjekt), elementare Objekte mit lokalem Datenraum und lokal definiertem Ein/Ausgabeverhalten (Prozeßobjekt), oder Datenhaltungsobjekte, deren Inhalt mittels eines E/R-Diagramms erklärt ist (Data stores).

Darüberhinaus können Objekttypen zum Zweck der Mehrfach- und Wiederverwendung deklariert werden. Obwohl vor allem für die Entwurfsphase gedacht, wird es auch für die Modellbildung in der Analysephase verwendet.

Zur Weiterentwicklung des objektorientierten Ansatzes in GRAPES-86 sei auf das Buch Objektorientierte Systementwicklung / Held, 91a / verwiesen.

Statische Analyse (STAT)

Entsprechung in GRAPES: / Held, 90 / Kapitel 3, 5.2, 6.7, 6.9, 7.5


Erläuterung

Die Syntax und Semantik der Modellierungssprache ist formal definiert. Dies erlaubt die automatische statische Überprüfung der Syntax und darüber hinaus der Modellkonsistenz der drei Systemsichten Struktur, Verhalten und Daten. Dies umfaßt die Existenz der Quellen und Senken aller Kommunikationswege, und die konsistente Deklaration und Verwendung von Variablen, Parameter und ihrer Datentypen. In / GRAPES-SD, 93 / wird die Durchführung statischer Analysen und ihrer Ergebnisse detailliert beschrieben.

Structured Design (STRD)

Entsprechung in GRAPES: / Held, 90 / Kapitel 6.6


Erläuterung

GRAPES enthält Mechanismen zur Spezifikation und Definition von Modulen (Spezifikationsdiagramme). Sie erlauben die Spezifikation von Prozeduren, Funktionen und Untermodulen, mit ihren formalen Parametern und Datentypen. Die Modulhierarchie ist zusätzlich in Structure Charts gemäß STRD darzustellen.

Systemverhaltensmodelle (SVM)

Entsprechung in GRAPES: / Held, 90 / Kapitel 2 und Kapitel 6.7


Erläuterung

GRAPES modelliert ein System aus kooperierenden Objekten. Das Verhalten des Systems ergibt sich aus der Interaktion der elementaren Prozeßobjekte. Basis ist eine operationelle Semantik - Netz von kommunizierenden erweiterten Zustandsautomaten. Die Besonderheiten der GRAPES-Prozesse bestehen in lokalen Daten, speziellen Verzweigungen (parallele Verzweigung, selektives Warten mit Fairneßbedingung) und in der Tatsache, daß für jeden Anschluß eine eigene Warteschlange existiert.


4 Literatur

/ Duschl, 92 / R. Duschl, N. C. Hopkins: SSADM & GRAPES, Two Complementary Major European Methodologies for Information Systems Engineering
Springer-Verlag, Berlin, Heidelberg, New York, 1992

/ GRAPES-RDDG, 93 / GRAPES RDDG, Benutzerhandbuch V 1.0
Siemens Nixdorf Informationssysteme AG, 1993

/ GRAPES-SD, 93 / GRAPES SD, Benutzerhandbuch V 2.0
Siemens Nixdorf Informationssysteme AG, 1993

/ GrapSim, 93 / GRAPES-Simulator V 1.0.0 Benutzerhandbuch
Siemens Nixdorf Informationssysteme AG, 1993

/ Held, 90 / G. Held (Hrsg.): Sprachbeschreibung GRAPES
Siemens Nixdorf Informationssysteme AG, 1990

/ Held, 91a / G. Held (Hrsg.): Objektorientierte Systementwicklung
Siemens Nixdorf Informationssysteme AG, 1991

/ Held, 91b / G. Held (Hrsg.): Informations- und Funktionsmodellierung mit GRAPES
Siemens Nixdorf Informationssysteme AG, 1991

/ PHB, 91 / Prozeßhandbuch für die Erstellung von Anwendersoftware und
Realisierung von Projekten
Siemens Nixdorf Informationssysteme AG, 1991