07.10.2013 Aufrufe

Kontrolliertes Englisch für Anforderungsspezifikationen

Kontrolliertes Englisch für Anforderungsspezifikationen

Kontrolliertes Englisch für Anforderungsspezifikationen

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

46 Kapitel 3<br />

InformalitŠt und FormalitŠt im Einklang 45<br />

3.1 Textuelle Sichten auf formale Spezifikationen<br />

Um die informellen und die formalen Aspekte beim Schreiben einer SAS in deklarativen<br />

Einklang zu bringen, fŸhren wir textuelle Sichten (Views) auf formale Spezifikationen<br />

in Logik ein. Textuelle Sichten erscheinen informell und werden direkt auf<br />

dem Computer in einer anwendungsspezifischen Benutzersprache B erstellt. Zwischen<br />

einer textuellen Sicht V und der entsprechenden formalen Spezifikation Spez<br />

besteht eine Korrespondenz. Die Korrespondenz kommt durch eine Abbildung der<br />

textuellen Sicht V auf die formale Spezifikation Spez mit Hilfe einer eindeutigen<br />

†bersetzungsfunktion f: V -> Spez zustande. Diese †bersetzungsfunktion weist der<br />

Sicht V die formale Semantik [[a]] M der aus der logischen Sprache L konstruierten<br />

Spezifikation Spez zu, und zwar relativ zu einem vorgegebenen Modell M. Die inverse<br />

Abbildung der formalen Spezifikation Spez auf die textuelle Sicht V entsteht durch die<br />

Umkehrfunktion f-1 , die die formale Spezifikation Spez in der anwendungsspezifischen<br />

Benutzersprache B paraphrasiert.<br />

3. InformalitŠt und FormalitŠt im Einklang<br />

Die Praxis zeigt, dass die Benutzer und Anwendungsspezialisten die faktischen Anforderungen<br />

an ein zu entwickelndes Softwareprodukt vorzugsweise informell beschreiben.<br />

Sie verwenden dazu die natŸrliche Sprache als Spezifikationssprache mit der aus<br />

dem Anwendungsbereich vertrauten fachsprachlichen Terminologie. Das fŸhrt zu<br />

zwei Nachteilen: Erstens ist die natŸrliche Sprache mehrdeutig und vage und zweitens<br />

ist die Fachterminologie fŸr die Softwareentwickler oft nur schwer zugŠnglich. Das hat<br />

zur Konsequenz, dass die Konzepte und die akzeptierten Verfahrensweisen aus dem<br />

Anwendungsbereich fŸr die Softwareentwickler nicht immer klar erkennbar sind.<br />

Die Softwareentwickler haben die schwierige Aufgabe die informelle Problembeschreibung<br />

in eine formale SAS zu ŸberfŸhren. Bei diesem †bergang werden die AusdrŸcke<br />

der natŸrlichen Sprache in eine formale (logikbasierte) Sprache Ÿbersetzt und<br />

modelltheoretisch interpretiert oder allenfalls beweistheoretisch hergeleitet [vgl. Kowalski<br />

94]. Das Resultat ist eine eindeutige formale SAS, die die SystemfunktionalitŠt<br />

in erster Linie aufgrund der intendierten Interpretation der Softwareentwickler festlegt<br />

und nicht aufgrund der Vorstellungen der Anwendungsspezialisten.<br />

Die Autoren der SAS schreiben ihre faktischen Anforderungen direkt auf der Sichtebene<br />

mit Hilfe eines Editors, der den Schreibprozess unterstŸtzt. Sie verwenden dazu<br />

eine wohldefinierte Teilmenge der natŸrlichen Sprache als Benutzersprache, die aus<br />

einem anwendungsspezifischen Vokabular, einer eingeschrŠnkten Grammatik und<br />

einer Menge von Schreibprinzipien besteht. Die Autoren entscheiden, welche AusdrŸcke<br />

der eingeschrŠnkten Sprache die Sachverhalte hinreichend exakt beschreiben<br />

und bauen das inhaltsbezogene Vokabular fŸr die SAS selber auf. Durch diese Vorgehensweise<br />

kann die Vagheit von AusdrŸcken mit Bezug auf die Situation und den<br />

Kontext abgefedert werden. Die Schreibprinzipien haben die Funktion von Kontrollstrukturen,<br />

denn sie reduzieren die Menge der lexikalischen, syntaktischen, semantischen<br />

und pragmatischen AmbiguitŠten der vollen natŸrlichen Sprache bereits vor<br />

der maschinellen Analyse, so dass die auf der Sichtebene erstellte SAS eindeutig in<br />

eine (ausfŸhrbare) logische Spezifikation Ÿbersetzt werden kann. Die Autoren brauchen<br />

die zugrundeliegende formale Sprache nicht zu kennen, sondern sie mŸssen<br />

bloss mit den Schreibprinzipien vertraut sein. Die automatische †bersetzung macht<br />

die scheinbar informelle textuelle Sicht formal, ohne dass die interne formale ReprŠsentation<br />

fŸr die Autoren sichtbar wird. Die Interpretation der textuellen Sicht wird<br />

durch eine Paraphrase auf der textuellen Ebene verdeutlicht. Zwei textuelle Sichten<br />

sind Paraphrasen voneinander, wenn sie in den verwendeten AusdrŸcken oder den<br />

syntaktischen Strukturen voneinander abweichen, aber dieselbe modelltheoretische<br />

Interpretationen haben. Paraphrasierung wird hier als ein syntaktisches Verfahren<br />

verstanden, bei dem das Ergebnis durch kontrollierte Ersetzung und Einsetzung von<br />

SASen sind Schnittstellen zwischen den faktischen Anforderungen aus dem Anwendungsbereich<br />

und dem prozeduralen Verhalten eines Computers. Wenn an dieser<br />

Schnittstelle bei der Formalisierung Fehler passieren oder bereits vorschnell Entwurfsentscheidungen<br />

getroffen werden und die Anwendungsspezialisten keine Mšglichkeit<br />

haben, das Dokument zu ŸberprŸfen und die Sachverhalte richtig zu stellen, weil<br />

sie mit der formalen Spezifikationsmethode nicht vertraut sind, dann wird der Computer<br />

die geforderte FunktionalitŠt im Anwendungsbereich nicht erbringen kšnnen.<br />

Unter welchen Rahmenbedingungen kann man eine formale Spezifikationssprache<br />

den Anwendungsspezialisten zugŠnglich machen? Auf der einen Seite mšchte man<br />

von den Eigenschaften einer formalen Spezifikationssprache profitieren, um die Validierung<br />

und die Verifikation maschinell unterstŸtzen zu kšnnen. Auf der anderen<br />

Seite muss man aber feststellen, dass formale Spezifikationssprachen fŸr Leute aus<br />

dem Anwendungsgebiet, die nicht Ÿber die nštigen mathematische Grundlagen verfŸgen,<br />

kaum zugŠnglich sind. Wir schlagen deshalb vor, dass man eine anwendungsspezifische<br />

Spezifikationssprache einfŸhrt, mit der die faktischen Anforderungen auf<br />

eine natŸrliche Weise eindeutig dargestellt werden kšnnen. Die Sprache soll informell<br />

erscheinen, aber die gleichen formalen und operationalen Eigenschaften wie eine<br />

logikbasierte Spezifikationssprache haben [vgl. Fuchs & Robertson 96].

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!