Formalisierung von Modellen

Abstraktion durch Modellierung ist im Software- und Systems-Engineering ein bewährtes Mittel. Darstellungen, die auf bestimmte Aspekte reduziert sind, helfen den Projektbeteiligten dabei, hohe Komplexität zu beherrschen. Darum wird in vielen Projekten auch großer Aufwand in das Erschaffen von Modellen investiert. Dieser Aufwand ist umso höher, je mehr formale Kriterien das Modell erfüllen muss. An dieser Stelle stellt sich die Frage, wie viel Formalisierung ein Modell denn tatsächlich benötigt, um seinen Zweck zu erfüllen.

Einsatzzweck eines Modells

In der Praxis können wir unterschiedliche Einsatzzwecke von Modellen beobachten. Im Folgenden sind drei im Projektalltag typischerweise gut voneinander abgrenzbare Klassen von Einsatzzwecken beschrieben.

Skizze

Darstellungen eines Modells eignen sich gut dazu, Personen Sachverhalte und System- bzw. Softwareeigenschaften besser begreifbar zu machen. Dadurch kann beispielsweise ein besseres Verständnis zwischen Projektbeteiligten erreicht werden. Die Skizze hat als einzige Aufgabe, bei der Kommunikation zwischen Personen Information zu transportieren, die auf verbalem Wege nur schwer vermittelt werden kann. Die Skizze kommt oftmals dann zum Einsatz, wenn ein gemeinsames Problemverständnis erarbeitet werden soll, also bei der Problemanalyse. Eine Skizze wird ohne  besondere Werkzeugunterstützung angefertigt und kann prinzipiell weggeworfen werden, sobald sie ihren Zweck erfüllt hat.

Spezifikation / Dokumentation

Modelle werden sehr gerne dazu genutzt, um Systeme oder Software zu spezifizieren. Diese Spezifikation dient sowohl als Entwurf für eine Implementierung als auch als Dokumentation dieser Implementierung. Ersteres dient dazu unnötigen Aufwand durch Fehlversuche bei der Implementierung zu reduzieren, während Letzteres dabei hilft, die Implementierung beispielsweise bei der Wartung besser zu verstehen. Für die Spezifikation / Dokumentation wird in der Regel ein Modellierungswerkzeug genutzt.

Simulation / Implementierung

Modelle eignen sich auch dazu, bestimmte Aspekte eines Systems oder einer Software teilweise oder vollständig zu simulieren. Dabei handelt es sich um ausführbare Modelle, die sich in einigen Fällen sogar direkt in eine Implementierung überführen lassen. In diesem Falle tritt die Modellierung an die Stelle der Implementierung. Für die Simulation / Implementierung wird immer ein Modellierungswerkzeug benötigt.

Der Einsatzzweck bestimmt den benötigten Formalisierungsgrad

Wenn wir uns nun ansehen, wie hoch der benötigte Formalisierungsgrad für die oben identifizierten Einsatzzweckklassen ist, ergibt sich der in der nachfolgenden Grafik dargestellte Zusammenhang. Es wird deutlich, dass der Aufwand, den man in das Erstellen eines stärker formalisierten Modelles investiert durch einen entsprechenden Einsatzzweck gerechtfertigt sein sollte. Die Formalisierung eines Modells hat keinen Selbstzweck!

Einsatzzweck und Formalisierung