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.