Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Event-Based vs. Multi-Agent Systems:
Towards a Unified Conceptual Framework
Andrea Omicini
Dipartimento di Informatica – Sc...
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engineering: Events, Objects, Agents
5 Mix...
Premises
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engineering: Events, Objects, Age...
Premises
Paradigms for Complex Systems Engineering
Multi-agent systems are expected to provide the most viable
abstraction...
Premises
Issues
Can agent-based and event-based models and technologies coexist
without harming the conceptual integrity o...
Premises
Outline
We start from the essential of both paradigms, and discuss their
impact on complex system engineering
We ...
Event-based Systems
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engineering: Events, O...
Event-based Systems
Caveat Lector
The notions of event-based systems, event-based programming,
event-driven programming ar...
Event-based Systems
Terminology for Event-Based Systems
Definition
According to [FMG02], an event-based systems (EBS) is
a ...
Event-based Systems
Event-Based Architectures
Components in event-based systems act as either producers or
consumers of no...
Event-based Systems
Distributed Event-Based Systems (DEBS)
A fundamental issue in DEBS [MFP06] is represented by distribut...
Event-based Systems
Complex Event Processing (CEP)
Many articulated application scenarios – e.g., Business Activity
Monito...
Event-based Systems
EBS as Coordinated Systems
In EBS
activities of processes are basically driven by event notifications
a...
Multi-Agent Systems
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engineering: Events, O...
Multi-Agent Systems
Main abstractions of MAS
MAS can be modelled according to the main first-class abstractions
[WOO07]
age...
Multi-Agent Systems
Agents
Agents are computational entities whose defining feature is autonomy
[Woo02, ORV08]
→ MAS are co...
Multi-Agent Systems
Societies I
Societies represent the ensembles where the collective behaviours of
the MAS are regulated...
Multi-Agent Systems
Societies II
Depencencies & coordination
Handling dependencies in MAS is a coordination problem [MC94]...
Multi-Agent Systems
Environment
Environment captures the unpredictability of the MAS context
by modelling the external res...
Complex System Engineering: Events, Objects, Agents
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Compl...
Complex System Engineering: Events, Objects, Agents
Accidental Complexity I
Accidental complexity (originally called accid...
Complex System Engineering: Events, Objects, Agents
Accidental Complexity II
Sources of accidental complexity [MJGM13]
dis...
Complex System Engineering: Events, Objects, Agents
Object & Event-Based Systems
Object-oriented languages, frameworks, an...
Complex System Engineering: Events, Objects, Agents
Agent-Based Engineering for Complex Software Systems
Encapsulation of ...
Mixing Paradigms
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engineering: Events, Obje...
Mixing Paradigms
Agent-Oriented vs. Object-Oriented Computing
Agents are not objects [Gra96], but they can mixed up with
o...
Mixing Paradigms
Integrating MAS with EBS I
Indirectly
Objects-oriented programming straightforwardly couples with
event-d...
Mixing Paradigms
Integrating MAS with EBS II
Directly
Agents are supposed to be reactive to change [WJ95b]
Agents and MAS ...
Mixing Paradigms
Technology Patterns I
Most of the agent architectures adopts some effective notion of event,
in order to p...
Mixing Paradigms
Technology Patterns II
In [BLO+14, BDB+14], an event-driven architecture engineered as a
MAS is exploited...
Mixing Paradigms
What is Missing?
The above examples just emphasise the need for the integration of
the two paradigms, but...
EBS & MAS: Towards a Unified Framework
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engi...
EBS & MAS: Towards a Unified Framework Event Sources
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Compl...
EBS & MAS: Towards a Unified Framework Event Sources
Re-interpreting Agents and Environment
In a MAS, agents and environmen...
EBS & MAS: Towards a Unified Framework Event Sources
An Event-based View of MAS
Along this line, MAS can be seen as EBS whe...
EBS & MAS: Towards a Unified Framework Event Sources
An Agent-based View of EBS
Dually, EBS can be seen as MAS where produc...
EBS & MAS: Towards a Unified Framework Event Sources
Benefits
Agent abstractions induce a higher-level of expressiveness in ...
EBS & MAS: Towards a Unified Framework Boundary Artefacts
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 ...
EBS & MAS: Towards a Unified Framework Boundary Artefacts
General Event Model
Handling all the ways in which an agent may p...
EBS & MAS: Towards a Unified Framework Boundary Artefacts
Boundary Artefacts
The need for a general event model mandates fo...
EBS & MAS: Towards a Unified Framework Boundary Artefacts
An Architectural Pattern
In the MAS field, such a role is played b...
EBS & MAS: Towards a Unified Framework Boundary Artefacts
Benefits
When conceived as the abstraction mediating between compo...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Syst...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Dependencies
If agents and environment work as event source...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Complexity, Interaction & Coordination
Interaction is an es...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Coordination Models
In principle, coordination abstractions...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Event-Based Coordination in the Literature
The potential of...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Coordination Media for Event Coordination I
Along this line...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Coordination Media for Event Coordination II
From the EBS v...
EBS & MAS: Towards a Unified Framework Event-based Coordination
Benefits
Since all events are represented uniformly, coordin...
A Case Study in EBS & MAS Middleware: TuCSoN
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex Syst...
A Case Study in EBS & MAS Middleware: TuCSoN
TuCSoN Architecture I
A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Sy...
A Case Study in EBS & MAS Middleware: TuCSoN
TuCSoN Architecture II
agents — Any computational entity willing to exploit T...
A Case Study in EBS & MAS Middleware: TuCSoN
TuCSoN Architecture III
probes — Environmental resources in TuCSoN are called...
A Case Study in EBS & MAS Middleware: TuCSoN
TuCSoN Architecture IV
events — TuCSoN adopts and generalises the ReSpecT eve...
A Case Study in EBS & MAS Middleware: TuCSoN
TuCSoN Event Model I
Event ::= StartCause , Cause , Evaluation
StartCause , C...
A Case Study in EBS & MAS Middleware: TuCSoN
TuCSoN Event Model II
Activity ::= Operation | Situation
Operation ::= out( T...
A Case Study in EBS & MAS Middleware: TuCSoN
Event-Based TuCSoN: Summing Up
In a TuCSoN-coordinated MAS
ACCs and transduce...
Conclusion
Outline
1 Premises
2 Event-based Systems
3 Multi-Agent Systems
4 Complex System Engineering: Events, Objects, A...
Conclusion
Summing Up I
A unified conceptual framework for MAS and EBS. . .
. . . is possible
. . . could work as the found...
Conclusion
Summing Up II
Steps
Three conceptual steps towards the unified framework
1 Agents and environment are interprete...
Acknowledgment
Thanks. . .
. . . to everybody here for listening
. . . to Giancarlo Fortino for inviting me to the CSCWD 2...
References
References I
Francesco Aiello, Fabio Luigi Bellifemine, Giancarlo Fortino, Stefano Galzarano, and
Raffaele Gravi...
References
References II
Ralf Bruns, J¨urgen Dunkel, Holger Billhardt, Marin Lujak, and Sascha Ossowski.
Using Complex Eve...
References
References III
Jean Bacon, Ken Moody, John Bates, Richard Heyton, Chaoying Ma, Andrew McNeil,
Oliver Seidel, an...
References
References IV
Paolo Ciancarini.
Coordination models and languages as software integrators.
ACM Computing Survey...
References
References V
Antonella Di Stefano and Corrado Santoro.
Supporting agent development in Erlang through the eXAT ...
References
References VI
Ludger Fiege, Gero M¨uhl, and Felix C. G¨artner.
Modular event-based systems.
The Knowledge Engin...
References
References VII
Philipp Haller and Martin Odersky.
Scala actors: Unifying thread-based and event-based programmi...
References
References VIII
Gero M¨uhl, Ludger Fiege, and Peter Pietzuch.
Distributed Event-Based Systems.
Springer Berlin ...
References
References IX
James J. Odell.
Objects and agents compared.
Journal of Object Technology, 1(1):41–53, May–June 2...
References
References X
Andrea Omicini, Alessandro Ricci, Mirko Viroli, Cristiano Castelfranchi, and Luca
Tummolini.
Coord...
References
References XI
George A. Papadopoulos and Farhad Arbab.
Coordination models and languages.
In Marvin V. Zelkowit...
References
References XII
Mirko Viroli and Andrea Omicini.
Coordination as a service.
Fundamenta Informaticae, 73(4):507–5...
References
References XIII
Peter Wegner.
Coordination as constrained interaction.
In Paolo Ciancarini and Chris Hankin, ed...
References
References XIV
Danny Weyns, Andrea Omicini, and James J. Odell.
Environment as a first-class abstraction in mult...
Extras
URLs
Slides
On APICe
http://apice.unibo.it/xwiki/bin/view/Talks/EbsmasCscwd2015
On SlideShare
http://www.slideshare...
Event-Based vs. Multi-Agent Systems:
Towards a Unified Conceptual Framework
Andrea Omicini
Dipartimento di Informatica – Sc...
Nächste SlideShare
Wird geladen in …5
×

Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework

1.517 Aufrufe

Veröffentlicht am

Event-based systems (EBS) are nowadays the most viable sources of technologies and solutions for large-scale distributed applications. On the other hand, multi-agent systems (MAS) apparently provide the most viable abstractions and coherent methods to deal with complex distributed systems, in particular when advanced features – such as mobility, autonomy, symbolic reasoning, knowledge management, situation recognition – are required. In this talk we discuss how the core concepts of EBS and MAS can in principle be matched and integrated, providing a sound conceptual ground for a coherent discipline for the engineering of complex software systems.
[Keynote Speech @ IEEE CSCWD 2015, May 6, 2015, Calabria, Italy]

Veröffentlicht in: Wissenschaft
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework

  1. 1. Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework Andrea Omicini Dipartimento di Informatica – Scienza e Ingegneria (DISI) Alma Mater Studiorum—Universit`a di Bologna, Italy Keynote Speech @ IEEE CSCWD 2015 Calabria, Italy 6 May 2015 A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 1 / 78
  2. 2. Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 2 / 78
  3. 3. Premises Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 3 / 78
  4. 4. Premises Paradigms for Complex Systems Engineering Multi-agent systems are expected to provide the most viable abstractions to deal with the modelling and engineering of complex software systems [Jen00, Jen01] The event-based architectural style has already become prevalent for large-scale distributed applications [FMG02], to address some of the most common sources of accidental complexity such as distributed interaction and large-scale concurrency [Bro87, MJGM13] Nowadays multi-agent systems (MAS) and event-based systems (EBS) stand as the two most promising paradigms for complex systems modelling and engineering A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 4 / 78
  5. 5. Premises Issues Can agent-based and event-based models and technologies coexist without harming the conceptual integrity of systems? Is there some common conceptual foundation that could be exploited as a grounding for integrating agent-based and event-based abstractions, languages, technologies, and methods, in a coherent and effective way? A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 5 / 78
  6. 6. Premises Outline We start from the essential of both paradigms, and discuss their impact on complex system engineering We review some of the approaches already gearing towards paradigm integration We devise out three steps towards a unified conceptual framework for EBS and MAS, which could work in principle as the foundation of a coherent discipline for the modelling and engineering of complex software systems A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 6 / 78
  7. 7. Event-based Systems Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 7 / 78
  8. 8. Event-based Systems Caveat Lector The notions of event-based systems, event-based programming, event-driven programming are more or less ubiquitous in Computer Science literature Neither terminology is uniform, nor the many diverse ontologies are overall fully consistent However, there is a solid core where some widely-shared ideas and terms can be pointed out so as to provide for a common ontology and terminology for EBS For instance, in the well-established works by Luckham [Luc02] and M¨uhl et al. [MFP06] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 8 / 78
  9. 9. Event-based Systems Terminology for Event-Based Systems Definition According to [FMG02], an event-based systems (EBS) is a system in which the integrated components communicate by generating and receiving event notifications An event is an occurrence of a happening relevant for the system, e.g. a state change in some component A notification is the reification of an event within the system, and provides for its description A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 9 / 78
  10. 10. Event-based Systems Event-Based Architectures Components in event-based systems act as either producers or consumers of notifications Producers publish notifications, and provide an output interface for subscription Consumers subscribe to notifications as specified by producers Being not real messages, notifications have not a designed receiver: they are distributed by the event notification service to consumers that subscribed to that sort of notification Expressiveness of subscriptions depends on the data model and filter language used A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 10 / 78
  11. 11. Event-based Systems Distributed Event-Based Systems (DEBS) A fundamental issue in DEBS [MFP06] is represented by distributed notification routing—that is, the way in which notifications are routed to distributed consumers Typically handled by event-based middleware, where notifications may take the form of messages ! Being transmitted in the same way and format of messages does not make them messages in all aspects A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 11 / 78
  12. 12. Event-based Systems Complex Event Processing (CEP) Many articulated application scenarios – e.g., Business Activity Monitoring, Sensor Networks, and Market data – raise event management issues [EB09] Bringing about the need for the so-called Complex Event Processing (CEP) [Luc02] Issues such as event aggregation and transformation have to be addressed by making individual event notifications meaningful at the level of interpretation required for making consumer activities effective Relationships (such as causality, timing, or membership) between events should be detected, and event hierarchies could be required to provide for different level of abstractions A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 12 / 78
  13. 13. Event-based Systems EBS as Coordinated Systems In EBS activities of processes are basically driven by event notifications as they are generated by producers transformed, aggregated, filtered, distributed by the event bus finally interpreted and used by consumers In the overall, EBS are coordinated systems in their essence, where coordination is event-based [MJGM13] the event bus works as the system coordinator, encapsulating and possibly automating most of the coordination activities in an EBS, including CEP-related ones control over the logic of program execution is somehow inverted [HO06] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 13 / 78
  14. 14. Multi-Agent Systems Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 14 / 78
  15. 15. Multi-Agent Systems Main abstractions of MAS MAS can be modelled according to the main first-class abstractions [WOO07] agents societies environment A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 15 / 78
  16. 16. Multi-Agent Systems Agents Agents are computational entities whose defining feature is autonomy [Woo02, ORV08] → MAS are collection of autonomous agents working together as a system Goals & activities Individual agents model activities within a MAS through their observable actions along the motivations behind them—namely, the goals that set the agent’s course of actions [Cas12] Intelligent agents [WJ95a] embody goals as an explicit mentalistic abstraction—along with beliefs, desires, intentions, available actions, and plans A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 16 / 78
  17. 17. Multi-Agent Systems Societies I Societies represent the ensembles where the collective behaviours of the MAS are regulated towards the achievement of the overall system goals by governing mutual dependencies [MC94] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 17 / 78
  18. 18. Multi-Agent Systems Societies II Depencencies & coordination Handling dependencies in MAS is a coordination problem [MC94] that is, understanding how actions by (possibly intelligent) agents interfere with each other in the MAS when each agent aims at its own goal, and governing them altogether to make the whole MAS achieve its overall global goal Accordingly, coordination models are the most suitable tools to harness complexity in MAS [COZ00] as they are explicitly meant to provide the abstractions and mechanisms to “glue” agents together [GC92, Cia96] by governing agent interaction in a MAS [Weg96] Agent societies can then be built around the abstraction provided by coordination models [COZ00], that is coordination media [Cia96], in the general case of distributed systems coordination artefacts [ORV+ 04], in the case of MAS A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 18 / 78
  19. 19. Multi-Agent Systems Environment Environment captures the unpredictability of the MAS context by modelling the external resources and features that are relevant for the MAS along with their change over time [WOO07] Situated action & MAS situatedess Situated action is the realisation that coordinated, social, intelligent action arises from strict interaction with the environment, rather than from rational practical reasoning [Suc87] The need for situatedness of agents and MAS often translates into the requirement of being sensitive to environment change [FM96] This basically means dependency, again: so, agent (and, generally, MAS) behaviour is expected to be affected by environment change A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 19 / 78
  20. 20. Complex System Engineering: Events, Objects, Agents Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 20 / 78
  21. 21. Complex System Engineering: Events, Objects, Agents Accidental Complexity I Accidental complexity (originally called accidental difficulty [Bro87]) is not related to the application problem, but rather to our lack of appropriate abstractions and tools to directly handle the essence of the problem (essential complexity) Whereas [Bro87] claims that software engineers nowadays mostly deal with essential complexity due to the high-level languages and frameworks available, new application scenarios have generated new forms of accidental complexity A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 21 / 78
  22. 22. Complex System Engineering: Events, Objects, Agents Accidental Complexity II Sources of accidental complexity [MJGM13] distributed interaction — the distributed architecture of multiple servers running on the cloud (server farms) interacting with clients running on different platforms (e.g., smartphones, web browsers, desktop widgets, etc.) abstraction gap — between the problem-domain level (high-level, often event-driven) and the implementation-level (low-level messages, queues, schedulers, asynchronous callbacks) shared data consistency — many sources of data are replicated and distributed, and accessed concurrently—as well as distributed resources, more generally concurrency issues — such as data races, atomicity violations, deadlocks, etc. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 22 / 78
  23. 23. Complex System Engineering: Events, Objects, Agents Object & Event-Based Systems Object-oriented languages, frameworks, and platforms are still dominating the SE landscape The same application field (human-computer graphical interfaces) that made object-oriented languages mainstream is where event-driven programming fully developed first So, object-oriented and event-driven programming represent a good match However, distributed computing with object-oriented programming suffers from an abstraction gap: distributed objects requires either the design of distributed control or total transparency A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 23 / 78
  24. 24. Complex System Engineering: Events, Objects, Agents Agent-Based Engineering for Complex Software Systems Encapsulation of control makes agents overcome the abstraction gap of OOP [Ode02] Agent abstractions inherently deal with distribution [Jen00] Agent autonomy –– along with the associated agent features such as sociality, pro-activeness, situatedness, and the like – make agent-oriented software engineering (AOSE) a viable approach for engineering complex software systems [Jen01] Extra agent features such as mobility and intelligence make AOSE the most effective approach available for the engineering of intelligent and pervasive distributed systems [ZO04] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 24 / 78
  25. 25. Mixing Paradigms Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 25 / 78
  26. 26. Mixing Paradigms Agent-Oriented vs. Object-Oriented Computing Agents are not objects [Gra96], but they can mixed up with objects—e.g., by wrapping objects as agents [Ode02] Agent-oriented middleware can build upon object-oriented middleware to enable the paradigm shift—e.g., Jade [BCG07], TuCSoN [OZ99] More conceptually-coherent approaches to the integration of agents and objects include wrapping objects as agents [Ode02] artefact in the A&A meta-model allowing agents to use objects in a MAS [ORV08] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 26 / 78
  27. 27. Mixing Paradigms Integrating MAS with EBS I Indirectly Objects-oriented programming straightforwardly couples with event-driven systems Agents can mixup with objects—by either wrapping objects, or using them as artefacts ! Using objects as a sort of intermediate paradigm between events and agents do not represent a straightforward and conceptually-clean solution A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 27 / 78
  28. 28. Mixing Paradigms Integrating MAS with EBS II Directly Agents are supposed to be reactive to change [WJ95b] Agents and MAS are supposed to be situated [WOO07] ! as witnessed by the many diverse occurrences of the notion of event at the different level of MAS models and technologies A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 28 / 78
  29. 29. Mixing Paradigms Technology Patterns I Most of the agent architectures adopts some effective notion of event, in order to provide for agent reactiveness—e.g., BDI architectures [RG91] Most of the agent middlewares provide some event-based abstractions and mechanisms so as to deal with asynchronous message passing and environment change–––such as Jade [BCG07] and TuCSoN [OZ99] [ABF+11] presents an agent-based architecture for coordinating event streams from WBSN ELDA is an event-driven agent meta-model [FGMR10] eXAT [DSS05] is an agent programming platform exploiting the Erlang concurrent language [AVWW96] In the mobile agent field, MAPS [AFGG11] is an event-based agent platform for programming wireless sensor networks (WSN) in Java A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 29 / 78
  30. 30. Mixing Paradigms Technology Patterns II In [BLO+14, BDB+14], an event-driven architecture engineered as a MAS is exploited in the context of an EMA (emergency medical assistance) application scenario Integrating actors with event-based system Event-based actors allow for event-based programming without inversion of control [HO06] Scala actors unify event-based with thread-based programming [HO09] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 30 / 78
  31. 31. Mixing Paradigms What is Missing? The above examples just emphasise the need for the integration of the two paradigms, but do not provide a coherent and uniform conceptual framework for both Just dealing with the mere integration of technologies would essentially harm conceptual integrity, making the attempt to build up an overall approach for the engineering of complex software systems essentially ineffective Thus, in the remainder of the talk, we discuss how we could aim at a whole unified conceptual framework, capturing both MAS and EBS in a coherent way, though three steps of re-interpretation of agent-based and event-based abstractions A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 31 / 78
  32. 32. EBS & MAS: Towards a Unified Framework Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 32 / 78
  33. 33. EBS & MAS: Towards a Unified Framework Event Sources Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework Event Sources Boundary Artefacts Event-based Coordination 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 33 / 78
  34. 34. EBS & MAS: Towards a Unified Framework Event Sources Re-interpreting Agents and Environment In a MAS, agents and environment are the abstractions representing the only sources of events agents represent the designed source of events, autonomously driving control towards their own goals, and producing internal events through their actions environment models the external events that are relevant for the MAS, whose dynamics is in principle unpredictable, through abstractions of some sorts – environment resources, sensors & actuators, probes – that also capture diversity of the environment A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 34 / 78
  35. 35. EBS & MAS: Towards a Unified Framework Event Sources An Event-based View of MAS Along this line, MAS can be seen as EBS where agents encapsulate internal events—more generally, they encapsulate the activities in MAS that generate events according to some application criterion environment models external events through dedicated abstractions – environment resources –, thus capturing the dynamics of the unpredictable events external but relevant to MAS A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 35 / 78
  36. 36. EBS & MAS: Towards a Unified Framework Event Sources An Agent-based View of EBS Dually, EBS can be seen as MAS where producers in an EBS are to be classified as either agents—if they are responsible for the designed, internal events or environment resources—if they are used to model external, unpredictable events A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 36 / 78
  37. 37. EBS & MAS: Towards a Unified Framework Event Sources Benefits Agent abstractions induce a higher-level of expressiveness in EBS since agents encapsulate control along with the criteria for its management, articulated events histories can be modelled, along with their motivations Conceptual integrity is largely improved since environment is modelled as a first-class event-based abstraction, all causes of change and disruption in a MAS are modelled in a uniform way as event pro-sumers A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 37 / 78
  38. 38. EBS & MAS: Towards a Unified Framework Boundary Artefacts Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework Event Sources Boundary Artefacts Event-based Coordination 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 38 / 78
  39. 39. EBS & MAS: Towards a Unified Framework Boundary Artefacts General Event Model Handling all the ways in which an agent may produce events means accounting for all the many diverse ways in which an agent may effect and perceive the environment. physical actions of any sorts, perceptions, communication & coordination actions, epistemic actions, and so on and so forth Resources of any sorts give structure to MAS environment, bringing about a potentially huge variety of possible interactions → Heterogeneity and scale of events mandates for a general event model capable of capturing any sort of event – and all of its properties – in an expressive yet uniform way A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 39 / 78
  40. 40. EBS & MAS: Towards a Unified Framework Boundary Artefacts Boundary Artefacts The need for a general event model mandates for architectural abstractions mediating between event producers and the whole system aimed at uniformly handling a (possibly) hugely heterogeneous collection of event sources agents, on the one hand environmental resources, on the other Boundary artefacts allow in principle all sorts of occurrences to be suitably translated according to a common general event model into a uniform system of notifications A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 40 / 78
  41. 41. EBS & MAS: Towards a Unified Framework Boundary Artefacts An Architectural Pattern In the MAS field, such a role is played by Agent Communication Contexts [DSPST06], Agent Coordination Contexts [Omi02] for agents environment class for environment resources in Jason [BHW07] transducers for ReSpecT probes [MO14] In the field of event-based middleware, such a role is played by event mediators (or, correlators) in the Cambridge Event Architecture [BMB+00], as implemented by the Hermes distributed event-based middleware architecture [PB02] the OASIS open architecture for open, secure, widely distributed services [BM02] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 41 / 78
  42. 42. EBS & MAS: Towards a Unified Framework Boundary Artefacts Benefits When conceived as the abstraction mediating between components and the event bus, boundary artefacts account in principle for heterogeneity of event notifications By ruling agent interaction within a MAS as constrainers, rather than as commanders [Weg96], boundary artefacts also account for agent autonomy A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 42 / 78
  43. 43. EBS & MAS: Towards a Unified Framework Event-based Coordination Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework Event Sources Boundary Artefacts Event-based Coordination 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 43 / 78
  44. 44. EBS & MAS: Towards a Unified Framework Event-based Coordination Dependencies If agents and environment work as event sources, social abstractions should take care of dealing with interaction of any sort agent-agent interaction agent-environment interaction environment-environment interaction as well as any other more complex pattern of interaction taking care of their mutual dependencies by coordinating the many resulting flows of events [MC94]. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 44 / 78
  45. 45. EBS & MAS: Towards a Unified Framework Event-based Coordination Complexity, Interaction & Coordination Interaction is an essential source of complexity for computational systems in general [Weg97] A coordination model provides a framework in which the interaction of active and independent entities called agents can be expressed [Cia96] coordination entities are the entities whose mutual interaction is ruled by the model, also called the coordinables, or agents coordination media are the abstractions enabling and ruling interaction among coordinables coordination laws are the rules governing the observable behaviour of coordinables, the behaviour of the coordination media, as well as their interactions of any sort A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 45 / 78
  46. 46. EBS & MAS: Towards a Unified Framework Event-based Coordination Coordination Models In principle, coordination abstractions and technologies can help harnessing the intricacies of interaction in the engineering of complex software systems [Weg96] by constraining the space of admissible interactions [Omi99] In particular, the coordination primitives provided by a coordination model constrain the possibile agent actions whereas the coordination media provided by a coordination model constrain the possible targets of agent actions In the overall A coordination model constrains agents to interact via a limited set of primitives acting on a class of pre-defined media of coordination, whose computational behaviour defines the laws of coordination A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 46 / 78
  47. 47. EBS & MAS: Towards a Unified Framework Event-based Coordination Event-Based Coordination in the Literature The potential of event-based coordination is recognised both in academia and industry, and there exists a considerable amount of related work on event notification systems [FMG02] A number of event-based middleware providing such services—e.g., JEDI [CDNF01] event-based coordination models [PA98, VOR02] event-based coordination technologies [FHA99] event-based coordination formalisms [Omi99, VR02] in the literature witness the role of event-based middleware in the engineering of complex distributed systems the event-based nature of the most relevant coordination models, such as tuple-based ones [Omi99] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 47 / 78
  48. 48. EBS & MAS: Towards a Unified Framework Event-based Coordination Coordination Media for Event Coordination I Along this line, the third step in the integration of MAS and EBS is the recognition that coordination media [Cia96]) are the abstractions in charge of coordinating multiple event flows [ORZ06] according to their mutual dependencies in both MAS and EBS From the MAS viewpoint The role of coordination models in MAS [COZ00] is to provide event-driven coordination media as the coordination artefacts aimed at governing and ruling event coordination in MAS ← where coordination artefacts are the social abstractions in charge of managing dependencies of any sort within a MAS [MO15] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 48 / 78
  49. 49. EBS & MAS: Towards a Unified Framework Event-based Coordination Coordination Media for Event Coordination II From the EBS viewpoint Since EBS are essentially coordinated systems, where coordination is event-based [MJGM13] the event bus works as the system coordinator → coordination media could work as the core for an event-based architecture → EBS could be grounded upon a suitably-expressive coordination middleware, designing the event bus around the coordination services [VO06] A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 49 / 78
  50. 50. EBS & MAS: Towards a Unified Framework Event-based Coordination Benefits Since all events are represented uniformly, coordination artefacts can be used to deal with both social and situated dependencies, governing all interactions [MO14] and enforcing conceptual integrity By providing a specific computational model for dealing with event observation, manipulation, and coordination, coordination artefacts should make life easier for programmers and engineers Coordination media provide a suitable way to automatise event handling in EBS By encapsulating the logic for the coordination of multiple flows of events, coordination artefacts counterfeit inversion of control on the large scale A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 50 / 78
  51. 51. A Case Study in EBS & MAS Middleware: TuCSoN Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 51 / 78
  52. 52. A Case Study in EBS & MAS Middleware: TuCSoN TuCSoN Architecture I A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 52 / 78
  53. 53. A Case Study in EBS & MAS Middleware: TuCSoN TuCSoN Architecture II agents — Any computational entity willing to exploit TuCSoN coordination services. Agents should request and obtain an ACC from the TuCSoN node. Any action from any agent towards the MAS – either social or situated – is then mediated by its associated ACC. ACC — Agent coordination contexts [Omi02] are TuCSoN boundary artefacts devoted to agents. ACC both enable and constraint agents interactions: in particular, ACCs map every agent operation into events asynchronously dispatched to tuple centres. ACCs thus decouple agents from MAS in control, reference, space, and time. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 53 / 78
  54. 54. A Case Study in EBS & MAS Middleware: TuCSoN TuCSoN Architecture III probes — Environmental resources in TuCSoN are called probes. They are dealt with as sources of perceptions (aka sensors) or makers of actions (aka actuators) in a uniform way. Probes do not directly interact with the MAS, but through mediation of their associated transducer. transducers — TuCSoN transducers [CO09] are the boundary artefacts devoted to probes. Each probe is assigned to a transducer, which is specialised to handle events from that probe, and to act on probes through situation operations. Transducers thus decouple in control, reference, space and time probes from tuple centres. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 54 / 78
  55. 55. A Case Study in EBS & MAS Middleware: TuCSoN TuCSoN Architecture IV events — TuCSoN adopts and generalises the ReSpecT event model. Events are the run-time data structure representing both activities and change in a uniform way. ACC and transducers translate external events (activities and change) into internal events (operations and situations) that tuple centres can handle to implement the policies required for MAS coordination tuple centres — TuCSoN architectural component implementing coordination artefacts, thus in charge of managing dependencies. As such, they are meant to govern both social and situated interactions [OM13]. By adopting ReSpecT tuple centres, TuCSoN relies on (i) the ReSpecT language to program coordination laws, and (ii) the ReSpecT situated event model to implement events A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 55 / 78
  56. 56. A Case Study in EBS & MAS Middleware: TuCSoN TuCSoN Event Model I Event ::= StartCause , Cause , Evaluation StartCause , Cause ::= Activity | Change , Source , Target , Time , Space:Place Source , Target ::= AgentId | CoordArtefactId | EnvResId | ⊥ Evaluation ::= ⊥ | { Result } Table: ReSpecT situated event model A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 56 / 78
  57. 57. A Case Study in EBS & MAS Middleware: TuCSoN TuCSoN Event Model II Activity ::= Operation | Situation Operation ::= out( Tuple ) | (in | rd | no | inp | rdp | nop) ( Template [, Term ] ) Situation ::= getEnv( Key , Value ) | setEnv( Key , Value ) Change ::= env( Key , Value ) | time( Time ) | from( Space , Place ) | to( Space , Place ) Table: ReSpecT triggering events A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 57 / 78
  58. 58. A Case Study in EBS & MAS Middleware: TuCSoN Event-Based TuCSoN: Summing Up In a TuCSoN-coordinated MAS ACCs and transducers represent agents and environment, respectively, in the MAS, by translating activities and environment change in a common event model Tuple centres deals with both social and situated dependencies by making it possible to program the coordination of all sort of event in a uniform way In the overall, TuCSoN seemingly provides both a model and a technology to engineer coordinated MAS as EBS—or, dually, EBS as full-fledged MAS A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 58 / 78
  59. 59. Conclusion Outline 1 Premises 2 Event-based Systems 3 Multi-Agent Systems 4 Complex System Engineering: Events, Objects, Agents 5 Mixing Paradigms 6 EBS & MAS: Towards a Unified Framework 7 A Case Study in EBS & MAS Middleware: TuCSoN 8 Conclusion A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 59 / 78
  60. 60. Conclusion Summing Up I A unified conceptual framework for MAS and EBS. . . . . . is possible . . . could work as the foundation of a principled discipline for the engineering of complex software systems . . . by promoting a coherent integration of agent-based and event-based abstractions, languages, technologies, and methods A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 60 / 78
  61. 61. Conclusion Summing Up II Steps Three conceptual steps towards the unified framework 1 Agents and environment are interpreted as the only sources of events 2 Boundary artefacts as the architectural abstractions mediating between event sources and the system, enacting a general event model 3 Coordination media as the social abstractions for coordinating multiple event flows A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 61 / 78
  62. 62. Acknowledgment Thanks. . . . . . to everybody here for listening . . . to Giancarlo Fortino for inviting me to the CSCWD 2015 conference . . . to Stefano Mariani for the many discussions about agents and events we had in the last years A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 62 / 78
  63. 63. References References I Francesco Aiello, Fabio Luigi Bellifemine, Giancarlo Fortino, Stefano Galzarano, and Raffaele Gravina. An agent-based signal processing in-node environment for real-time human activity monitoring based on wireless body sensor networks. Engineering Applications of Artificial Intelligence, 24(7):1147–1161, 2011. F. Aiello, G. Fortino, R. Gravina, and A. Guerrieri. A Java-based agent platform for programming wireless sensor networks. Computer Journal, 54(3):439–454, 2011. Joe Armstrong, Robert Virding, Claes Wikstr¨om, and Mike Williams. Concurrent Programming in Erlang. Prentice Hall International, 2nd edition, 1996. Fabio Luigi Bellifemine, Giovanni Caire, and Dominic Greenwood. Developing Multi-Agent Systems with JADE. Wiley, February 2007. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 63 / 78
  64. 64. References References II Ralf Bruns, J¨urgen Dunkel, Holger Billhardt, Marin Lujak, and Sascha Ossowski. Using Complex Event Processing to support data fusion for ambulance coordination. In Juan M. Corchado, James Llinas, Jesus Garcia, Jose Manuel Molina, Javier Bajo, Stefano Coraluppi, David Hall, Moises Sudit, Alan Steinberg, T. Kirubarajan, Eloi Bosse, Kellyn Rein, Subrata Das, and Uwe Hanebeck, editors, 17th International Conference on Information Fusion (FUSION 2014), pages 1–7, Salamanca, Spain, 2014. IEEE Computer Society. Rafael H. Bordini, Jomi F. H¨ubner, and Michael J. Wooldridge. Programming Multi-Agent Systems in AgentSpeak using Jason. John Wiley & Sons, Ltd, October 2007. Holger Billhardt, Marin Lujak, Sascha Ossowski, Ralf Bruns, and J¨urgen Dunkel. Intelligent event processing for emergency medical assistance. In 29th Annual ACM Symposium on Applied Computing (SAC 2014), pages 200–206, New York, New York, USA, March 2014. ACM Press. Jean Bacon and Ken Moody. Toward open, secure, widely distributed services. Communications of the ACM, 45(6):59–64, June 2002. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 64 / 78
  65. 65. References References III Jean Bacon, Ken Moody, John Bates, Richard Heyton, Chaoying Ma, Andrew McNeil, Oliver Seidel, and Mark Spiteri. Generic support for distributed applications. Computer, 33(3):68–76, March 2000. Frederick P. Brooks. No Silver Bullet Essence and Accidents of Software Engineering. Computer, 20(4):10–19, April 1987. Cristiano Castelfranchi. Goals, the true center of cognition. In Fabio Paglieri, Luca Tummolini, Rino Falcone, and Maria Miceli, editors, The Goals of Cognition. Essays in Honor of Cristiano Castelfranchi, volume 20 of Tributes, chapter 41, pages 837–882. College Publications, London, December 2012. Gianpaolo Cugola, Elisabetta Di Nitto, and Alfonso Fuggetta. The JEDI event-based infrastructure and its application to the development of the OPSS WFMS. IEEE Transactions on Software Engineering, 27(9):827–850, September 2001. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 65 / 78
  66. 66. References References IV Paolo Ciancarini. Coordination models and languages as software integrators. ACM Computing Surveys, 28(2):300–302, June 1996. Matteo Casadei and Andrea Omicini. Situated tuple centres in ReSpecT. In Sung Y. Shin, Sascha Ossowski, Ronaldo Menezes, and Mirko Viroli, editors, 24th Annual ACM Symposium on Applied Computing (SAC 2009), volume III, pages 1361–1368, Honolulu, Hawai’i, USA, 8–12 March 2009. ACM. Paolo Ciancarini, Andrea Omicini, and Franco Zambonelli. Multiagent system engineering: The coordination viewpoint. In Nicholas R. Jennings and Yves Lesp´erance, editors, Intelligent Agents VI. Agent Theories, Architectures, and Languages, volume 1757 of LNAI, pages 250–259. Springer, 2000. 6th International Workshop (ATAL’99), Orlando, FL, USA, 15–17 July 1999. Proceedings. Antonella Di Stefano, Giuseppe Pappalardo, Corrado Santoro, and Emiliano Tramontana. The transparent implementation of agent communication contexts. Concurrency and Computation: Practice and Experience, 18(4):387–407, 2006. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 66 / 78
  67. 67. References References V Antonella Di Stefano and Corrado Santoro. Supporting agent development in Erlang through the eXAT platform. In Rainer Unland, Monique Calisti, and Matthias Klusch, editors, Software Agent-Based Applications, Platforms and Development Kits, Whitestein Series in Software Agent Technologies, pages 47–71. Birkh¨auser Basel, 2005. Michael Eckert and Fran¸cois Bry. Complex event processing (CEP). Informatik-Spektrum, 32(2):163–167, March 2009. Giancarlo Fortino, Alfredo Garro, Samuele Mascillaro, and Wilma Russo. Using event-driven lightweight DSC-based agents for MAS modelling. International Journal of Agent-Oriented Software Engineering, 4(2):113–140, 2010. Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces Principles, Patterns, and Practice: Principles, Patterns and Practices. The Jini Technology Series. Addison-Wesley Longman, June 1999. Jacques Ferber and Jean-Pierre M¨uller. Influences and reaction: A model of situated multiagent systems. In Mario Tokoro, editor, 2nd International Conference on Multi-Agent Systems (ICMAS-96), pages 72–79, Tokio, Japan, December 1996. AAAI Press. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 67 / 78
  68. 68. References References VI Ludger Fiege, Gero M¨uhl, and Felix C. G¨artner. Modular event-based systems. The Knowledge Engineering Review, 17(4):359–388, December 2002. David Gelernter and Nicholas Carriero. Coordination languages and their significance. Communications of the ACM, 35(2):97–107, 1992. Stan Franklin Art Graesser. Is it an agent, or just a program?: A taxonomy for autonomous agents. In J¨org P. M¨uller, Michael J. Wooldridge, and Nicholas R. Jennings, editors, Intelligent Agents III Agent Theories, Architectures, and Languages: ECAI’96 Workshop (ATAL) Budapest, Hungary, August 12–13, 1996 Proceedings, volume 1193 of Lecture Notes In Computer Science, pages 21–35. Springer, 1996. Philipp Haller and Martin Odersky. Event-based programming without inversion of control. In David E. Lightfoot and Clemens Szyperski, editors, Modular Programming Languages. 7th Joint Modular Languages Conference, JMLC 2006 Oxford, UK, September 13-15, 2006 Proceedings, number 1 in Lecture Notes in Computer Science, pages 4–22, Oxford, UK, September 2006. Springer Berlin Heidelberg. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 68 / 78
  69. 69. References References VII Philipp Haller and Martin Odersky. Scala actors: Unifying thread-based and event-based programming. Theoretical Computer Science, 410(2-3):202–220, February 2009. Nicholas R. Jennings. On agent-based software engineering. Artificial Intelligence, 117(2):277–296, March 2000. Nicholas R. Jennings. An agent-based approach for building complex software systems. Communications of the ACM, 44(4):35–41, April 2001. David C. Luckham. The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley Longman Publishing Co., Inc, Boston, MA, USA, 2002. Thomas W. Malone and Kevin Crowston. The interdisciplinary study of coordination. ACM Computing Surveys, 26(1):87–119, 1994. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 69 / 78
  70. 70. References References VIII Gero M¨uhl, Ludger Fiege, and Peter Pietzuch. Distributed Event-Based Systems. Springer Berlin Heidelberg, 2006. Aleksandar Milicevic, Daniel Jackson, Milos Gligoric, and Darko Marinov. Model-based, event-driven programming paradigm for interactive Web applications. In 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward!’13), pages 17–36, New York, NY, USA, October 2013. ACM Press. Stefano Mariani and Andrea Omicini. Coordination in situated systems: Engineering mas environment in TuCSoN. In Giancarlo Fortino, Giuseppe Di Fatta, Wenfeng Li, Sergio Ochoa, Alfredo Cuzzocrea, and Mukaddim Pathan, editors, Internet and Distributed Computing Systems, volume 8729 of Lecture Notes in Computer Science, pages 99–110. Springer International Publishing, September 2014. 7th International Conference on Internet and Distributed Computing Systems (IDCS 2014), Calabria, Italy, 22-24 September 2014, Proceedings. Stefano Mariani and Andrea Omicini. Coordinating activities and change: An event-driven architecture for situated MAS. Engineering Applications of Artificial Intelligence, January 2015. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 70 / 78
  71. 71. References References IX James J. Odell. Objects and agents compared. Journal of Object Technology, 1(1):41–53, May–June 2002. Andrea Omicini and Stefano Mariani. Coordination for situated MAS: Towards an event-driven architecture. In Daniel Moldt and Heiko R¨olke, editors, International Workshop on Petri Nets and Software Engineering (PNSE’13), volume 989 of CEUR Workshop Proceedings, pages 17–22. Sun SITE Central Europe, RWTH Aachen University, 6 August 2013. Andrea Omicini. On the semantics of tuple-based coordination models. In 1999 ACM Symposium on Applied Computing (SAC’99), pages 175–182, New York, NY, USA, 28 February – 2 March 1999. ACM. Special Track on Coordination Models, Languages and Applications. Andrea Omicini. Towards a notion of agent coordination context. In Dan C. Marinescu and Craig Lee, editors, Process Coordination and Ubiquitous Computing, chapter 12, pages 187–200. CRC Press, Boca Raton, FL, USA, October 2002. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 71 / 78
  72. 72. References References X Andrea Omicini, Alessandro Ricci, Mirko Viroli, Cristiano Castelfranchi, and Luca Tummolini. Coordination artifacts: Environment-based coordination for intelligent agents. In Nicholas R. Jennings, Carles Sierra, Liz Sonenberg, and Milind Tambe, editors, 3rd international Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2004), volume 1, pages 286–293, New York, USA, 19–23 July 2004. ACM. Andrea Omicini, Alessandro Ricci, and Mirko Viroli. Artifacts in the A&A meta-model for multi-agent systems. Autonomous Agents and Multi-Agent Systems, 17(3):432–456, December 2008. Special Issue on Foundations, Advanced Topics and Industrial Perspectives of Multi-Agent Systems. Andrea Omicini, Alessandro Ricci, and Nicola Zaghini. Distributed workflow upon linkable coordination artifacts. In Paolo Ciancarini and Herbert Wiklicky, editors, Coordination Models and Languages, volume 4038 of LNCS, pages 228–246. Springer, June 2006. Andrea Omicini and Franco Zambonelli. Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems, 2(3):251–269, September 1999. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 72 / 78
  73. 73. References References XI George A. Papadopoulos and Farhad Arbab. Coordination models and languages. In Marvin V. Zelkowitz, editor, The Engineering of Large Systems, volume 46 of Advances in Computers, pages 329–400. Academic Press, 1998. Peter R. Pietzuch and Jean M. Bacon. Hermes: a distributed event-based middleware architecture. In 22nd International Conference on Distributed Computing Systems Workshops (ICDCS 2002), pages 611–618, Vienna, Austria, 2–5 July 2002. IEEE Computer Society. Anand S. Rao and Michael P. Georgeff. Modeling rational agents within a BDI architecture. In James F. Allen, Richard Fikes, and Erik Sandewall, editors, 2nd International Conference on Principles of Knowledge Representation and Reasoning (KR’91), pages 473–484, San Mateo, CA, 1991. Morgan Kaufmann Publishers. Lucy A. Suchman. Situated actions. In Plans and Situated Actions: The Problem of Human-Machine Communication, chapter 4, pages 49–67. Cambridge University Press, New York, NYU, USA, 1987. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 73 / 78
  74. 74. References References XII Mirko Viroli and Andrea Omicini. Coordination as a service. Fundamenta Informaticae, 73(4):507–534, 2006. Special Issue: Best papers of FOCLASA 2002. Mirko Viroli, Andrea Omicini, and Alessandro Ricci. On the expressiveness of event-based coordination media. In Hamid R. Arabnia, editor, International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’02), volume III, pages 1414–1420, Las Vegas, NV, USA, July 2002. CSREA Press. Mirko Viroli and Alessandro Ricci. Tuple-based coordination models in event-based scenarios. In 22nd International Conference on Distributed Computing Systems, pages 595–601. IEEE CS, 2002. Proceedings of the Workshops. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 74 / 78
  75. 75. References References XIII Peter Wegner. Coordination as constrained interaction. In Paolo Ciancarini and Chris Hankin, editors, Coordination Languages and Models. First International Conference, COORDINATION ’96 Cesena, Italy, April 15–17, 1996. Proceedings, Lecture Notes in Computer Science, pages 28–33, Cesena, Italy, April 1996. Springer Berlin Heidelberg. Peter Wegner. Why interaction is more powerful than algorithms. Communications of the ACM, 40(5):80–91, May 1997. Michael J. Wooldridge and Nicholas R. Jennings. Intelligent agents: Theory and practice. Knowledge Engineering Review, 10(2):115–152, June 1995. Michael J. Wooldridge and Nicholas R. Jennings. Intelligent agents: Theory and practice. Knowledge Engineering Review, 10(2):115–152, 1995. Michael J. Wooldridge. An Introduction to MultiAgent Systems. John Wiley & Sons Ltd., Chichester, UK, March 2002. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 75 / 78
  76. 76. References References XIV Danny Weyns, Andrea Omicini, and James J. Odell. Environment as a first-class abstraction in multi-agent systems. Autonomous Agents and Multi-Agent Systems, 14(1):5–30, February 2007. Franco Zambonelli and Andrea Omicini. Challenges and research directions in agent-oriented software engineering. Autonomous Agents and Multi-Agent Systems, 9(3):253–283, November 2004. Special Issue: Challenges for Agent-Based Computing. A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 76 / 78
  77. 77. Extras URLs Slides On APICe http://apice.unibo.it/xwiki/bin/view/Talks/EbsmasCscwd2015 On SlideShare http://www.slideshare.net/andreaomicini/ eventbased-vs-multiagent-systems-towards-a-unified-conceptual-framework A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 77 / 78
  78. 78. Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework Andrea Omicini Dipartimento di Informatica – Scienza e Ingegneria (DISI) Alma Mater Studiorum—Universit`a di Bologna, Italy Keynote Speech @ IEEE CSCWD 2015 Calabria, Italy 6 May 2015 A. Omicini (DISI, UniBO) Event-Based vs. Multi-Agent Systems CSCWD – 6/5/2015 78 / 78

×