% ------------------------------------------------------------------ %
%                                                                    %
% Datei: zusammen.tex                                                %
% Autor: Oliver Nietsch                                              %
%                                                                    %
% Universitaet Hamburg                                               %
% Fachbereich Informatik                                             %
% Arbeitsbereich DBIS                                                %
%                                                                    %
% Thema: Diplomarbeit: Die Modellierung und Validierung dynamischen  %
%                      Systemverhaltens am Beispiel von StP/OMT      %
%                      und Tycoon                                    %
%                                                                    %
% Inhalt: LaTeX-Dokument: Diplomarbeit,                              %
%                         Kapitel 6: Zusammenfassung und Ausblick    %
%                                                                    %
% Version vom 16. 4.1997                                             %
% ------------------------------------------------------------------ %

\chapter{Zusammenfassung und Ausblick}
\label{Chap:Zusammen}

Ausgangspunkt dieser Arbeit ist die Betrachtung des Softwareentwicklungsprozesses, in dem die Softwareentwicklung den Einsatz leistungsf"ahiger und integrierter Entwicklungswerkzeuge bedingt, um die in Abschnitt~\ref{Sec:Motiv} dargestellten Produktivit"atsdeterminanten eines Softwareentwicklungsprojekts zu erf"ullen. Zu diesem Zweck wird im Rahmen dieser Arbeit ein methodisches Vorgehen zur Anwendungsentwicklung und dessen Werkzeugunterst"utzung zur computerbasierten Systemspezifikation betrachtet. Der Schwerpunkt liegt hierbei auf der Validierung des dynamischen Systemverhaltens.

Realisiert wird die methodenorientierte Unterst"utzung des Softwareentwicklungsprozesses durch die in Abschnitt~\ref{Sec:OOMod} dargestellte objektorientierte Anwendungsentwicklungsmethode \engl{Object Modeling Technique} (OMT). Im Rahmen der Spezifikation dynamischen Systemverhaltens stellt OMT innerhalb der Analyse ein dynamisches Modell (vgl. Abschnitt~\ref{SubSec:Dynam}) dem Anwendungsentwickler zur Verf"ugung. Desweiteren bietet OMT die M"oglichkeit, identifizierte Ereignisse von der Systemumgebung an das zu erstellende System im Rahmen der Ereignisidentifikation grafisch zu spezifizieren. Desweiteren k"onnen in OMT Ereignispfaddiagramme zur Darstellung von Szenarios angelegt werden. Diese Diagramme stellen typische Interaktionssequenzen von Ereignissen zwischen Objektklassen eines Systems zeitabh"angig dar.

Implementiert wird die Methode OMT durch das in Abschnitt~\ref{Sec:StPOMT} dargestellte CASE Werkzeug StP/OMT, welches in die Software through Pictures CASE Umgebung integriert wird. Allerdings bietet dieses computerbasierte Entwicklungswerkzeug keine Validierungsoperationen, um schon in der Analysephase des Softwarelebenszyklus das spezifizierte Systemverhalten zu validieren. Mit Hilfe der Validierung sollen nachtr"agliche Konzept"anderungen und kostenintensive Fehlerbehebungen in sp"ateren Projektphasen, z.B. der Implementierung, vermieden werden.

Zur Unterst"utzung des Softwareentwicklungsprozesses wird in dieser Arbeit eine Umgebung zur Modellierung und Validierung dynamischen Systemverhaltens vorgestellt, die die folgenden Komponenten umfa"st:

\begin{itemize}
  \item Das methodenbasierte CASE Werkzeug StP/OMT dient zur grafischen Entwicklung von Verhaltensspezifikationen ereignisgesteuerter Systeme innerhalb des StP/OMT dynamischen Modells. Desweiteren wird es zur Erstellung von Ereignisflu"s- und Ereignispfaddiagrammen im Rahmen der Ereignisidentifikation typischer Interaktionssequenzen zwischen der Systemumgebung und dem zu erstellenden Softwaresystem verwendet.
  \item Die persistente Ablage der StP Diagrammobjekte eines spezifizierten dynamischen Modells erfolgt im StP Repository.
  \item Das Tycoon System dient als Implementierungstechnologie f"ur die Modellierung und Validierung dynamischen Systemverhaltens ereignisgesteuerter Systeme mit TL. Dar"uberhinaus realisiert es den Zugriff auf die StP Modellierungsobjekte im StP Repository und das modellbasierte \engl{Prototyping} auf der Basis eines dynamischen Modells inklusive der Anbindung externer Dienste.
\end{itemize}

Diese Modellierungs- und Validierungsumgebung ist in dieser Arbeit exemplarisch aufgebaut (vgl. Abschnitt~\ref{Sec:statechartenv}) und mit Hilfe des Tycoon Systems und seiner Programmiersprache TL implementiert. Das Tycoon System bietet als integrierte Programmierumgebung, wie in Abschnitt~\ref{Sec:Problem} dargestellt einen geeigneten sprachlichen und architektonischen Rahmen zur Definition und Integration generischer Dienste in einer offenen Systemumgebung.

Als Basistechnologie zur Implementierung erf"ullt das Tycoon System die folgenden Anforderungen der in dieser Arbeit erstellten Modellierungs- und Validierungsumgebung:

\begin{itemize}
  \item Die in Abschnitt~\ref{Sec:Problem} dargestellte Offenheit des Tycoon Systems zur Integration externer Dienste erm"oglicht eine Integration der StP Object Management Funktionalit"at, auf die bei der Generierung eines StP/OMT modellbasierten Prototypen eines dynamischen StP/OMT Modells zur"uckgegriffen wird. Desweiteren k"onnen sonstige externe Dienste, wie z.B. die grafische Benutzeroberfl"ache {\sf StarView}, als ereignisausl"osender oder -aufnehmender Dienst an die zu validierende Tycoon Verhaltensspezifikation eines zu erstellenden Systems angebunden werden.
  \item Die strikte Typisierung von TL leistet ihren Beitrag unter anderem bei der Modellierung der in Kapitel~\ref{Chap:Harel} vorgestellten Tycoon Statecharts, da sie zusichert, da"s nur passende Statechartelemente den entsprechenden Funktionen zur Generierung eines Tycoon Statecharts als Parameter "ubergeben werden (vgl. Abschnitt~\ref{Sec:Zustand} und~\ref{Sec:ZuUeber}).

Die Verwendung von Funktionen h"oherer Ordnung in TL erm"oglicht die Anbindung von TL Funktionen an Aktionen eines Tycoon Statecharts (vgl. Abschnitt~\ref{SubSec:Aktionen}).
  \item Die Nebenl"aufigkeitseigenschaften des Tycoon Systems werden ausgenutzt, um separate Kontrollfl"usse innerhalb eines Tycoon Validierungsprototypen und eines angebundenen externen Dienstes zu erzielen (vgl. Abschnitt~\ref{SubSec:ExternDienst}).
  \item Im Rahmen der Reflektion innerhalb des Tycoon Systems k"onnen im StP/OMT Tabelleneditor Tycoon Kodefragmente abgelegt werden, welche bei der Generierung eines Tycoon Validierungsprototypen an den entsprechenden Stellen zum Generierungszeitpunkt "ubersetzt und eingebunden werden (vgl. Abschnitt~\ref{SubSec:Prototyp}).
  \item Die Persistenzeigenschaften des Tycoon Systems werden in dieser Arbeit nicht ausgenutzt. Es w"are beispielsweise m"oglich, einen sich in einer stabilen Konfiguration befindenden Tycoon Statechart im Objektspeicher des Tycoon Systems abzulegen und sp"ater f"ur die weitere Validierung zu reaktivieren.
\end{itemize}

Die Validierungskomponente der im Rahmen dieser Arbeit exemplarisch aufgebauten und implementierten Modellierungs- und Validierungsumgebung kann in die OMT Methode zur Unterst"utzung der Anwendungserstellung integriert werden. Auf diese Weise k"onnen Verhaltensspezifikationen zu erstellender Systeme bereits in der Analysephase gegen die Erwartungen des Anwenders untersucht werden.

Eine Erweiterung der vorliegenden Umgebung zur Modellierung und Validierung dynamischen Systemverhaltens kann erreicht werden, indem valide Ereignispfade eines dynamischen OMT Modells nach der in Abschnitt~\ref{Sec:Vorgehen} dargestellten dynamischen Validierung in einer Datenbank abgelegt werden. Bei einer "Anderung der Verhaltensspezifikation kann diese anhand der in der Datenbank abgelegten, validen Szenarios automatisch validiert werden, so da"s eine Verk"urzung des in Abschnitt~\ref{Sec:Einordnung} erl"auterten Validierungszyklus eintritt.

Desweiteren kann die Modellierungs- und Validierungsumgebung zur Spezifikation von Mobilit"at und Verteilungsaspekten in kooperierenden, persistenten Objektsystemen benutzt werden \cite{schroeder97}. Eine modellbasierte Generierung entsprechender Prototypen kann ebenfalls erfolgen.

Im Rahmen einer Erweiterung des CASE Werkzeugs StP/OMT um eine Workflownotation \cite{stamer97} kann die in dieser Arbeit dargestellte Modellierungs- und Validierungsumgebung auf die Simulation von Workflowmodellen ausgedehnt werden.

\clearemptydoublepage
