SlideShare uma empresa Scribd logo
1 de 79
Baixar para ler offline
Interaction, Complexity, Coordination 
Nature-inspired Coordination Models for Complex Distributed Systems 
Andrea Omicini 
andrea.omicini@unibo.it 
Dipartimento di Informatica { Scienza e Ingegneria (DISI) 
Alma Mater Studiorum { Universita di Bologna 
Fribourg, Switzerland 
20 November 2014 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 1 / 79
Outline 
1 Premises 
2 Interaction  Coordination 
3 Classes of Coordination Models 
4 Tuple-based Coordination Models 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 2 / 79
Premises 
Outline 
1 Premises 
2 Interaction  Coordination 
3 Classes of Coordination Models 
4 Tuple-based Coordination Models 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 3 / 79
Premises 
Scenarios for Concurrent / Distributed Systems 
Action  interaction 
Concurrency / parallelism 
Multiple independent activities / loci of control 
Acting simultaneously 
Processes, threads, actors, active objects, agents. . . 
Distribution 
Activities running on dierent and heterogeneous execution contexts 
(machines, devices, . . . ) 
Social interaction 
Dependencies among activities 
Collective goals involving activities coordination / cooperation 
Environment interaction 
Interaction with external resources 
Interaction within the time-space fabric 
Interaction in context 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 4 / 79
Premises 
Complexity  Interaction I 
An essential source of complexity for computational systems is 
interaction 
[Goldin et al., 2006] 
The power of interaction [Wegner, 1997] 
Interaction is a more powerful paradigm than rule-based 
algorithms for computer-based solving, overtiring the prevailing 
view that all computing is expressible as algorithms. 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 5 / 79
Premises 
Complexity  Interaction II 
Intelligence  interaction [Brooks, 1991] 
Real computational systems are not rational agents that take 
inputs, compute logically, and produce outputs. . . It is hard to 
draw the line at what is intelligence and what is environmental 
interaction. In a sense, it does not really matter which is which, 
as all intelligent systems must be situated in some world or other 
if they are to be useful entities. 
A conceptual framework for interaction [Milner, 1993] 
. . . a theory of concurrency and interaction requires a new 
conceptual framework, not just a re
nement of what we
nd 
natural for sequential [algorithmic] computing. 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 6 / 79
Premises 
Complexity  Interaction III 
Interactive computing [Wegner and Goldin, 1999] 
Finite computing agents that interact with an environment are shown 
to be more expressive than Turing machines according to a notion of 
expressiveness that measures problem-solving ability and is speci
ed 
by observation equivalence 
Sequential interactive models of objects, agents, and embedded 
systems are shown to be more expressive than algorithms 
Multi-agent (distributed) models of coordination, collaboration, and 
true concurrency are shown to be more expressive than sequential 
models 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 7 / 79
Premises 
(Non) Algorithmic Computation I 
Elaboration / computation 
Turing Machine (TM) 
gets an input, elaborates it, throws an output 
no interaction during computation 
Black-box algorithms 
Church's Thesis and computable functions 
in short, a function is computable i can be computed by a TM 
so, all computable functions are computable by a TM 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 8 / 79
Premises 
(Non) Algorithmic Computation II 
Beyond Turing Machines 
Turing's choice machines and unorganised machines 
[Wegner and Goldin, 2003] 
Wegner's Interaction Machines [Goldin et al., 2006] 
Examples: AGV, Chess oracle [Wegner, 1997] 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 9 / 79
Premises 
The Space of Interaction 
interaction 
space 
software 
component 
! 
! 
! 
! 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 10 / 79
Premises 
Components of an Interactive System 
What is a component of an interactive system? 
A computational abstraction characterised by 
an independent computational activity 
I/O capabilities 
Two independent dimensions 
elaboration / computation 
interaction 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 11 / 79
Premises 
Which Components? 
Open systems 
No hypothesis on the component's life  behaviour 
Distributed systems 
No hypothesis on the component's location  motion 
Heterogeneous systems 
No hypothesis on the component's nature  structure 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 12 / 79
Premises 
Basics of Interaction 
Component model 
A simple component exhibits 
Computation Inner behaviour of a component 
Interaction Observable behaviour of a component as input and output 
Coupling across component's boundaries 
Control 
Information 
Time  Space { internal / computational vs. external / physical 
Information-driven interaction 
Output shows part of its state outside 
Input bounds a portion of its own state to the outside 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 13 / 79
Premises 
Compositionality vs. Non-compositionality 
An informal view by [Wegner, 1996] 
Compositionality 
Sequential composition P1; P2 
behaviour(P1; P2) = behaviour(P1) + behaviour(P2) 
Non-compositionality 
Interactive composition P1jP2 
behaviour(P1jP2) = 
behaviour(P1) + behaviour(P2) + interaction(P1; P2) 
Interactive composition is more than the sum of its parts 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 14 / 79
Premises 
Non-compositionality 
Issues 
Compositionality vs. formalisability 
A formal notion of model is required for stating any compositional 
property 
However, formalisability does not require compositionality, and does 
not imply predictability 
Partial formalisability may allow for proof of properties, and for partial 
predictability 
Emergent behaviours 
Fully-predictabile / formalisable systems do not allow by de
nition for 
emergent behaviours 
Formalisability vs. expressiveness 
Less / more formalisable systems are (respectively) more / less 
expressive in terms of potential behaviours 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 15 / 79
Premises 
Basic Engineering Principles for Interactive Systems I 
Principles 
Abstraction 
Problems should be faced / represented at the most suitable level of 
abstraction 
Resulting abstractions should be expressive enough to capture the 
most relevant problems 
Conceptual integrity 
Locality  encapsulation 
Design abstractions should embody the solutions corresponding to the 
domain entities they represent 
Run-time vs. design-time abstractions 
Incremental change / evolution 
On-line engineering [Fredriksson and Gustavsson, 2004] 
(Cognitive) Self-organising systems [Omicini, 2012] 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 16 / 79
Premises 
Basic Engineering Principles for Interactive Systems II 
Issues 
What is the most suitable abstraction level to deal with interaction? 
Which sort of dedicated SE abstractions could encapsulate the logic 
of the management of interaction? 
Which sort of general conceptual framework could generally deal with 
all interaction-related issues? 
Is there any general-purpose middleware technology that could reify 
such a framework? 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 17 / 79
Interaction  Coordination 
Outline 
1 Premises 
2 Interaction  Coordination 
3 Classes of Coordination Models 
4 Tuple-based Coordination Models 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 18 / 79
Interaction  Coordination 
Harnessing the Complexity of Interaction 
Coordination is managing interaction [Wegner, 1997] 
Coordination models work by constraining the space of interaction 
[Wegner, 1996] 
So, in principle, coordination abstractions and technologies can help 
harnessing the intricacies of interaction in the engineering of complex 
software systems 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 19 / 79
Interaction  Coordination 
What is Coordination? 
Coordination: ruling the space of interaction 
elaboration / 
computation 
! 
coordination 
! 
! 
! 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 20 / 79
Interaction  Coordination 
New Perspective on Computational Systems 
Programming languages 
Interaction as an orthogonal dimension 
Languages for interaction / coordination 
Software engineering 
Interaction as an independent design dimension 
Coordination patterns 
Arti
cial intelligence 
Interaction as a new source for intelligence 
Social intelligence 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 21 / 79
Interaction  Coordination 
Coordination as Constrained Interaction [Wegner, 1996] 
Coordination models harness the complexity of interaction by disciplining 
the space of admissible interactions [Omicini, 1999] 
the coordination primitives provided by a coordination model 
constrain the possibile agent actions 
the coordination media provided by a coordination model constrain 
the possible targets of agent actions 
Coordination models as constrainers of interaction 
A coordination model constrains its coordinables (agents) to interact via a 
limited yet (possibly) expressive set of primitives acting on a class of 
pre-de
ned media of coordination, whose computational behaviour de
nes 
the laws of coordination 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 22 / 79
Interaction  Coordination 
Coordination in Distributed Programming I 
Coordination model as a glue 
A coordination model is the glue that binds separate activities 
into an ensemble [Gelernter and Carriero, 1992] 
Coordination model as an agent interaction framework 
A coordination model provides a framework in which the 
interaction of active and independent entities called agents can 
be expressed [Ciancarini, 1996] 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 23 / 79
Interaction  Coordination 
Coordination in Distributed Programming II 
Issues for a coordination model [Ciancarini, 1996] 
A coordination model should cover the issues of 
creation and destruction of agents, 
communication among agents, and 
spatial distribution of agents, as well as 
synchronization and distribution of their actions over time 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 24 / 79
Interaction  Coordination 
Coordination: A Meta-model I 
A constructive approach [Ciancarini, 1996] 
The components of a coordinated system are 
Coordination entities | the entities whose mutual interaction is ruled by 
the model, also called the coordinables, or agents 
Coordination media | the abstractions enabling and ruling interaction 
among coordinables 
Coordination laws | the rules governing the observable behaviour of 
coordinables, the behaviour coordination media, as well as 
their interactions of any sort 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 25 / 79
Interaction  Coordination 
Coordination: A Meta-model II 
The medium of coordination
lls the interaction space 
enables / promotes / governs 
the admissible / desirable / 
required interactions among the 
interacting entities 
according to some coordination 
laws 
enacted by the behaviour of 
the medium 
de
ning the semantics of 
coordination 
coordination 
medium 
coordinables 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 26 / 79
Interaction  Coordination 
Agents / Coordinables 
Original de
nition [Ciancarini, 1996] 
These are the entity types that are coordinated. These could be 
Unix-like processes, threads, concurrent objects and the like, and 
even users. 
examples Processes, threads, objects, human users, agents, . . . 
focus Observable behaviour of the coordinables 
question Are we anyhow concerned here with the internal machinery / 
functioning of the coordinable, in principle? 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 27 / 79
Interaction  Coordination 
Coordination Media 
Original de
nition [Ciancarini, 1996] 
These are the media making communication among the agents 
possible. Moreover, a coordination medium can serve to 
aggregate agents that should be manipulated as a whole. 
Examples are classic media such as semaphores, monitors, or 
channels, or more complex media such as tuple spaces, 
blackboards, pipelines, and the like. 
examples Semaphors, monitors, channels, tuple spaces, blackboards, 
pipes, . . . 
focus The core around which the components of the system are 
organised 
question Which are the possible computational models for 
coordination media? 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 28 / 79
Interaction  Coordination 
Coordination Laws I 
Original de
nition [Ciancarini, 1996] 
A coordination model should dictate a number of laws to 
describe how agents coordinate themselves through the given 
coordination media and using a number of coordination 
primitives. Examples are laws that enact either synchronous or 
asynchronous behaviors or exploit explicit or implicit naming 
schemes for coordination entities. 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 29 / 79
Interaction  Coordination 
Coordination Laws II 
Coordination laws rule the observable behaviour of coordination 
media and coordinables, as well as their interaction 
a notion of (admissible interaction) event is required to de
ne 
coordination laws 
The interaction events are (also) expressed in terms of 
the communication language, as the syntax used to express and 
exchange data structures 
examples tuples, XML elements, FOL terms, (Java) objects, . . . 
the coordination language, as the set of the admissible interaction 
primitives, along with their semantics 
examples in/out/rd (Linda), send/receive (channels), push/pull (pipes), . . . 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 30 / 79
Interaction  Coordination 
Coordination as a General System Issue I 
Coordination is not just an issue of computational systems 
[Malone and Crowston, 1994] 
Research in this area uses and extends ideas about coordination 
from disciplines such as computer science, organization theory, 
operations research, economics, linguistics, and psychology 
A general purpose de
nition 
[Malone and Crowston, 1994] 
coordination can be seen as the process of managing 
dependencies among activities 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 31 / 79
Interaction  Coordination 
Coordination as a General System Issue II 
More generally, activities can be extended to include everything that 
generate events in a system, what makes things happen 
In systems of any sorts, complexity comes from dependencies 
When distributed systems are modelled as MAS (multi-agent 
systems), dependencies are the basic entity of the meta-model that 
brings about coordination 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 32 / 79
Interaction  Coordination 
Coordination as a Multi-Agent System Issue I 
Agent-based engineering for complex software systems 
Encapsulation of control makes agents overcome the abstraction gap 
of OOP [Odell, 2002] 
Agent abstractions inherently deal with distribution [Jennings, 2000] 
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 [Jennings, 2001] 
Extra agent features such as mobility and intelligence make AOSE 
the most eective approach available for the engineering of intelligent 
and pervasive distributed systems [Zambonelli and Omicini, 2004] 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 33 / 79
Interaction  Coordination 
Coordination as a Multi-Agent System Issue II 
A MAS meta-model [Mariani and Omicini, 2014b] 
Activities are the goal-directed/oriented proceedings resulting into 
actions of any sort, which make things happen in a MAS 
through actions, activities in a MAS are social [Castelfranchi, 1998] 
and situated [Suchman, 1987] 
in MAS, activities are modelled through the agent abstraction 
Environment change represents the (possibly unpredictable) variations 
in MAS environment 
environment is usually modelled through the resource abstraction, as a 
non-goal-driven entity producing events and/or reactively waiting for 
requests to perform its function 
Since activities depend on other activities (social dependencies), as 
well as on environment change (situated dependencies) 
! Dependencies motivate and cause interaction, both social and 
situated, based on the sort of dependency taking place 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 34 / 79
Interaction  Coordination 
An Event-based View of MAS as Interacting Systems 
MAS can be seen as event-based systems, where 
agents encapsulate internal events 
environment models external events through dedicated abstraction 
! social abstractions of some sort take care of dealing with interaction 
agent-agent interaction 
agent-environment interaction 
environment-environment interaction 
and, any other more complex pattern of interaction 
taking care of their mutual dependencies, by coordinating the many 
resulting 
ows of events [Malone and Crowston, 1994] 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 35 / 79
Interaction  Coordination 
Coordination in MAS 
Given that 
artefacts are the reactive abstractions in MAS [Omicini et al., 2008] 
coordination artefacts are the social abstractions in charge of 
managing dependencies [Malone and Crowston, 1994] 
the social abstractions in charge of coordinating multiple event 
ow 
according to their mutual dependencies in MAS are the coordination 
artefacts [Omicini et al., 2004] 
Coordination models in MAS 
The role of coordination models in MAS [Ciancarini et al., 2000] is to 
provide event-driven coordination media as the coordination artefacts 
governing event coordination in MAS 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 36 / 79
Interaction  Coordination 
Bene
ts of Coordination in MAS as Event-Based Systems 
Since all events are uniformly represented through the same general 
event model { the same language for noti
cations {, coordination 
artefacts can be used to deal with both social and situated 
dependencies, governing agent-agent, agent-environment, 
environment-environment interaction through the same set of 
coordination abstractions, languages, and mechanisms 
[Mariani and Omicini, 2014a] 
Coordination artefacts provide a speci
c, event-based computational 
model for dealing with event observation, manipulation, and 
coordination 
Coordination artefacts encapsulate the logic for the coordination of 
multiple related 
ows of events, thus counterfeiting inversion of 
control 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 37 / 79
Classes of Coordination Models 
Outline 
1 Premises 
2 Interaction  Coordination 
3 Classes of Coordination Models 
4 Tuple-based Coordination Models 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 38 / 79
Classes of Coordination Models 
Two Classes for Coordination Models 
Control-oriented vs. Data-oriented Models 
| Control-driven vs. Data-driven Models 
[Papadopoulos and Arbab, 1998] 
Control-oriented Focus on the acts of communication 
Data-oriented Focus on the information exchanged during communication 
| Several surveys, no time enough here 
| Are these really classes? 
{ actually, better to take this as a criterion to observe 
coordination models, rather than to separate them 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 39 / 79
Classes of Coordination Models 
Control-oriented Models I 
Processes as black boxes 
I/O ports 
events  signals on state 
Coordinators. . . 
. . . create coordinated processes as well as communication channels 
. . . determine and change the topology of communication 
Hierarchies of coordinables / coordinators are possible 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 40 / 79
Classes of Coordination Models 
Control-oriented Models II 
Coordinators as meta-level communication components 
coordinator 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 41 / 79
Classes of Coordination Models 
Control-oriented Models III 
General features 
High 
exibility, high control 
Separation between communication / coordination and computation / 
elaboration 
Examples 
RAPIDE [Luckham et al., 1995] 
Manifold [Arbab et al., 1993] 
ConCoord [Holzbacher, 1996] 
Reo [Arbab, 2004, Dastani et al., 2005] 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 42 / 79
Classes of Coordination Models 
A Classical Example: Manifold [Arbab et al., 1993] 
Main features 
coordinators 
control-driven evolution 
events without parameters 
stateful communication 
coordination via topology
ne-grained coordination 
typical example: sort-merge 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 43 / 79
Classes of Coordination Models 
Control-oriented Models: Impact on Design 
Which abstractions? 
Producer-consumer pattern 
Point-to-point communication 
Coordinator 
Coordination as con
guration of topology 
Which systems? 
Fine-grained granularity 
Fine-tuned control 
Good for small-scale, closed systems 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 44 / 79
Classes of Coordination Models 
An Evolutionary Pattern? 
Paradigms of sequential programming 
Imperative programming with goto 
Structured programming (procedure-oriented) 
Object-oriented programming (data-oriented) 
Paradigms of coordination programming 
Message-passing coordination 
Control-oriented coordination 
Data-oriented coordination 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 45 / 79
Classes of Coordination Models 
Data-oriented Models I 
Communication channel 
Shared memory abstraction 
Stateful channel 
Processes 
Emitting / receiving data / information 
Coordination 
Access / change / synchronise on shared data 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 46 / 79
Classes of Coordination Models 
Data-oriented Models II 
Shared dataspace: constraint on communication 
shared 
dataspace 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 47 / 79
Classes of Coordination Models 
Data-oriented Models 
General features 
Expressive communication abstraction 
! information-based design 
Possible spatio-temporal uncoupling 
No control means no 
exibility?? 
Examples 
Gamma / Chemical coordination 
Linda  friends / tuple-based coordination 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 48 / 79
Tuple-based Coordination 
Outline 
1 Premises 
2 Interaction  Coordination 
3 Classes of Coordination Models 
4 Tuple-based Coordination Models 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 49 / 79
Tuple-based Coordination 
The Tuple-space Meta-model 
The basics 
Coordinables synchronise, 
cooperate, compete 
based on tuples 
available in the tuple space 
by associatively accessing, 
consuming and producing 
tuples 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 50 / 79
Tuple-based Coordination 
Tuple-based / Space-based Coordination Systems 
Adopting the constructive coordination meta-model [Ciancarini, 1996] 
coordination media tuple spaces 
as multiset / bag of data objects / structures called 
tuples 
communication language tuples 
as ordered collections of (possibly heterogeneous) 
information items 
coordination language tuple space primitives 
as a set of operations to put, browse and retrieve tuples 
to/from the space 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 51 / 79
Tuple-based Coordination 
Linda: The Communication Language [Gelernter, 1985] 
Communication Language 
tuples ordered collections of possibly heterogeneous information 
chunks 
examples: p(1), printer('HP',dpi(300)), [0,0.5], 
matrix(m0,3,3,0.5), 
tree node(node00,value(13),left( ),right(node01)), . . . 
templates / anti-tuples speci
cations of set / classes of tuples 
examples: p(X), [?int,?int], tree node(N), . . . 
tuple matching mechanism the mechanism that matches tuples and 
templates 
examples: pattern matching, uni
cation, . . . 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 52 / 79
Tuple-based Coordination 
Linda: The Coordination Language [Gelernter, 1985] I 
out(T) 
out(T) puts tuple T in to the tuple space 
success semantics out(T) always succeeds|at the model level 
generative communication tuple out(T) is permanently stored in the 
tuple space|until it is explicitly removed 
examples out(p(1)), out(0,0.5), out(course('Antonio 
Natali','Poetry',hours(150)) . . . 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 53 / 79
Tuple-based Coordination 
Linda: The Coordination Language [Gelernter, 1985] II 
in(TT) 
in(TT) retrieves a tuple matching template TT from to the tuple 
space 
destructive reading the tuple retrieved is removed from the tuple 
centre 
non-determinism if more than one tuple matches the template, one is 
chosen non-deterministically 
suspensive semantics if no matching tuples are found in the tuple 
space, operation execution is suspended, and woken 
when a matching tuple is
nally found 
examples in(p(X)), in(0,0.5), in(course('Antonio 
Natali',Title,hours(X)) . . . 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 54 / 79
Tuple-based Coordination 
Linda: The Coordination Language [Gelernter, 1985] III 
rd(TT) 
rd(TT) retrieves a tuple matching template TT from to the tuple 
space 
non-destructive reading the tuple retrieved is left untouched in the 
tuple centre 
non-determinism if more than one tuple matches the template, one is 
chosen non-deterministically 
suspensive semantics if no matching tuples are found in the tuple 
space, operation execution is suspended, and awakened 
when a matching tuple is
nally found 
examples rd(p(X)), rd(0,0.5), rd(course('Alessandro 
Ricci','Operating Systems',hours(X)) . . . 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 55 / 79
Tuple-based Coordination 
Linda Extensions: Predicative Primitives 
inp(TT), rdp(TT) 
both inp(TT) and rdp(TT) retrieve tuple T matching template TT 
from the tuple space 
= in(TT), rd(TT) (non-)destructive reading, non-determinism, and 
syntax structure is maintained 
6=in(TT), rd(TT) suspensive semantics is lost: this predicative 
versions primitives just fail when no tuple matching TT 
is found in the tuple space 
success / failure predicative primitives introduce success / failure 
semantics: when a matching tuple is found, it is 
returned with a success result; when it is not, a failure is 
reported 
Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 56 / 79

Mais conteúdo relacionado

Semelhante a Interaction, Complexity, Coordination

From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...
From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...
From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...Andrea Omicini
 
Research Trends in Nature-inspired Coordination Models
Research Trends in Nature-inspired Coordination ModelsResearch Trends in Nature-inspired Coordination Models
Research Trends in Nature-inspired Coordination ModelsAndrea Omicini
 
Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...Andrea Omicini
 
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecT
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecTAdvanced Coordination Techniques: Experiments with TuCSoN and ReSpecT
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecTStefano Mariani
 
Coordination Models and Technologies toward Self-Organising Systems
Coordination Models and Technologies toward Self-Organising SystemsCoordination Models and Technologies toward Self-Organising Systems
Coordination Models and Technologies toward Self-Organising SystemsAndrea Omicini
 
Nature-inspired Coordination for Complex Distributed Systems
Nature-inspired Coordination for Complex Distributed SystemsNature-inspired Coordination for Complex Distributed Systems
Nature-inspired Coordination for Complex Distributed SystemsAndrea Omicini
 
Nature-inspired Coordination for Complex Multi-Agent Systems
Nature-inspired Coordination for Complex Multi-Agent SystemsNature-inspired Coordination for Complex Multi-Agent Systems
Nature-inspired Coordination for Complex Multi-Agent SystemsAndrea Omicini
 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsAndrea Omicini
 
Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...Andrea Omicini
 
Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes
Autonomy, Interaction & Complexity in Computational Systems. Preliminary NotesAutonomy, Interaction & Complexity in Computational Systems. Preliminary Notes
Autonomy, Interaction & Complexity in Computational Systems. Preliminary NotesAndrea Omicini
 
Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...Andrea Omicini
 
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Andrea Omicini
 
Not just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communicationNot just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communicationAndrea Omicini
 
On the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by DesignOn the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by DesignAndrea Omicini
 
MAS Course - Lect10 - coordination
MAS Course - Lect10 - coordinationMAS Course - Lect10 - coordination
MAS Course - Lect10 - coordinationAntonio Moreno
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Danilo Pianini
 
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...Andrea Omicini
 
Blending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination AbstractionsBlending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination AbstractionsAndrea Omicini
 
The Autonomy of Automated Systems: Social Systems and the Multi-level Autonomy
The Autonomy of Automated Systems: Social Systems and the Multi-level AutonomyThe Autonomy of Automated Systems: Social Systems and the Multi-level Autonomy
The Autonomy of Automated Systems: Social Systems and the Multi-level AutonomyAndrea Omicini
 

Semelhante a Interaction, Complexity, Coordination (20)

From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...
From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...
From Coordination to Semantic Self-Organisation: A Perspective on the Enginee...
 
Research Trends in Nature-inspired Coordination Models
Research Trends in Nature-inspired Coordination ModelsResearch Trends in Nature-inspired Coordination Models
Research Trends in Nature-inspired Coordination Models
 
Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...
 
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecT
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecTAdvanced Coordination Techniques: Experiments with TuCSoN and ReSpecT
Advanced Coordination Techniques: Experiments with TuCSoN and ReSpecT
 
Coordination Models and Technologies toward Self-Organising Systems
Coordination Models and Technologies toward Self-Organising SystemsCoordination Models and Technologies toward Self-Organising Systems
Coordination Models and Technologies toward Self-Organising Systems
 
Nature-inspired Coordination for Complex Distributed Systems
Nature-inspired Coordination for Complex Distributed SystemsNature-inspired Coordination for Complex Distributed Systems
Nature-inspired Coordination for Complex Distributed Systems
 
Nature-inspired Coordination for Complex Multi-Agent Systems
Nature-inspired Coordination for Complex Multi-Agent SystemsNature-inspired Coordination for Complex Multi-Agent Systems
Nature-inspired Coordination for Complex Multi-Agent Systems
 
Coordination models technologies-andrea-omicini
Coordination models technologies-andrea-omiciniCoordination models technologies-andrea-omicini
Coordination models technologies-andrea-omicini
 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of Multi-Agent Systems
 
Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...Complexity & Interaction: Blurring Borders between Physical, Computational, a...
Complexity & Interaction: Blurring Borders between Physical, Computational, a...
 
Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes
Autonomy, Interaction & Complexity in Computational Systems. Preliminary NotesAutonomy, Interaction & Complexity in Computational Systems. Preliminary Notes
Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes
 
Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...Conversational Informatics: From Conversational Systems to Communication Inte...
Conversational Informatics: From Conversational Systems to Communication Inte...
 
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework. ...
 
Not just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communicationNot just for humans: Explanation for agent-to-agent communication
Not just for humans: Explanation for agent-to-agent communication
 
On the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by DesignOn the Integration of Symbolic and Sub-symbolic – Explaining by Design
On the Integration of Symbolic and Sub-symbolic – Explaining by Design
 
MAS Course - Lect10 - coordination
MAS Course - Lect10 - coordinationMAS Course - Lect10 - coordination
MAS Course - Lect10 - coordination
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)
 
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...
TuCSoN on Cloud: An Event-driven Architecture for Embodied / Disembodied Coor...
 
Blending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination AbstractionsBlending Event-Based and Multi-Agent Systems around Coordination Abstractions
Blending Event-Based and Multi-Agent Systems around Coordination Abstractions
 
The Autonomy of Automated Systems: Social Systems and the Multi-level Autonomy
The Autonomy of Automated Systems: Social Systems and the Multi-level AutonomyThe Autonomy of Automated Systems: Social Systems and the Multi-level Autonomy
The Autonomy of Automated Systems: Social Systems and the Multi-level Autonomy
 

Mais de Andrea Omicini

Measuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic IntegrationMeasuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic IntegrationAndrea Omicini
 
Explainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining AgentsExplainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining AgentsAndrea Omicini
 
Blockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research PerspectivesBlockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research PerspectivesAndrea Omicini
 
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MASInjecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MASAndrea Omicini
 
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Andrea Omicini
 
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Andrea Omicini
 
Logic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoTLogic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoTAndrea Omicini
 
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...Andrea Omicini
 
ABMS in m-Health Self-Management
ABMS in m-Health Self-ManagementABMS in m-Health Self-Management
ABMS in m-Health Self-ManagementAndrea Omicini
 
Game Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research RoadmapGame Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research RoadmapAndrea Omicini
 
Multi-paradigm Coordination for MAS
Multi-paradigm Coordination for MASMulti-paradigm Coordination for MAS
Multi-paradigm Coordination for MASAndrea Omicini
 
Towards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuPrologTowards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuPrologAndrea Omicini
 
Spatial Multi-Agent Systems
Spatial Multi-Agent SystemsSpatial Multi-Agent Systems
Spatial Multi-Agent SystemsAndrea Omicini
 
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...Andrea Omicini
 
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...Andrea Omicini
 
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...Andrea Omicini
 
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual FrameworkEvent-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual FrameworkAndrea Omicini
 
The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...
The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...
The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...Andrea Omicini
 
Stochastic Coordination in CAS: Expressiveness & Predictability
Stochastic Coordination in CAS: Expressiveness & PredictabilityStochastic Coordination in CAS: Expressiveness & Predictability
Stochastic Coordination in CAS: Expressiveness & PredictabilityAndrea Omicini
 
TuCSoN Coordination for MAS Situatedness: Towards a Methodology
TuCSoN Coordination for MAS Situatedness: Towards a MethodologyTuCSoN Coordination for MAS Situatedness: Towards a Methodology
TuCSoN Coordination for MAS Situatedness: Towards a MethodologyAndrea Omicini
 

Mais de Andrea Omicini (20)

Measuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic IntegrationMeasuring Trustworthiness in Neuro-Symbolic Integration
Measuring Trustworthiness in Neuro-Symbolic Integration
 
Explainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining AgentsExplainable Pervasive Intelligence with Self-explaining Agents
Explainable Pervasive Intelligence with Self-explaining Agents
 
Blockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research PerspectivesBlockchain for Intelligent Systems: Research Perspectives
Blockchain for Intelligent Systems: Research Perspectives
 
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MASInjecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
Injecting (Micro)Intelligence in the IoT: Logic-based Approaches for (M)MAS
 
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
Novel Opportunities for Tuple-based Coordination: XPath, the Blockchain, and ...
 
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
Micro-intelligence for the IoT: Teaching the Old Logic Dog New Programming Tr...
 
Logic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoTLogic Programming as a Service (LPaaS): Intelligence for the IoT
Logic Programming as a Service (LPaaS): Intelligence for the IoT
 
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
Privacy through Anonymisation in Large-scale Socio-technical Systems: The BIS...
 
ABMS in m-Health Self-Management
ABMS in m-Health Self-ManagementABMS in m-Health Self-Management
ABMS in m-Health Self-Management
 
Game Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research RoadmapGame Engines to Model MAS: A Research Roadmap
Game Engines to Model MAS: A Research Roadmap
 
Multi-paradigm Coordination for MAS
Multi-paradigm Coordination for MASMulti-paradigm Coordination for MAS
Multi-paradigm Coordination for MAS
 
Towards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuPrologTowards Logic Programming as a Service: Experiments in tuProlog
Towards Logic Programming as a Service: Experiments in tuProlog
 
Spatial Multi-Agent Systems
Spatial Multi-Agent SystemsSpatial Multi-Agent Systems
Spatial Multi-Agent Systems
 
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
Academic Publishing in the Digital Era: A Couple of Issues (Open Access—Well,...
 
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
Self-organisation of Knowledge in Socio-technical Systems: A Coordination Per...
 
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
Anticipatory Coordination in Socio-technical Knowledge-intensive Environments...
 
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual FrameworkEvent-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework
Event-Based vs. Multi-Agent Systems: Towards a Unified Conceptual Framework
 
The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...
The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...
The Distributed Autonomy. Software Abstractions and Technologies for Autonomo...
 
Stochastic Coordination in CAS: Expressiveness & Predictability
Stochastic Coordination in CAS: Expressiveness & PredictabilityStochastic Coordination in CAS: Expressiveness & Predictability
Stochastic Coordination in CAS: Expressiveness & Predictability
 
TuCSoN Coordination for MAS Situatedness: Towards a Methodology
TuCSoN Coordination for MAS Situatedness: Towards a MethodologyTuCSoN Coordination for MAS Situatedness: Towards a Methodology
TuCSoN Coordination for MAS Situatedness: Towards a Methodology
 

Último

PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxjana861314
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Nistarini College, Purulia (W.B) India
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...jana861314
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Patrick Diehl
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 

Último (20)

PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptxBroad bean, Lima Bean, Jack bean, Ullucus.pptx
Broad bean, Lima Bean, Jack bean, Ullucus.pptx
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
Traditional Agroforestry System in India- Shifting Cultivation, Taungya, Home...
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?Is RISC-V ready for HPC workload? Maybe?
Is RISC-V ready for HPC workload? Maybe?
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 

Interaction, Complexity, Coordination

  • 1. Interaction, Complexity, Coordination Nature-inspired Coordination Models for Complex Distributed Systems Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica { Scienza e Ingegneria (DISI) Alma Mater Studiorum { Universita di Bologna Fribourg, Switzerland 20 November 2014 Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 1 / 79
  • 2. Outline 1 Premises 2 Interaction Coordination 3 Classes of Coordination Models 4 Tuple-based Coordination Models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 2 / 79
  • 3. Premises Outline 1 Premises 2 Interaction Coordination 3 Classes of Coordination Models 4 Tuple-based Coordination Models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 3 / 79
  • 4. Premises Scenarios for Concurrent / Distributed Systems Action interaction Concurrency / parallelism Multiple independent activities / loci of control Acting simultaneously Processes, threads, actors, active objects, agents. . . Distribution Activities running on dierent and heterogeneous execution contexts (machines, devices, . . . ) Social interaction Dependencies among activities Collective goals involving activities coordination / cooperation Environment interaction Interaction with external resources Interaction within the time-space fabric Interaction in context Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 4 / 79
  • 5. Premises Complexity Interaction I An essential source of complexity for computational systems is interaction [Goldin et al., 2006] The power of interaction [Wegner, 1997] Interaction is a more powerful paradigm than rule-based algorithms for computer-based solving, overtiring the prevailing view that all computing is expressible as algorithms. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 5 / 79
  • 6. Premises Complexity Interaction II Intelligence interaction [Brooks, 1991] Real computational systems are not rational agents that take inputs, compute logically, and produce outputs. . . It is hard to draw the line at what is intelligence and what is environmental interaction. In a sense, it does not really matter which is which, as all intelligent systems must be situated in some world or other if they are to be useful entities. A conceptual framework for interaction [Milner, 1993] . . . a theory of concurrency and interaction requires a new conceptual framework, not just a re
  • 8. nd natural for sequential [algorithmic] computing. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 6 / 79
  • 9. Premises Complexity Interaction III Interactive computing [Wegner and Goldin, 1999] Finite computing agents that interact with an environment are shown to be more expressive than Turing machines according to a notion of expressiveness that measures problem-solving ability and is speci
  • 10. ed by observation equivalence Sequential interactive models of objects, agents, and embedded systems are shown to be more expressive than algorithms Multi-agent (distributed) models of coordination, collaboration, and true concurrency are shown to be more expressive than sequential models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 7 / 79
  • 11. Premises (Non) Algorithmic Computation I Elaboration / computation Turing Machine (TM) gets an input, elaborates it, throws an output no interaction during computation Black-box algorithms Church's Thesis and computable functions in short, a function is computable i can be computed by a TM so, all computable functions are computable by a TM Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 8 / 79
  • 12. Premises (Non) Algorithmic Computation II Beyond Turing Machines Turing's choice machines and unorganised machines [Wegner and Goldin, 2003] Wegner's Interaction Machines [Goldin et al., 2006] Examples: AGV, Chess oracle [Wegner, 1997] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 9 / 79
  • 13. Premises The Space of Interaction interaction space software component ! ! ! ! Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 10 / 79
  • 14. Premises Components of an Interactive System What is a component of an interactive system? A computational abstraction characterised by an independent computational activity I/O capabilities Two independent dimensions elaboration / computation interaction Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 11 / 79
  • 15. Premises Which Components? Open systems No hypothesis on the component's life behaviour Distributed systems No hypothesis on the component's location motion Heterogeneous systems No hypothesis on the component's nature structure Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 12 / 79
  • 16. Premises Basics of Interaction Component model A simple component exhibits Computation Inner behaviour of a component Interaction Observable behaviour of a component as input and output Coupling across component's boundaries Control Information Time Space { internal / computational vs. external / physical Information-driven interaction Output shows part of its state outside Input bounds a portion of its own state to the outside Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 13 / 79
  • 17. Premises Compositionality vs. Non-compositionality An informal view by [Wegner, 1996] Compositionality Sequential composition P1; P2 behaviour(P1; P2) = behaviour(P1) + behaviour(P2) Non-compositionality Interactive composition P1jP2 behaviour(P1jP2) = behaviour(P1) + behaviour(P2) + interaction(P1; P2) Interactive composition is more than the sum of its parts Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 14 / 79
  • 18. Premises Non-compositionality Issues Compositionality vs. formalisability A formal notion of model is required for stating any compositional property However, formalisability does not require compositionality, and does not imply predictability Partial formalisability may allow for proof of properties, and for partial predictability Emergent behaviours Fully-predictabile / formalisable systems do not allow by de
  • 19. nition for emergent behaviours Formalisability vs. expressiveness Less / more formalisable systems are (respectively) more / less expressive in terms of potential behaviours Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 15 / 79
  • 20. Premises Basic Engineering Principles for Interactive Systems I Principles Abstraction Problems should be faced / represented at the most suitable level of abstraction Resulting abstractions should be expressive enough to capture the most relevant problems Conceptual integrity Locality encapsulation Design abstractions should embody the solutions corresponding to the domain entities they represent Run-time vs. design-time abstractions Incremental change / evolution On-line engineering [Fredriksson and Gustavsson, 2004] (Cognitive) Self-organising systems [Omicini, 2012] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 16 / 79
  • 21. Premises Basic Engineering Principles for Interactive Systems II Issues What is the most suitable abstraction level to deal with interaction? Which sort of dedicated SE abstractions could encapsulate the logic of the management of interaction? Which sort of general conceptual framework could generally deal with all interaction-related issues? Is there any general-purpose middleware technology that could reify such a framework? Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 17 / 79
  • 22. Interaction Coordination Outline 1 Premises 2 Interaction Coordination 3 Classes of Coordination Models 4 Tuple-based Coordination Models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 18 / 79
  • 23. Interaction Coordination Harnessing the Complexity of Interaction Coordination is managing interaction [Wegner, 1997] Coordination models work by constraining the space of interaction [Wegner, 1996] So, in principle, coordination abstractions and technologies can help harnessing the intricacies of interaction in the engineering of complex software systems Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 19 / 79
  • 24. Interaction Coordination What is Coordination? Coordination: ruling the space of interaction elaboration / computation ! coordination ! ! ! Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 20 / 79
  • 25. Interaction Coordination New Perspective on Computational Systems Programming languages Interaction as an orthogonal dimension Languages for interaction / coordination Software engineering Interaction as an independent design dimension Coordination patterns Arti
  • 26. cial intelligence Interaction as a new source for intelligence Social intelligence Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 21 / 79
  • 27. Interaction Coordination Coordination as Constrained Interaction [Wegner, 1996] Coordination models harness the complexity of interaction by disciplining the space of admissible interactions [Omicini, 1999] the coordination primitives provided by a coordination model constrain the possibile agent actions the coordination media provided by a coordination model constrain the possible targets of agent actions Coordination models as constrainers of interaction A coordination model constrains its coordinables (agents) to interact via a limited yet (possibly) expressive set of primitives acting on a class of pre-de
  • 28. ned media of coordination, whose computational behaviour de
  • 29. nes the laws of coordination Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 22 / 79
  • 30. Interaction Coordination Coordination in Distributed Programming I Coordination model as a glue A coordination model is the glue that binds separate activities into an ensemble [Gelernter and Carriero, 1992] Coordination model as an agent interaction framework A coordination model provides a framework in which the interaction of active and independent entities called agents can be expressed [Ciancarini, 1996] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 23 / 79
  • 31. Interaction Coordination Coordination in Distributed Programming II Issues for a coordination model [Ciancarini, 1996] A coordination model should cover the issues of creation and destruction of agents, communication among agents, and spatial distribution of agents, as well as synchronization and distribution of their actions over time Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 24 / 79
  • 32. Interaction Coordination Coordination: A Meta-model I A constructive approach [Ciancarini, 1996] The components of a coordinated system are Coordination entities | the entities whose mutual interaction is ruled by the model, also called the coordinables, or agents Coordination media | the abstractions enabling and ruling interaction among coordinables Coordination laws | the rules governing the observable behaviour of coordinables, the behaviour coordination media, as well as their interactions of any sort Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 25 / 79
  • 33. Interaction Coordination Coordination: A Meta-model II The medium of coordination
  • 34. lls the interaction space enables / promotes / governs the admissible / desirable / required interactions among the interacting entities according to some coordination laws enacted by the behaviour of the medium de
  • 35. ning the semantics of coordination coordination medium coordinables Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 26 / 79
  • 36. Interaction Coordination Agents / Coordinables Original de
  • 37. nition [Ciancarini, 1996] These are the entity types that are coordinated. These could be Unix-like processes, threads, concurrent objects and the like, and even users. examples Processes, threads, objects, human users, agents, . . . focus Observable behaviour of the coordinables question Are we anyhow concerned here with the internal machinery / functioning of the coordinable, in principle? Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 27 / 79
  • 38. Interaction Coordination Coordination Media Original de
  • 39. nition [Ciancarini, 1996] These are the media making communication among the agents possible. Moreover, a coordination medium can serve to aggregate agents that should be manipulated as a whole. Examples are classic media such as semaphores, monitors, or channels, or more complex media such as tuple spaces, blackboards, pipelines, and the like. examples Semaphors, monitors, channels, tuple spaces, blackboards, pipes, . . . focus The core around which the components of the system are organised question Which are the possible computational models for coordination media? Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 28 / 79
  • 40. Interaction Coordination Coordination Laws I Original de
  • 41. nition [Ciancarini, 1996] A coordination model should dictate a number of laws to describe how agents coordinate themselves through the given coordination media and using a number of coordination primitives. Examples are laws that enact either synchronous or asynchronous behaviors or exploit explicit or implicit naming schemes for coordination entities. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 29 / 79
  • 42. Interaction Coordination Coordination Laws II Coordination laws rule the observable behaviour of coordination media and coordinables, as well as their interaction a notion of (admissible interaction) event is required to de
  • 43. ne coordination laws The interaction events are (also) expressed in terms of the communication language, as the syntax used to express and exchange data structures examples tuples, XML elements, FOL terms, (Java) objects, . . . the coordination language, as the set of the admissible interaction primitives, along with their semantics examples in/out/rd (Linda), send/receive (channels), push/pull (pipes), . . . Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 30 / 79
  • 44. Interaction Coordination Coordination as a General System Issue I Coordination is not just an issue of computational systems [Malone and Crowston, 1994] Research in this area uses and extends ideas about coordination from disciplines such as computer science, organization theory, operations research, economics, linguistics, and psychology A general purpose de
  • 45. nition [Malone and Crowston, 1994] coordination can be seen as the process of managing dependencies among activities Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 31 / 79
  • 46. Interaction Coordination Coordination as a General System Issue II More generally, activities can be extended to include everything that generate events in a system, what makes things happen In systems of any sorts, complexity comes from dependencies When distributed systems are modelled as MAS (multi-agent systems), dependencies are the basic entity of the meta-model that brings about coordination Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 32 / 79
  • 47. Interaction Coordination Coordination as a Multi-Agent System Issue I Agent-based engineering for complex software systems Encapsulation of control makes agents overcome the abstraction gap of OOP [Odell, 2002] Agent abstractions inherently deal with distribution [Jennings, 2000] 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 [Jennings, 2001] Extra agent features such as mobility and intelligence make AOSE the most eective approach available for the engineering of intelligent and pervasive distributed systems [Zambonelli and Omicini, 2004] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 33 / 79
  • 48. Interaction Coordination Coordination as a Multi-Agent System Issue II A MAS meta-model [Mariani and Omicini, 2014b] Activities are the goal-directed/oriented proceedings resulting into actions of any sort, which make things happen in a MAS through actions, activities in a MAS are social [Castelfranchi, 1998] and situated [Suchman, 1987] in MAS, activities are modelled through the agent abstraction Environment change represents the (possibly unpredictable) variations in MAS environment environment is usually modelled through the resource abstraction, as a non-goal-driven entity producing events and/or reactively waiting for requests to perform its function Since activities depend on other activities (social dependencies), as well as on environment change (situated dependencies) ! Dependencies motivate and cause interaction, both social and situated, based on the sort of dependency taking place Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 34 / 79
  • 49. Interaction Coordination An Event-based View of MAS as Interacting Systems MAS can be seen as event-based systems, where agents encapsulate internal events environment models external events through dedicated abstraction ! social abstractions of some sort take care of dealing with interaction agent-agent interaction agent-environment interaction environment-environment interaction and, any other more complex pattern of interaction taking care of their mutual dependencies, by coordinating the many resulting ows of events [Malone and Crowston, 1994] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 35 / 79
  • 50. Interaction Coordination Coordination in MAS Given that artefacts are the reactive abstractions in MAS [Omicini et al., 2008] coordination artefacts are the social abstractions in charge of managing dependencies [Malone and Crowston, 1994] the social abstractions in charge of coordinating multiple event ow according to their mutual dependencies in MAS are the coordination artefacts [Omicini et al., 2004] Coordination models in MAS The role of coordination models in MAS [Ciancarini et al., 2000] is to provide event-driven coordination media as the coordination artefacts governing event coordination in MAS Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 36 / 79
  • 52. ts of Coordination in MAS as Event-Based Systems Since all events are uniformly represented through the same general event model { the same language for noti
  • 53. cations {, coordination artefacts can be used to deal with both social and situated dependencies, governing agent-agent, agent-environment, environment-environment interaction through the same set of coordination abstractions, languages, and mechanisms [Mariani and Omicini, 2014a] Coordination artefacts provide a speci
  • 54. c, event-based computational model for dealing with event observation, manipulation, and coordination Coordination artefacts encapsulate the logic for the coordination of multiple related ows of events, thus counterfeiting inversion of control Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 37 / 79
  • 55. Classes of Coordination Models Outline 1 Premises 2 Interaction Coordination 3 Classes of Coordination Models 4 Tuple-based Coordination Models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 38 / 79
  • 56. Classes of Coordination Models Two Classes for Coordination Models Control-oriented vs. Data-oriented Models | Control-driven vs. Data-driven Models [Papadopoulos and Arbab, 1998] Control-oriented Focus on the acts of communication Data-oriented Focus on the information exchanged during communication | Several surveys, no time enough here | Are these really classes? { actually, better to take this as a criterion to observe coordination models, rather than to separate them Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 39 / 79
  • 57. Classes of Coordination Models Control-oriented Models I Processes as black boxes I/O ports events signals on state Coordinators. . . . . . create coordinated processes as well as communication channels . . . determine and change the topology of communication Hierarchies of coordinables / coordinators are possible Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 40 / 79
  • 58. Classes of Coordination Models Control-oriented Models II Coordinators as meta-level communication components coordinator Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 41 / 79
  • 59. Classes of Coordination Models Control-oriented Models III General features High exibility, high control Separation between communication / coordination and computation / elaboration Examples RAPIDE [Luckham et al., 1995] Manifold [Arbab et al., 1993] ConCoord [Holzbacher, 1996] Reo [Arbab, 2004, Dastani et al., 2005] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 42 / 79
  • 60. Classes of Coordination Models A Classical Example: Manifold [Arbab et al., 1993] Main features coordinators control-driven evolution events without parameters stateful communication coordination via topology
  • 61. ne-grained coordination typical example: sort-merge Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 43 / 79
  • 62. Classes of Coordination Models Control-oriented Models: Impact on Design Which abstractions? Producer-consumer pattern Point-to-point communication Coordinator Coordination as con
  • 63. guration of topology Which systems? Fine-grained granularity Fine-tuned control Good for small-scale, closed systems Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 44 / 79
  • 64. Classes of Coordination Models An Evolutionary Pattern? Paradigms of sequential programming Imperative programming with goto Structured programming (procedure-oriented) Object-oriented programming (data-oriented) Paradigms of coordination programming Message-passing coordination Control-oriented coordination Data-oriented coordination Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 45 / 79
  • 65. Classes of Coordination Models Data-oriented Models I Communication channel Shared memory abstraction Stateful channel Processes Emitting / receiving data / information Coordination Access / change / synchronise on shared data Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 46 / 79
  • 66. Classes of Coordination Models Data-oriented Models II Shared dataspace: constraint on communication shared dataspace Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 47 / 79
  • 67. Classes of Coordination Models Data-oriented Models General features Expressive communication abstraction ! information-based design Possible spatio-temporal uncoupling No control means no exibility?? Examples Gamma / Chemical coordination Linda friends / tuple-based coordination Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 48 / 79
  • 68. Tuple-based Coordination Outline 1 Premises 2 Interaction Coordination 3 Classes of Coordination Models 4 Tuple-based Coordination Models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 49 / 79
  • 69. Tuple-based Coordination The Tuple-space Meta-model The basics Coordinables synchronise, cooperate, compete based on tuples available in the tuple space by associatively accessing, consuming and producing tuples Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 50 / 79
  • 70. Tuple-based Coordination Tuple-based / Space-based Coordination Systems Adopting the constructive coordination meta-model [Ciancarini, 1996] coordination media tuple spaces as multiset / bag of data objects / structures called tuples communication language tuples as ordered collections of (possibly heterogeneous) information items coordination language tuple space primitives as a set of operations to put, browse and retrieve tuples to/from the space Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 51 / 79
  • 71. Tuple-based Coordination Linda: The Communication Language [Gelernter, 1985] Communication Language tuples ordered collections of possibly heterogeneous information chunks examples: p(1), printer('HP',dpi(300)), [0,0.5], matrix(m0,3,3,0.5), tree node(node00,value(13),left( ),right(node01)), . . . templates / anti-tuples speci
  • 72. cations of set / classes of tuples examples: p(X), [?int,?int], tree node(N), . . . tuple matching mechanism the mechanism that matches tuples and templates examples: pattern matching, uni
  • 73. cation, . . . Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 52 / 79
  • 74. Tuple-based Coordination Linda: The Coordination Language [Gelernter, 1985] I out(T) out(T) puts tuple T in to the tuple space success semantics out(T) always succeeds|at the model level generative communication tuple out(T) is permanently stored in the tuple space|until it is explicitly removed examples out(p(1)), out(0,0.5), out(course('Antonio Natali','Poetry',hours(150)) . . . Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 53 / 79
  • 75. Tuple-based Coordination Linda: The Coordination Language [Gelernter, 1985] II in(TT) in(TT) retrieves a tuple matching template TT from to the tuple space destructive reading the tuple retrieved is removed from the tuple centre non-determinism if more than one tuple matches the template, one is chosen non-deterministically suspensive semantics if no matching tuples are found in the tuple space, operation execution is suspended, and woken when a matching tuple is
  • 76. nally found examples in(p(X)), in(0,0.5), in(course('Antonio Natali',Title,hours(X)) . . . Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 54 / 79
  • 77. Tuple-based Coordination Linda: The Coordination Language [Gelernter, 1985] III rd(TT) rd(TT) retrieves a tuple matching template TT from to the tuple space non-destructive reading the tuple retrieved is left untouched in the tuple centre non-determinism if more than one tuple matches the template, one is chosen non-deterministically suspensive semantics if no matching tuples are found in the tuple space, operation execution is suspended, and awakened when a matching tuple is
  • 78. nally found examples rd(p(X)), rd(0,0.5), rd(course('Alessandro Ricci','Operating Systems',hours(X)) . . . Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 55 / 79
  • 79. Tuple-based Coordination Linda Extensions: Predicative Primitives inp(TT), rdp(TT) both inp(TT) and rdp(TT) retrieve tuple T matching template TT from the tuple space = in(TT), rd(TT) (non-)destructive reading, non-determinism, and syntax structure is maintained 6=in(TT), rd(TT) suspensive semantics is lost: this predicative versions primitives just fail when no tuple matching TT is found in the tuple space success / failure predicative primitives introduce success / failure semantics: when a matching tuple is found, it is returned with a success result; when it is not, a failure is reported Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 56 / 79
  • 80. Tuple-based Coordination Linda Extensions: Bulk Primitives I in all(TT), rd all(TT) All Linda primitives deal with one tuple at a time some coordination problems require more than one tuple to be handled by a single primitive rd all(TT), in all(TT) get all tuples in the tuple space matching with TT, and returns them all no suspensive semantics: if no matching tuple is found, an empty collection is returned no success / failure semantics: a collection of tuple is always successfully returned|possibly, an empty one in case of logic-based primitives / tuples, the form of the primitive are rd all(TT,LT), in all(TT,LT) (or equivalent), where the (possibly empty) list of tuples unifying with TT is uni
  • 81. ed with LT (non-)destructive reading: in all(TT) consumes all matching tuples in the tuple space; rd all(TT) leaves the tuple space untouched Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 57 / 79
  • 82. Tuple-based Coordination Linda Extensions: Bulk Primitives II Many other bulk primitives have been proposed and implemented to address particular classes of problems [Rowstron, 1996] Adding a new set of primitives for any new coordination problem does not exactly
  • 83. t open scenarios Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 58 / 79
  • 84. Tuple-based Coordination Linda Extensions: Multiple Tuple Spaces ts ? out(T) Linda tuple space might be a bottleneck for coordination Many extensions have focussed on making a multiplicity of tuple spaces available to processes [Gelernter, 1989] each of them encapsulating a portion of the coordination load either hosted by a single machine, or distributed across the network Syntax required, and dependent on particular models and implementations a space for tuple space names, possibly including network location operators to associate Linda operators to tuple spaces For instance, ts @ node ? out(p) may denote the invocation of operation out(p) over tuple space ts on node node Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 59 / 79
  • 85. Tuple-based Coordination Main Features of Tuple-based Coordination Main features of the Linda model tuples A tuple is an ordered collection of knowledge chunks, possibly heterogeneous in sort generative communication until explicitly withdrawn, the tuples generated by coordinables have an independent existence in the tuple space; a tuple is equally accessible to all the coordinables, but is bound to none associative access tuples in the tuple space are accessed through their content structure, rather than by name, address, or location suspensive semantics operations may be suspended based on unavailability of matching tuples, and be woken up when such tuples become available Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 60 / 79
  • 86. Tuple-based Coordination Features of Linda: Tuples A tuple is an ordered collection of knowledge chunks, possibly heterogeneous in sort a record-like structure with no need of
  • 87. eld names easy aggregation of knowledge raw semantic interpretation: a tuple contains all information concerning an given item Tuple structure based on arity type position information content Anti-tuples / Tuple templates to describe / de
  • 88. ne sets of tuples Matching mechanism to de
  • 89. ne belongingness to a set Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 61 / 79
  • 90. Tuple-based Coordination Features of Linda: Generative Communication Communication orthogonality Both senders and the receivers can interact even without having prior knowledge about each others space uncoupling no need to coexist in space for two processes to interact time uncoupling no need for simultaneity for two processes to interact name uncoupling no need for names for processes to interact Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 62 / 79
  • 91. Tuple-based Coordination Features of Linda: Associative Access Content-based coordination Synchronisation based on tuple content structure absence / presence of tuples with some content / structure determines the overall behaviour of the coordinables, and of the coordinated system in the overall based on tuple templates matching mechanism Information-driven coordination patterns of coordination based on data / information availability based on tuple templates matching mechanism Rei
  • 92. cation making events become tuples grouping classes of events with tuple syntax, and accessing them via tuple templates Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 63 / 79
  • 93. Tuple-based Coordination Features of Linda: Suspensive Semantics I Blocking primitives in rd primitives in Linda have a suspensive semantics the coordination medium makes the primitives waiting in case a matching tuple is not found, and wakes it up when such a tuple is found the coordinable invoking the suspensive primitive is expected to wait for its successful completion Twofold wait in the coordination medium the operation is
  • 94. rst (possibly) suspended, then (possibly) served: coordination based on absence / presence of tuples belonging to a given set in the coordination entity the invocation may cause a wait-state in the invoker: hypothesis on the internal behaviour of the coordinable Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 64 / 79
  • 95. Tuple-based Coordination Features of Linda: Suspensive Semantics II Suspensive semantics is the basic mechanism for synchronisation in tuple-based models Synchronisation based on (un)availability of matching tuples / suitable information Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 65 / 79
  • 96. Tuple-based Coordination Data- vs. Control-driven Coordination What if we need to start an activity after, say, at least N processes have asked for a resource? More generally, what if we need, in general, to coordinate based on the coordinable actions, rather than on the information available / exchanged? Classical distinction in the coordination community data-driven coordination vs. control-driven coordination In more advanced scenario, these names do not
  • 97. t information-driven coordination vs. action-driven coordination
  • 98. ts better but we might as well use the old terms, while we understand their limitations Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 66 / 79
  • 99. Tuple-based Coordination Hybrid Coordination Models Generally speaking, control-driven coordination does not
  • 100. t so well information-driven contexts, like Web-based ones, for instance control-driven models like Reo [Arbab, 2004] need to be adapted to contexts like agent-based ones, mainly to deal with the issue of autonomy in distributed systems [Dastani et al., 2005] control should not pass through the component boundaries in order to avoid coupling in distributed systems We need features of both approaches to coordination hybrid coordination models [Omicini, 2000] adding for instance a control-driven layer to a Linda-based one Examples LGI/LGL [Minsky et al., 2001] TOTA [Mamei and Zambonelli, 2004] TuCSoN [Omicini and Zambonelli, 1999] Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 67 / 79
  • 101. Outline 1 Premises 2 Interaction Coordination 3 Classes of Coordination Models 4 Tuple-based Coordination Models Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 68 / 79
  • 102. Bibliography Bibliography I Arbab, F. (2004). Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science, 14:329{366. Arbab, F., Herman, I., and Spilling, P. (1993). An overview of Manifold and its implementation. Concurrency: Practice and Experience, 5(1):23{70. Brooks, R. A. (1991). Intelligence without reason. In Mylopoulos, J. and Reiter, R., editors, 12th International Joint Conference on Arti
  • 103. cial Intelligence (IJCAI 1991), volume 1, pages 569{595, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc. Castelfranchi, C. (1998). Modelling social action for AI agents. Arti
  • 104. cial Intelligence, 103(1-2):157{182. Ciancarini, P. (1996). Coordination models and languages as software integrators. ACM Computing Surveys, 28(2):300{302. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 69 / 79
  • 105. Bibliography Bibliography II Ciancarini, P., Omicini, A., and Zambonelli, F. (2000). Multiagent system engineering: The coordination viewpoint. In Jennings, N. R. and Lesperance, Y., editors, Intelligent Agents VI. Agent Theories, Architectures, and Languages, volume 1757 of LNAI, pages 250{259. Springer. 6th International Workshop (ATAL'99), Orlando, FL, USA, 15{17 July 1999. Proceedings. Dastani, M., Arbab, F., and de Boer, F. S. (2005). Coordination and composition in multi-agent systems. In Dignum, F., Dignum, V., Koenig, S., Kraus, S., Singh, M. P., and Wooldridge, M. J., editors, 4rd International Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2005), pages 439{446, Utrecht, The Netherlands. ACM. Fredriksson, M. and Gustavsson, R. (2004). Online engineering and open computational systems. In Bergenti, F., Gleizes, M.-P., and Zambonelli, F., editors, Methodologies and Software Engineering for Agent Systems: The Agent-Oriented Software Engineering Handbook, volume 11 of Multiagent Systems, Arti
  • 106. cial Societies, and Simulated Organization, pages 377{388. Kluwer Academic Publishers. Gelernter, D. (1985). Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80{112. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 70 / 79
  • 107. Bibliography Bibliography III Gelernter, D. (1989). Multiple Tuple Spaces in Linda. In Odijk, E., Rem, M., and Syre, J.-C., editors, PARLE '89 Parallel Architectures and Languages Europe, volume II: Parall of Springer Berlin Heidelberg, pages 20{27, Eindhoven, The Netherlands. Springer. Gelernter, D. and Carriero, N. (1992). Coordination languages and their signi
  • 108. cance. Communications of the ACM, 35(2):97{107. Goldin, D. Q., Smolka, S. A., and Wegner, P., editors (2006). Interactive Computation: The New Paradigm. Springer. Holzbacher, A.-A. (1996). A software environment for concurrent coordinated programming. In Ciancarini, P. and Hankin, C., editors, Coordination Languages and Models, volume 1061 of LNCS, pages 249{266. Springer-Verlag. 1st International Conference (COORDINATION '96) Cesena, Italy, April 15{17, 1996. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 71 / 79
  • 109. Bibliography Bibliography IV Jennings, N. R. (2000). On agent-based software engineering. Arti
  • 110. cial Intelligence, 117(2):277{296. Jennings, N. R. (2001). An agent-based approach for building complex software systems. Communications of the ACM, 44(4):35{41. Luckham, D. C., Kenney, J. J., Augustin, L. M., Vera, J., Bryan, D., and Mann, W. (1995). Speci
  • 111. cation and analysis of system architecture using Rapide. IEEE Transactions on Software Engineering, 21(4):336{354. Malone, T. and Crowston, K. (1994). The interdisciplinary study of coordination. ACM Computing Surveys, 26(1):87{119. Mamei, M. and Zambonelli, F. (2004). Programming pervasive and mobile computing applications with the TOTA middleware. In Pervasive Computing and Communications, pages 263{273. 2nd IEEE Annual Conference (PerCom 2004), Orlando, FL, USA, 14{17 March 2004. Proceedings. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 72 / 79
  • 112. Bibliography Bibliography V Mariani, S. and Omicini, A. (2014a). Coordination in situated systems: Engineering mas environment in TuCSoN. In Fortino, G., Di Fatta, G., Li, W., Ochoa, S., Cuzzocrea, A., and Pathan, M., editors, Internet and Distributed Computing Systems, volume 8729 of Lecture Notes in Computer Science, pages 99{110. Springer International Publishing. 7th International Conference on Internet and Distributed Computing Systems (IDCS 2014), Calabria, Italy, 22-24 September 2014, Proceedings. Mariani, S. and Omicini, A. (2014b). TuCSoN coordination for MAS situatedness: Towards a methodology. In Santoro, C. and Bergenti, F., editors, WOA 2014 { XV Workshop Nazionale Dagli Oggetti agli Agenti, volume 1260 of CEUR Workshop Proceedings, pages 62{71. Sun SITE Central Europe, RWTH Aachen University. Milner, R. (1993). Elements of interaction: Turing award lecture. Communications of the ACM, 36(1):78{89. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 73 / 79
  • 113. Bibliography Bibliography VI Minsky, N. H., Ungureanu, V., and Minsky, Y. M. (2001). Safe tuplespace-based coordination in multiagent systems. Applied Arti
  • 114. cial Intelligence: An International Journal, 15(1):11{33. Special Issue: Coordination Models and Languages in AI. Odell, J. J. (2002). Objects and agents compared. Journal of Object Technology, 1(1):41{53. Omicini, A. (1999). On the semantics of tuple-based coordination models. In 1999 ACM Symposium on Applied Computing (SAC'99), pages 175{182, New York, NY, USA. ACM. Special Track on Coordination Models, Languages and Applications. Omicini, A. (2000). Hybrid coordination models for handling information exchange among Internet agents. In Bonarini, A., Colombetti, M., and Lanzi, P. L., editors, Workshop Agenti intelligenti e Internet: teorie, strumenti e applicazioni, pages 1{4, 7th AI*IA Convention (AI*IA 2000), Milano, Italy. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 74 / 79
  • 115. Bibliography Bibliography VII Omicini, A. (2012). Agents writing on walls: Cognitive stigmergy and beyond. In Paglieri, F., Tummolini, L., Falcone, R., and Miceli, M., editors, The Goals of Cognition. Essays in Honor of Cristiano Castelfranchi, volume 20 of Tributes, chapter 29, pages 543{556. College Publications, London. Omicini, A., Ricci, A., and Viroli, M. (2008). Artifacts in the AA meta-model for multi-agent systems. Autonomous Agents and Multi-Agent Systems, 17(3):432{456. Special Issue on Foundations, Advanced Topics and Industrial Perspectives of Multi-Agent Systems. Omicini, A., Ricci, A., Viroli, M., Castelfranchi, C., and Tummolini, L. (2004). Coordination artifacts: Environment-based coordination for intelligent agents. In Jennings, N. R., Sierra, C., Sonenberg, L., and Tambe, M., editors, 3rd international Joint Conference on Autonomous Agents and Multiagent Systems (AAMAS 2004), volume 1, pages 286{293, New York, USA. ACM. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 75 / 79
  • 116. Bibliography Bibliography VIII Omicini, A. and Zambonelli, F. (1999). Coordination for Internet application development. Autonomous Agents and Multi-Agent Systems, 2(3):251{269. Special Issue: Coordination Mechanisms for Web Agents. Papadopoulos, G. A. and Arbab, F. (1998). Coordination models and languages. In Zelkowitz, M. V., editor, The Engineering of Large Systems, volume 46 of Advances in Computers, pages 329{400. Academic Press. Rowstron, A. I. T. (1996). Bulk Primitives in Linda Run-Time Systems. PhD thesis, The University of York. Suchman, L. A. (1987). Plans and Situated Actions: The Problem of Human-Machine Communication. Cambridge University Press, New York, NYU, USA. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 76 / 79
  • 117. Bibliography Bibliography IX Wegner, P. (1996). Coordination as constrained interaction. In Ciancarini, P. and Hankin, C., 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. Springer Berlin Heidelberg. Wegner, P. (1997). Why interaction is more powerful than algorithms. Communications of the ACM, 40(5):80{91. Wegner, P. and Goldin, D. (1999). Mathematical models of interactive computing. Technical report, Brown University, Providence, RI, USA. Wegner, P. and Goldin, D. (2003). Computation beyond Turing machines. Communications of the ACM, 46(4):100{102. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 77 / 79
  • 118. Bibliography Bibliography X Zambonelli, F. and Omicini, A. (2004). Challenges and research directions in agent-oriented software engineering. Autonomous Agents and Multi-Agent Systems, 9(3):253{283. Special Issue: Challenges for Agent-Based Computing. Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 78 / 79
  • 119. Interaction, Complexity, Coordination Nature-inspired Coordination Models for Complex Distributed Systems Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica { Scienza e Ingegneria (DISI) Alma Mater Studiorum { Universita di Bologna Fribourg, Switzerland 20 November 2014 Andrea Omicini (DISI, Univ. Bologna) 1 { Interaction, Complexity, Coordination Fribourg, 20/11/2014 79 / 79