InPULSE
InPULSE
InPULSE (Integrative Pattern- und UML-orientierte Lern- und System- Entwicklungsumgebung)
Zusammenfassung der Ergebnisse von InPULSE
Im Rahmen des Projektes InPULSE wird am OFFIS e.V. unter der Leitung von Prof. Möbus eine Ontologie-basierte Methode zur Unterstützung der Anwendung von Mustern im Forward-Engineering entwickelt. Die Grundlage für das zu entwickelnde Assistenzsystem bildet eine Expertenbefragung für die die Repertory Grid Methode [SC93] adaptiert wurde, um Merkmale zu erfassen, die Entwurfsmuster beschreiben. Auf Basis der identifizierten Merkmale wird unter Verwendung der Methode der Formalen Begriffsanalyse [GW96] eine abstraktionsbasierte Hierarchisierung der Muster vorgenommen. Darüber hinaus wird aus den erhobenen Daten ein Bayes-Netz [Pe97] generiert, das als Grundlage für einen Dialog dient, der dem Benutzer ein adüquates Muster vorschlägt. Mit Hilfe des Bayes-Netzes wird ein Softwareentwurf im Hinblick auf einen möglichen Entwurfsmuster-Einsatz geprüft, indem sukzessiv Designmerkmale von dem Benutzer abgefragt werden. Das Dialogsystem wird in der Lage sein, nach Erfragen der Modellierungssituation, dem Benutzer ein geeignetes Muster zum Einsatz zu empfehlen.
In InPULSE wurden folgende Ergebnisse erstellt:
HAP 1 -Entwurfsmuster
Es wurde in UAP1.2 eine intensive Literaturrecherche betrieben und ein Fragebogen zur Befragung von Studierenden und Entwicklern zum Einsatz von Mustern in der Praxis entwickelt.
Es wurde in UAP1.2 und UAP 1.3 ein Verfahren zur Wissensakquisition erarbeitet und das Tool KARaCAs (Knowledge Acquisition with Repertory Grid Technique and Formal Concept Analysis) zur Unterstützung des Wissenserhebungsprozesses wurde erstellt. In KARaCAs wurden die Repertory Grid Technik [Sc92],[SW88] und die Formale Begriffsanalyse [GW96] verwendet und adaptiert. Der Paarvergleichsalgorithmus [MS05], [MSG05] wurde zur Bestimmung optimaler Lernreihenfolgen in KARaCAs integriert, inklusive der graphischen Aufbereitung der Ergebnisse. KARaCAs steht als Java-Applikation zur Verfügung, wobei der Paarvergleich über einen Server angebunden wird und über das Internet arbeitet.
Es wurden Ontologien über die strukturellen und die anwendungsspezifischen Merkmale der Entwurfsmuster nach Gamma erstellt. Die anwendungsspezifischen Merkmale wurden durch Expertenbefragungen mit dem KARaCAs-Tool erhoben. Die Ergebnisse dienen als Grundlage für das Dialogsystem. Die strukturellen Merkmale wurden aus Literaturrecherchen erhoben, Grundlage hierfür waren z.B. die Suchalgorithmen der TU Ilmenau, LePUS [Ed01],[Ed02] und DPML [MCL04][MHG02] . Diese Ontologie floss in die Erstellung ontologiebasierter Suchalgorithmen der TU Ilmenau ein.
HAP 2 - Verfahren zur Designüberprüfung auf Mustermerkmale
In UAP 2.2 wurde ein Assistenzsystem in Form eines Dialogspiels entwickelt. Grundlage hierfür bildete die in HAP 1 erstellte Ontologie über die anwendungsspezifischen Merkmale von Mustern, die in Expertenbefragungen aufgestellt wurde. Aus dieser Ontologie und zusätzlich angegebenen Sicherheitswerten, mit denen die Merkmale auf bestimmte Muster zutreffen, wurde ein Bayesnetz erstellt. Das Bayesnetz wird eingesetzt, um die Einsatzmöglichkeit eines Musters unter bestimmten vorherrschenden Fakten zu prüfen. Dazu wird der Anwender in einem Dialogspiel zum Vorhandensein verschiedener Merkmale befragt. Die daraus resultierenden Fakten werden als so genannte Evidenzen in das Bayesnetz eingetragen. Dieses berechnet daraufhin die Wahrscheinlichkeiten für die Einsatzmöglichkeit der modellierten Muster und liefert den Anwender einen entsprechenden Designvorschlag.
In UAP 2.3 wurde ein Verfahren zum Hypothesentesten entwickelt und ein erster Prototyp erstellt. Dieser Prototyp beinhaltet
- die Anbindung des Tools Together in der Version 6.01, hierzu wurde ein eigenes Repräsentationsformat für UML-Klassendiagramme in Java entwickelt
- die Anbindung an Prolog,
- es wurde eine Java Schnittstelle zu LPA-Prolog entwickelt, um eine Stand-alone Windows Version des Hypothesentestens zu entwickeln
- zusätzlich wurde eine Schnittstelle zu SWI-Prolog entwickelt, um die wissensbasierte Komponente netzfähig zu machen und auf dem Linux-Server ablaufen zu lassen
- die Entwicklung einer wissensbasierten Komponente in Prolog
- die Entwicklung eines Viewers für UML Klassendiagramme, um die Ergebnisse des Hypothesentestens darzustellen ohne direkt in die Modellierung der Benutzer in Together einzugreifen
- Ein Autorentool, um Dozenten bei der Erstellung neuer Aufgaben zu unterstützen.
HAP 6 Entwurf/ Realisierung E-Learning- und Assistenzsystem
Im HAP 6 wurde das E-Learning- und Assistenzsystem aus dem estat-Projekt adaptiert und weiterentwickelt. In dem System sind Informationen zu Entwurfsmustern abrufbar und unsere entwickelten Methoden integriert. Für Dozenten oder Content-Entwickler ist durch ein Schema die Struktur des Contents definiert, so dass die Kompatibilität mit dem System gesichert ist. Die Integration des neuen Contents in das LCMS ist durch einen Upload-Client unterstützt.
Um die Plattform auch im industriellen Umfeld einsetzen zu können, wurde eine Rechteverwaltung mit unterschiedlichen Nutzungsrechten für unterschiedliche Nutzergruppen entwickelt. Die Integration einer ontologiebasierten Navigation durch die Inhalte und ein komfortabler WYSIWYG-Editor zur Erstellung der Inhalte werden momentan in zwei Diplomarbeiten vorgenommen.
Der Projektabschlussbericht befindet sich hier.
References
[Ed01]
EDEN, A.H., Formal Specification of Object Oriented Design. International Conference on Multidisciplinary Design in Engineering CSME-MDE 2001 (Nov. 21-22, 2001), Montreal, Canada.
[Ed02]
EDEN, A.H., 'LePUS: A Visual Formalism for Object-Oriented Architectures', 6th World Conference on Integrated Design and Process Technology, Pasadena, California, (2002).
[GW96]
GANTER, B.; WILLE, R., Formale Begriffsanalyse, Springer,1996.
[MCL04]
MAK, Jeffrey K.H.; CHOY, Clifford S.T.; LUN, Daniel P.K., Precise Modeling of Design Patterns in UML, In Proceedings of the 26th International Conference on Software Engineering (ICSE '04).
[MHG02]
MAPLESDEN, D.; HOSKING, J.G.; GRUNDY, J.C., Design Pattern Modelling and Instantiation using DPML, In Proceedings of Tools Pacific 2002, Sydney, 18-21 February, 2002, CRPIT Press.
[MS05]
MÖBUS, CLAUS & SEEBOLD, HEIKO, A Greedy Knowledge Acquisition Method for the Rapid Prototyping of Bayesian Belief Networks, in: Ch-K. Looi, G. McCalla, B. Bredeweg & J. Breuker (eds), Artificial Intelligence in Education, Amsterdam: IOS Press, 2005, p. 875 - 877, ISBN 1-58603-530-4
[MSG05]
MÖBUS, CLAUS & SEEBOLD, HEIKO & GARBE, HILKE, A Greedy Knowledge Acquisition Method for the Rapid Prototyping of Knowledge Structures, p. 211 - 212; in: Clark, Peter; Schreiber, Guus; Proceedings of the 3rd International Conference on Knowledge Capture, 2005, New York, NY: ACM Press, ISBN: 1-59593-163-5; Order Number:607051; DOI-Bookmark:
[Pe97]
Pearl, J., Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference (Revised Second Printing), Morgan Kaufman Publishers, San Mateo, CA., 1998
[Sc92]
SCHEER, J. W., Psychologie der persönlichen Konstrukte und Repertory Grid-Technik. Ein idiographischer Ansatz in klinischer und medizinischer Psychologie. in: Schmidt, L. R. (Hrsg.): Psychologische Aspekte medizischer Maßnahmen. Jahrbuch der medizinischen Psychologie, Band 7. Berlin, Heidelberg, Springer, S. 273-290.
[SC93]
SCHEER, Jörn W. & CATINA, Ana (Hrsg.), Einführung in die Repertory Grid-Technik. Band 1: Grundlagen und Methoden. 1. Auflage. Hans Huber, 1993. ISBN 3-456-82074-7
[SW88]
SPANGENBERG, N.; WOLFF, K.E., Conceptual Grid Evaluation. In (Bock, H.H. Hrsg.). Classification and related methods of data analysis. Proceedings of the 1. Conference of the International Federation of Classification Societies (IFCS), Technical University of Aachen. Amsterdam: North Holland, Publ., S. 577-580.
Contact
Prof. Dr. Claus Möbus
Learning and Cognitive Systems
Department of Computing Systems
University of Oldenburg