01.09.2013 Aufrufe

Anforderungsanalyse und Anforderungsdefinition für ...

Anforderungsanalyse und Anforderungsdefinition für ...

Anforderungsanalyse und Anforderungsdefinition für ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Formale Methoden zur Anforderungsspezifikation<br />

werden. Bei einer nicht formalen Spezifikation müsste <strong>für</strong> die Animation ein eigenes<br />

Programm entwickelt werden.<br />

4.1.3 Verifikation der nachfolgenden Entwicklungsstufen<br />

Um die Äquivalenz der nachfolgenden Entwicklungsstufen mit der Spezifikation<br />

feststellen zu können, erfolgt eine Verifikation („Are we building the thing right?“<br />

[McD93]). Bei nicht formaler Beschreibungsweise würde dieser Vorgang alleine auf den<br />

Kenntnissen <strong>und</strong> Fähigkeiten des Ingenieurs beruhen. Durch eine Beschreibung des<br />

Systems auf allen Ebenen mit dem Einsatz formaler Methoden wird es möglich, die<br />

funktionale Äquivalenz zu beweisen. Dadurch wird ein erhöhtes Vertrauen in die<br />

Ergebnisse der Verifikation erreicht.<br />

Dies ist besonders wichtig, um am Ende der Entwicklung beweisen zu können, dass<br />

das implementierte System den Anforderungen entspricht. Dieser Prozess ist allerdings<br />

noch nicht vollständig automatisiert, so dass die Erfahrungen <strong>und</strong> das Können der<br />

Softwareentwickler <strong>für</strong> die Verifikation unersetzlich sind.<br />

Der formale Beweis die Anforderungen erreicht zu haben, ist <strong>für</strong> die Zertifizierung<br />

eines Produkts sehr hilfreich, bzw. in den betreffenden Standards gefordert. Bei nicht<br />

formaler Beschreibung ist kein Beweis möglich. Es sind nur Tests möglich, die aber nie<br />

alle erdenklichen Fälle berücksichtigen können.<br />

Zur Vereinfachung der Verifikation wird in einigen Ansätzen nur Wert auf die<br />

Sicherheitsanforderungen gelegt. Dies macht den Beweis einfacher <strong>und</strong> vor allem<br />

schneller.<br />

4.1.4 Automatische Entwicklungen aus der Anforderungsspezifikation<br />

Ein weiteres Argument <strong>für</strong> die Benutzung formaler Beschreibungen <strong>für</strong> die<br />

Entwicklungsphasen ist die Möglichkeit einige Transformationen zwischen diesen zu<br />

automatisieren. Beispielsweise könnte so direkt aus der Anforderungsspezifikation der<br />

Softwareentwurf bzw. die Implementierung erzeugt werden. Ein weiterer Schritt wäre<br />

dann die automatisierte Entwicklung der vollständigen Hardware <strong>und</strong> Software aus der<br />

Anforderungsspezifikation. Allerdings wird es bis dahin noch eine längere Zeit der<br />

Entwicklung benötigen. Zur Zeit stehen Werkzeuge zur Verfügung, die den<br />

Softwareentwickler bei den Transformationen unterstützen, dies aber nicht vollständig<br />

selbstständig zu seiner Zufriedenheit erledigen können. Besonders in der Effizienz <strong>und</strong><br />

der Codegröße sind vollständig automatisch erzeugte Implementierungen oftmals<br />

unvorteilhaft. Auf diese Eigenschaften kommt es bei sicherheitskritischen Systemen<br />

meistens besonders an, da sie häufig auch eingebettete Systeme sind, die in der<br />

Massenproduktion hergestellt werden.<br />

Die gleiche Codegröße, wie bei manueller Implementierung, kann nur erreicht werden,<br />

wenn der Compiler speziell <strong>für</strong> die vorliegende Prozessorarchitektur entwickelt wurde.<br />

Dieses trifft aber aufgr<strong>und</strong> der Vielzahl von Prozessorarchitekturen <strong>und</strong> des relativ<br />

hohen Aufwandes in der Entwicklung eines solchen Compilers bisher nur selten zu. Es<br />

werden zur Zeit immer mehr passende <strong>und</strong> auch bessere Compiler entwickelt. Die<br />

14

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!