The vision
[what we imagine to happen]
Towards conversational coordination
[what we focus on]
Ingredients
[what we think will be needed]
Recipe
[how we think it will happen]
On the role of argumentation
[why we think argumentation matters]
The Speaking Objects Vision: Argumentation for Coordinating Distributed Systems (part 1)
1. The Speaking Objects Vision
Argumentation for Coordinating Distributed Systems
Part I: On Speaking Objects
Prof. Stefano Mariani
(stefano.mariani@unimore.it)
2. 2
Outline
(1) The vision
[what we imagine to happen]
(2) Towards conversational coordination
[what we focus on]
(3) Ingredients
[what we think will be needed]
(4) Recipe
[how we think it will happen]
(5) On the role of argumentation
[why we think argumentation matters]
3. 3
Outline
(1) The vision
[what we imagine to happen]
(2) Towards conversational coordination
[what we focus on]
(3) Ingredients
[what we think will be needed]
(4) Recipe
[how we think it will happen]
(5) On the role of argumentation
[why we think argumentation matters]
4. 4
The Internet of Things (IoT), right now (1)
• Physical objects and places enriched with sensing,
computing, and actuating capabilities
• sensors = “big data” related to our physical/social world
• actuators = receiving commands to act on the environment
• Everything in our physical and social worlds become the
node of a large-scale situated network
• situated = virtual/physical location in space-time does matter for the
computation [Suchman, 1987]
• Most approaches adopt a centralized, Cloud-based
perspective [Gubbi et al., 2013]:
• sensor data is collected at some control point
• machine learning algorithms crunch this big data
• commands for the actuators are generated
5. 5
The Internet of Things (IoT), right now (2)
Source: https://www.bbvaopenmind.com/en/securing-the-internet-of-things-iot/
6. 6
The Internet of Things (IoT), right now (3)
• Interaction among the things is mostly based on messaging
• sensors send data to the Cloud
• the Cloud sends data to actuators
• Gateways and local hubs may be used to improve
performance and availability
• gateways send to the Cloud only the meaningful, aggregated data
• local hubs enable off-line computation
• The Publish-Subscribe paradigm [Eugster et al., 2003] is
the most used for coordinating devices
• MQTT protocol [mqtt-v3.1.1-plus-errata01] de-facto standard
• The Web of Things [Guinard and Trifa, 2009] mostly
replaces MQTT with HTTP-based access to RESTful Web
Services [Richardson and Ruby, 2008]
7. 7
The Internet of Things (IoT), right now (4)
Source: https://zoetrope.io/tech-blog/brief-practical-introduction-mqtt-protocol-and-its-application-iot/
8. 8
The Internet of Things (IoT), right now (5)
Source: https://www.slideshare.net/misterdom/wot-web-thing-model
9. 9
Coordination, in a nutshell (1)
• Many definitions
• “the discipline of managing dependencies” [Malone and
Crowston, 1994]
• “the task of governing the interaction space” [Gelernter and
Carriero, 1992]
• “the glue binding together separate activities into an
ensamble” [Ciancarini, 1996]
• A reference meta-model [Ciancarini, 1996]
• Coordinables = those whose activities are coordinated
• Coordination media = those who coordinate
• Coordination law = the rule to enact for coordinating activities
• Coordination language = how laws are expressed
11. 11
The IoT, sooner or later
• Smart objects can and are already becoming much
smarter [Endler et al., 2017], [Agrawal et al., 2015], [Shi
and Dustdar, 2016]
• increasing computational power + advancements in machine
learning techniques = smart objects analyze data locally
• i.e. the Fitbit associating sensed patterns of movement to
activities like “walking”, “running”, “sleeping”
• Centralized Cloud-based approaches are here to stay for
the sake of global data analysis and long-term planning
• but, smart sensors and actuators will have to interact and
coordinate autonomously in a decentralized way, to ensure timely
response to situations
12. 12
The IoT, eventually: Speaking Objects
• We can soon expect such capabilities to further evolve
• recognize more complex situations
• causally connecting different situations
• making assertions about what is happening around
• Complex situation recognition already is a hot topic for
research in pervasive computing in general [Ye et al.,
2012]
• Sensors become speaking objects, that is devices
capable of “speaking” about the state of the world
13. 13
The IoT, eventually: Hearing Objects
• We also want to move from a command-based mode of
operation to a goal-based one
• current smart things are simply interpreting commands and
executing them
• instead, a goal-based approach relies on expressing a desirable
state of the affairs to be achieved with respect to some
environmental configuration, and let actuators autonomously
evaluate what actions to make in order to reach it
• I.e. a self- driving car is acts in a goal-oriented way:
passengers simply express their desire (“bring me home”)
and the car figures out itself what to do
• Actuators become hearing objects, that is devices
capable of “hearing” what are the goals or situations to be
achieved, and achieve them autonomously
14. 14
The IoT, eventually: Conversations (1)
• Speaking objects talk to each other to produce an
understanding of the situations around (to complete
information or disambiguate it)
• Speaking objects also talk to hearing ones to inform them
about what is happening, which is necessary for hearing
objects to plan actions
• Hearing objects, in turn, talk to each other to agree on
common courses of actions whenever a desired state of
the affairs requires cooperation
• Centralized coordination become unsuitable, whereas
decentralised conversations (possibly there including
human actors) become the preferred approach
15. 15
The IoT, eventually: Conversations (2)
Bad
weather, getting
colder
Bad
weather, getting
darker
If
anyone in, I’ll
light up rooms
accordingly
If
anyone in, I’ll
warm up rooms
accordingly
Source: http://www.antiktech.com/en/digital-signagebr--smart-home/smart-home
16. 16
Outline
(1) The vision
[what we imagine to happen]
(2) Towards conversational coordination
[what we focus on]
(3) Ingredients
[what we think will be needed]
(4) Recipe
[how we think it will happen]
(5) On the role of argumentation
[why we think argumentation matters]
17. 17
Example scenario, right now
• Consider the problem of handling the traffic of self-driving cars at
an intersection
• distributed mutual exclusion: the cars are the processes that need
exclusive access to a resource (the intersection)
• Need to introduce an “intersection manager” (i.e. a traffic light)
• monitor to the shared resource: handles requests from the cars and
grants them access (or not)
• besides supporting prioritization policies, this does not enable accounting
for the peculiar situations of different cars and their ever-changing goals
• A solution could be to have cars negotiate, i.e. by engaging in
an auction [Carlino et al., 2013] based on virtual currency, with
the intersection manager acting as an auctioneer
• by deciding how much virtual currency to offer, depending on its internal
strategy and own situation, the car expresses its urgency to cross
18. 18
Example scenario, Speaking Objects (1)
• An effective policy could (and should) rely on much more
expressive arguments rather than a single value merely
representing urgency, and on the possibility to discuss
alternate plans rather than simply “give me that resource”
19. 19
Example scenario, Speaking Objects (2)
A
B
Ci Cj
T
Hi
T, how long will the
light remain green?
Hello
A, it would last
30 seconds.
Could you
keep the green on 30 seconds
more? I’m a bit late to work.
Is
any vehicle reaching the
crossroad within a minute?
Yes,
one vehicle approaching
from south in 40 seconds.
Hi
B, are you crossing
straight?
Hello
T, yes I am
Do
you mind waiting for one
minute?
Sorry, I
need to cross now for reaching
home soon.
I
see. Could you turn right and
reach home anyway? It’s just to
help another vehicle.
Sure,
that will take
about the same
time.
20. 20
Conversations
• Conversation = session of interaction between an
ensemble of distributed components, aimed at letting
them reach an agreement about their beliefs and/or plans
of actions [Amgoud and Parsons, 2002], [Walton and
Krabbe, 1995]
• conversations take place by having speaking and hearing objects
exchange assertions about the current or desirable state of the
affairs
• assertions can be contradicted or backed-up by others engaging
in the conversation
21. 21
Argumentation
• The dynamics of interaction just described perfectly match
argumentation-based coordination [Parsons and
McBurney, 2003]
• the practice of letting an ensemble of autonomous agents figure out
themselves the interaction protocol to adopt in a particular situation
by arguing in compliance with a shared argumentation framework
[Dung, 1995]
• Argumentation is the discipline of studying how humans
converse, debate, and reason [Walton, 2009]
• generally speaking, an argument can be defined as an assertion, or
a series of assertions, regarding a certain matter of discussion
• arguments relate to other arguments by attacking or supporting them
• the rules set out by the argumentation framework enable automatic
detection of acceptable arguments
22. 22
Conversational Coordination
• Traditional approaches to distributed coordination assume
the presence of specific coordination laws to respect
• dictating how components interact and how components should
behave during interaction [Omicini and Viroli, 2011]
• Conversation-based coordination shifts attention to the
meta-level of coordination
• rules to negotiate interaction protocols rather than the protocols
themselves
• Flexibility greatly benefits
• the actual interactions among participant components arise at
run-time
• the protocol constraining interactions emerges itself from the
bottom up
23. 23
Coordination in the IoT (1)
• Most approaches for orchestrating the activities of the
different components rely on a set of rules, and on
middleware engines that check and enact them
[Razzaque et al., 2016]
• Such rules dictate how the components should be
activated (and their services executed), depending both
on the situations that are happening, and on those that –
in reaction – should be achieved
• IFTTT is actually used as a platform for IoT programming
• IF THIS happens THEN do THAT
24. 24
Coordination in the IoT (2)
Source: https://blog.econocom.com/it/blog/ifttt-nuova-star-della-internet-of-things/,
https://geekmonkeystudios.wordpress.com/2014/11/28/ifttt/,
http://www.skylinkhome.com/skylinknet-ifttt
25. 25
Coordination in Speaking Objects (1)
• It may be the case that the identification of a specific
situation requires (i) more information than initially
thought, or (ii) solving some conflicting perceptions
• in the former case speaking objects need to interact for acquiring
missing information
• in the latter they need to sort out the conflicting views so as to
agree on the situation to present to the system
26. 26
Coordination in Speaking Objects (2)
• It is quite unusual that actuators are able to individually
change their environment (namely, act) so as to achieve
the optimal state of affairs
• rather, it is usually through collaboration and joint planning
• Accordingly, it is often the case that hearing objects
engage in dialogues by arguing about
• feasibility of actions
• expected utility
• likelihood of positive/negative outcomes
• presence/absence of conflicting actions
• etc.
27. 27
Coordination in Speaking Objects (4)
• While planning for a specific course of action aimed at
achieving a given state of the affairs, hearing objects may
recognize that they need more information or more
convincing arguments than initially provided in order to
make an informed decision
• this closes the feedback loop between sensing and
acting
• very expensive with state of the art Cloud-based
solutions
28. 28
Dialogue types (1)
• Walton and Krabbe [Walton and Krabbe, 1995] propose a
classification of conversations, following a pragmatic approach
based on
• the situation motivating the conversation session
• the goal of the initiating participant
• the goal of the dialogue itself
• 7 dialogue types:
• Information seeking [do you know this?]
• Inquiry [do somebody know that?]
• Discovery [what do we know?]
• Persuasion [you should do…]
• Negotiation [we should do…]
• Deliberation [let’s do…]
• Eristic [f#@k you!]
29. 29
Dialogue types (2)
• Information Seeking
• initiators need some information and they believe to know who
amongst the other participants could provide it
• Inquiry
• initiators and responders collaborate in collectively answering
questions meant to acquire information which no one believes
some other participant individually knows
• Discovery
• similar to inquiry but in the latter, the information sought for is
agreed upon at the beginning of the dialogue, whereas in the
former it emerges during the course of the dialogue itself
30. 30
Dialogue types (3)
• Persuasion
• the initiator wants to convince a participant to believe in an opinion,
to adopt a standpoint, to accept a fact (s)he does not currently hold
• the responder has a conflicting belief, and may not share the
initiator’s goal of persuading the other participant
• Negotiation
• participants bargain over an issue, i.e., the division of some scarse
resource, each pursuing a goal which is not necessarily aligned with
the goal of the collective, nor of the dialogue session
• a negotiation session converges when a resolution of the issue
which is acceptable by all participants is found, fails otherwise
• Deliberation
• a decision should be collectively taken about what course of actions
to adopt given a situation
31. 31
Flashback: intersection
A
B
Ci Cj
T
Hi
T, how long will the
light remain green?
Hello
A, it would last
30 seconds.
Could you
keep the green on 30 seconds
more? I’m a bit late to work.
Is
any vehicle reaching the
crossroad within a minute?
Yes,
one vehicle approaching
from south in 40 seconds.
Hi
B, are you crossing
straight?
Hello
T, yes I am
Do
you mind waiting for one
minute?
Sorry, I
need to cross now for reaching
home soon.
I
see. Could you turn right and
reach home anyway? It’s just to
help another vehicle.
Sure,
that will take
about the same
time.
32. 32
Outline
(1) The vision
[what we imagine to happen]
(2) Towards conversational coordination
[what we focus on]
(3) Ingredients
[what we think will be needed]
(4) Recipe
[how we think it will happen]
(5) On the role of argumentation
[why we think argumentation matters]
33. 33
Key enabling technologies (1)
Knowledge Representation & Ontologies Commonsense
Machine Learning
Goal Oriented Computing
Human Computer Interaction
Argumentation-based
Coordination
expresses high-level goals, desiresprovides high-level explanations, goals
high-level situations plan of activities and optimization
semantic situations semantic commands
complement
information,
provides
constraints
commands to actuators
raw sensor data
translates goals into
actions, discuss and
coordinate activities.
Create coherent stories of
what happened
user interaction user input
34. 34
• Large-scale ontologies will be
needed as repositories to
interpret the knowledge bases
available to the agents
• although advanced classification and recognition techniques are
widely employed in IoT scenarios, they are mostly tailored to
specific application domains or business goals, such as in the
case of activity recognition [Helaoui et al., 2013]
• Commonsense reasoning refers to a line of research
which aims to give computers the ability to make
presumptions about ordinary situations
• i.e. if an autonomous vehicle sees a ball rolling across the street,
it can assume a kid is running after it, thus decide to stop
accordingly
Knowledge Representation & Ontologies Commonsense
Machine Learning
Coordination
high-level situations plan of activities and optimization
semantic situations semantic commands
complement
information,
provides
constraints
commands to actuators
raw sensor data
Create coherent stories of
what happened
Key enabling technologies (2)
35. 35
• Machine learning tasks such as data aggregation, fusion and
manipulation, feature extraction, clustering, classification, are
commonly employed in any pervasive computing system
• smart objects are starting to embed black-box tools (such as deep neural
networks) for the purpose [Kortuem et al., 2010]
• Speaking and hearing objects should be able to learn from past
experience, by adapting to the changing environment
• data and pattern mining techniques are typically employed in the context
of associated rule discovery for IoT [Tsai et al., 2014], where pervasive
computing scenarios have also triggered user profiling and preference
learning applications [Fawcett, 2015]
Key enabling technologies (3)
Knowledge Representation & Ontologies Commonsense
Machine Learning
Goal Oriented Computing Argumentation-based
Coordination
expresses high-level goals, desiresprovides high-level explanations, goals
high-level situations plan of activities and optimization
semantic situations semantic commands
complement
information,
provides
constraints
commands to actuators
raw sensor data
translates goals into
actions, discuss and
coordinate activities.
Create coherent stories of
what happened
36. • To become goal-oriented hearing objects actuators
need to:
• recognize expression of a goal, or a desire, namely of a
state of affairs to be achieved, possibly explicitly and
symbolically represented;
• deliberate whether they may play a role in pursuing that goal, and if it is the case, how
the goal should be pursued, that is which sub-goals lead to the goal, and their
relationships;
• reason about feasibility and likelihood of a successful achievement of the goal, and on
the outcomes of the actions needed to get there [Wooldridge, 2000]
• plan the course of actions to undertake accordingly, considering cost, expected utility,
and likelihood of success/failure [Meneguzzi et al., 2004]
• All of this in autonomy, that is, with the opportunity to reject goals if they are
not of interest, and abandon them if they are no longer feasible
• Agent-oriented literature helps, such as the notion of cognitive agents [Rao
and Georgeff, 1995], techniques for means-ends reasoning [Wooldridge,
2000] and planning [Meneguzzi et al., 2004], the many issues of
coordination in multi-agent systems [Omicini and Viroli, 2011]
36
Key enabling technologies (4)
Knowledge Representation & Ontologies Commonsense
Machine Learning
Goal Oriented Computing
Human Computer Interaction
Argumentation-based
Coordination
expresses high-level goals, desiresprovides high-level explanations, goals
high-level situations plan of activities and optimization
semantic situations semantic commands
complement
information,
provides
constraints
commands to actuators
raw sensor data
translates goals into
actions, discuss and
coordinate activities.
Create coherent stories of
what happened
user interaction user input
37. 37
• Argumentation may well support:
• decentralised coordination, by
leveraging negotiation opportunities
[Rahwan et al., 2003]
• situated reasoning, by enabling belief revision in face of
uncertainty [Krause et al., 1995]
• joint deliberation, by allowing negotiation over desires and plans
besides beliefs [Hulstijn and van der Torre, 2004]
• “humans-in-the-loop”, by making explanations and justifications
of decision making available in natural language [Caminada et
al., 2014]
Key enabling technologies (5)
Commonsense
action
Argumentation-based
Coordination
expresses high-level goals, desires
plan of activities and optimization
semantic commands
ement
ation,
des
aints
commands to actuators
user input
38. 38
• Natural interfaces, such as voice commands and gestures are already
pervasive
• Techniques coming from natural language processing, speech
recognition, computer vision will become essential components of smart
objects in the near future, as they already are in our smartphones.
• While the current state of the art is about interacting with a single device
or hub, in the near future we envision interacting with many at the same
time
• i.e., a voice command will be heard by multiple devices, and each will have to
interpret it, as well as to understand its role in the overall fulfillment
• similarly, when reporting about a situation, IoT devices will need to coordinate a
coherent story to be told to the user
Key enabling technologies (6)
Knowledge Representation & Ontologies Commonsense
Machine Learning
Goal Oriented Computing
Human Computer Interaction
Argumentation-based
Coordination
expresses high-level goals, desiresprovides high-level explanations, goals
high-level situations plan of activities and optimization
semantic situations semantic commands
complement
information,
provides
constraints
commands to actuators
raw sensor data
translates goals into
actions, discuss and
coordinate activities.
Create coherent stories of
what happened
user interaction user input
39. 39
Outline
(1) The vision
[what we imagine to happen]
(2) Towards conversational coordination
[what we focus on]
(3) Ingredients
[what we think will be needed]
(4) Recipe
[how we think it will happen]
(5) On the role of argumentation
[why we think argumentation matters]
40. 40
Novel models and engineering approach
• The traditional Service-Oriented Architecture (SOA) perspective
adopted to model and engineer IoT systems does not match the peculiar
nature of speaking (and hearing) objects
• i.e. Web of Things = smart things and resources as provider of RESTful services
[60]
• Need for a novel software engineering abstraction, integrating
• situatedness
• commonsense reasoning
• argumentation
• autonomy
• goal-orientedness
• Similarly, SOA does not conceive more elaborated means of interactions
than client-server architectures, nor than design-time rules for service
composition
• The concept of conversations and the issue of modelling them must
become a central software engineering concern
41. 41
Novel middleware
• Although conversation can be assimilated to a sort of
message-passing interaction, a mere message-oriented
middleware (MOM) would not be enough [Curry, 2004]
• the course of a conversation implies the creation of shared
knowledge among the interacting components, which
cooperatively build a shared perspective of the world based on
logically sound and connected arguments
• Accordingly, the coordination model supported by the
middleware should support conversations via an open
and shared conversation space
• i.e. based on the tuple space model
42. 42
Side note: tuple space
• Most expressive coordination
model to date
• modulo tuple centres [Omicini and
Denti, 2001]
• Based on the LINDA language
[Gelernter, 1985] for shared-
memory coordination of concurrent
processes
• out = put data
• rd = read data matching template
• in = withdraw data matching template
• Suspensive semantics enables
synchronization
• if data absent the process supends
until present
Source: https://www.javaworld.com/article/2076533/data-storage/make-room-for-javaspaces--part-1.html
43. 43
Account for humans in the loop
• Besides participating as actors that impose their desired states of
the affairs to the system, humans can become computational
components of the system itself
• can provide sensing capabilities
• can provide actuating capabilities
• can be involved in conversations
• The need for argumentation-based conversations is even more
evident
• the ability of smart objects to justify their stances, in fact, becomes crucial to
promote trust
• Besides the need for effective means of human-machine
interaction, integrating humans in the loop also challenges the
whole software engineering process
• i.e. the modelling of human behaviours and design of conversations with
them
44. 44
Harnessing algocracy
• The problem of being passive subjects to some form of
algorithmic governance, in the era of, i.e., smart cities
and self-driving cars, will be increasingly relevant,
because it will start affecting each and every moment of
our lives
• it is of paramount importance that speaking and hearing
objects assume the form of “grey-boxes” to enable
humans whose lives are affected by their decisions and
arguments to understand what happens, and possibly to
intervene as needed
• i.e. humans must be enabled to interact with the system to
inspect its way of acting and understand how the world around
them works
45. 45
Guarantee security
• The presence of humans participating in conversations
with speaking and hearing objects, with the possibility of
somehow directing the outcomes of such conversations,
can represent a door for attacking the system, stealing
sensitive information, and introduce (possibly safety
critical) malfunctioning
• At the same time, the capability of speaking objects of
argumenting about situations, can represent a mean to
protect from attacks
• by making speaking objects able to understand the reasons
behind the evolution of a conversation and of the overall
behavior of the system, objects may become capable of
recognizing malicious behaviours and threats
46. 46
Outline
(1) The vision
[what we imagine to happen]
(2) Towards conversational coordination
[what we focus on]
(3) Ingredients
[what we think will be needed]
(4) Recipe
[how we think it should happen]
(5) On the role of argumentation
[why we think argumentation matters]
47. 47
• Conversational coordination among speaking and hearing
objects is likely to happen as a combination of dialogue
types, in which, for instance, a dialogue pursues an
application goal by embedding multiple kinds of dialogue
for achieving specific sub-goals
• Argumentation, indeed, is one of the most natural
expression of humans’ capability to interact through
dialogue: people continuously engage in conversations to
persuade, negotiate, share ideas, motivate their choices,
and so on [Van Eemeren and Grootendorst, 2016]
• in a similar way, we expect speaking and hearing objects to
communicate and argue with each other, so as to find an
agreement on the perceived state of the affairs and to share
decisions on how to act
Argumentation-based Coordination (1)
48. 48
• Exploiting argumentation within this domain potentially
presents several advantages:
• interaction and communication protocols may arise in a
decentralized way by emergence [Zambonelli et al., 2015]
• decision making based on an argumentation make decisions
amenable of interpretation, so that any action may be easily
explained and justified by a chain of arguments
• humans-in-the-loop may benefit of natural language interaction
with the system, being natural language generation well-
supported by argumentation graphs [Caminada et al., 2014]
Argumentation-based Coordination (2)
51. 51
• [Suchman, 1987] Suchman, L. A. (1987). Situated actions. In Plans and Situated Actions: The Problem of Human-Machine Communication, chapter
4, pages 49–67. Cambridge University Press, New York, NYU, USA.
• [Gubbi et al., 2013] Gubbi, J., Buyya, R., Marusic, S., and Palaniswami, M. (2013). Internet of things (iot): A vision, architectural elements, and future
directions. Future Generation Computer Systems, 29(7):1645– 1660.
• [Eugster et al., 2003] Eugster, P. T., Felber, P. A., Guerraoui, R., and Kermarrec, A.-M. (2003). The many faces of publish/subscribe. ACM Comput.
Surv., 35(2):114–131.
• [mqtt-v3.1.1-plus-errata01] MQTT Version 3.1.1 Plus Errata 01. Edited by Andrew Banks and Rahul Gupta. 10 December 2015. OASIS Standard
Incorporating Approved Errata 01. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html. Latest
version: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html.
• [Guinard and Trifa, 2009] Guinard, D. and Trifa, V. (2009). Towards the web of things: Web mashups for embedded devices. In Workshop on
Mashups, Enterprise Mashups and Lightweight Composition on the Web (MEM 2009), in proceedings of WWW (International World Wide Web
Conferences), Madrid, Spain.
• [Richardson and Ruby, 2008] Richardson, L. and Ruby, S. (2008). RESTful web services. ” O’Reilly Media, Inc.”.
• [Malone and Crowston, 1994] Malone, T. W. and Crowston, K. (1994). The interdisciplinary study of coor- dination. ACM Computing Surveys, 26(1):
87–119.
• [Gelernter and Carriero, 1992] Gelernter, D. and Carriero, N. (1992). Coordination languages and their significance. Communications of the ACM,
35(2):97–107.
• [Ciancarini, 1996] Ciancarini, P. (1996). Coordination models and languages as software integrators. ACM Computing Surveys, 28(2):300–302.
• [Endler et al., 2017] Endler, M., Briot, J.-P., Silva e Silva, F., De Almeida, V. P., and Haeusler, E. H. (2017). An Approach for Real-time Stream
Reasoning for the Internet of Things. In 1st International Workshop on Semantic Multimedia Computing (SMC’17), 11th IEEE International
Conference on Semantic Com- puting (ICSC’2017), Proceedings of the 11th IEEE International Conference on Semantic Computing (ICSC’2017),
pages 348–353, San Diego, Californie, United States. IEEE, IEEE.
• [Agrawal et al., 2015] Agrawal, H., Leigh, S.-w., and Maes, P. (2015). L’evolved: Autonomous and ubiq- uitous utilities as smart agents. In ACM
International Joint Conference on Pervasive and Ubiquitous Computing, pages 487–491, New York, NY, USA. ACM.
• [Shi and Dustdar, 2016] Shi, W. and Dustdar, S. (2016). The promise of edge computing. Computer, 49(5):78–81.
• [Ye et al., 2012] Ye, J., Dobson, S., and McKeever, S. (2012). Situation identification techniques in pervasive computing: A review. Pervasive and
Mobile Computing, 8(1):36–66.
• [Carlino et al., 2013] Carlino, D., Boyles, S. D., and Stone, P. (2013). Auction-based autonomous intersection management. In Intelligent
Transportation Systems-(ITSC), 2013 16th International IEEE Conference on, pages 529–534. IEEE.
• [Amgoud and Parsons, 2002] Amgoud, L. and Parsons, S. (2002). Agent Dialogues with Conflicting Preferences, pages 190–205. Springer Berlin
Heidelberg, Berlin, Heidelberg.
References (1)
52. 52
• [Walton and Krabbe, 1995] Walton, D. and Krabbe, E. (1995). Commitment in Dialogue: Basic concept of interpersonal reasoning. State University
of New York Press, Albany NY.
• [Parsons and McBurney, 2003] Parsons, S. and McBurney, P. (2003). Argumentation-based dialogues for agent co-ordination. Group Decision and
Negotiation, 12(5):415–439.
• [Dung, 1995] Dung, P. M. (1995). On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-
person games. Artif. Intell., 77(2):321–357.
• [Walton, 2009] Walton, D. (2009). Argumentation theory: A very short introduction. In Simari, G. and Rahwan, I., editors, Argumentation in Artificial
Intelligence, pages 1–22. Springer US.
• [Omicini and Viroli, 2011] Omicini, A. and Viroli, M. (2011). Coordination models and languages: From parallel computing to self-organisation. The
Knowledge Engineering Review, 26(1):53–59.
• [Razzaque et al., 2016] Razzaque, M. A., Milojevic-Jevric, M., Palade, A., and Clarke, S. (2016). Middleware for internet of things: A survey. IEEE
Internet of Things Journal, 3(1):70–95.
• [Helaoui et al., 2013] Helaoui, R., Riboni, D., and Stuckenschmidt, H. (2013). A probabilistic ontological framework for the recognition of multilevel
human activities. In Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp ’13, pages
345–354, New York, NY, USA. ACM.
• [Kortuem et al., 2010] Kortuem, G., Kawsar, F., Sundramoorthy, V., and Fitton, D. (2010). Smart objects as building blocks for the internet of things.
IEEE Internet Computing, 14(1):44–51.
• [Tsai et al., 2014] Tsai, C.-W., Lai, C.-F., Chiang, M.-C., Yang, L. T., et al. (2014). Data mining for internet of things: A survey. IEEE Communications
Surveys and Tutorials, 16(1):77–97.
• [Fawcett, 2015] Fawcett, T. (2015). Mining the quantified self: personal knowledge discovery as a challenge for data science. Big Data, 3(4):249–
266.
• [Wooldridge, 2000] Wooldridge, M. J. (2000). Reasoning about rational agents. MIT press.
• [Meneguzzi et al., 2004] Meneguzzi, F. R., Zorzo, A. F., and da Costa M ́ora, M. (2004). Propositional planning in bdi agents. In Proceedings of the
2004 ACM Symposium on Applied Computing, SAC ’04, pages 58–63, New York, NY, USA. ACM.
• [Rao and Georgeff, 1995] Rao, A. S. and Georgeff, M. P. (1995). BDI agents: From theory to practice. In Lesser, V. R. and Gasser, L., editors, 1st
International Conference on Multi Agent Systems (ICMAS 1995), pages 312–319, San Francisco, CA, USA. The MIT Press.
• [Rahwan et al., 2003] Rahwan, I., Ramchurn, S. D., Jennings, N. R., Mcburney, P., Parsons, S., and Sonenberg, L. (2003). Argumentation-based
negotiation. Knowl. Eng. Rev., 18(4):343–375.
• [Krause et al., 1995] Krause, P., Ambler, S., Elvang-Goransson, M., and Fox, J. (1995). A logic of argumentation for reasoning under uncertainty.
Computational Intelligence, 11(1):113–131.
References (2)
53. 53
• [Hulstijn and van der Torre, 2004] Hulstijn, J. and van der Torre, L. W. N. (2004). Combining
goal gener- ation and planning in an argumentation framework. In Delgrande, J. P. and
Schaub, T., editors, NMR, pages 212–218.
• [Caminada et al., 2014] Caminada, M. W., Kutlak, R., Oren, N., and Vasconcelos, W. W.
(2014). Scrutable plan enactment via argumentation and natural language generation. In
Proceedings of the 2014 International Conference on Autonomous Agents and Multi-agent
Systems, AAMAS ’14, pages 1625–1626, Richland, SC. International Foundation for
Autonomous Agents and Multiagent Systems.
• [Curry, 2004] Curry, E. (2004). Message-oriented middleware. Middleware for communications,
pages 1–28.
• [Omicini and Denti, 2001] Omicini, A. and Denti, E. (2001). From tuple spaces to tuple centres.
Science of Computer Programming, 41(3):277–294.
• [Gelernter, 1985] Gelernter, D. (1985). Generative communication in Linda. ACM Transactions
on Programming Languages and Systems, 7(1):80–112.
• [Van Eemeren and Grootendorst, 2016] Van Eemeren, F. H. and Grootendorst, R. (2016).
Argumentation, communication, and fallacies: A pragma-dialectical perspective. Routledge.
• [Zambonelli et al., 2015] Zambonelli, F., Omicini, A., Anzengruber, B., Castelli, G., Angelis, F. L.
D., Serugendo, G. D. M., Dobson, S., Fernandez-Marquez, J. L., Ferscha, A., Mamei, M.,
Mariani, S., Molesini, A., Montagna, S., Nieminen, J., Pianini, D., Risoldi, M., Rosi, A.,
Stevenson, G., Viroli, M., and Ye, J. (2015). Developing pervasive multi-agent systems with
nature-inspired coordination. Pervasive and Mobile Computing, 17, Part B:236–252.
References (3)
54. The Speaking Objects Vision
Argumentation for Coordinating Distributed Systems
Part I: On Speaking Objects
Prof. Stefano Mariani
(stefano.mariani@unimore.it)