2.1 Anforderungen
35
• Programmiersprachenelemente: Programmiersprachen sind eine weit verbreitete Methode zur Beschreibung von Berechnungsvorschriften. Daher sollten Elemente von Programmiersprachen in der Spezifikation verwendet werden können.
Die bekannten Zustandsdiagramme erfüllen diese Anforderung nicht.
• Ausführbarkeit: Eine Spezifikation stimmt nicht automatisch mit der ursprünglichen Idee des Entwicklers überein. Das Ausführen der Spezifikation stellt eine
Möglichkeit der Plausibilitätsprüfung für den Entwurf dar. Spezifikationen, die
Programmiersprachenelemente verwenden, sind in diesem Zusammenhang von
Vorteil.
• Unterstützung für den Entwurf großer Systeme: Eingebettete Systeme verwenden immer größere und komplexere Programme. Die Softwaretechnologie
verfügt über Mechanismen wie z.B. Objektorientierung, um solche großen Systeme handhabbar zu machen. Solche Mechanismen sollten auch in der Spezifikationsmethodik zum Einsatz kommen.
• Unterstützung von spezifischen Anwendungsgebieten: Es wäre wünschenswert, wenn ein und dieselbe Spezifikationstechnik für alle möglichen eingebetteten Systeme verwendet werden könnte, da dies den Aufwand für die Entwicklung der Techniken minimieren würde. Allerdings ist die mögliche Bandbreite
von Anwendungsgebieten sehr groß (siehe Abschnitt 1.2). Es ist daher kaum zu
erwarten, dass eine einzige Sprache die Belange aller Anwendungsbereiche gleichermaßen gut abdecken kann. Beispielsweise können kontrollflussdominierte,
datenflussdominierte, zentralisierte oder verteilte Anwendungsgebiete von spezifischer Werkzeugunterstützung für den jeweiligen Bereich profitieren.
• Lesbarkeit: Selbstverständlich muss eine Spezifikation von Menschen gelesen
werden können. Ansonsten wäre es nicht möglich zu überprüfen, ob die Spezifikation tatsächlich die Absichten des Entwicklers des Systems wiedergibt. Alle Entwurfsdokumente sollten zudem maschinenlesbar sein, damit sie mit Computern
verarbeitet werden können. Spezifikationen sollten also in Sprachen festgehalten
werden, die sowohl von Menschen wie auch von Computern lesbar sind.
Anfangs können solche Spezifikationen eine natürliche Sprache wie Deutsch,
Englisch oder Japanisch verwenden. Auch diese natürlichsprachige Beschreibung
sollte in einem Entwurfsdokument festgehalten werden, damit die resultierende
Implementierung mit dieser Ausgangsspezifikation verglichen werden kann. Natürliche Sprachen sind aber für spätere Entwurfsphasen unzulänglich, da ihnen
wichtige Anforderungen an Spezifikationstechniken fehlen: es ist notwendig, Spezifikationen auf Vollständigkeit und Widerspruchsfreiheit zu prüfen und es sollte
zudem möglich sein, systematisch Implementierungen aus den Spezifikationen
ableiten zu können. Natürliche Sprachen erfüllen diese Anforderungen nicht.
• Portierbarkeit und Flexibilität: Spezifikationen sollten unabhängig von der für
die Implementierung verwendeten spezifischen Hardwareplattform sein, sodass
man sie leicht für verschiedene Zielplattformen einsetzen kann. Idealerweise
sollte eine Änderung der Hardwareplattform keinen Einfluss auf die Spezifikation
haben. Hier müssen im praktischen Einsatz gegebenenfalls kleine Änderungen
akzeptiert werden.
Précédent

- 58/485

Suivant