Verbesserung der Controller Synthese für szenariobasierte

Werbung
Verbesserung der Controller Synthese für szenariobasierte
Spezifikationen mit Methoden aus der Künstlichen
Intelligenz
Zu vergebende Bachelor-/Masterarbeit
Keywords
3.
Modellbasiertes/szenariobasierte Spezifikation, intelligente
Suchverfahren, Java, Eclipse
Das Ziel dieser Arbeit ist es, die Controller Synthese mit
Hilfe von Algorithmen aus der Künstlichen Intelligenz zu
beschleunigen.
Ein Ansatz wäre es Alpha-Beta Pruning [3] für die Nutzung in der Controller Synthese anzupassen. Hierfür wäre es
nötig nicht nur den Alpha-Beta Pruning Algorithmus selbst
anzupassen, sondern auch eine gute Beurteilungsfunktion für
Zustände als Bestandteil des Algorithmus zu definieren. Zur
Vereinfachung darf diese Funktion auf das untersuchte Fallbeispiel angepasst sein und muss nicht allgemein sein. Des
weiteren ist es denkbar Optimierungsmethoden wie Move
Ordering einzuführen, um die Synthese zu beschleunigen.
Auch andere Verfahren aus der KI, die bei der Recherche
entdeckt werden, dürfen auf Tauglichkeit untersucht werden.
Für die Bearbeitung der Aufgabenstellung arbeiten Sie
sich zunächst in szenariobasierte Spezifikation und in Suchverfahren der Künstlichen Intelligenz ein. Dann erarbeiten
Sie einen Lösungsansatz und realisieren diesen in einer prototypischen Software. Ggf. umfasst dies auch die Untersuchung von bereits existierenden Werkzeugen, die wiederverwendet werden können. Der Prototyp sollte schließlich an
einem Fallbeispiel evaluiert werden.
1.
KONTEXT
In immer mehr Bereichen finden wir softwaregesteuerte
Systeme, die aus vielen kommunizierenden Komponenten
bestehen und kritische Aufgaben erfüllen. Deshalb muss bei
der Entwicklung von Anfang an darauf geachtet werden,
dass die Systeme ihre Aufgaben korrekt erfüllen. Dies ist eine Herausforderung, da einzelne Funktionen solcher Systeme
oft durch das Zusammenspiel mehrerer Komponenten realisiert werden und einzelne Komponenten oft mehrere Funktionen gleichzeitig erfüllen.
Wir erforschen daher szenariobasierte Entwurfsmethoden,
mit denen Entwickler szenariobasierte Spezifikationen modellieren und simulieren können [1, 2]. Seit einigen Jahren entwickeln wir dazu die Werkzeugumgebung ScenarioTools1 . Diese Werkzeugumgebung erlaubt es intuitive Szenarien zu modellieren, die jeweils kurze Verhaltensabläufe
von Objekten beschreiben, insbesondere deren Kommunikation. Das Zusammenspiel dieser Szenarien definiert das
Verhalten des Gesamtsystems. Die Szenarien zusammen ergeben so eine formelle Spezifikation.
Für solche Spezifikationen ist es möglich automatisiert eine Strategie zu finden, die das Verhalten des Systems in
jeder Situation eindeutig beschreibt und sicher stellt, dass
kein Szenario verletzt wird. Hierfür ist seine Suche in einem Zustandsraum nötig, welcher mit steigender Anzahl an
Szenarien und Objekten sehr schnell sehr groß wird. Diesen
Prozess nennt man Controller Synthese. Ein Controller stellt
somit eine Implementierung der Spezifikation dar. Diese Implementierung wird derzeit in Form eines Zustandsgraphen
ausgegeben.
2.
PROBLEMSTELLUNG
Wir haben bereits eine Implementierung eines Suchalgorithmus in ScenarioTools, welche es uns erlaubt Controller zu synthetisieren. Dabei besteht jedoch das Problem,
dass der zugrundeliegende Zustandsraum im Allgemeinen
exponentiell in der Anzahl der Objekte wächst. Diese macht
die Suche nach einer Strategie für größere Beispiele äußerst
langsam, was die Praxistauglichkeit unseres Ansatzes in Frage stellt.
1
http://scenariotools.org
4.
AUFGABENBESCHREIBUNG
LITERATURVERZEICHNIS
[1] C. Brenner, J. Greenyer, and V. Panzica La Manna.
The ScenarioTools Play-Out of Modal Sequence
Diagram specifications with environment assumptions.
In Proceedings of the 12th International Workshop on
Graph Transformation and Visual Modeling Techniques
(GT-VMT 2013), volume 58. EASST, 2013.
http://goo.gl/m9L6qX.
[2] D. Harel and R. Marelly. Come, Let’s Play:
Scenario-Based Programming Using LSCs and the
Play-Engine. Springer, 2003.
http://www.wisdom.weizmann.ac.il/~playbook/.
[3] A. Myers. Cs312 recitation 21 - minimax search and
alpha-beta pruning. https://www.cs.cornell.edu/
courses/cs312/2002sp/lectures/rec21.htm.
Kontakt
Daniel Gritzner
Fachgebiet Software Engineering,
Leibniz Universität Hannover
[email protected]
Herunterladen