Übersetzung von CNL-Anforderungsspezifikationen in formale Modelle

Bachelorarbeit

In einem laufenden Projekt des s-labs werden aus Anforderungen, die mit Hilfe einer kontrolliert natürlichen Sprache (CNL) definiert werden, automatisch Testfälle erzeugt. Das entwickelte Verfahren soll aus folgenden Phasen bestehen:

  1. Die Anforderungen an das zu testende System werden vom Benutzer manuell mit Hilfe einer definierten kontrolliert natürlichen Sprache beschrieben.
  2. Diese Anforderungen werden automatisch in ein formales Modell übersetzt.
  3. Aus den Anforderungen werden automatisch verschiedene Testziele abgeleitet aus denen dann Testfälle in für die Nutzer verständlicher Form generiert werden.

In Rahmen dieser Bachelorarbeit sollen die Schritte 1 und 2 betrachtet werden. Es existiert bereits eine kontrolliert natürliche Sprache, die in Form einer kontextfreien Grammatik definiert worden ist. Diese Sprache soll eingehend untersucht und ggf. um weitere Konstrukte erweitert werden. Hierfür sollen verschiedene Anforderungsdokumente aus der Praxis untersucht werden.

Die Übersetzung von CNL in ein formales Modell ist momentan durch eine Softwarelösung in Java implementiert. Hierbei wird das formale Modell durch einen Text repräsentiert, der Anforderungen und Aktionen im Sinne des "Automated Planning" beschreibt. Eine Änderung an der CNL zieht derzeit immer umständliche Änderungen im Programmcode nach sich. Im Rahmen dieser Arbeit soll daher das Eli-System eingesetzt werden, um solche Übersetzer zu generieren. Die Übersetzerspezifikation soll mit Hilfe der Literate-Programming-Möglichkeiten von Eli besonders änderungs- und wartungsfreundlich gestaltet werden.

Im laufenden Projekt des s-lab wurde neben dem CNL-Übersetzer eine Eingabe-Umgebung entwicklet, die die Nutzer bei der Erstellung von CNL-Dokumenten unterstützt. Diese Umgebung wird mit dem Generator JavaCC aus einer Spezifikation der CNL-Syntax erzeugt. Die Eingabespezifikation für JavaCC soll nun automatisch aus der zu entwickelnden Eli-Spezifikation hergeleitet werden. Dazu kann mit Eli ein zweiter einfacher Sprachprozessor entwickelt werden, der im wesentlichen die BNF-Formate konvertiert.

Ziel ist es, insgesamt eine zentrale, sauber spezifizierte Definition der CNL zu erhalten aus der automatisch der Übersetzer in das formale Modell und die Eingabe-Unterstützungsumgebung generiert werden können.

Bearbeitung: Matthias Mühe
Betreuung:
M. Schnelte (s-lab), P. Pfahler

Impressum | Webmaster | Letzte Änderungen am : 16.10.2013