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