SlideShare a Scribd company logo
1 of 31
Download to read offline
TuSoW: Tuple Spaces for Edge Computing
Giovanni Ciatto1 Lorenzo Rizzato1 Andrea Omicini1
Stefano Mariani2
giovanni.ciatto@unibo.it lorenzo.rizzato@studio.unibo.it
andrea.omicini@unibo.it stefano.mariani@unimore.it
1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna
2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia
1st International Workshop on Edge of Things (EoT)
Valencia, Spain – August 1, 2019
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 1 / 26
Outline
1 Context & Motivations
2 (Tuple-based) Coordination
3 Our proposal for TbC: the TuSoW project
4 Conclusions and Future Work
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 2 / 26
Context & Motivations
Next in Line. . .
1 Context & Motivations
2 (Tuple-based) Coordination
3 Our proposal for TbC: the TuSoW project
4 Conclusions and Future Work
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 3 / 26
Context & Motivations
Our perspective
In a nutshell
EoT = IoT − Cloud
Computation is delegated to edge devices, when possible
In Cloud-based applications
the Cloud acts as a central coordinator
for devices, data, and activities
The coordination problem
! How can edge devices coordinate themselves without the cloud?
! And what is coordination in the first place?
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 4 / 26
Context & Motivations
Our perspective
In a nutshell
EoT = IoT − Cloud
Computation is delegated to edge devices, when possible
In Cloud-based applications
the Cloud acts as a central coordinator
for devices, data, and activities
The coordination problem
! How can edge devices coordinate themselves without the cloud?
! And what is coordination in the first place?
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 4 / 26
Context & Motivations
Our perspective
In a nutshell
EoT = IoT − Cloud
Computation is delegated to edge devices, when possible
In Cloud-based applications
the Cloud acts as a central coordinator
for devices, data, and activities
The coordination problem
! How can edge devices coordinate themselves without the cloud?
! And what is coordination in the first place?
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 4 / 26
(Tuple-based) Coordination
Next in Line. . .
1 Context & Motivations
2 (Tuple-based) Coordination
3 Our proposal for TbC: the TuSoW project
4 Conclusions and Future Work
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 5 / 26
(Tuple-based) Coordination
What is Coordination?
Within MAS
“A framework in which the interaction of active and independent entities
called agents can be expressed” [Ciancarini, 1996]
active entities like, for instance, EoT devices and clients
interaction i.e., dependencies among computational activities
e.g. communication, cooperation, competition, etc.
expressed i.e., explicitly represented, observed & possibly governed
Takeaway
Coordination studies interaction at the fundamental level
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 6 / 26
(Tuple-based) Coordination
Coordination-as-a-Service [Viroli and Omicini, 2006] as the reference
meta-model
Coordinated
Space
Interaction Space Coordination
Space
Coordinated
Entities
Requests / Responses Coordination
Media
A number of entities
e.g. edge devices
coordinate by means of a
number of media
e.g. other edge devices,
cloud providers, etc
wherewith requests and
response messages are
exchanged
e.g. HTTP, MQTT, etc
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 7 / 26
(Tuple-based) Coordination
Linda [Gelernter, 1985] as the reference model I
1 In Linda coordination media are called tuple spaces
2 They are essentially shared blackboards
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 8 / 26
(Tuple-based) Coordination
Linda [Gelernter, 1985] as the reference model II
3 where clients can write any sort of information—a.k.a. tuples
according to some representation format of choice
to: Bob, msg: Hello
w
rite
Alice
to: Bob, msg: Hello
4 enabling a feature called generative communication
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 9 / 26
(Tuple-based) Coordination
Linda [Gelernter, 1985] as the reference model III
5 where clients can read all information matching a particular template
according to some query language of choice
to: Bob, msg: Hello
Alice
Bob
read
to: Bob, msg: *
6 enabling a feature called associative access
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 10 / 26
(Tuple-based) Coordination
Linda [Gelernter, 1985] as the reference model IV
7 or take it, making it unavailable for other clients
Alice
Carl
take
to: Carl, msg: Hello
to: Carl, msg: *
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 11 / 26
(Tuple-based) Coordination
Linda [Gelernter, 1985] as the reference model V
8 or take it, making it unavailable for other clients
Alice
Carl
to: Carl, msg: Hello
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 12 / 26
(Tuple-based) Coordination
Linda [Gelernter, 1985] as the reference model VI
What makes Linda different from databases?
Suspensive semantics: read and take operations are suspended if no
tuple is available
Non-determinism: if several tuples are available, read and take
operations choose one, non-deterministically
Reference uncoupling: devices do not need to know (about) each
others
! Such features enable the development of open application
where loosely-coupled clients must interact
such as in the EoT
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 13 / 26
(Tuple-based) Coordination
The problem with Tuple-based Coordination (TbC)
As further discussed in [Ciatto et al., 2018]
TbC is a very well studied research topic
for which several proof of concept implementations have been
provided
coming with as many tuple & template languages
! mostly monolithic, discontinued or inadequate for real world needs
Our claim
Technological limitations are what actually hinders wide adoption of TbC
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 14 / 26
Our proposal for TbC: the TuSoW project
Next in Line. . .
1 Context & Motivations
2 (Tuple-based) Coordination
3 Our proposal for TbC: the TuSoW project
4 Conclusions and Future Work
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 15 / 26
Our proposal for TbC: the TuSoW project
The TuSoW project https://gitlab.com/pika-lab/tuples/coordination
Our proposal
TuSoW is our Linda-based technology focussing on
interoperability
lightweightness
Avoid repeating past errors
Do not commit to any particular
runtime platform (JVM, Python, JS, .NET, etc)
transport protocol (HTTP, MQTT, gRPC)
tuple/template language or matching mechanism
since EoT devices may be leverage on any of them
Design rationale
Design once, port everywhere (with minimal effort)
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 16 / 26
Our proposal for TbC: the TuSoW project
The TuSoW project https://gitlab.com/pika-lab/tuples/coordination
Our proposal
TuSoW is our Linda-based technology focussing on
interoperability
lightweightness
Avoid repeating past errors
Do not commit to any particular
runtime platform (JVM, Python, JS, .NET, etc)
transport protocol (HTTP, MQTT, gRPC)
tuple/template language or matching mechanism
since EoT devices may be leverage on any of them
Design rationale
Design once, port everywhere (with minimal effort)
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 16 / 26
Our proposal for TbC: the TuSoW project
The TuSoW project https://gitlab.com/pika-lab/tuples/coordination
Our proposal
TuSoW is our Linda-based technology focussing on
interoperability
lightweightness
Avoid repeating past errors
Do not commit to any particular
runtime platform (JVM, Python, JS, .NET, etc)
transport protocol (HTTP, MQTT, gRPC)
tuple/template language or matching mechanism
since EoT devices may be leverage on any of them
Design rationale
Design once, port everywhere (with minimal effort)
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 16 / 26
Our proposal for TbC: the TuSoW project
TuSoW – Layered Perspective
TuSoW Core API
TuSoW Local
Implementation
Transport Layer
TuSoW Core API
TuSoW Remote
Implementation
iOS
Docker
JVM
Library
Linking
(De)Serialization
HTTP
MQTT
gRPC
YAML
XML
JSON
JS
Python
JVM
.NET
iOS
Native
{
{
LocalRemote
Figure: Dashed lines as choice points
Remote impl., supporting
mainstream platforms
General, abstract, shared core API
Presentation layer supporting
various data representation
formats
Transport layer supporting various
protocols
and different applications
Local impl., supporting mobile
devices and containerisation
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 17 / 26
Our proposal for TbC: the TuSoW project
About transport protocols
HTTP targets web-based & general purpose applications
focus on compatibility
gRPC targets mobile devices and smartphones
focus on portability
MQTT targets resource constrained devices (e.g. Raspberries)
focus on lightweightness
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 18 / 26
Our proposal for TbC: the TuSoW project
TuSoW – Spaces, Tuples, and Templates
core
Tuple Template
TupleSpace Match
domstringslogic
TuSoW
HTTP gRPC
MQTT
implementimplementimplement
wrapwrapwrap
Client
Client_API
implements
uses
Spaces Tuples Templates
textual strings regex
logic logic terms non-ground terms
objects YAML/JSON JsonPath
DOM XML XPath
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 19 / 26
Our proposal for TbC: the TuSoW project
About Tuple Spaces and Tuple/Template languages
Textual spaces target coordination of heterogeneous devices handling
poorly structured data
Logic spaces target coordination intelligent agents prone to symbolic
knowledge processing
Object or DOM spaces target coordination in the Web of Things
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 20 / 26
Our proposal for TbC: the TuSoW project
TuSoW – Multi-platform concurrency
Different platforms come with different concurrency model
e.g. co-routines on Python & .NET
e.g. Futures or Promises on Java or JavaScript
e.g. callbacks on Node
→ Remote libraries must support the most natural style for each platform
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 21 / 26
Conclusions and Future Work
Next in Line. . .
1 Context & Motivations
2 (Tuple-based) Coordination
3 Our proposal for TbC: the TuSoW project
4 Conclusions and Future Work
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 22 / 26
Conclusions and Future Work
Conclusion & Future Works
Summing up, in this work we
argue Coordination-as-a-Service has a role to play in EoT
present TuSoW as an interoperable technology implementing it
and overcoming current technological limitations
In the future we plan to
extend TuSoW with access control
extend TuSoW with replications, for fault tolerance
provide more high-level API, e.g. for FIPA IP [O’Brien and Nicol, 1998]
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 23 / 26
Conclusions and Future Work
Conclusion & Future Works
Summing up, in this work we
argue Coordination-as-a-Service has a role to play in EoT
present TuSoW as an interoperable technology implementing it
and overcoming current technological limitations
In the future we plan to
extend TuSoW with access control
extend TuSoW with replications, for fault tolerance
provide more high-level API, e.g. for FIPA IP [O’Brien and Nicol, 1998]
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 23 / 26
TuSoW: Tuple Spaces for Edge Computing
Giovanni Ciatto1 Lorenzo Rizzato1 Andrea Omicini1
Stefano Mariani2
giovanni.ciatto@unibo.it lorenzo.rizzato@studio.unibo.it
andrea.omicini@unibo.it stefano.mariani@unimore.it
1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna
2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia
1st International Workshop on Edge of Things (EoT)
Valencia, Spain – August 1, 2019
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 24 / 26
References
References I
Ciancarini, P. (1996).
Coordination models and languages as software integrators.
ACM Computing Surveys, 28(2):300–302.
Ciatto, G., Mariani, S., Omicini, A., Zambonelli, F., and Louvel, M.
(2018).
Twenty years of coordination technologies: State-of-the-art and
perspectives.
In Di Marzo Serugendo, G. and Loreti, M., editors, Coordination
Models and Languages, volume 10852 of Lecture Notes in Computer
Science, pages 51–80. Springer.
20th IFIP WG 6.1 International Conference, COORDINATION 2018,
Held as Part of the 13th International Federated Conference on
Distributed Computing Techniques, DisCoTec 2018, Madrid, Spain,
June 18-21, 2018. Proceedings.
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 25 / 26
References
References II
Gelernter, D. (1985).
Generative communication in Linda.
ACM Transactions on Programming Languages and Systems,
7(1):80–112.
O’Brien, P. D. and Nicol, R. C. (1998).
Fipa — towards a standard for software agents.
BT Technology Journal, 16(3):51–59.
Viroli, M. and Omicini, A. (2006).
Coordination as a service.
Fundamenta Informaticae, 73(4):507–534.
Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 26 / 26

More Related Content

Similar to TuSoW: Tuple Spaces for Edge Computing

Cloud Computing Proposal for an European Strategic Research Agenda
Cloud Computing Proposal for an European Strategic Research AgendaCloud Computing Proposal for an European Strategic Research Agenda
Cloud Computing Proposal for an European Strategic Research AgendaFrancesco Ruffino
 
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityInteractions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityUniversité de Technologie de Compiègne
 
Towards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart ContractsTowards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart ContractsGiovanni Ciatto
 
Kyoto Protocol Of The Unfcc ( 2005 )
Kyoto Protocol Of The Unfcc ( 2005 )Kyoto Protocol Of The Unfcc ( 2005 )
Kyoto Protocol Of The Unfcc ( 2005 )Tina Jordan
 
Tuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsTuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsRoberto Casadei
 
Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report
Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report
Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report Raybaen
 
Will Robots Take all the Jobs? Not yet.
Will Robots Take all the Jobs? Not yet.Will Robots Take all the Jobs? Not yet.
Will Robots Take all the Jobs? Not yet.Dagmar Monett
 
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
 
Design of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud RoboticsDesign of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud RoboticsITIIIndustries
 
Design of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud RoboticsDesign of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud RoboticsITIIIndustries
 
2009 11 17 Transforming The At Ecosystem
2009 11 17 Transforming The At Ecosystem2009 11 17 Transforming The At Ecosystem
2009 11 17 Transforming The At Ecosystemguest7e87f9
 
GEOFRAME: a system for doing hydrology by computer
GEOFRAME: a system for doing hydrology by computerGEOFRAME: a system for doing hydrology by computer
GEOFRAME: a system for doing hydrology by computerRiccardo Rigon
 
A N E XTENSION OF P ROTÉGÉ FOR AN AUTOMA TIC F UZZY - O NTOLOGY BUILDING U...
A N  E XTENSION OF  P ROTÉGÉ FOR AN AUTOMA TIC  F UZZY - O NTOLOGY BUILDING U...A N  E XTENSION OF  P ROTÉGÉ FOR AN AUTOMA TIC  F UZZY - O NTOLOGY BUILDING U...
A N E XTENSION OF P ROTÉGÉ FOR AN AUTOMA TIC F UZZY - O NTOLOGY BUILDING U...ijcsit
 
Comparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination PerspectiveComparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination PerspectiveGiovanni Ciatto
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTRoberto Casadei
 
Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...
Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...
Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...Universita della Calabria,
 

Similar to TuSoW: Tuple Spaces for Edge Computing (20)

Cloud Computing Proposal for an European Strategic Research Agenda
Cloud Computing Proposal for an European Strategic Research AgendaCloud Computing Proposal for an European Strategic Research Agenda
Cloud Computing Proposal for an European Strategic Research Agenda
 
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarityInteractions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
Interactions 34: The Sorbonne Universities (SU) cluster and interdisciplinarity
 
Towards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart ContractsTowards Agent-oriented Blockchains: Autonomous Smart Contracts
Towards Agent-oriented Blockchains: Autonomous Smart Contracts
 
Kyoto Protocol Of The Unfcc ( 2005 )
Kyoto Protocol Of The Unfcc ( 2005 )Kyoto Protocol Of The Unfcc ( 2005 )
Kyoto Protocol Of The Unfcc ( 2005 )
 
Tuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated SystemsTuple-Based Coordination in Large-Scale Situated Systems
Tuple-Based Coordination in Large-Scale Situated Systems
 
Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report
Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report
Rajat Bandejiya(14uec076)Lusip (Smart Campus) Report
 
Will Robots Take all the Jobs? Not yet.
Will Robots Take all the Jobs? Not yet.Will Robots Take all the Jobs? Not yet.
Will Robots Take all the Jobs? Not yet.
 
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 ...
 
Design of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud RoboticsDesign of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud Robotics
 
Design of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud RoboticsDesign of an IT Capstone Subject - Cloud Robotics
Design of an IT Capstone Subject - Cloud Robotics
 
The AT ecosystem and why it is critical
The AT ecosystem and why it is criticalThe AT ecosystem and why it is critical
The AT ecosystem and why it is critical
 
2009 11 17 Transforming The At Ecosystem
2009 11 17 Transforming The At Ecosystem2009 11 17 Transforming The At Ecosystem
2009 11 17 Transforming The At Ecosystem
 
2009 11 17 Transforming The At Ecosystem
2009 11 17 Transforming The At Ecosystem2009 11 17 Transforming The At Ecosystem
2009 11 17 Transforming The At Ecosystem
 
GEOFRAME: a system for doing hydrology by computer
GEOFRAME: a system for doing hydrology by computerGEOFRAME: a system for doing hydrology by computer
GEOFRAME: a system for doing hydrology by computer
 
A N E XTENSION OF P ROTÉGÉ FOR AN AUTOMA TIC F UZZY - O NTOLOGY BUILDING U...
A N  E XTENSION OF  P ROTÉGÉ FOR AN AUTOMA TIC  F UZZY - O NTOLOGY BUILDING U...A N  E XTENSION OF  P ROTÉGÉ FOR AN AUTOMA TIC  F UZZY - O NTOLOGY BUILDING U...
A N E XTENSION OF P ROTÉGÉ FOR AN AUTOMA TIC F UZZY - O NTOLOGY BUILDING U...
 
TESTING
TESTINGTESTING
TESTING
 
Comparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination PerspectiveComparative Analysis of Blockchain Technologies under a Coordination Perspective
Comparative Analysis of Blockchain Technologies under a Coordination Perspective
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
 
Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...
Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...
Ph.D. Thesis: A Methodology for the Development of Autonomic and Cognitive In...
 
Mini-ME Swift - the first OWL reasoner for iOS
Mini-ME Swift - the first OWL reasoner for iOSMini-ME Swift - the first OWL reasoner for iOS
Mini-ME Swift - the first OWL reasoner for iOS
 

More from Giovanni Ciatto

An Abstract Framework for Agent-Based Explanations in AI
An Abstract Framework for Agent-Based Explanations in AIAn Abstract Framework for Agent-Based Explanations in AI
An Abstract Framework for Agent-Based Explanations in AIGiovanni Ciatto
 
2P-Kt: logic programming with objects & functions in Kotlin
2P-Kt: logic programming with objects & functions in Kotlin2P-Kt: logic programming with objects & functions in Kotlin
2P-Kt: logic programming with objects & functions in KotlinGiovanni Ciatto
 
Blockchain and Smart Contracts
Blockchain and Smart ContractsBlockchain and Smart Contracts
Blockchain and Smart ContractsGiovanni Ciatto
 
From the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectivesFrom the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectivesGiovanni Ciatto
 
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSLogic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSGiovanni Ciatto
 
Blockchain & Smart Contracts Basics and Perspectives for MAS
Blockchain & Smart Contracts Basics and Perspectives for MASBlockchain & Smart Contracts Basics and Perspectives for MAS
Blockchain & Smart Contracts Basics and Perspectives for MASGiovanni Ciatto
 
A gentle introduction to the Blockchain and Smart Contracts
A gentle introduction to the Blockchain and Smart ContractsA gentle introduction to the Blockchain and Smart Contracts
A gentle introduction to the Blockchain and Smart ContractsGiovanni Ciatto
 
Introduzione alla Blockchain
Introduzione alla BlockchainIntroduzione alla Blockchain
Introduzione alla BlockchainGiovanni Ciatto
 

More from Giovanni Ciatto (8)

An Abstract Framework for Agent-Based Explanations in AI
An Abstract Framework for Agent-Based Explanations in AIAn Abstract Framework for Agent-Based Explanations in AI
An Abstract Framework for Agent-Based Explanations in AI
 
2P-Kt: logic programming with objects & functions in Kotlin
2P-Kt: logic programming with objects & functions in Kotlin2P-Kt: logic programming with objects & functions in Kotlin
2P-Kt: logic programming with objects & functions in Kotlin
 
Blockchain and Smart Contracts
Blockchain and Smart ContractsBlockchain and Smart Contracts
Blockchain and Smart Contracts
 
From the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectivesFrom the Blockchain to Logic Programming and back: Research perspectives
From the Blockchain to Logic Programming and back: Research perspectives
 
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaSLogic Programming in Space-Time: The Case of Situatedness in LPaaS
Logic Programming in Space-Time: The Case of Situatedness in LPaaS
 
Blockchain & Smart Contracts Basics and Perspectives for MAS
Blockchain & Smart Contracts Basics and Perspectives for MASBlockchain & Smart Contracts Basics and Perspectives for MAS
Blockchain & Smart Contracts Basics and Perspectives for MAS
 
A gentle introduction to the Blockchain and Smart Contracts
A gentle introduction to the Blockchain and Smart ContractsA gentle introduction to the Blockchain and Smart Contracts
A gentle introduction to the Blockchain and Smart Contracts
 
Introduzione alla Blockchain
Introduzione alla BlockchainIntroduzione alla Blockchain
Introduzione alla Blockchain
 

Recently uploaded

WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024Jan Löffler
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilitiesalihassaah1994
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteMavein
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSlesteraporado16
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsRoxana Stingu
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSedrianrheine
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfmchristianalwyn
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpressssuser166378
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Shubham Pant
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdfShreedeep Rayamajhi
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...APNIC
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxnaveenithkrishnan
 

Recently uploaded (12)

WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
WordPress by the numbers - Jan Loeffler, CTO WebPros, CloudFest 2024
 
Zero-day Vulnerabilities
Zero-day VulnerabilitiesZero-day Vulnerabilities
Zero-day Vulnerabilities
 
Computer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a WebsiteComputer 10 Lesson 8: Building a Website
Computer 10 Lesson 8: Building a Website
 
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASSLESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
LESSON 10/ GROUP 10/ ST. THOMAS AQUINASS
 
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced HorizonsVision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
Vision Forward: Tracing Image Search SEO From Its Roots To AI-Enhanced Horizons
 
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDSTYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
TYPES AND DEFINITION OF ONLINE CRIMES AND HAZARDS
 
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdfLESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
LESSON 5 GROUP 10 ST. THOMAS AQUINAS.pdf
 
Presentation2.pptx - JoyPress Wordpress
Presentation2.pptx -  JoyPress WordpressPresentation2.pptx -  JoyPress Wordpress
Presentation2.pptx - JoyPress Wordpress
 
Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024Check out the Free Landing Page Hosting in 2024
Check out the Free Landing Page Hosting in 2024
 
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdfIntroduction to ICANN and Fellowship program  by Shreedeep Rayamajhi.pdf
Introduction to ICANN and Fellowship program by Shreedeep Rayamajhi.pdf
 
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
Benefits of doing Internet peering and running an Internet Exchange (IX) pres...
 
Bio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptxBio Medical Waste Management Guideliness 2023 ppt.pptx
Bio Medical Waste Management Guideliness 2023 ppt.pptx
 

TuSoW: Tuple Spaces for Edge Computing

  • 1. TuSoW: Tuple Spaces for Edge Computing Giovanni Ciatto1 Lorenzo Rizzato1 Andrea Omicini1 Stefano Mariani2 giovanni.ciatto@unibo.it lorenzo.rizzato@studio.unibo.it andrea.omicini@unibo.it stefano.mariani@unimore.it 1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna 2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia 1st International Workshop on Edge of Things (EoT) Valencia, Spain – August 1, 2019 Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 1 / 26
  • 2. Outline 1 Context & Motivations 2 (Tuple-based) Coordination 3 Our proposal for TbC: the TuSoW project 4 Conclusions and Future Work Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 2 / 26
  • 3. Context & Motivations Next in Line. . . 1 Context & Motivations 2 (Tuple-based) Coordination 3 Our proposal for TbC: the TuSoW project 4 Conclusions and Future Work Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 3 / 26
  • 4. Context & Motivations Our perspective In a nutshell EoT = IoT − Cloud Computation is delegated to edge devices, when possible In Cloud-based applications the Cloud acts as a central coordinator for devices, data, and activities The coordination problem ! How can edge devices coordinate themselves without the cloud? ! And what is coordination in the first place? Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 4 / 26
  • 5. Context & Motivations Our perspective In a nutshell EoT = IoT − Cloud Computation is delegated to edge devices, when possible In Cloud-based applications the Cloud acts as a central coordinator for devices, data, and activities The coordination problem ! How can edge devices coordinate themselves without the cloud? ! And what is coordination in the first place? Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 4 / 26
  • 6. Context & Motivations Our perspective In a nutshell EoT = IoT − Cloud Computation is delegated to edge devices, when possible In Cloud-based applications the Cloud acts as a central coordinator for devices, data, and activities The coordination problem ! How can edge devices coordinate themselves without the cloud? ! And what is coordination in the first place? Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 4 / 26
  • 7. (Tuple-based) Coordination Next in Line. . . 1 Context & Motivations 2 (Tuple-based) Coordination 3 Our proposal for TbC: the TuSoW project 4 Conclusions and Future Work Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 5 / 26
  • 8. (Tuple-based) Coordination What is Coordination? Within MAS “A framework in which the interaction of active and independent entities called agents can be expressed” [Ciancarini, 1996] active entities like, for instance, EoT devices and clients interaction i.e., dependencies among computational activities e.g. communication, cooperation, competition, etc. expressed i.e., explicitly represented, observed & possibly governed Takeaway Coordination studies interaction at the fundamental level Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 6 / 26
  • 9. (Tuple-based) Coordination Coordination-as-a-Service [Viroli and Omicini, 2006] as the reference meta-model Coordinated Space Interaction Space Coordination Space Coordinated Entities Requests / Responses Coordination Media A number of entities e.g. edge devices coordinate by means of a number of media e.g. other edge devices, cloud providers, etc wherewith requests and response messages are exchanged e.g. HTTP, MQTT, etc Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 7 / 26
  • 10. (Tuple-based) Coordination Linda [Gelernter, 1985] as the reference model I 1 In Linda coordination media are called tuple spaces 2 They are essentially shared blackboards Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 8 / 26
  • 11. (Tuple-based) Coordination Linda [Gelernter, 1985] as the reference model II 3 where clients can write any sort of information—a.k.a. tuples according to some representation format of choice to: Bob, msg: Hello w rite Alice to: Bob, msg: Hello 4 enabling a feature called generative communication Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 9 / 26
  • 12. (Tuple-based) Coordination Linda [Gelernter, 1985] as the reference model III 5 where clients can read all information matching a particular template according to some query language of choice to: Bob, msg: Hello Alice Bob read to: Bob, msg: * 6 enabling a feature called associative access Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 10 / 26
  • 13. (Tuple-based) Coordination Linda [Gelernter, 1985] as the reference model IV 7 or take it, making it unavailable for other clients Alice Carl take to: Carl, msg: Hello to: Carl, msg: * Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 11 / 26
  • 14. (Tuple-based) Coordination Linda [Gelernter, 1985] as the reference model V 8 or take it, making it unavailable for other clients Alice Carl to: Carl, msg: Hello Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 12 / 26
  • 15. (Tuple-based) Coordination Linda [Gelernter, 1985] as the reference model VI What makes Linda different from databases? Suspensive semantics: read and take operations are suspended if no tuple is available Non-determinism: if several tuples are available, read and take operations choose one, non-deterministically Reference uncoupling: devices do not need to know (about) each others ! Such features enable the development of open application where loosely-coupled clients must interact such as in the EoT Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 13 / 26
  • 16. (Tuple-based) Coordination The problem with Tuple-based Coordination (TbC) As further discussed in [Ciatto et al., 2018] TbC is a very well studied research topic for which several proof of concept implementations have been provided coming with as many tuple & template languages ! mostly monolithic, discontinued or inadequate for real world needs Our claim Technological limitations are what actually hinders wide adoption of TbC Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 14 / 26
  • 17. Our proposal for TbC: the TuSoW project Next in Line. . . 1 Context & Motivations 2 (Tuple-based) Coordination 3 Our proposal for TbC: the TuSoW project 4 Conclusions and Future Work Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 15 / 26
  • 18. Our proposal for TbC: the TuSoW project The TuSoW project https://gitlab.com/pika-lab/tuples/coordination Our proposal TuSoW is our Linda-based technology focussing on interoperability lightweightness Avoid repeating past errors Do not commit to any particular runtime platform (JVM, Python, JS, .NET, etc) transport protocol (HTTP, MQTT, gRPC) tuple/template language or matching mechanism since EoT devices may be leverage on any of them Design rationale Design once, port everywhere (with minimal effort) Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 16 / 26
  • 19. Our proposal for TbC: the TuSoW project The TuSoW project https://gitlab.com/pika-lab/tuples/coordination Our proposal TuSoW is our Linda-based technology focussing on interoperability lightweightness Avoid repeating past errors Do not commit to any particular runtime platform (JVM, Python, JS, .NET, etc) transport protocol (HTTP, MQTT, gRPC) tuple/template language or matching mechanism since EoT devices may be leverage on any of them Design rationale Design once, port everywhere (with minimal effort) Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 16 / 26
  • 20. Our proposal for TbC: the TuSoW project The TuSoW project https://gitlab.com/pika-lab/tuples/coordination Our proposal TuSoW is our Linda-based technology focussing on interoperability lightweightness Avoid repeating past errors Do not commit to any particular runtime platform (JVM, Python, JS, .NET, etc) transport protocol (HTTP, MQTT, gRPC) tuple/template language or matching mechanism since EoT devices may be leverage on any of them Design rationale Design once, port everywhere (with minimal effort) Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 16 / 26
  • 21. Our proposal for TbC: the TuSoW project TuSoW – Layered Perspective TuSoW Core API TuSoW Local Implementation Transport Layer TuSoW Core API TuSoW Remote Implementation iOS Docker JVM Library Linking (De)Serialization HTTP MQTT gRPC YAML XML JSON JS Python JVM .NET iOS Native { { LocalRemote Figure: Dashed lines as choice points Remote impl., supporting mainstream platforms General, abstract, shared core API Presentation layer supporting various data representation formats Transport layer supporting various protocols and different applications Local impl., supporting mobile devices and containerisation Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 17 / 26
  • 22. Our proposal for TbC: the TuSoW project About transport protocols HTTP targets web-based & general purpose applications focus on compatibility gRPC targets mobile devices and smartphones focus on portability MQTT targets resource constrained devices (e.g. Raspberries) focus on lightweightness Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 18 / 26
  • 23. Our proposal for TbC: the TuSoW project TuSoW – Spaces, Tuples, and Templates core Tuple Template TupleSpace Match domstringslogic TuSoW HTTP gRPC MQTT implementimplementimplement wrapwrapwrap Client Client_API implements uses Spaces Tuples Templates textual strings regex logic logic terms non-ground terms objects YAML/JSON JsonPath DOM XML XPath Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 19 / 26
  • 24. Our proposal for TbC: the TuSoW project About Tuple Spaces and Tuple/Template languages Textual spaces target coordination of heterogeneous devices handling poorly structured data Logic spaces target coordination intelligent agents prone to symbolic knowledge processing Object or DOM spaces target coordination in the Web of Things Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 20 / 26
  • 25. Our proposal for TbC: the TuSoW project TuSoW – Multi-platform concurrency Different platforms come with different concurrency model e.g. co-routines on Python & .NET e.g. Futures or Promises on Java or JavaScript e.g. callbacks on Node → Remote libraries must support the most natural style for each platform Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 21 / 26
  • 26. Conclusions and Future Work Next in Line. . . 1 Context & Motivations 2 (Tuple-based) Coordination 3 Our proposal for TbC: the TuSoW project 4 Conclusions and Future Work Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 22 / 26
  • 27. Conclusions and Future Work Conclusion & Future Works Summing up, in this work we argue Coordination-as-a-Service has a role to play in EoT present TuSoW as an interoperable technology implementing it and overcoming current technological limitations In the future we plan to extend TuSoW with access control extend TuSoW with replications, for fault tolerance provide more high-level API, e.g. for FIPA IP [O’Brien and Nicol, 1998] Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 23 / 26
  • 28. Conclusions and Future Work Conclusion & Future Works Summing up, in this work we argue Coordination-as-a-Service has a role to play in EoT present TuSoW as an interoperable technology implementing it and overcoming current technological limitations In the future we plan to extend TuSoW with access control extend TuSoW with replications, for fault tolerance provide more high-level API, e.g. for FIPA IP [O’Brien and Nicol, 1998] Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 23 / 26
  • 29. TuSoW: Tuple Spaces for Edge Computing Giovanni Ciatto1 Lorenzo Rizzato1 Andrea Omicini1 Stefano Mariani2 giovanni.ciatto@unibo.it lorenzo.rizzato@studio.unibo.it andrea.omicini@unibo.it stefano.mariani@unimore.it 1Dipartimento di Informatica – Scienza e Ingegneria—Universit`a di Bologna 2Dipartimento di Scienze e Metodi dell’Ingegneria, Universit`a di Modena e Reggio Emilia 1st International Workshop on Edge of Things (EoT) Valencia, Spain – August 1, 2019 Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 24 / 26
  • 30. References References I Ciancarini, P. (1996). Coordination models and languages as software integrators. ACM Computing Surveys, 28(2):300–302. Ciatto, G., Mariani, S., Omicini, A., Zambonelli, F., and Louvel, M. (2018). Twenty years of coordination technologies: State-of-the-art and perspectives. In Di Marzo Serugendo, G. and Loreti, M., editors, Coordination Models and Languages, volume 10852 of Lecture Notes in Computer Science, pages 51–80. Springer. 20th IFIP WG 6.1 International Conference, COORDINATION 2018, Held as Part of the 13th International Federated Conference on Distributed Computing Techniques, DisCoTec 2018, Madrid, Spain, June 18-21, 2018. Proceedings. Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 25 / 26
  • 31. References References II Gelernter, D. (1985). Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1):80–112. O’Brien, P. D. and Nicol, R. C. (1998). Fipa — towards a standard for software agents. BT Technology Journal, 16(3):51–59. Viroli, M. and Omicini, A. (2006). Coordination as a service. Fundamenta Informaticae, 73(4):507–534. Ciatto et al. (UniBo, UniMoRe) Tuple Spaces for Edge Computing EoT 2019, Aug 1 26 / 26