Kontrolliertes Englisch für Anforderungsspezifikationen
Kontrolliertes Englisch für Anforderungsspezifikationen
Kontrolliertes Englisch für Anforderungsspezifikationen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
78 Kapitel 4<br />
Kontrollierte natŸrliche Sprachen 77<br />
schaften von Datentypen dazu verwendet werden, um die korrekte Reihenfolge der<br />
Ereignisse fŸr die AusfŸhrung der Spezifikation zu bestimmen. Die resultierende<br />
algebraische Spezifikation legt fŸr jedes einzelne Ereignis die Vor- und Nachbedingungen<br />
explizit fest, so dass die Protokollmaschine die Ereignisse abarbeiten kann.<br />
Linguistisch interessant ist der natŸrlich-sprachliche Spezifikationstext, der den Ausgangspunkt<br />
fŸr die †bersetzung bildet. Auf der einen Seite ist der Text syntaktisch<br />
normalisiert worden. Zusammengesetzte nominale AusdrŸcke stehen in eckigen<br />
Klammern ([T-DISCONNECT indication]) und werden als syntaktische Einheiten behandelt.<br />
Diese Einheiten sind zuvor in der Spezifikation definiert worden, genauso<br />
wie die vielen AbkŸrzungen (SPDU, SPM, TIM) die im Text verwendet werden. Der<br />
Text enthŠlt nur eine kleine Anzahl von Satzmustern, vor allem konditionale und<br />
temporale Teilsatzbeziehungen. Auf der anderen Seite bleibt der Text unkontrolliert:<br />
Die SatzlŠngen variieren betrŠchtlich und umfassen zwischen 5-50 Wšrter, wobei ein<br />
Satz im Durchschnitt 15 Wšrter enthŠlt. Schwierigkeiten bereitet vor allem die mangelhafte<br />
textuelle KohŠsion. Da der Textzusammenhang nur ungenŸgend durch grammatische<br />
Mittel hergestellt wird, muss die abgeleitete algebraische Spezifikation durch<br />
eine grosse Menge von kontextueller Information in Form von Axiomen vervollstŠndigt<br />
werden.<br />
Ergebnis ein Modulentwurfsdokument erzeugt, das das GerŸst fŸr die formale Spezifikation<br />
bildet. Zu diesem Zweck werden alle Nomen und Verben, die in der Problembeschreibung<br />
auftauchen mit einem Softwarekonzept aus der objektorientierten Modellierung<br />
(z.B. Klasse, Attribut, Methode und Beziehung/Botschaft) assoziiert. Da<br />
eine homomorphe Abbildung zwischen der natŸrlich-sprachlichen Beschreibung und<br />
dem objektorientierten Modell nicht immer mšglich ist, mŸssen vor allem die Verben<br />
in "atomare PrŠdikate" zerlegt werden. Der Konstruktionsprozess verlŠuft interaktiv:<br />
Der Computer bestimmt automatisch nominale und verbale Kandidaten aus der informellen<br />
Problembeschreibung aufgrund von vorliegenden WšrterbŸchern, ohne den<br />
Text jedoch zu parsen. Der Modellierer wŠhlt die Kandidaten aus und klassifiziert sie<br />
zusammen mit ihren semantischen Rollen in Tabellen. Synonyme ersetzt der Modellierer<br />
durch ihr Leitwort. Die Tabellen und eine Reihe von Regeln, die kausale Beziehungen<br />
zwischen Ereignissen beschreiben, helfen die objektorientierten Softwarekonzepte<br />
zu identifizieren und das externe Zusammenspiel der Klassen zu bestimmen.<br />
WŠhrend der Ausarbeitung (zweite AktivitŠt) wird das interne Verhalten der<br />
Objekttypen bestimmt. Zu diesem Zweck wird sowohl die natŸrlich-sprachliche Problembeschreibung<br />
als auch das Modulentwurfsdokument in mehreren Zyklen verfeinert<br />
und umgeschrieben bis jeder Teil der (informellen) Problembeschreibung semantisch<br />
mit einem Teil der formalen Spezifikation in Bezug gebracht werden kann.<br />
Der Ansatz zeigt, dass der †bergang von einer natŸrlich-sprachlichen Problembeschreibung<br />
zu einem objektorientierten Modell Šusserst schwierig ist. Da die Abbildung<br />
zwischen den beiden Beschreibungsebenen nicht immer homomorph ist, kann es<br />
auch kein einfaches Regelwerk geben, wonach sich diese Transformation automatisieren<br />
lŠsst. Es braucht immer einen Modellierer mit viel Sachwissen, der ausgehend<br />
von der natŸrlich-sprachlichen Problembeschreibung die notwendigen Umstrukturierungen<br />
fŸr das objektorientierte Modell vornimmt.<br />
4.3.4 Kitss<br />
In [Nonnenmann & Eddy 93] wird das natŸrlich-sprachliche Spezifikationssystem<br />
Kitss (Knowledge-Based Interactive Test Script System) vorgestellt, das fŸr die Beschreibung<br />
von funktionalen TestfŠllen fŸr Black-Box-Tests entwickelt worden ist.<br />
Beim Anwendungsgebiet handelt es sich um ein grosses Telefonsystem. Kitss Ÿbersetzt<br />
Testfallspezifikationen, die in einer englischen Subsprache (telephonese) geschrieben<br />
sind, in eine Menge von logischen Formen. Die †bersetzung kommt mit<br />
Hilfe eines statistischen Parsers zustande, der speziell fŸr die Subsprache konfiguriert<br />
wurde. Der Parser berechnet nicht nur die syntaktischen Strukturen aufgrund von<br />
statistischen Wahrscheinlichkeiten, sondern auch den Skopus von Quantoren und die<br />
Referenzresolution. Wenn die statistische Analyse nicht zum Erfolg fŸhrt, greift der<br />
Parser fŸr die Disambiguierung entweder auf ein statisches Bereichsmodell zurŸck<br />
oder verlangt die notwendige Information vom Benutzer. Die erzeugten logischen<br />
Formen werden durch eine Analysekomponente zu Episoden zusammengefasst, die<br />
gegenŸber einem dynamischen Bereichsmodell auf VollstŠndigkeit geprŸft werden<br />
und dann allenfalls ergŠnzt werden mŸssen [vgl. Nonnenmann & Eddy 93:29 ff.].<br />
Wenn bei diesem Prozess Unklarheiten auftauchen, muss der Benutzer einzelne<br />
Passagen der TestfŠlle genauer erklŠren. Das Ergebnis ist ein vollstŠndiger Testfall in<br />
4.3.3 Ishihara<br />
In [Ishihara et al. 92] wird eine Methode fŸr die †bersetzung einer natŸrlich-sprachlichen<br />
Protokollspezifikation (OSI - Open System Interconnection session protocol<br />
specification) in eine algebraische Spezifikation besprochen. Protokollspezifikationen<br />
beschreiben Sequenzen von Ereignissen, die durch ein Programm (protocol machine)<br />
ausgefŸhrt werden. Da die natŸrlich-sprachlichen SŠtze oft nur implizit beschreiben,<br />
zu welchem Zeitpunkt die Ereignisse ausgefŸhrt werden, muss die Reihenfolge der<br />
einzelnen SŠtze explizit gemacht werden. Die Methode lšst dieses Problem, indem die<br />
SŠtze mit Hilfe einer unifikationsbasierten Grammatik in die algebraische Spezifikationssprache<br />
ASL Ÿbersetzt werden und dann kontextuelle Information und Eigen-