Systeme der Automatisierungstechnik sind schwierig zu entwickeln da sie neben den üblichen
Ansprüchen mittlerer bis großer Software systeme (Daten- und Kontroll flüsse) zusätzliche
Schwierigkeiten beinhalten in Form von Echtzeitanforderungen oder Interaktionen mit einer
Umwelt aus vielfältigen Sensoren und Aktoren. Wir verwenden die folgenden Bezeichnungen für die
Ergebnisse der einzelnen Phasen des Entwicklungspro zesses (vgl. Kap. 2): AufgabensteIlung
(Lastenheft) Lösungskonzeption (aus der Analyse der AufgabensteIlung resultierende
fachtechnisch orientierte Lösung wie sie im Pflichten heft beschrieben wird) Entwurf
(Software-Architektur mit Beschreibung von funktionalen Einheiten Daten-und Kontrollflüssen)
und Quellcode (lauffähiges Programmpaket in der Zielumgebung). Unter Prototyping verstehen wir
einerseits die iterative Erstellung lauffä higer Modelle (Prototypen) der zukünftigen
Anwendungs-Software (konzeptionelles Pro totyping) [1]. Andererseits besteht zusätzlich oder
alternativ das Konzept die laufend an fallenden Entwicklungsinformationen analytisch zu
validieren und sie dazu in ein Simula tions-Tool zu übertragen (analytisches Prototyping) [2].
Die Realisierung eines Prototypen wird bisher häufig als eine der Systement wicklung
vorgeschaltete Aktivität betrachtet. Dieses Vorgehen birgt jedoch die Gefahr (wenigstens im
Projektdruck) in sich den Prototypen zu einern Endprodukt mit vollem Funktionsumfang zu
vervollständigen. So entstehen unstrukturierte schwer wartbare und fehleranfällige
Softwaresysteme. Werden Prototypen andererseits weggeworfen ergibt sich ein gravierender
zusätzlicher Aufwand. Diese Probleme lassen sich weitgehend da durch lösen indern das
Prototyping als eine in den Software-Entwicklungsprozeß inte grierte Funktion betrachtet wird
und durch entsprechende Werkzeuge unterstützt wird. Für das konzeptionelle Prototyping müssen
die Werkzeuge den Entwickler unter stützen Lösungsmodelle zu definieren und deren Gültigkeit
zu validieren.