% ------------------------------------------------------------------ %
%                                                                    % 
% Datei: einleitu.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 1: Einleitung                      %
%                                                                    %
% Version vom 18. 4.1997                                             %
% ------------------------------------------------------------------ %

\chapter{Einleitung}
\label{Chap:Einleitung}

Die kommerzielle Entwicklung von gro"sen Softwaresystemen ist dadurch gekennzeichnet, da"s Anwendungsentwicklungsprojekte mit einer Vielzahl von Mitarbeitern ohne eine der Softwareerstellung zugrundeliegende Entwicklungsmethode und ohne die Unterst"utzung durch computerbasierte Entwicklungswerkzeuge kaum noch durchzuf"uhren bzw. zu handhaben sind \cite{sommer96}. Die Softwareentwicklung bedingt heutzutage mehr denn je den Einsatz leistungsf"ahiger und integrierter Entwicklungswerkzeuge, um die Forderungen nach einer hohen Softwarequalit"at und kurzen Entwicklungszyklen befriedigen zu k"onnen. 

Im Rahmen dieser Arbeit wird ein methodisches Vorgehen zur Anwendungsentwicklung (\engl{Object Modeling Technique} OMT \cite{rumb91}) und dessen Werkzeugunterst"utzung zur computerbasierten Systemspezifikation betrachtet. Der Schwerpunkt liegt hierbei auf der Spezifikation des dynamischen Systemverhaltens. Untersucht wird, wie dynamisches Systemverhalten am Beispiel eines ereignisgesteuerten Systems modelliert und seine Proze"sspezifikation zur Analyse des Systemverhaltens schon in einer fr"uhen Phase des Softwareentwicklungsprozesses validiert werden kann. Die Werkzeugunterst"utzung erfolgt mit Hilfe der \engl{Computer Aided Software Engineering} (CASE) Umgebung Software through Pictures (StP) und dabei speziell mit dem CASE Werkzeug StP/OMT der StP Produktfamilie und der integrierten Programmierumgebung Tycoon\footnote{Tycoon: Typed Communicating Objects in Open Environments} des Arbeitsbereichs "`Softwaresysteme"' an der Technischen Universit"at Hamburg-Harburg.

Durch die Validierung sollen nachtr"agliche Konzept"anderungen und kostenintensive Fehlerbehebungen in sp"ateren Projektphasen, z.B. der Implementierung, vermieden werden \cite{leveson94}, um die in Abschnitt~\ref{Sec:Motiv} dargestellten Produktivit"atsdeterminanten eines Softwareentwicklungsprojekts zu erf"ullen.

\section{Motivation}
\label{Sec:Motiv}

Der Erfolg eines Softwareprojekts wird durch den aufeinander abgestimmten Einsatz der verwendeten Entwicklungswerkzeuge und der am Projekt beteiligten Mitarbeiter auf der Basis einer dem Softwareentwicklungsproze"s zugrundeliegenden Entwicklungsmethode bestimmt \cite{balzert93}. Aber nicht nur diese den Softwareentwicklungsproze"s bestimmenden Faktoren eines Anwendungsentwicklungsprojekts sind ausschlie"slich f"ur die erfolgreiche Durchf"uhrung eines Softwareprojekts ma"sgebend. Vielmehr haben neben der operationalen Durchf"uhrung eines Softwareentwicklungsprozesses innerhalb eines Anwendungsentwicklungsprojekts als Resultat der Interaktion zwischen Mitarbeitern, verwendeten Werkzeugen und einer zugrundeliegenden Entwicklungsmethode auch die in der Abbildung~\ref{Fig:Determ} dargestellten Determinanten der Projektproduktivit"at \cite{oberweis96} einen Einflu"s auf die Proze"sgestaltung und somit auf den Gesamterfolg eines Softwareentwicklungsprojekts. Produktivit"atsdeterminanten wirken als Einschr"ankungen oder Anforderungen auf den Anwendungserstellungsproze"s ein.\\

\begin{figure}[hbt]
  \begin{center}
    \ 
    \epsfig{figure=determ.eps,width=12cm}
  \end{center}
  \caption{\label{Fig:Determ} Produktivit"atsdeterminanten eines Softwareentwicklungsprojekts}
\end{figure}

Eine zunehmende Produktkomplexit"at bei steigenden Effizienzanforderungen an die Sy\-stem\-ent\-wick\-lung innerhalb verk"urzter Entwicklungszeitr"aume kann nur durch eine optimale Gestaltung des Systementwicklungsprozesses und seiner optimalen Werkzeug- und Methodenunterst"utzung befriedigt werden. Desweiteren sind steigende Qualit"atsanforderungen zu erf"ullen, die nicht nur einen Abnahmetest vorsehen, sondern so zu ber"ucksichtigen sind, da"s schon in den fr"uhen Phasen des Softwarelebenszyklus Qualit"at in das zu entwickelnde Anwendungsprodukt eingebracht wird. Eine vom Auftraggeber geforderte Produktzertifizierung nach DIN EN ISO 9001 stellt noch weitere Qualit"atsanforderungen an den Softwareerstellungsproze"s \cite{versteegen96}. Aus diesen Gr"unden ist es auf der Seite der Anwender und Entwickler erforderlich, bereits in der Analysephase des Anwendungsentwicklungsprozesses eine klare und vollst"andige Vorstellung "uber das zu erstellende System zu erhalten.

Zur Ber"ucksichtigung der in Abbildung~\ref{Fig:Determ} wiedergegebenen Produktivit"atsdeterminanten eines Softwareentwicklungsprojekts werden die folgenden Gestaltungsm"oglichkeiten des Softwareentwicklungsprozesses betrachtet:

\begin{itemize}
  \item Grundlage eines Softwareentwicklungsprozesses ist ein methodenbasiertes Vorgehen "uber den gesamten Zeitraum des Softwarelebenszyklus von der anf"anglichen Problemformulierung bis zur Implementierung\footnote{Die Phasen Test und Wartung werden nicht ber"ucksichtigt, da der Schwerpunkt dieser Arbeit in der Betrachtung der fr"uhen Phasen des Softwarelebenszyklus (Analyse und Entwurf) liegt.} \cite{raasch91}. Die Spezifikation des zu erstellenden Anwendungssystems erfolgt auf der Basis formaler Modelle, wobei verschiedene Sichten auf das zu erstellende System zu spezifizieren sind. Die in Abschnitt~\ref{Sec:OOMod} vorgestellte objektorientierte Anwendungsentwicklungsmethode OMT umfa"st hierf"ur ein Objektmodell, ein funktionales Modell und ein dynamisches Modell zur Spezifikation des Verhaltens eines zu entwickelnden Anwendungssystems.

Unterst"utzt werden soll die Modellierung der dynamischen Systemaspekte mit Hilfe von grafischen Werkzeugen, welche ein verbessertes Systemverst"andnis auf seiten der Anwender und Entwickler durch grafische Abstraktion, Vereinfachung und eine verbesserte "Uberschaubarkeit der modellierten Systemaspekte erzielen. Auf diese Weise kann eine steigende Produktkomplexit"at f"ur alle am Proze"s Beteiligten handhabbar werden. Die eingesetzten grafischen Werkzeuge m"ussen, wie in Abschnitt~\ref{SubSec:Integration} dargestellt, in einer integralen Art miteinander verkn"upft werden, um eine effiziente Teamorganisation innerhalb eines Softwareprojekts zu realisieren.
  \item Resultierend aus den oben dargestellten Qualit"atsanforderungen an den Softwareentwicklungsproze"s m"ussen Verifikationsm"oglichkeiten zur "Uberpr"ufung der formalisierbaren Eigenschaften der einzelnen Modelle in den Entwicklungswerkzeugen vorhanden sein.
  \item Eine weitere Softwarequalit"atssteigerung soll mit Hilfe der Validierung der nicht formalisierbaren Modelleigenschaften durch den Anwender erreicht werden. Die Zielsetzung ist hierbei, den Anwender in den in Abschnitt~\ref{Sec:Einordnung} dargestellten Validierungszyklus innerhalb der Analysephase mit einzubeziehen, um im Rahmen der Validierung der Proze"sspezifikation eines zu erstellenden Systems das spezifizierte Systemverhalten gegen die Erwartung des Anwenders zu untersuchen. Die Funktionen eines Systems werden auf der Basis des dynamischen Systemmodells durch den Anwender getestet und k"onnen bei Bedarf umgehend in der Spezifikation ge"andert werden.

Dieses Vorgehen zur Verhaltensanalyse wird in die dem Softwareentwicklungsproze"s zugrundeliegende Entwurfsmethode integriert. Somit gilt die Validierung dynamischen Systemverhaltens als Erg"anzung zur statischen und dynamischen Modellierung von Anwendungssystemen innerhalb der Spezifikationsphase von Softwareprojekten.

Desweiteren werden Entwicklungszeitr"aume verk"urzt, wenn im Rahmen von modellbasiertem \engl{Prototyping} (vgl. Abschnitt~\ref{SubSec:Prototyp}) ein Validierungsprototyp automatisch aus der Spezifikation seines dynamischen Systemverhaltens generiert wird, der als Validierungsgrundlage f"ur den Anwender dient.
\end{itemize}

Im Rahmen dieser Arbeit wird die OMT methodenbasierte, werkzeugorientierte Modellierung und Validierung dynamischen Systemverhaltens und das in Abschnitt~\ref{Sec:Einordnung} dargestellte Einbringen der Validierungsergebnisse in den Softwareentwicklungsproze"s als eine Form eines Anwendungserstellungsprozesses untersucht.

\section{Problemstellung}
\label{Sec:Problem}

Wie in Abschnitt~\ref{Sec:Motiv} dargestellt, soll die Spezifikation des dynamischen Systemverhaltens innerhalb des Softwareentwicklungsprozesses werkzeugorientiert vorgenommen werden. Desweiteren sollen die verwendeten Entwicklungswerkzeuge M"oglichkeiten zur Verifikation und Validierung der dynamischen Systemaspekte bieten.\\

\begin{figure}[hbt]
  \begin{center}
    \ 
    \epsfig{figure=vorgehen.eps,width=13cm}
  \end{center}
  \caption{\label{Fig:Unterst} Unterst"utzung des Softwareentwicklungsprozesses}
\end{figure}

In der Abbildung~\ref{Fig:Unterst} sind die einzelnen Formen einer werkzeugunterst"utzten Spezifikation dynamischen Systemverhaltens dargestellt. Dabei f"uhrt der Pfad der Werkzeugunterst"utzung von isolierten, methodenunabh"angigen und computerbasierten Modellierungswerkzeugen (z.B. einfache Zeichenwerkzeuge wie {\sf Canvas} oder {\sf Microsoft PowerPoint}) zu einer in Abschnitt~\ref{Sec:statechartenv} dargestellten, integrierten, OMT methodenorientierten und computerbasierten Umgebung zur Modellierung, Verifikation und Validierung dynamischen Systemverhaltens. Innerhalb dieser Umgebung wird dem Anwendungsentwickler als grafisches \engl{Front End} zur Modellierung und Verifikation das CASE Werkzeug StP/OMT zur Verf"ugung gestellt. Die Validierungsoperationen werden innerhalb des Tycoon Systems realisiert, welches, wie in Kapitel~\ref{Chap:Anbindung} dargestellt, an die CASE Umgebung Software through Pictures "uber das StP Repository angebunden wird.

Eine Verbesserung der aus Sicht eines komplexen Softwareerstellungsprozesses primitiven Entwicklungswerkzeuge zur ausschlie"slich grafischen Visualisierung von Modellierungsdetails einer Systemspezifikation bietet das, innerhalb dieser Arbeit betrachtete, CASE Werkzeug StP/OMT, welches die in Abschnitt~\ref{Sec:OOMod} dargestellte objektorientierte Softwareentwicklungsmethode OMT implementiert. Im Rahmen der grafischen Spezifikation des dynamischen OMT Modells bietet StP/OMT eine werkzeugspezifische Notation zur grafischen Modellierung von dynamischem Systemverhalten. Bei dieser Notation handelt es sich um eine Statechart \cite{harel87} "ahnliche Notation zur Darstellung von Zust"anden und Zustands"uberg"angen im Rahmen der Proze"sbeschreibung von Objektklassen eines ereignisgesteuerten Systems \cite{harel85}. Diese in Kapitel~\ref{Chap:Harel} vorgestellten Zustandsautomaten dienen dem Anwendungsentwickler im Rahmen der Modellierung des Systemverhaltens als eine Erg"anzung zu Spezifikationsmodellen des statischen Systemaufbaus wie z.B. \engl{Entity Relationship} Modelle \cite{chen76} oder Objektdiagramme.

Die persistente Ablage der StP/OMT Modellierungsobjekte der grafischen Repr"asentation der Proze"sspezifikation eines Systems erfolgt in der Entwicklungsdatenbank der Software through Pictures Umgebung, dem StP Repository. Vor der Speicherung der Modellierungsdaten in der Entwicklungsdatenbank erfolgt eine Auswertung dieser Daten, um Konsistenzverletzungen oder Verst"o"se gegen die Diagrammsyntax zu erkennen und dem Entwickler anzuzeigen. Innerhalb des StP/OMT Entwicklungswerkzeugs ist jedoch keine Funktionalit"at vorgesehen, die zum Zweck der Entwurfsvalidierung das dynamische StP/OMT Modell simuliert oder animiert und die Analyseergebnisse f"ur eine weitere Verarbeitung sammelt, protokolliert und ausgibt.

Um flexibel, problemad"aquat und zuverl"assig auf die hohe Anzahl der vom CASE Werkzeug StP/OMT angelegten persistenten Modellierungsobjekte des dynamischen StP/OMT Modells im StP Repository zugreifen zu k"onnen, ist eine geeignete Klasse von Softwaresystemen erforderlich. Zur Entwicklung solcher Systeme, der sogenannten persistenten Objektsysteme \cite{matthes92}, bietet das Tycoon System als integrierte Programmierumgebung einen geeigneten sprachlichen und architektonischen Rahmen zur Implementierung einer in der Abbildung~\ref{Fig:Unterst} dargestellten Umgebung zur Unterst"utzung des Softwareentwicklungsprozesses durch methodenbasierte Modellierung, Verifikation und Validierung dynamischen Systemverhaltens.

Beim Tycoon System handelt es sich um eine Datenbankprogrammierumgebung, die den sprachlichen und architektonischen Rahmen f"ur eine Definition und Integration generischer Dienste in einer offenen Systemumgebung bereitstellt. Zur Einbindung externer Dienste, z.B. der portablen C++ Klassenbibliothek {\sf StarView} zur Entwicklung und Gestaltung von grafischen Benutzeroberfl"achen, wird die algorithmisch vollst"andige, strikt typisierte und polymorphe Programmiersprache h"oherer Ordnung TL\footnote{TL: Tycoon Language} verwendet. Sie erm"oglicht eine Benennung, Bindung und Typisierung der f"ur datenintensive Anwendungen relevanten Objekte und Dienste \cite{matthes92}.\\

\begin{figure}[hbt]
  \begin{center}
    \ 
    \epsfig{figure=tycoon.eps,width=7.5cm}
  \end{center}
  \caption{\label{Fig:TycDienst} Integration, Erweiterung und Nutzung generischer Dienste in Tycoon}
\end{figure}

Wie in Abbildung~\ref{Fig:TycDienst} dargestellt, wird der gesamte Proze"s der Integration, Erweiterung, Spezialisierung, Nutzung und Definition generischer Dienste in einem unifizierenden sprachlichen Rahmen realisiert.

Die im Tycoon System verwendete Programmiersprache TL bildet die Schnittstelle zwischen dem Anwendungsprogrammierer und dem Tycoon System und eignet sich wie C sowohl zur Anwendungs- als auch zur Systemprogrammierung. Desweiteren k"onnen aufgrund der interaktiven Programmierumgebung des Tycoon Systems mit Hilfe von TL ad hoc Datenbankanfragen gestellt werden. Zusammen mit dem Konzept der Persistenz ist ein inkrementelles Arbeiten "uber mehrere Benutzersitzungen hinweg m"oglich. Gleichzeitig unterst"utzt das Bibliothekskonzept von TL die kontrollierte, gemeinsame Nutzung von Daten und Programmen durch mehrere Benutzer.

TL erm"oglicht die Programmierung in verschiedenen Modellierungsstilen. Funktionale und imperative Programmierung werden direkt unterst"utzt. Aufgrund weitgehend sprachlicher Neutralit"at wird auch eine Variante des objektorientierten Programmierens erm"oglicht. Ein "Uberblick "uber die Einfl"usse sonstiger Programmiersprachen in TL ist in \cite{muessig94} wiedergegeben.

Da bei der Erl"auterung der Implementierungskonzepte und -ideen der TL Bibliothek zur Modellierung und Validierung dynamischen Systemverhaltens in den Kapiteln~\ref{Chap:Anbindung},~\ref{Chap:Harel} und~\ref{Chap:Validierung} nicht auf die detaillierte Syntax der Sprache TL eingegangen werden soll, sind Grundkenntnisse in der Tycoon Programmierung notwendig. Eine Einf"uhrung in die Tycoon Programmierung ist in \cite{MM93} zu finden. Die Anbindung externer Bibliotheken an das Tycoon System wird im Rahmen der Anbindung des Tycoon Systems an die StP Umgebung in Kapitel~\ref{Chap:Anbindung} vorgestellt. Eine detaillierte Darstellung der Anbindung externer Dienste ist in \cite{MMM93} enthalten.

\section{Zielsetzung}
\label{Sec:Ziel}

Ziel dieser Arbeit ist die Darstellung einer Umgebung zur Modellierung und Validierung dynamischen Systemverhaltens, die folgende 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 isolierte textuelle 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.
  \item StP/OMT wird als Visualisierungswerkzeug f"ur innerhalb des Tycoon Systems entworfene und im StP Repository abgelegte Verhaltensspezifikationen zu entwerfender Systeme verwendet.
\end{itemize}

Solch eine Modellierungs- und Validierungsumgebung soll exemplarisch aufgebaut und mit Hilfe des Tycoon Systems und seiner Programmiersprache TL implementiert werden.

Desweiteren wird erl"autert, inwieweit die Eigenschaften des Tycoon Systems die Implementierung der Modellierungs- und Validierungsumgebung unterst"utzen und an welchen Stellen der Implementierung konkret auf sie zur"uckgegriffen wird. Im einzelnen handelt es sich um die folgenden Tycoon Eigenschaften \cite{matthes92}, die an den entsprechenden Stellen in dieser Arbeit n"aher erl"autert werden:

\begin{itemize}
  \item Offenheit zur Integration externer Dienste
  \item Typisierung und Verwendung von Funktionen h"oherer Ordnung in TL
  \item Nebenl"aufigkeit
  \item Reflektion
  \item Persistenz
\end{itemize}
 
\section{Struktur der Arbeit} 
\label{Sec:Struktur}

Dieser Einleitung folgt in Kapitel~\ref{Chap:WerkSystem} ein "Uberblick "uber werkzeugorientierte Systementwicklung. Es werden die Grundz"uge und der Nutzen computerunterst"utzter Anwendungsentwicklung dargestellt. Desweiteren wird objektorientiertes Modellieren und Entwerfen mit OMT, der dem Anwendungsentwicklungsproze"s in dieser Arbeit zugrundeliegenden Entwicklungsmethode, vorgestellt, wobei hier der Schwerpunkt in der OMT methodenbasierten Gestaltung der Analysephase des Softwarelebenszyklus liegt. Im Rahmen dieser Untersuchung ist im Zusammenhang mit der dargestellten Tycoon Modellierungs- und Validierungsumgebung ausschlie"slich das dynamische OMT Modell Gegenstand der Betrachtung. Eine Erl"auterung des OMT Vorgehens zur Ereignisidentifikation typischer Interaktionssequenzen zwischen der Systemumgebung und dem zu entwerfenden Softwaresystem anhand von OMT Ereignisflu"s- und Ereignispfaddiagrammen erfolgt in Abschnitt~\ref{SubSec:Dynam}, da es eine Grundlage f"ur die in Abschnitt~\ref{SubSec:DynVal} vorgeschlagene Vorgehensweise zur modellbasierten Verhaltensvalidierung eines spezifizierten Systems darstellt. Implementiert wird die Methode OMT durch das CASE Werkzeug StP/OMT. Grundlagen der StP Umgebung wie Architekturmerkmale, Basisdienste des StP Kerns und das StP Repository werden dargestellt, da sie f"ur die in Kapitel~\ref{Chap:Anbindung} vorgestellte Anbindung des Tycoon Systems an die StP Umgebung von Bedeutung sind.

Kapitel~\ref{Chap:Anbindung} stellt Grundz"uge der Anbindung des Tycoon Systems an die StP Umgebung dar. Neben der Untersuchung der Basisfunktionalit"at der StP Umgebung wird gezeigt, wie die Abbildung der StP Object Management System Funktionalit"at auf die Tycoon Ebene vorzunehmen ist und wie die StP Funktionalit"at in das Tycoon System integriert wird. Mit Hilfe der in Abschnitt~\ref{Sec:Modellierg} vorgestellten Tycoon StP Umgebung {\sl StPEnv} wird die gesamte Funktionalit"at des StP Application Program Interface (API) dem Tycoon Anwendungsentwickler im unifizierenden sprachlichen Rahmen des Tycoon Systems zur Verf"ugung gestellt. Erst mit Hilfe der Tycoon StP Umgebung {\sl StPEnv} kann das in Abschnitt~\ref{SubSec:Prototyp} vorgestellte modellbasierte \engl{Prototyping} auf der Basis einer grafischen Repr"asentation eines StP/OMT dynamischen Modells innerhalb des Tycoon Systems realisiert werden. Allerdings bestehen systembedingte Grenzen an der Schnittstelle zwischen dem StP Application Program Interface und dem Tycoon System, die einen Einflu"s auf die Benutzung des externen StP Dienstes aus dem Tycoon System heraus haben. Diese Einschr"ankungen der Tycoon StP Funktionalit"at werden dargestellt.

In Kapitel~\ref{Chap:Harel} wird die Spezifikationssprache der Statecharts \cite{harel87} zur grafischen Modellierung des Verhaltens ereignisgesteuerter Systeme vorgestellt und auf wesentliche, im Rahmen dieser Arbeit exemplarisch betrachtete Statechartelemente, eingeschr"ankt. Ausgehend von der Statechart "ahnlichen Diagrammnotation des dynamischen StP/OMT Modells wird eine Tycoon Modellierungsumgebung zur Entwicklung textueller Tycoon Statecharts, also Statecharts in einer ad"aquaten TL Repr"asentation, vorgestellt. Dabei werden Statechartelemente wie Zust"ande, Zustandsverfeinerungen und Zustands"uberg"ange grafisch in einer werkzeugunabh"angigen Notation \cite{harel87} und in einer daraus resultierenden Tycoon Repr"asentation dargestellt. Desweiteren erfolgt eine Erl"auterung der den Tycoon Statecharts zugrundeliegenden Semantik von Ausf"uhrungsschritten mit dem Ziel, im Rahmen der StP modellbasierten Verhaltensvalidierung einen in einer Tycoon Repr"asentation vorliegenden Statechart interaktiv oder auf der Basis eines Ereignispfads auszuf"uhren.

Die Validierung dynamischen Systemverhaltens auf der Basis einer in einer Tycoon Repr"asentation eines Statecharts vorliegenden Spezifikation des Verhaltens eines Systems wird in Kapitel~\ref{Chap:Validierung} beschrieben. Dabei wird die Validierung in den Softwareentwicklungsproze"s auf der Grundlage der betrachteten Entwicklungsmethode OMT eingeordnet. Validierungstechniken, wie die Generierung modellbasierter und validierbarer Prototypen unter Anbindung externer Dienste, werden vorgestellt. Ein exemplarisches Vorgehen zur Validierung des Verhaltens eines Systems wird anhand der Verhaltensspezifikation einer Fernsehersteuerung gezeigt. Au"serdem wird dargestellt, wie die Umgebung zur Modellierung und Validierung dynamischen Systemverhaltens in das Tycoon System integriert wird.

Diese Arbeit findet ihren Abschlu"s in Kapitel~\ref{Chap:Zusammen} mit einer Bewertung, inwieweit sich das Tycoon System als Basistechnologie zur Implementierung der vorgestellten Modellierungs- und Validierungsumgebung eignet und an welchen Stellen der Implementierung auf die in Abschnitt~\ref{Sec:Ziel} dargestellten Eigenschaften des Tycoon Systems zugegriffen wird. Es folgen eine Zusammenfassung und ein Ausblick auf eventuell noch zu ber"ucksichtigende Aspekte im Zusammenhang mit dieser Arbeit.

\clearemptydoublepage 
