520 likes | 620 Views
Engineering Self- Organising Applications. Giovanna Di Marzo Serugendo Birkbeck College, University of London dimarzo@dcs.bbk.ac.uk http://www.dcs.bbk.ac.uk/~dimarzo. Outline. Some definitions … Agents Adaptation Mechanisms Middleware Infrastructures Methods and Tools Issues.
E N D
Engineering Self-Organising Applications Giovanna Di Marzo Serugendo Birkbeck College, University of London dimarzo@dcs.bbk.ac.uk http://www.dcs.bbk.ac.uk/~dimarzo Lakeside Labs, Klagenfurt, 14/07/2010
Outline • Some definitions … • Agents • Adaptation Mechanisms • Middleware Infrastructures • Methods and Tools • Issues Lakeside Labs, Klagenfurt, 14/07/2010
Concepts • Self-organisation • Self-organisation is the process enabling a system to change its organisation in case of environmental changes without explicit external command • Weak Self-Organisation: internal central control • Strong Self-Organisation: no internal central control • [Dimarzo et al. 05] Lakeside Labs, Klagenfurt, 14/07/2010
Concepts • Emergent phenomena • A structure (pattern, property or function), not explicitly represented at the level of the individual components (lower level), and which appears at the level of the system (higher level).” • Positive / negative feedback • Positive: reinforcement of perturbation leading to amplification of perturbation • Negative: leads towards stabilisation by avoiding fluctuations caused by perturbation Lakeside Labs, Klagenfurt, 14/07/2010
Concepts • Adaptation • Adaptation to long-term environmental changes • Adaptation to immediate environmental changes • Individual components behave autonomously • Local information (“up-to-date”) • Immediate response of system • Adaptation expected for engineered systems Lakeside Labs, Klagenfurt, 14/07/2010
Concepts • Decentralised Control • Coordination of work without central decisions • Self-organisation mechanisms are (mostly) based on decentralised architectures of information flow • No instruction issued from leaders • Individuals gather information (directly or not) and decides what to do Lakeside Labs, Klagenfurt, 14/07/2010
Engineering Adaptive Systems Orders - Agent Overall Picture Adaptation Mechanisms Natural Adaptive Systems Model State st Analysis and Simulation Artificial Adaptive Systems 7 Lakeside Labs, Klagenfurt, 14/07/2010
Adaptation Mechanisms Middleware Infrastructure Agents Open Issues Methodologies Tools Engineering Overview Engineering Adaptive Systems 8 Lakeside Labs, Klagenfurt, 14/07/2010
Outline • Overview and Concepts • Agents • Adaptation Mechanisms • Middleware Infrastructures • Methods and Tools • Issues Lakeside Labs, Klagenfurt, 14/07/2010
Software Agents • Definition [Wooldridge 01] “An agent is a computer system situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives” • Characteristics • Executing program • Acts on behalf of a user or a program • Autonomous • Proactive (take initiative) • Distributed • Maintain information about own resources • Intelligent • Mobile 10 Lakeside Labs, Klagenfurt, 14/07/2010
Software Agents • Agents • Situated in an environment • Sensors (to sense environment’s state) • Actuators (to perform some action based on environment’s state and own tasks) • Reactive Agents • Act in response to some event/change occurring in the environment • Autonomous Agents • Make independent decisions • Take initiatives • Intelligent Agents • Adapt and learn • Reasoning (Belief-Desire-Intention BDI) • Mobile Agents • Move from one computer to another one 11 Lakeside Labs, Klagenfurt, 14/07/2010
Software Agents • Agents’ Interactions • Communication (exchange of messages) • Inform, request, confirm, etc. • Coordination (of individual agent’s tasks) • “Managing inter-dependencies between the activities of the agents” • Resource sharing • Dependencies (tasks scheduling) • Collaboration • Competition • Transactions • Agent-oriented software engineering 12 Lakeside Labs, Klagenfurt, 14/07/2010
Outline • Overview and Concepts • Agents • Adaptation Mechanisms • Middleware Infrastructures • Methods and Tools • Issues Lakeside Labs, Klagenfurt, 14/07/2010
Adaptation Mechanisms • Interaction (SO) Mechanisms • Fixed rules • Fixed parameters • Adaptable parameters • Self-modifying / Adaptive rules • Learning, Immune Systems • Evolutionary techniques • Self-building rules • Reflective systems? Cognition? • Rules constrained by policies Lakeside Labs, Klagenfurt, 14/07/2010
Adaptation Mechanisms • Stigmergy [Bonabeau 99, Camazine 01] • Indirect communication with environment • Occurs through modifications brought by individual components to their local environment • Digital pheromone • Chemical volatile substance (Ants) • Intensity, evaporation rate • Work-in-progress • Stimulus provided by previous work (wasps) • Mapping table: configuration – action 15 Lakeside Labs, Klagenfurt, 14/07/2010
Adaptation Mechanisms • Schools of Fish / Flocks of Birds • Directcommunication among components of self-organising system • Wave of reaction: communicated progressively to all components of school, or flock • Monitoring of position and speed of neighbours • Adaptation of own position and speed • Mechanism (attraction and repulsion rules) 1. Maintain a minimum distance from other objects in the environment, including other fishes/birds. 2. Match velocities with neighbours. 3. Move toward the perceived centre of mass of fishes/birds in its neighbourhood. 16 Lakeside Labs, Klagenfurt, 14/07/2010
Adaptation Mechanisms • Gossiping [Jelasity 05] • Periodic information exchange • All nodes communicate with (randomly) selected peer nodes • Information dissemination, information aggregation, overlay topology construction 17 Lakeside Labs, Klagenfurt, 14/07/2010
Adaptation Mechanisms • Trust [Cahill 03] • Human trust in peers • Trust values, calculation of risk, decision of action • Updated on basis of positive/negative evidence • Immune System [Hofmeyr 00] • B Cells + antibodies (learning / detection and marking) / T cells (destruction) • Bit strings / String values (anomaly to detect) • Mobile agents 18 Lakeside Labs, Klagenfurt, 14/07/2010
Adaptive Mechanisms • Tags [Hales 06] • Markings attached to individuals (agents) and observable by others • Agents change behaviour on basis of utility function value observed in peers (tag) • Dynamically updated Metadata • Additional information (metadata) about functional / non-functional information • Middleware processes metadata and components adapt to policies 19 Lakeside Labs, Klagenfurt, 14/07/2010
Outline • Overview and Concepts • Agents • Adaptation Mechanisms • Middleware Infrastructure • Method and Tools • Issues Lakeside Labs, Klagenfurt, 14/07/2010
Middleware Infrastructures • Middleware • Intermediary software layer • Allows communication and coordination among agents • Interest for decentralised adaptive systems • Shared environment • Agents coordinate their work through this environment • No need for central control • May support adaptation mechanism 21 Lakeside Labs, Klagenfurt, 14/07/2010
Middleware Infrastructures • Coordination spaces • “Blackboard” • Repository of tuples (n-uples) accessed concurrently • Producers and consumers of tuples • Associative memory • Retrieval of tuples based on “pattern matching” • Swarm-based infrastructures • SwarmLinda [Charles 04] • Anthill [Babaoglu 02] • Field-based infrastructures • Co-fields / TOTA 22 Lakeside Labs, Klagenfurt, 14/07/2010
Coordination Spaces • Linda [Gelernter 85] • Coordination language/model based on shared tuple spaces • Indirect communication • Insertion of tuples in the shared data space (out) • Retrieval of tuples from the shared data space (in or rd) • Retrieval is based on matching a given template 23 Lakeside Labs, Klagenfurt, 14/07/2010
out (“name”, “John”, “surname”, “Smith”, “age”, 5) (“name”, “Arthur”, “surname”, “Smith”, “age”, 7) Coordination Spaces Shared Tuple Space A (“name”, “Arthur”, “surname”, “Smith”, “age”, 7) rd B (“name”,?x, “surname”, “Smith”, “age”, ?i) 24 Lakeside Labs, Klagenfurt, 14/07/2010
Coordination Spaces • Coordination spaces as middleware layers • Uncoupled interactions • Limited form of self-organisation • Decentralised control, anonymous and indirect interactions among agents • No specific support for adaptation mechanism • Languages • Linda • JavaSpaces (Sun) • Tspaces (IBM) 25 Lakeside Labs, Klagenfurt, 14/07/2010
Field-Based Infrastructures • Co-Fields (Computational Fields) [Mamei 02, Mamei 06] • Principle – Force Fields • Agents generate application-specific fields • Propagation of fieldsin environment according to field-specific laws • Compositionof different fields (coordination field) • Agents followfield gradient (downhill / uphill) • Agents movements aredriven by fields(no central control) • Coordination emerges from • Interrelated effects of agents following the fields • Dynamic fields reshapingdue to agents movements • Composition of different fields at each point 26 Lakeside Labs, Klagenfurt, 14/07/2010
Field-Based Infrastructures • Abstraction • Different types of environments, different types of coordination tasks • Same approach for modelling/developing different types of systems • Application Development • Generation of fields, Definition of fields propagation, Agent reaction to fields • Examples • Ants foraging, birds flocking, traffic modelling 27 Lakeside Labs, Klagenfurt, 14/07/2010
Field-Based Infrastructures • Co-Fields Modelling of Ants Foraging • Two fields:HomeandFoodfields • Generated and spread by environment • Ants follow home or food field • Environment change fields according to ants movements • Wrinkling of fields where ants are located • Wrinkle = Abstraction for the pheromone • Fields = channels • Food-fields: down to food • Home-fields: down to home • Pheromone evaporation • Environment removesthe wrinkle after elapsed time Lakeside Labs, Klagenfurt, 14/07/2010 28
Outline • Overview and Concepts • Agents • Adaptation Mechanisms • Middleware Infrastructures • Methods and Tools • Issues Lakeside Labs, Klagenfurt, 14/07/2010
Methodologies and tools • (Middleware Infrastructures) • Patterns • Formal techniques • Simulation Tools • Development methods Lakeside Labs, Klagenfurt, 14/07/2010
Patterns • Architectural Patterns • Observer/controller (Organic Computing) • MAPE (IBM / Autonomic Computing) • Shared communication environment • MetaSelf [Dimarzo 10] • Interaction patterns • Diffusion, repulsion, replication, … • Coordination patterns • Firefly sync, gossip, trust, flocking, … Lakeside Labs, Klagenfurt, 14/07/2010
Simulation Tools • Reference • Martijn C. Schut [Schut] • Tutorial on collective intelligence simulations • http://sci.collectivae.net/ 32 Lakeside Labs, Klagenfurt, 14/07/2010
NetLogo / StarLogo • StarLogo • Study of decentralised systems • Many active agents • Research / Educational purposes • http://education.mit.edu/starlogo • NetLogo • Based on StarLogo • Make an applet with the simulations • HubNet • Distributed participatory simulations • http://ccl.northwestern.edu/netlogo 33 Lakeside Labs, Klagenfurt, 14/07/2010
Swarm / RePast • Swarm • Platform for agent-based models • Objective-C / Java • http://www.swarm.org • RePast • Inspired by Swarm • Agent-based models and simulations • Built-in features (e.g. genetic algorithms) • Java, .net, Python • http://repast.sourceforge.net/ 34 Lakeside Labs, Klagenfurt, 14/07/2010
New Ties / Mason • New Ties • Grow a large scale artificial society • Individual / Social learning • Large scale experiments using distributed P2P infrastructure • http://www.new-ties.org/ • MASON • Java based, very large number of agents (10000+) • Visualisation 2D / 3D • http://cs.gmu.edu/~eclab/projects/mason/ 35 Lakeside Labs, Klagenfurt, 14/07/2010
Breve / Cormas • Breve • 3D simulator • Multi-agents systems, artificial life • Python / Steve scripting language • http://www.spiderland.org/breve • Cormas • Modelling of natural resources by groups • Multi-agent systems • SmallTalk • http://cormas.cirad.fr/indexeng.htm 36 Lakeside Labs, Klagenfurt, 14/07/2010
LEADSTO / SDML • LEADSTO • Dynamic processes modelling • LEADSTO formal language • Temporal language • Simulations of LEADSTO specifications • e.g. human reasoning process • http://www.few.vu.nl/~wai/TTL • SDML • Strictly Declarative Modelling Language • MAS modelling logic based on autoepistemic logic • To express facts, knowledge and lack of knowledge about facts • Supports cognitive theories within agents • http://cfpm.org/sdml Lakeside Labs, Klagenfurt, 14/07/2010
AgentSheets • AgentSheets • Agents with behaviour and missions / Reactive to messages • Interactive simulations • Authoring tool supporting non programmer to create agents • Commercial product • http://www.agentsheets.com 38 Lakeside Labs, Klagenfurt, 14/07/2010
Formal Techniques • Formal methods • Probabilistic Finite State Machines (Martinoli) • Temporal logic (Fisher et al.) • Process Algebra (Hinchey) • Mathematical methods • Differential equations • Numerical analysis Lakeside Labs, Klagenfurt, 14/07/2010
Methodologies • Software engineering methodology • Set of practices • training materials, educational programs, worksheets, diagrams • repeatedly carried out to produce software • Disciplines • Project management • Analysis • Specification • Design • Implementation • Test • Survey of SOS Methods [Puviani et al. 09] 40 Lakeside Labs, Klagenfurt, 14/07/2010
ADELFE [Bernon 02] • Guide + help designer • Determination of type of system • Based on AMAS Theory • Cooperative agents • Avoiding non cooperative situations Lakeside Labs, Klagenfurt, 14/07/2010
MetaSelf [Dimarzo 10] • Identification of self-* requirements • Design • Self-* mechanisms and policies • Run-time infrastructure • Agents / Artefacts / Metadata / Policies • Enforcement of policies on basis of metadata • Identification of faults Lakeside Labs, Klagenfurt, 14/07/2010
General Methodology [Gershenson 07] • Representation • Modelling • Adaptive Control • Mediator (reduce frictions / increase synergies) • Simulation • Test different scenarios • Application • Evaluation Lakeside Labs, Klagenfurt, 14/07/2010
Customised Unified Process [De Wolf 07] • Requirements Analysis • Macroscopic properties • Design • Architectural design / Patterns • Abstractions: Localities and Information flow • Implementation • Microscopic issues • Testing and verification • Numerical analysis for dynamical systems Lakeside Labs, Klagenfurt, 14/07/2010
Simulation Driven Approach [Gardelli 07] • Active entities: agents • Passive entities: artefacts • Environmental agents: manage artefacts • Middle phase (simulations) integrated between analysis and design Lakeside Labs, Klagenfurt, 14/07/2010
Outline • Overview and Concepts • Agents • Adaptation Mechanisms • Middleware Infrastructures • Methods / Methodologies • Issues Lakeside Labs, Klagenfurt, 14/07/2010
Open Issues • Issues • Interactions • Management of uncertainty • Sensitivity to initial conditions / system's parameters • Design and development • Micro- / Macro-behaviour • Macro-to-micro programming • Prediction of good/bad behaviour • Control 47 Lakeside Labs, Klagenfurt, 14/07/2010
Immune Systems Evolutionary Reinforcement Learning Self-modifying rules Intelligent Gossip Flocking Stigmergy Trust Refl. Mobile Interaction Mechanisms Agents Control Interoperability Parameters Sensitivity Micro/Macro Prediction Rules controlled by Policies and constraints Engineering SO Systems Issues Middleware Infrastructure Methods and Tools General Methodology Interaction Mechanisms Architectural Patterns MetaSelf Architecture MetaSelf Differential Equations Statistical Mechanics Simulation Based Adelfe CUP Repast Temporal Logic Swarm Formal Methods PFSM Starlogo Netlogo CCS CSP TOTA Swarm Linda Patterns Simulations Analysis / Verification Methodologies Mind Map Fixed rules Fixed / Var. param. Autonomous Self-Building Rules
Questions? Lakeside Labs, Klagenfurt, 14/07/2010
References [Babaoglu 02] Özalp Babaoglu, Hein Meling, Alberto Montresor: Anthill: A Framework for the Development of Agent-Based Peer-to-Peer Systems. ICDCS 2002: 15-22 [Bernon 02] Bernon C., Gleizes M-P., Peyruqueou S., Picard G.r - ADELFE, a Methodology for adaptive Multi-Agent Systems Engineering - Third International Workshop "Engineering Societies in the Agents World" (ESAW-2002), 16-17 September 2002, Madrid. Petta P., Tolksdorf R., Zambonelli F., Eds., Springer-Verlag, LNAI 2577, p. 156-169. [Bonabeau 99] E. Bonabeau, M. Dorigo, and G. Théraulaz. Swarm Intelligence:From Natural to Artificial Systems Santa Fe Institute Studies on the Sciences of Complexity. Oxford University Press, UK, 1999. [Cahill 03] V. Cahill, B. Shand, et al.: "Using Trust for Secure Collaboration in Uncertain Environments", IEEE Pervasive Computing Magazine, special issue Dealing with Uncertainty, Volume 2, Number 3, pp. 52-61, Jul-Sep 2003. [Camazine 01] S. Camazine, J.-L. Deneubourg, Nigel R. F., J. Sneyd, G. Téraulaz, and E.Bonabeau. Self-Organisation in Biological Systems. Princeton Studies in Complexity. Princeton University Press, 2001. [Charles 04] A. Charles, R. Menezes, R. Tolksdorf. On the Implementation of SwarmLinda – A Linda System Based on Swarm Intelligence. CS-2004-03. Florida Tech, Computer Science, 2004. [deCastro 06] L. M. de Castro: Fundamentals of Natural Computing – Basic Concepts, Algorithms, and Applications. Chapman & Hall/CRC. 2006. Lakeside Labs, Klagenfurt, 14/07/2010