Micro-Agents Revisited: a Modern Reimplementation of the Micro-Agent Layer of the Otago Agent Platform (OPAL)
Total Page:16
File Type:pdf, Size:1020Kb
Fachbereich 4: Institut fur¨ Wirtschafts- und Verwaltungsinformatik Micro-agents revisited: A Modern Reimplementation of the Micro-agent Layer of the Otago Agent Platform (OPAL) Masterarbeit zur Erlangung des Grades eines Master of Science im Studiengang Wirtschaftsinformatik vorgelegt von Christopher Frantz Betreuer: Prof. Dr. Martin K. Purvis, University of Otago Prof. Dr. Klaus G. Troitzsch, Institut fur¨ Wirtschafts- und Verwaltungsinformatik, Fachbereich Informatik Dr. Mariusz Nowostawski, University of Otago Erstgutachter: Prof. Dr. Martin K. Purvis, University of Otago Zweitgutachter: Prof. Dr. Klaus G. Troitzsch, Institut fur¨ Wirtschafts- und Verwaltungsinformatik, Fachbereich Informatik Koblenz, im November 2010 ERKLARUNG¨ Ich versichere, dass ich die vorliegende Arbeit selbst¨andig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel benutzt habe. Mit der Einstellung dieser Arbeit in die Bibliothek bin ich einverstanden. Der Ver¨offentlichung dieser Arbeit im Internet stimme ich zu. Ort, Datum Unterschrift II Abstract Multi-agent systems are a mature approach to model complex software systems by means of Agent-Oriented Software Engineering (AOSE). However, their appli- cation is not widely accepted in mainstream software engineering. Parallel to this the interdisciplinary field of Agent-based Social Simulation (ABSS) finds increasing recognition beyond the purely academic realm which starts to draw attention from the mainstream of agent researchers. This work analyzes factors to improve the uptake of AOSE as well as character- istics which separate the two fields AOSE and ABSS to understand their gap. Based on the efficiency-oriented micro-agent concept of the Otago Agent Platform (OPAL) we have constructed a new modern and self-contained micro-agent plat- form called µ2. The design takes technological trends into account and integrates representative technologies, such as the functionally-inspired JVM language Clo- jure (with its Transactional Memory), asynchronous message passing frameworks and the mobile application platform Android. The mobile version of the platform shows an innovative approach to allow direct in- teraction between Android application components and micro-agents by mapping their related internal communication mechanisms. This empowers micro-agents to exploit virtually any capability of mobile devices for intelligent agent-based appli- cations, robotics or simply act as a distributed middleware. Additionally, relevant platform components for the support of social simulations are identified and partially implemented. To show the usability of the platform for simulation purposes an interaction-centric scenario representing group shaping processes in a multi-cultural context is provided. The scenario is based on Hofste- de's concept of 'Cultural Dimensions'. It does not only confirm the applicability of the platform for simulations but also reveals interesting patterns for culturally augmented in- and out-group agents. This explorative research advocates the potential of micro-agents as a powerful general system modelling mechanism while bridging the convergence between mo- bile and desktop systems. The results stimulate future work on the micro-agent concept itself, the suggested platform and the deeper exploration of mechanisms for seemless interaction of micro-agents with mobile environments. Last but not least the further elaboration of the simulation model as well as its use to augment intelligent agents with cultural aspects offer promising perspectives for future re- search. III Zusammenfassung Die Verwendung von Multi-Agenten-Systemen in Verbindung mit Agenten-orien- tiertem Software Engineering stellt mittlerweile einen ausgereiften Ansatz zur Modellierung komplexer Systeme dar. Allerdings finden Multi-Agenten-Systeme im weiteren Feld der Softwareentwicklung bisher nur schwachen Anklang. Im Kontrast dazu erregt die Anerkennung des interdisziplin¨arenFeldes der sozial- wissenschaftlichen Simulation ¨uber akademische Grenzen hinaus zunehmend die Aufmerksamkeit des 'Mainstream' der Agentenforscher. Dies nimmt sich diese Ar- beit zum Anlass, die Verwendung von Multi-Agenten-Systemen im weiteren Feld der Software-Entwicklung voranzutreiben und gleichzeitig die unterschiedlichen Schwerpunkte von sozialwissenschaftlicher Simulation und Multi-Agenten-Syste- men zu analysieren. Im Zuge dessen bietet sich die Reimplementierung des effizienz- orientierten Micro-Agenten-Konzepts, welches den Kern der Otago Agent Platform (OPAL) bildet, an. Ergebnis ist eine eigenst¨andigeMicro-Agenten-Plattform, µ2, die zahlreiche konzeptionelle wie technische Innovationen bietet. Dazu geh¨oren die Integration der funktional orientierten Programmiersprache Clojure sowie die Implementation asynchroner Nachrichten¨ubermittlung. Als weiterer Aspekt wird die zunehmend popul¨aremobile Anwendungsplattform Android ber¨ucksichtigt. Uber¨ die reine Portierung der Agentenplattform hinaus weist Android Merkmale von Multi-Agenten-Systemen auf. Die Verbindung der Kommunikationsmecha- nismen von Android und Micro-Agenten-Plattform erweitert das Funktionsspek- trum auf beiden Seiten: Micro-Agenten k¨onnenunmittelbar auf beliebige Android- Funktionalit¨atzugreifen, w¨ahrendAndroid die Micro-Agenten-Plattform als netz- werkweite Kommunikationsmiddleware verwenden kann. Potentiale dieser symbi- otischen Beziehung erstrecken sich dar¨uber hinaus in die Bereiche der Entwicklung 'intelligenter' mobiler Anwendungen sowie Robotik. Weiteres Ziel der Arbeit ist die Bereitstellung von Erweiterungen der Plattform, die eine Verwendung im Kontext sozialwissenschaftlicher Simulation erm¨oglichen. Das aus Softwareentwicklungssicht schwache, jedoch aus Simulationssicht relativ m¨achtige Micro-Agenten-Konzept zeigt seine Qualit¨atenim Kontext kommunika- tionsintensiver Szenarien. Um dies zu realisieren, wird ein Simulationszenario basierend auf Hofstede's Cultural Dimensions konstruiert, welches die Gruppen- bildung interkultureller Individuen simuliert. Neben dem Nachweis der Anwend- barkeit der Plattform f¨urSimulationsszenarien zeigen sich interessante Muster in und außerhalb der gebildeten Gruppen. IV Insgesamt zeigt diese explorative Arbeit ein breites Potential zur Verwendung von Agenten- respektive Micro-Agenten-Prinzipien auf. Dies reicht von Agenten- orientierter Modellierung bis zum Potential, die Konvergenz mobiler und sta- tion¨arerAnwendungen voranzutreiben. Dar¨uber hinaus bieten sich weitere Verbes- serungspotentiale am Micro-Agenten-Konzept sowie der Plattform selbst, ebenso wie eine intensivere Untersuchung der direkten Interaktion von Micro-Agenten mit mobilen Umgebungen an. Unabh¨angigdavon bietet das entwickelte Simu- lationsmodell einen Ansatz f¨urdie Verwendung kultureller Aspekte im Kontext intelligenter Agenten. V Acknowledgements I want to express my deepest gratitude to my supervisors Professor Dr. Martin K. Purvis and Professor Dr. Klaus G. Troitzsch whose joint supervision effort and tireless support made this thesis 'at the antipodes' possible. I also want to express my deepest gratitude to my supervisor Dr. Mariusz Nowos- tawski whose feedback was crucial for the outcome of the work. VI Table of Contents Abstract III ZusammenfassungIV AcknowledgementsVI Table of ContentsX List of FiguresX List of Tables XII List of Listings XIV Abbreviations XIV 1 Introduction1 1.1 Background and Motivation......................1 1.2 Outline of the thesis..........................4 2 Terminological and Conceptual Foundations6 2.1 The Agent concept...........................6 2.1.1 Definitions and Notions....................6 2.1.2 Agent Architectures...................... 13 2.1.3 The Need for Dynamic Notions................ 17 2.2 Multi-Agent Systems.......................... 22 2.2.1 System-theoretical Foundations................ 22 2.2.2 Multi-Agent Systems...................... 26 2.2.3 Standard Specifications for MAS............... 32 3 Research fields in Agent-based Computing 37 3.1 Agent-Oriented Software Engineering................. 37 3.1.1 History and Principles of AOSE................ 37 3.1.2 Comparing Agents and Objects................ 41 3.1.3 Criticism............................. 45 VII 3.2 Agent-based Social Simulation..................... 47 3.2.1 Heritage of Social Simulation................. 47 3.2.2 Methodological Aspects.................... 49 3.2.3 On the Gap between MAS for AOSE and ABSS....... 52 3.2.4 Problems in Social Simulation................. 61 4 Concurrency models of relevant Technologies 63 4.1 Concurrency............................... 63 4.1.1 On Concurrent Computing and its Relevance......... 63 4.1.2 Concurrency Handling Mechanisms.............. 65 4.2 Technologies in the Intersection of AOSE and Concurrent Computing 70 4.2.1 Clojure............................. 70 4.2.2 Android............................. 72 4.3 Java-based Asynchronous Message Passing Frameworks....... 75 5 Reimplementation of the Micro-agent concept 79 5.1 Existing Micro-agent Framework and Requirements for a Successor 79 5.1.1 The existing concept and implementation........... 79 5.1.2 Limitations and Requirements for the Successor....... 86 5.2 Design and Implementation of the Micro-agent Platform µ2 ..... 91 5.2.1 Design.............................. 91 5.2.2 Implementation......................... 97 5.3 Additional Platform Extensions.................... 108 5.3.1 Clojure as Agent/Environment Implementation Language.. 108 5.3.2 Fair Scheduler.......................... 110 5.4 Micro-agents on Android (MOA)..................