SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
Tuple-based Coordination of Stochastic Systems
with Uniform Primitives
Stefano Mariani

Andrea Omicini

{s.mariani, andrea.omicini}@unibo.it
DISI
Alma Mater Studiorum—Universit` di Bologna
a

WOA 2013
Torino, Italy
2 December 2013

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

1 / 40
Outline

1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

2 / 40
Motivations & Goals

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

3 / 40
Motivations & Goals

Non-determinism, Coordination & Stochastic Behaviour

A foremost feature of computational models for open, adaptive, and
self-* systems is non-determinism
Non-determinism is the basic mechanisms for stochastic behaviour
Since most of the complexity featured by such systems depends on
the interaction among components, coordination models should
feature non-deterministic mechanisms for stochastic behaviour

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

4 / 40
Motivations & Goals

Goals of the Research

Devising out the basic mechanisms for stochastic coordination
Finding a minimal set of primitives for most (all) of the most relevant
stochastic systems
Embedding such mechanisms as tuple-based co-ordination primitives,
in order to address the general need of complex computational system
engineering
Defining their formal semantics and implementing them as TuCSoN
primitives

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

5 / 40
Non-determinism in Tuple-based Models

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

6 / 40
Non-determinism in Tuple-based Models

Don’t Care Non-determinism
Linda features don’t know non-determinism handled with a don’t
care approach:
don’t know which tuple among the matching ones is retrieved by a
getter operation (in, rd) can be neither specified nor
predicted
don’t care nonetheless, the coordinated system is designed so as to
keep on working whichever is the matching tuple
returned
Instead, adaptive and self-organising systems require stochastic
behaviours like “most of the time do this”, “sometimes do that”
Possibly with some quantitative specification of “most of the time”
and “sometimes”
→ As it is, non-determinism in tuple-based models does not fit the need
of stochastic behaviour specification
Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

7 / 40
Non-determinism in Tuple-based Models

Linda “Local” Nature – In Time & Space
No context — In a single getter operation, only a local, point-wise
property affects tuple retrieval: that is, the conformance of a
tuple to the template, independently of the spatial context
in fact, standard getter primitives return a matching
tuple independently of the other tuples currently in the
same space—so, they are “context unaware”
No history — Furthermore, in a sequence of getter operations, don’t
know non-determinism makes any prediction of the overall
behaviour impossible. Again, then, only a point-wise
property can be ensured even in time
sequences of standard getter operations present no
meaningful distribution over time

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

8 / 40
Uniform Primitives

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

9 / 40
Uniform Primitives

Definition & properties

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

10 / 40
Uniform Primitives

Definition & properties

uLinda: Probabilistic Non-determinism
We define uniform coordination primitives (uin, urd) – first
mentioned in [Gardelli et al., 2007] – as the specialisation of Linda
getter primitives featuring probabilistic non-determinism instead of
don’t know non-determinism
We call the new model uLinda
Uniform primitives allow programmers to both specify and
(statistically) predict the probability to retrieve one specific tuple
among a bag of matching tuples
Uniform primitives are the “basic mechanisms enabling self-organising
coordination”—that is, a minimal set of constructs able (alone) to
impact the observable properties of a coordinated system

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

11 / 40
Uniform Primitives

Definition & properties

uLinda: “Global” Nature

Situation & prediction
Uniform primitives replace don’t know non-determinism with probabilistic
non-determinism to
situate a primitive invocation in space
uniform getter primitives return matching tuples based on the other
tuples in the space—so, their behaviour is context-aware

predict its behaviour in time
sequences of uniform getter operations tend to globally exhibit a
uniform distribution over time

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

12 / 40
Uniform Primitives

Basic example

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

13 / 40
Uniform Primitives

Basic example

Linda: How to Roll a Dice?

We define tuple space dice
We represent a six-face dice as a collection of six tuples: face(1),
. . . , face(6)
We roll a dice by rd-ing a face/1 tuple from dice:
dice ?

rd(face(X))

! We do not obtain the overall (stochastic) behaviour of a dice: for
instance, it may reasonably happen that rolling the dice 109 times
always results in X / 1—that is, we get “1” 109 times in a row.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

14 / 40
Uniform Primitives

Basic example

uLinda: How to Roll a Dice?
Again, we define tuple space dice
Again, we represent a six-face dice as a collection of six tuples:
face(1), . . . , face(6)
We roll a dice by urd-ing a face/1 tuple from dice:
dice ?

urd(face(X))

! Now, we do obtain the overall (stochastic) behaviour of a dice:
context — at every roll, the six faces of the dice X / 1, . . . , X
/ 6 have the same probability P = 1/6 to be selected
history — in the overall, repeating several times a roll, the six
faces will tend to converge towards a uniform
distribution

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

15 / 40
Uniform Primitives

Semantics

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

16 / 40
Uniform Primitives

Semantics

Informally
Operationally, uniform primitives behave as follows:
1

When executed, a uniform primitive takes a snapshot of the tuple
space, “freezing” its state at a certain point in time—and space,
being a single tuple space the target of basic Linda primitives

2

The snapshot is then exploited to assign a probabilistic value
pi ∈ [0, 1] to any tuple ti∈{1..n} in the space—where n is the total
number of tuples in the space

3

There, non-matching tuples have value p = 0, matching tuples have
value p = 1/m (where m ≤ n is the number of matching tuples), and
the overall sum of probability values is i=1..n pi = 1

4

The choice of the matching tuple to be returned is then statistically
based on the computed probabilistic values

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

17 / 40
Uniform Primitives

Semantics

Formally I
[!] In order to define the semantics of (getter) uniform primitives, we rely
upon a simplified version of the process-algebraic framework in
[Bravetti, 2008], in particular the ↑ operator, dropping multi-level priority
probabilities.

uin semantics
T

[Synch-C]

uinT .P | t1 , .., tn −→ uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )}
[Close-C]

uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )}
→
uinT .P | t1 , .., tn ↑ {(t1 , p1 ), .., (tn , pn )}
tj

[Exec-C]

uinT .P | t1 , .., tn ↑ {.., (tj , pj ), ..} −→pj P[tj /T ] | t1 , .., tn tj

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

18 / 40
Uniform Primitives

Semantics

Formally II
[!] As for standard Linda getter primitives, the only difference between
uniform reading (urd) and uniform consumption (uin) is the
non-destructive semantics of the reading primitive—transition Exec-R.

urd semantics
T

[Synch-C]

uinT .P | t1 , .., tn −→ uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )}
[Close-C]

uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )}
→
uinT .P | t1 , .., tn ↑ {(t1 , p1 ), .., (tn , pn )}
tj

[Exec-R]

uinT .P | t1 , .., tn ↑ {.., (tj , pj ), ..} −→pj P[tj /T ] | t1 , .., tn

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

19 / 40
Expressiveness

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

20 / 40
Expressiveness

Formally

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

21 / 40
Expressiveness

Formally

uLinda vs Linda
In [Bravetti et al., 2005], authors demonstrate that Linda-based
languages cannot implement probabilistic models.

PME proof
The gain in expressiveness brought by uLinda is formally proven in
[Mariani and Omicini, 2013a], where uniform primitives are shown to be
strictly more expressive than standard Linda primitives according to
probabilistic modular embedding (PME) [Mariani and Omicini, 2013b].
In particular
uLinda

∧ Linda p uLinda
p Linda
=⇒
uLinda ≡o Linda

where
stands for “probabilistically embeds”
≡o means “(PME) observational equivalence”
p

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

22 / 40
Expressiveness

Informally

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

23 / 40
Expressiveness

Informally

Load Balancing I
Two service providers are offering the same service to clients through
“advertising tuples”
Provider 1 is slower than Provider 2 in processing requests—modeling
different computational power
Their working cycle is quite simple:
a worker thread gets requests from a shared tuple space putting them
in the master thread bounded queue—modeling memory constraints
the master thread polls the queue for pending requests:
if one is found, it is served, then the master emits another advertising
tuple
if none is found, the master does something else, then re-polls the
queue—no advertising is done

Clients search for available services in two different ways:
for the first experiment, using rd primitive
for the second, using urd
Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

24 / 40
Expressiveness

Informally

Load Balancing II

Figure : Clients using rd: Provider 1 is under-exploited—actually, not at all.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

25 / 40
Expressiveness

Informally

Load Balancing III

Figure : Provider 1 and Provider 2 exhibit no collaboration—no “load balancing”.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

26 / 40
Expressiveness

Informally

Load Balancing IV

Figure : Clients using urd: Provider 1 is exploited as much as it can afford.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

27 / 40
Expressiveness

Informally

Load Balancing V

Figure : Provider 1 and Provider 2 exhibit some form of “load balancing”,
achieved by self-organisation.
Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

28 / 40
Expressiveness

Informally

Load Balancing VI
? Why such a different behaviour with just a change of one primitive?
By using the rd primitive we blindly commit to the actual
implementation of the Linda model currently at hand, hence no
prediction is possible prior to simulation—and with no information
about implementation details
By using primitive urd instead, we can predict how much each service
provider will be exploited:
!
!
!
→

each provider emits an advertising tuple for each served request
such tuples are those looked for by clients
the faster provider will produce more tuples
hence it will be more frequently found than the slower one

Furthermore, the load balancing exhibited is not statically designed or
superimposed, but results by emergence

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

29 / 40
Expressiveness

Informally

Pheromone-based Coordination I

The experiment involves ten digital ants starting from the anthill with
the goal of finding food
At the beginning, any path has equal probability of being chosen,
modeling random walking of ants in absence of pheromone
As ants begin to wander around, eventually they find food and release
pheromone on their way back home
As a consequence, the shortest path eventually gets more pheromone
since it takes less time to travel on it rather than on the longest path

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

30 / 40
Expressiveness

Informally

Pheromone-based Coordination II

Figure : Digital ants search for food (top box) wandering randomly from their
anthill (bottom box).

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

31 / 40
Expressiveness

Informally

Pheromone-based Coordination III

Figure : By urd-ing digital pheromones, ants find the optimal path toward the
food source—as a self-organizing, distributed process.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

32 / 40
Expressiveness

Informally

Pheromone-based Coordination IV

Figure : Pheromones strength across time. Descending phase corresponds to the
lack of pheromone reinforcement contrasting evaporation—due to food depletion.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

33 / 40
Expressiveness

Informally

Pheromone-based Coordination V

Quite obviously, the idea here is not just showing a new way to model
ant-like systems
Instead, the example is meant to highlight how a non-trivial behaviour
– that is, dynamically solving a shortest path problem – can be
achieved by simply substituting uniform primitives to traditional
Linda getter primitives.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

34 / 40
Conclusion, Ongoing & Future Work

Outline
1

Motivations & Goals

2

Non-determinism in Tuple-based Models

3

Uniform Primitives
Definition & properties
Basic example
Semantics

4

Expressiveness
Formally
Informally

5

Conclusion, Ongoing & Future Work

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

35 / 40
Conclusion, Ongoing & Future Work

Conclusion

We formally define uLinda with uniform primitives as a specialisation
of standard Linda getter primitives
We prove the gain in expressiveness of uLinda with respect to Linda
We claim uniform primitives can work as the basic mechanisms for
stochastic coordination

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

36 / 40
Conclusion, Ongoing & Future Work

Ongoing & Future Work

Current TuCSoN implementation already features uniform primitives
We will test the expressiveness of uniform primitives against all the
most relevant adaptive & self-organising patterns
We will test the expressiveness of TuCSoN uniform primitives against
all the most relevant stochastic coordination models
We will work on the efficiency of the implementation

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

37 / 40
References

References I
Bravetti, M. (2008).
Expressing priorities and external probabilities in process algebra via mixed
open/closed systems.
Electronic Notes in Theoretical Computer Science, 194(2):31–57.
Bravetti, M., Gorrieri, R., Lucchi, R., and Zavattaro, G. (2005).
Quantitative information in the tuple space coordination model.
Theoretical Computer Science, 346(1):28–57.
Gardelli, L., Viroli, M., Casadei, M., and Omicini, A. (2007).
Designing self-organising MAS environments: The collective sort case.
In Weyns, D., Parunak, H. V. D., and Michel, F., editors, Environments for
MultiAgent Systems III, volume 4389 of LNAI, pages 254–271. Springer.
3rd International Workshop (E4MAS 2006), Hakodate, Japan, 8 May 2006.
Selected Revised and Invited Papers.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

38 / 40
References

References II

Mariani, S. and Omicini, A. (2013a).
Probabilistic embedding: Experiments with tuple-based probabilistic languages.
In 28th ACM Symposium on Applied Computing (SAC 2013), pages 1380–1382,
Coimbra, Portugal.
Poster Paper.
Mariani, S. and Omicini, A. (2013b).
Probabilistic modular embedding for stochastic coordinated systems.
In Julien, C. and De Nicola, R., editors, Coordination Models and Languages,
volume 7890 of LNCS, pages 151–165. Springer.
15th International Conference (COORDINATION 2013), Florence, Italy, 3–6 June
2013. Proceedings.

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

39 / 40
Tuple-based Coordination of Stochastic Systems
with Uniform Primitives
Stefano Mariani

Andrea Omicini

{s.mariani, andrea.omicini}@unibo.it
DISI
Alma Mater Studiorum—Universit` di Bologna
a

WOA 2013
Torino, Italy
2 December 2013

Mariani, Omicini (DISI, Alma Mater)

Uniform Primitives 4 Stochastic Coordination

WOA 2013, 2/12/2013

40 / 40

Mais conteúdo relacionado

Destaque (20)

Funciones
FuncionesFunciones
Funciones
 
07-08-13
07-08-1307-08-13
07-08-13
 
Networking
NetworkingNetworking
Networking
 
Qualidade
QualidadeQualidade
Qualidade
 
Diseño de-base-de-datos
Diseño de-base-de-datosDiseño de-base-de-datos
Diseño de-base-de-datos
 
Informtica basica
Informtica basicaInformtica basica
Informtica basica
 
George Washington Stood Here – On The Issue Of Slavery
George Washington Stood Here – On The Issue Of SlaveryGeorge Washington Stood Here – On The Issue Of Slavery
George Washington Stood Here – On The Issue Of Slavery
 
Corpora m..
Corpora m..Corpora m..
Corpora m..
 
Pdf as-spezifikation-2.0.0
Pdf as-spezifikation-2.0.0Pdf as-spezifikation-2.0.0
Pdf as-spezifikation-2.0.0
 
EL AGUA NUESTRO DE CADA DIA
EL AGUA NUESTRO DE CADA DIAEL AGUA NUESTRO DE CADA DIA
EL AGUA NUESTRO DE CADA DIA
 
Dsicriminacion
DsicriminacionDsicriminacion
Dsicriminacion
 
V for vendetta
V for vendettaV for vendetta
V for vendetta
 
Ciencias
CienciasCiencias
Ciencias
 
PECS Talk -- Batteries
PECS Talk -- BatteriesPECS Talk -- Batteries
PECS Talk -- Batteries
 
Abandonoescolar
AbandonoescolarAbandonoescolar
Abandonoescolar
 
Note circulaire 726_2016 : version Finale
Note circulaire 726_2016 : version FinaleNote circulaire 726_2016 : version Finale
Note circulaire 726_2016 : version Finale
 
Grupo 4 - Los Negros y La Ciudad
Grupo 4 - Los Negros y La CiudadGrupo 4 - Los Negros y La Ciudad
Grupo 4 - Los Negros y La Ciudad
 
Freire. pedagocia de la autonomia
Freire. pedagocia de la autonomiaFreire. pedagocia de la autonomia
Freire. pedagocia de la autonomia
 
Processing
ProcessingProcessing
Processing
 
Bdc demystifier le banquier
Bdc demystifier le banquierBdc demystifier le banquier
Bdc demystifier le banquier
 

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
 
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
 
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
 
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
 
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
 
Complexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspectiveComplexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspectiveAndrea Omicini
 
Nature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research TrendsNature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research TrendsAndrea 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
 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of 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
 

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
 
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
 
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
 
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
 
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...
 
Complexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspectiveComplexity in computational systems: the coordination perspective
Complexity in computational systems: the coordination perspective
 
Nature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research TrendsNature-inspired Coordination: Current Status and Research Trends
Nature-inspired Coordination: Current Status and Research Trends
 
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
 
Foundations of Multi-Agent Systems
Foundations of Multi-Agent SystemsFoundations of Multi-Agent Systems
Foundations of 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,...
 

Último

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 

Último (20)

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 

Tuple-based Coordination of Stochastic Systems with Uniform Primitives

  • 1. Tuple-based Coordination of Stochastic Systems with Uniform Primitives Stefano Mariani Andrea Omicini {s.mariani, andrea.omicini}@unibo.it DISI Alma Mater Studiorum—Universit` di Bologna a WOA 2013 Torino, Italy 2 December 2013 Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 1 / 40
  • 2. Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 2 / 40
  • 3. Motivations & Goals Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 3 / 40
  • 4. Motivations & Goals Non-determinism, Coordination & Stochastic Behaviour A foremost feature of computational models for open, adaptive, and self-* systems is non-determinism Non-determinism is the basic mechanisms for stochastic behaviour Since most of the complexity featured by such systems depends on the interaction among components, coordination models should feature non-deterministic mechanisms for stochastic behaviour Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 4 / 40
  • 5. Motivations & Goals Goals of the Research Devising out the basic mechanisms for stochastic coordination Finding a minimal set of primitives for most (all) of the most relevant stochastic systems Embedding such mechanisms as tuple-based co-ordination primitives, in order to address the general need of complex computational system engineering Defining their formal semantics and implementing them as TuCSoN primitives Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 5 / 40
  • 6. Non-determinism in Tuple-based Models Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 6 / 40
  • 7. Non-determinism in Tuple-based Models Don’t Care Non-determinism Linda features don’t know non-determinism handled with a don’t care approach: don’t know which tuple among the matching ones is retrieved by a getter operation (in, rd) can be neither specified nor predicted don’t care nonetheless, the coordinated system is designed so as to keep on working whichever is the matching tuple returned Instead, adaptive and self-organising systems require stochastic behaviours like “most of the time do this”, “sometimes do that” Possibly with some quantitative specification of “most of the time” and “sometimes” → As it is, non-determinism in tuple-based models does not fit the need of stochastic behaviour specification Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 7 / 40
  • 8. Non-determinism in Tuple-based Models Linda “Local” Nature – In Time & Space No context — In a single getter operation, only a local, point-wise property affects tuple retrieval: that is, the conformance of a tuple to the template, independently of the spatial context in fact, standard getter primitives return a matching tuple independently of the other tuples currently in the same space—so, they are “context unaware” No history — Furthermore, in a sequence of getter operations, don’t know non-determinism makes any prediction of the overall behaviour impossible. Again, then, only a point-wise property can be ensured even in time sequences of standard getter operations present no meaningful distribution over time Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 8 / 40
  • 9. Uniform Primitives Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 9 / 40
  • 10. Uniform Primitives Definition & properties Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 10 / 40
  • 11. Uniform Primitives Definition & properties uLinda: Probabilistic Non-determinism We define uniform coordination primitives (uin, urd) – first mentioned in [Gardelli et al., 2007] – as the specialisation of Linda getter primitives featuring probabilistic non-determinism instead of don’t know non-determinism We call the new model uLinda Uniform primitives allow programmers to both specify and (statistically) predict the probability to retrieve one specific tuple among a bag of matching tuples Uniform primitives are the “basic mechanisms enabling self-organising coordination”—that is, a minimal set of constructs able (alone) to impact the observable properties of a coordinated system Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 11 / 40
  • 12. Uniform Primitives Definition & properties uLinda: “Global” Nature Situation & prediction Uniform primitives replace don’t know non-determinism with probabilistic non-determinism to situate a primitive invocation in space uniform getter primitives return matching tuples based on the other tuples in the space—so, their behaviour is context-aware predict its behaviour in time sequences of uniform getter operations tend to globally exhibit a uniform distribution over time Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 12 / 40
  • 13. Uniform Primitives Basic example Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 13 / 40
  • 14. Uniform Primitives Basic example Linda: How to Roll a Dice? We define tuple space dice We represent a six-face dice as a collection of six tuples: face(1), . . . , face(6) We roll a dice by rd-ing a face/1 tuple from dice: dice ? rd(face(X)) ! We do not obtain the overall (stochastic) behaviour of a dice: for instance, it may reasonably happen that rolling the dice 109 times always results in X / 1—that is, we get “1” 109 times in a row. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 14 / 40
  • 15. Uniform Primitives Basic example uLinda: How to Roll a Dice? Again, we define tuple space dice Again, we represent a six-face dice as a collection of six tuples: face(1), . . . , face(6) We roll a dice by urd-ing a face/1 tuple from dice: dice ? urd(face(X)) ! Now, we do obtain the overall (stochastic) behaviour of a dice: context — at every roll, the six faces of the dice X / 1, . . . , X / 6 have the same probability P = 1/6 to be selected history — in the overall, repeating several times a roll, the six faces will tend to converge towards a uniform distribution Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 15 / 40
  • 16. Uniform Primitives Semantics Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 16 / 40
  • 17. Uniform Primitives Semantics Informally Operationally, uniform primitives behave as follows: 1 When executed, a uniform primitive takes a snapshot of the tuple space, “freezing” its state at a certain point in time—and space, being a single tuple space the target of basic Linda primitives 2 The snapshot is then exploited to assign a probabilistic value pi ∈ [0, 1] to any tuple ti∈{1..n} in the space—where n is the total number of tuples in the space 3 There, non-matching tuples have value p = 0, matching tuples have value p = 1/m (where m ≤ n is the number of matching tuples), and the overall sum of probability values is i=1..n pi = 1 4 The choice of the matching tuple to be returned is then statistically based on the computed probabilistic values Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 17 / 40
  • 18. Uniform Primitives Semantics Formally I [!] In order to define the semantics of (getter) uniform primitives, we rely upon a simplified version of the process-algebraic framework in [Bravetti, 2008], in particular the ↑ operator, dropping multi-level priority probabilities. uin semantics T [Synch-C] uinT .P | t1 , .., tn −→ uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} [Close-C] uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} → uinT .P | t1 , .., tn ↑ {(t1 , p1 ), .., (tn , pn )} tj [Exec-C] uinT .P | t1 , .., tn ↑ {.., (tj , pj ), ..} −→pj P[tj /T ] | t1 , .., tn tj Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 18 / 40
  • 19. Uniform Primitives Semantics Formally II [!] As for standard Linda getter primitives, the only difference between uniform reading (urd) and uniform consumption (uin) is the non-destructive semantics of the reading primitive—transition Exec-R. urd semantics T [Synch-C] uinT .P | t1 , .., tn −→ uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} [Close-C] uinT .P | t1 , .., tn ↑ {(t1 , v1 ), .., (tn , vn )} → uinT .P | t1 , .., tn ↑ {(t1 , p1 ), .., (tn , pn )} tj [Exec-R] uinT .P | t1 , .., tn ↑ {.., (tj , pj ), ..} −→pj P[tj /T ] | t1 , .., tn Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 19 / 40
  • 20. Expressiveness Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 20 / 40
  • 21. Expressiveness Formally Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 21 / 40
  • 22. Expressiveness Formally uLinda vs Linda In [Bravetti et al., 2005], authors demonstrate that Linda-based languages cannot implement probabilistic models. PME proof The gain in expressiveness brought by uLinda is formally proven in [Mariani and Omicini, 2013a], where uniform primitives are shown to be strictly more expressive than standard Linda primitives according to probabilistic modular embedding (PME) [Mariani and Omicini, 2013b]. In particular uLinda ∧ Linda p uLinda p Linda =⇒ uLinda ≡o Linda where stands for “probabilistically embeds” ≡o means “(PME) observational equivalence” p Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 22 / 40
  • 23. Expressiveness Informally Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 23 / 40
  • 24. Expressiveness Informally Load Balancing I Two service providers are offering the same service to clients through “advertising tuples” Provider 1 is slower than Provider 2 in processing requests—modeling different computational power Their working cycle is quite simple: a worker thread gets requests from a shared tuple space putting them in the master thread bounded queue—modeling memory constraints the master thread polls the queue for pending requests: if one is found, it is served, then the master emits another advertising tuple if none is found, the master does something else, then re-polls the queue—no advertising is done Clients search for available services in two different ways: for the first experiment, using rd primitive for the second, using urd Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 24 / 40
  • 25. Expressiveness Informally Load Balancing II Figure : Clients using rd: Provider 1 is under-exploited—actually, not at all. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 25 / 40
  • 26. Expressiveness Informally Load Balancing III Figure : Provider 1 and Provider 2 exhibit no collaboration—no “load balancing”. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 26 / 40
  • 27. Expressiveness Informally Load Balancing IV Figure : Clients using urd: Provider 1 is exploited as much as it can afford. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 27 / 40
  • 28. Expressiveness Informally Load Balancing V Figure : Provider 1 and Provider 2 exhibit some form of “load balancing”, achieved by self-organisation. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 28 / 40
  • 29. Expressiveness Informally Load Balancing VI ? Why such a different behaviour with just a change of one primitive? By using the rd primitive we blindly commit to the actual implementation of the Linda model currently at hand, hence no prediction is possible prior to simulation—and with no information about implementation details By using primitive urd instead, we can predict how much each service provider will be exploited: ! ! ! → each provider emits an advertising tuple for each served request such tuples are those looked for by clients the faster provider will produce more tuples hence it will be more frequently found than the slower one Furthermore, the load balancing exhibited is not statically designed or superimposed, but results by emergence Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 29 / 40
  • 30. Expressiveness Informally Pheromone-based Coordination I The experiment involves ten digital ants starting from the anthill with the goal of finding food At the beginning, any path has equal probability of being chosen, modeling random walking of ants in absence of pheromone As ants begin to wander around, eventually they find food and release pheromone on their way back home As a consequence, the shortest path eventually gets more pheromone since it takes less time to travel on it rather than on the longest path Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 30 / 40
  • 31. Expressiveness Informally Pheromone-based Coordination II Figure : Digital ants search for food (top box) wandering randomly from their anthill (bottom box). Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 31 / 40
  • 32. Expressiveness Informally Pheromone-based Coordination III Figure : By urd-ing digital pheromones, ants find the optimal path toward the food source—as a self-organizing, distributed process. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 32 / 40
  • 33. Expressiveness Informally Pheromone-based Coordination IV Figure : Pheromones strength across time. Descending phase corresponds to the lack of pheromone reinforcement contrasting evaporation—due to food depletion. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 33 / 40
  • 34. Expressiveness Informally Pheromone-based Coordination V Quite obviously, the idea here is not just showing a new way to model ant-like systems Instead, the example is meant to highlight how a non-trivial behaviour – that is, dynamically solving a shortest path problem – can be achieved by simply substituting uniform primitives to traditional Linda getter primitives. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 34 / 40
  • 35. Conclusion, Ongoing & Future Work Outline 1 Motivations & Goals 2 Non-determinism in Tuple-based Models 3 Uniform Primitives Definition & properties Basic example Semantics 4 Expressiveness Formally Informally 5 Conclusion, Ongoing & Future Work Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 35 / 40
  • 36. Conclusion, Ongoing & Future Work Conclusion We formally define uLinda with uniform primitives as a specialisation of standard Linda getter primitives We prove the gain in expressiveness of uLinda with respect to Linda We claim uniform primitives can work as the basic mechanisms for stochastic coordination Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 36 / 40
  • 37. Conclusion, Ongoing & Future Work Ongoing & Future Work Current TuCSoN implementation already features uniform primitives We will test the expressiveness of uniform primitives against all the most relevant adaptive & self-organising patterns We will test the expressiveness of TuCSoN uniform primitives against all the most relevant stochastic coordination models We will work on the efficiency of the implementation Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 37 / 40
  • 38. References References I Bravetti, M. (2008). Expressing priorities and external probabilities in process algebra via mixed open/closed systems. Electronic Notes in Theoretical Computer Science, 194(2):31–57. Bravetti, M., Gorrieri, R., Lucchi, R., and Zavattaro, G. (2005). Quantitative information in the tuple space coordination model. Theoretical Computer Science, 346(1):28–57. Gardelli, L., Viroli, M., Casadei, M., and Omicini, A. (2007). Designing self-organising MAS environments: The collective sort case. In Weyns, D., Parunak, H. V. D., and Michel, F., editors, Environments for MultiAgent Systems III, volume 4389 of LNAI, pages 254–271. Springer. 3rd International Workshop (E4MAS 2006), Hakodate, Japan, 8 May 2006. Selected Revised and Invited Papers. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 38 / 40
  • 39. References References II Mariani, S. and Omicini, A. (2013a). Probabilistic embedding: Experiments with tuple-based probabilistic languages. In 28th ACM Symposium on Applied Computing (SAC 2013), pages 1380–1382, Coimbra, Portugal. Poster Paper. Mariani, S. and Omicini, A. (2013b). Probabilistic modular embedding for stochastic coordinated systems. In Julien, C. and De Nicola, R., editors, Coordination Models and Languages, volume 7890 of LNCS, pages 151–165. Springer. 15th International Conference (COORDINATION 2013), Florence, Italy, 3–6 June 2013. Proceedings. Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 39 / 40
  • 40. Tuple-based Coordination of Stochastic Systems with Uniform Primitives Stefano Mariani Andrea Omicini {s.mariani, andrea.omicini}@unibo.it DISI Alma Mater Studiorum—Universit` di Bologna a WOA 2013 Torino, Italy 2 December 2013 Mariani, Omicini (DISI, Alma Mater) Uniform Primitives 4 Stochastic Coordination WOA 2013, 2/12/2013 40 / 40