SlideShare a Scribd company logo
1 of 63
Download to read offline
Engineering Resilient Collaborative Edge-enabled IoT
Roberto Casadei1
, Christos Tsigkanos2
, Schahram Dustdar2
, Mirko Viroli1
1
ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy
2
TU Wien, Vienna, Austria
IEEE International Conference on Services Computing (SCC)
July 8-13, 2019, Milan, Italy
https://www.slideshare.net/RobertoCasadei/
R. Casadei Introduction and Motivation Background Contribution Wrap-up 1/29
Outline
1 Introduction and Motivation
2 Background: Aggregate Computing
3 Contribution
4 Wrap-up
R. Casadei Introduction and Motivation Background Contribution Wrap-up 2/29
cyber-physical (eco-)systems
R. Casadei Introduction and Motivation Background Contribution Wrap-up 3/29
large scale, heterogeneity
R. Casadei Introduction and Motivation Background Contribution Wrap-up 4/29
volatility, fallibility, change
R. Casadei Introduction and Motivation Background Contribution Wrap-up 5/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale
R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale
dynamicity, failure
R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale
dynamicity, failure
no global connectivity
R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale
dynamicity, failure
no global connectivity
collaboration
R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
Outline
1 Introduction and Motivation
2 Background: Aggregate Computing
3 Contribution
4 Wrap-up
R. Casadei Introduction and Motivation Background Contribution Wrap-up 7/29
Aggregate Computing12
paradigm for Collective Adaptive Systems (CASs)
macro approach (global perspective)
formally founded (computational field calculus)
1Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet of Things”. In:
IEEE Computer (2015) [ieeecom]
2Mirko Viroli, Jacob Beal, et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf.
on Coordination Languages and Models. Springer. 2018 [coord18a]
R. Casadei Introduction and Motivation Background Contribution Wrap-up 8/29
sensors
local functions
actuators
Application
Code
Developer
APIs
Field Calculus
Constructs
Resilient
Coordination
Operators
Device
Capabilities
functions repnbr
TGCfunctions
communication state
PerceptionPerception
summarize
average
regionMax
…
ActionAction StateState
Collective BehaviorCollective Behavior
distanceTo
broadcast
partition
…
timer
lowpass
recentTrue
…
collectivePerception
collectiveSummary
managementRegions
…
Crowd ManagementCrowd Management
dangerousDensity crowdTracking
crowdWarning safeDispersal
restriction
self­stabilisation
R. Casadei Introduction and Motivation Background Contribution Wrap-up 9/29
structure (logical)
devices (individual elements of an aggregate)
neighbouring relationship (by networking or spatial)
R. Casadei Introduction and Motivation Background Contribution Wrap-up 10/29
structure (logical)
devices (individual elements of an aggregate)
neighbouring relationship (by networking or spatial)
behaviour (execution protocol)
async rounds of computation
1) full run of “aggregate program” against “local context”
device state
sensor readings
neighbourhood coordination data
2) broadcast coordination data to neighbours
R. Casadei Introduction and Motivation Background Contribution Wrap-up 10/29
paradigmatic example (gradient)
R. Casadei Introduction and Motivation Background Contribution Wrap-up 11/29
paradigmatic example (gradient)
class MyProgram extends AggregateProgram {
override def main =
rep(Double.PositiveInfinity)(distance =>
mux(source){
0.0
}{
minHoodPlus( nbr{distance} + metric )))
}
)
}
R. Casadei Introduction and Motivation Background Contribution Wrap-up 11/29
abstraction & compositionality
trait MyLib extends DistanceLib { self: AggregateProgram =>
def gradient(source: Boolean, metric: => Double): Double =
rep(Double.PositiveInfinity)(distance =>
mux(source){ 0.0 }{ minHoodPlus( nbr{distance} + metric ))) }
)
def channel(src: Boolean, dest: Boolean, w: Double): Boolean =
gradient(src) + gradient(dest) < distanceBetween(src,dest) + w
}
R. Casadei Introduction and Motivation Background Contribution Wrap-up 11/29
nice things about aggregate
computing 3
predictable composition of emergent behaviour 4
declarativity 5
flexibility in execution
formal properties: self-stabiliz. 6
, eventual consistency 7
practical (see PLs/tools like ScaFi 8
)
3Mirko Viroli, Jacob Beal, et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf. on
Coordination Languages and Models. Springer. 2018 [coord18a]
4Giorgio Audrito, Mirko Viroli, et al. “A Higher-Order Calculus of Computational Fields”. In: ACM Transactions on
Computational Logic 1 (Jan. 2019) [tocl19Aud]
5Mirko Viroli, Roberto Casadei, and Danilo Pianini. “On execution platforms for large-scale aggregate computing”. In:
UbiComp, Proceedings of. ACM. 2016 [ubicomp16Vir]
6Mirko Viroli, Giorgio Audrito, et al. “Engineering Resilient Collective Adaptive Systems by Self-Stabilisation”. In: ACM
Transactions on Modeling and Computer Simulation 2 (2018) [tomacs18Vir]
7Jacob Beal, Mirko Viroli, et al. “Self-adaptation to device distribution in the Internet of Things”. In: ACM Transactions
on Autonomous and Adaptive Systems (TAAS) 3 (2017) [taas17]
8Roberto Casadei, Danilo Pianini, and Mirko Viroli. “Simulating large-scale aggregate MASs with Alchemist and
Scala”. In: FedCSIS, Proceedings of. IEEE. 2016 [fedcsis16Cas]
R. Casadei Introduction and Motivation Background Contribution Wrap-up 12/29
Outline
1 Introduction and Motivation
2 Background: Aggregate Computing
3 Contribution
4 Wrap-up
R. Casadei Introduction and Motivation Background Contribution Wrap-up 13/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale
dynamicity, failure
no global connectivity
collaboration
R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale decentralised coordination
dynamicity, failure
no global connectivity
collaboration
R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale decentralised coordination
dynamicity, failure self-* capabilities
no global connectivity
collaboration
R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale decentralised coordination
dynamicity, failure self-* capabilities
no global connectivity neighbour-based comm.
collaboration
R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale decentralised coordination
dynamicity, failure self-* capabilities
no global connectivity neighbour-based comm.
collaboration collective behaviour
R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
problem
development of
collaborative IoT/Edge systems
in dynamic, open environments
scale decentralised coordination
dynamicity, failure self-* capabilities
no global connectivity neighbour-based comm.
collaboration collective behaviour
IoT/Edge system as a CAS
R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
approach overview
customisable collaboration process
System Concern
Sensing
ResilientCollaborativeEdge-EnabledIoT
EdgeGoalsIoTDevices-Environment
Device
Sensor
Edge
System Concern
Actuation
System Concern
Communication
…
System Concern
Coordination
Aggregate Computing Constructs
Global System Specification
Device
Human
Design Time
Runtime
Robot
Edge
R. Casadei Introduction and Motivation Background Contribution Wrap-up 15/29
problem model
R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
problem model
environment
R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
problem model
environment
situated devices (coordinators or workers/users)
– static or mobile
– resource-constrained (IoT) or powerful (edge/fog)
– sensors and actuators
R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
problem model
environment
situated devices (coordinators or workers/users)
– static or mobile
– resource-constrained (IoT) or powerful (edge/fog)
– sensors and actuators
how to coordinate activity and
decision making?
how much locality and globality?
R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
core coordination process
network
R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
core coordination process
potential coordinators
R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
core coordination process
elected coordinators
R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
core coordination process
regions
R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
core coordination process
upstreaming
R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
core coordination process
downstreaming
R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
combining various SASOp patterns
decentralised, self-healing gradient 9
decentralised, self-healing leader election 10
information flows and feedback loops 11
− information spreading 12
− information collection 13
9Giorgio Audrito, Roberto Casadei, et al. “Compositional blocks for optimal self-healing gradients”. In: Conf. on
Self-Adaptive and Self-Organizing Systems (SASO). IEEE. 2017 [saso17Aud]
10Yuanqiu Mo, Jacob Beal, and Soura Dasgupta. “An Aggregate Computing Approach to Self-Stabilizing Leader
Election”. In: Workshops on Foundations & Applications of Self* Systems (FAS*W). IEEE. 2018 [ecas18Mo]
11Tom De Wolf and Tom Holvoet. “Designing self-organising emergent systems based on information flows and
feedback-loops”. In: Self-Adaptive and Self-Organizing Systems, 2007. SASO’07. 1st Conf. on. IEEE. 2007 [saso07DeW]
12Yuanqiu Mo, Soura Dasgupta, and Jacob Beal. “Robust Stability of Spreading Blocks in Aggregate Computing”. In:
2018 IEEE Conference on Decision and Control (CDC). IEEE. 2018 [cdc18Mo]
13Giorgio Audrito, Sergio Bergamini, et al. “Effective Collective Summarisation of Distributed Data in Mobile Multi-Agent
Systems”. In: 18th International Conference on Autonomous Agents and MultiAgent Systems. ACM. 2019 [aamas19Aud]
R. Casadei Introduction and Motivation Background Contribution Wrap-up 18/29
scenario:
situated problem solving
Elected
Coordinator
(Edge)
Detector
Detector/Solver
Solver
…
Coordinator Area
Backup
Coordinator
(Edge)
Downstreaming/
Upstreaming
Upstreaming/
Downstreaming
Profile
Capabilities
Problems
Assignments
Elected
Coordinator
Coordinator Area
Backup
Coordinator
Detector
Solver
…
……
…
Feedbacks
Problems
R. Casadei Introduction and Motivation Background Contribution Wrap-up 19/29
toolchain and simulation framework
ScaFi: Aggregate Computing toolkit
https://scafi.github.io
Alchemist: simulator
https://alchemist.github.io
Fully reproducible experiments @ repository:
https://github.com/metaphori/
engineering-collaborative-edge-iot
R. Casadei Introduction and Motivation Background Contribution Wrap-up 20/29
implementation schema (summary)
class ProblemSolvingEcosystem extends AggregateProgram with ProblemAPI {
override def main = {
val coordinators = S(grain, priorityField)
val potential = branch(infoPropagationNet){gradient(coordinators)}{+∞}
val problems = collectSets(downTo=potential, problemOccurrences)
val solvers = collectSets(downTo=potential, solverProfile)
val feedbacks = collectSets(downTo=potential, feedbackField).groupBy(_.problem)
val assignments = branch(coordinators){
allocate(coordinators,solvers,problems,feedbacks)
}{ Set() }
val tasks = broadcast(potential, assignments)
branch(workers){ execute(tasks) }{ () }
} }
global specification, collectively executed continuously
composition of aggregate-level building blocks
R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
implementation schema (detail)
val coordinators = S(grain, priorityField)
boolean field (true for elected leaders)
R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
implementation schema (detail)
val potential = branch(infoPropagationNet){
gradient(coordinators)
}{+∞}
leaders indirectly define areas by a gradient
(a device belongs to the area of its closest leader)
R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
implementation schema (detail)
val problems = collectSets(downTo=potential, problemsFound)
val solvers = collectSets(downTo=potential, solverProfile)
val feedbacks = collectSets(downTo=potential, feedbackField)
.groupBy(_.problem)
upstreaming: data is collected into the leaders
R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
implementation schema (detail)
val assignments = branch(coordinators){
allocate(coordinators,solvers,problems,feedbacks)
}{ Set() }
val tasks = broadcast(potential, assignments)
branch(workers){ execute(tasks) }{ () }
leaders’ control data downstreamed to workers
R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
simulation setup
smart city environment (map of Vienna)
300 workers (lightweight devices for detection&solving)
10 potential coordinators (edge nodes)
R. Casadei Introduction and Motivation Background Contribution Wrap-up 22/29
simulation setup
R. Casadei Introduction and Motivation Background Contribution Wrap-up 22/29
simulation setup
problems randomly injected in timeframe [150, 600]
blackout during time [300, 310], triggering re-election
config #1: naive allocation
config #2: smart allocation (worker expertise)
R. Casadei Introduction and Motivation Background Contribution Wrap-up 22/29
evaluation: correctness, adaptivity,
resilience
naive coordinators
less reactive
smart coordinators
more reactive
R. Casadei Introduction and Motivation Background Contribution Wrap-up 23/29
another scenario:
resource management in edge-clouds
50 fog nodes
200 workers provide resources/services
500 sparse clients make requests
peek of requests in timeframe [150, 250]
R. Casadei Introduction and Motivation Background Contribution Wrap-up 24/29
qualitative evaluation
more leaders
lower load on relays/leaders
few leaders
higher load on relays/leaders
R. Casadei Introduction and Motivation Background Contribution Wrap-up 25/29
qualitative evaluation
higher utilization of workers
area-wise
lower utilization of workers
area-wise
R. Casadei Introduction and Motivation Background Contribution Wrap-up 25/29
qualitative evaluation
higher unavailability (declined
tasks) more retries
more services available in
each area
R. Casadei Introduction and Motivation Background Contribution Wrap-up 25/29
Outline
1 Introduction and Motivation
2 Background: Aggregate Computing
3 Contribution
4 Wrap-up
R. Casadei Introduction and Motivation Background Contribution Wrap-up 26/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
future work
control theoretical analysis
time guarantees
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
future work
control theoretical analysis
time guarantees
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
conclusion
a decentralised, self-org, spatial, collective approach to
development of collaborative IoT/Edge systems
aggregate computing implementation
evaluation of solution via simulations
future work
control theoretical analysis
time guarantees
R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
References (1/2)
[aamas19Aud] Giorgio Audrito et al. “Effective Collective Summarisation of Distributed Data in
Mobile Multi-Agent Systems”. In: 18th International Conference on Autonomous
Agents and MultiAgent Systems. ACM. 2019, pp. 1618–1626.
[saso17Aud] Giorgio Audrito et al. “Compositional blocks for optimal self-healing gradients”. In:
Conf. on Self-Adaptive and Self-Organizing Systems (SASO). IEEE. 2017,
pp. 91–100.
[tocl19Aud] Giorgio Audrito et al. “A Higher-Order Calculus of Computational Fields”. In: ACM
Transactions on Computational Logic 20.1 (Jan. 2019), 5:1–5:55. ISSN: 1529-3785.
DOI: 10.1145/3285956.
[ieeecom] Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet
of Things”. In: IEEE Computer (2015). ISSN: 1364-503X.
[taas17] Jacob Beal et al. “Self-adaptation to device distribution in the Internet of Things”. In:
ACM Transactions on Autonomous and Adaptive Systems (TAAS) 12.3 (2017), p. 12.
[fedcsis16Cas] Roberto Casadei, Danilo Pianini, and Mirko Viroli. “Simulating large-scale aggregate
MASs with Alchemist and Scala”. In: FedCSIS, Proceedings of. IEEE. 2016,
pp. 1495–1504.
[saso07DeW] Tom De Wolf and Tom Holvoet. “Designing self-organising emergent systems based
on information flows and feedback-loops”. In: Self-Adaptive and Self-Organizing
Systems, 2007. SASO’07. 1st Conf. on. IEEE. 2007, pp. 295–298.
R. Casadei Appendix References 28/29
References (2/2)
[ecas18Mo] Yuanqiu Mo, Jacob Beal, and Soura Dasgupta. “An Aggregate Computing Approach
to Self-Stabilizing Leader Election”. In: Workshops on Foundations & Applications of
Self* Systems (FAS*W). IEEE. 2018, pp. 112–117.
[cdc18Mo] Yuanqiu Mo, Soura Dasgupta, and Jacob Beal. “Robust Stability of Spreading Blocks
in Aggregate Computing”. In: 2018 IEEE Conference on Decision and Control (CDC).
IEEE. 2018, pp. 6007–6012.
[tomacs18Vir] Mirko Viroli et al. “Engineering Resilient Collective Adaptive Systems by
Self-Stabilisation”. In: ACM Transactions on Modeling and Computer Simulation 28.2
(2018), 16:1–16:28.
[coord18a] Mirko Viroli et al. “From Field-Based Coordination to Aggregate Computing”. In: Int.
Conf. on Coordination Languages and Models. Springer. 2018, pp. 252–279.
[ubicomp16Vir] Mirko Viroli, Roberto Casadei, and Danilo Pianini. “On execution platforms for
large-scale aggregate computing”. In: UbiComp, Proceedings of. ACM. 2016,
pp. 1321–1326.
R. Casadei Appendix References 29/29

More Related Content

What's hot

On Collective Reinforcement Learning
On Collective Reinforcement LearningOn Collective Reinforcement Learning
On Collective Reinforcement LearningGianluca Aguzzi
 
Understanding everyday users’ perception of socio-technical issues through s...
Understanding everyday users’ perception of  socio-technical issues through s...Understanding everyday users’ perception of  socio-technical issues through s...
Understanding everyday users’ perception of socio-technical issues through s...Ahreum lee
 
My Search for Modular Electronics - Asaad Kaadan
My Search for Modular Electronics - Asaad KaadanMy Search for Modular Electronics - Asaad Kaadan
My Search for Modular Electronics - Asaad KaadanAsaadkaadan
 
0 110211-cluster-panel-inter-isp
0 110211-cluster-panel-inter-isp0 110211-cluster-panel-inter-isp
0 110211-cluster-panel-inter-ispictseserv
 
Artificial intelligence in civil engineering seminar report
Artificial intelligence in civil engineering seminar reportArtificial intelligence in civil engineering seminar report
Artificial intelligence in civil engineering seminar reportDhanushS51
 
Artificial Intelligence Explained: What Are Generative Adversarial Networks (...
Artificial Intelligence Explained: What Are Generative Adversarial Networks (...Artificial Intelligence Explained: What Are Generative Adversarial Networks (...
Artificial Intelligence Explained: What Are Generative Adversarial Networks (...Bernard Marr
 

What's hot (12)

2020-04-29 SIT Insights in Technology - Bertrand Meyer
2020-04-29 SIT Insights in Technology - Bertrand Meyer2020-04-29 SIT Insights in Technology - Bertrand Meyer
2020-04-29 SIT Insights in Technology - Bertrand Meyer
 
2020-04-29 SIT Insights in Technology - Serguei Beloussov
2020-04-29 SIT Insights in Technology - Serguei Beloussov2020-04-29 SIT Insights in Technology - Serguei Beloussov
2020-04-29 SIT Insights in Technology - Serguei Beloussov
 
On Collective Reinforcement Learning
On Collective Reinforcement LearningOn Collective Reinforcement Learning
On Collective Reinforcement Learning
 
Understanding everyday users’ perception of socio-technical issues through s...
Understanding everyday users’ perception of  socio-technical issues through s...Understanding everyday users’ perception of  socio-technical issues through s...
Understanding everyday users’ perception of socio-technical issues through s...
 
My Search for Modular Electronics - Asaad Kaadan
My Search for Modular Electronics - Asaad KaadanMy Search for Modular Electronics - Asaad Kaadan
My Search for Modular Electronics - Asaad Kaadan
 
History of AI
History of AIHistory of AI
History of AI
 
0 110211-cluster-panel-inter-isp
0 110211-cluster-panel-inter-isp0 110211-cluster-panel-inter-isp
0 110211-cluster-panel-inter-isp
 
Artificial intelligence in civil engineering seminar report
Artificial intelligence in civil engineering seminar reportArtificial intelligence in civil engineering seminar report
Artificial intelligence in civil engineering seminar report
 
Adarsh gupta ppt
Adarsh gupta pptAdarsh gupta ppt
Adarsh gupta ppt
 
Iot2014program
Iot2014programIot2014program
Iot2014program
 
From Brussels to the World
From Brussels to the WorldFrom Brussels to the World
From Brussels to the World
 
Artificial Intelligence Explained: What Are Generative Adversarial Networks (...
Artificial Intelligence Explained: What Are Generative Adversarial Networks (...Artificial Intelligence Explained: What Are Generative Adversarial Networks (...
Artificial Intelligence Explained: What Are Generative Adversarial Networks (...
 

Similar to Engineering Resilient Collaborative Edge-enabled IoT

A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research ActivityRoberto Casadei
 
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTCollective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTRoberto Casadei
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewRoberto Casadei
 
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Roberto Casadei
 
From Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingFrom Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingRoberto Casadei
 
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Roberto Casadei
 
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Roberto Casadei
 
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Roberto 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,
 
Information Technology in Industry(ITII) - November Issue 2018
Information Technology in Industry(ITII) - November Issue 2018Information Technology in Industry(ITII) - November Issue 2018
Information Technology in Industry(ITII) - November Issue 2018ITIIIndustries
 
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Roberto Casadei
 
Towards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent SystemsTowards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent SystemsGiovanni Ciatto
 
Compositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing GradientsCompositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing GradientsRoberto Casadei
 
Reference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationReference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationMaxime Lefrançois
 
Introduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceIntroduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceRoberto Casadei
 
Fog Computing - DEV.BG 2018
Fog Computing - DEV.BG 2018Fog Computing - DEV.BG 2018
Fog Computing - DEV.BG 2018Trayan Iliev
 
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Roberto Casadei
 
IoT-Lite: A Lightweight Semantic Model for the Internet of Things
IoT-Lite:  A Lightweight Semantic Model for the Internet of ThingsIoT-Lite:  A Lightweight Semantic Model for the Internet of Things
IoT-Lite: A Lightweight Semantic Model for the Internet of ThingsPayamBarnaghi
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Henry Muccini
 

Similar to Engineering Resilient Collaborative Edge-enabled IoT (20)

A Presentation of My Research Activity
A Presentation of My Research ActivityA Presentation of My Research Activity
A Presentation of My Research Activity
 
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoTCollective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
Collective Abstractions and Platforms for Large-Scale Self-Adaptive IoT
 
Aggregate Computing Research: an Overview
Aggregate Computing Research: an OverviewAggregate Computing Research: an Overview
Aggregate Computing Research: an Overview
 
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
Programming (and Learning) Self-Adaptive & Self-Organising Behaviour with Sca...
 
From Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate ComputingFrom Field-based Coordination to Aggregate Computing
From Field-based Coordination to Aggregate Computing
 
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
Towards Automated Engineering for Collective Adaptive Systems: Vision and Res...
 
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
Coordinating Computation at the Edge: a Decentralized, Self-organizing, Spati...
 
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
Digital Twins, Virtual Devices, and Augmentations for Self-Organising Cyber-P...
 
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...
 
Information Technology in Industry(ITII) - November Issue 2018
Information Technology in Industry(ITII) - November Issue 2018Information Technology in Industry(ITII) - November Issue 2018
Information Technology in Industry(ITII) - November Issue 2018
 
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
Collective Adaptive Systems as Coordination Media: The Case of Tuples in Spac...
 
Towards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent SystemsTowards XMAS: eXplainability through Multi-Agent Systems
Towards XMAS: eXplainability through Multi-Agent Systems
 
Compositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing GradientsCompositional Blocks for Optimal Self-Healing Gradients
Compositional Blocks for Optimal Self-Healing Gradients
 
Reference Knowledge Models for Smart Application
Reference Knowledge Models for Smart ApplicationReference Knowledge Models for Smart Application
Reference Knowledge Models for Smart Application
 
Introduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligenceIntroduction to the 1st DISCOLI workshop on distributed collective intelligence
Introduction to the 1st DISCOLI workshop on distributed collective intelligence
 
Fog Computing - DEV.BG 2018
Fog Computing - DEV.BG 2018Fog Computing - DEV.BG 2018
Fog Computing - DEV.BG 2018
 
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
Programming Distributed Collective Processes for Dynamic Ensembles and Collec...
 
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-CentersTowards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
Towards Edge Computing as a Service: Dynamic Formation of the Micro Data-Centers
 
IoT-Lite: A Lightweight Semantic Model for the Internet of Things
IoT-Lite:  A Lightweight Semantic Model for the Internet of ThingsIoT-Lite:  A Lightweight Semantic Model for the Internet of Things
IoT-Lite: A Lightweight Semantic Model for the Internet of Things
 
Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013Software architecture introduction to the abstraction gssi_nov2013
Software architecture introduction to the abstraction gssi_nov2013
 

More from Roberto Casadei

Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Roberto Casadei
 
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingFScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingRoberto Casadei
 
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
 
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...Roberto Casadei
 
Testing: an Introduction and Panorama
Testing: an Introduction and PanoramaTesting: an Introduction and Panorama
Testing: an Introduction and PanoramaRoberto Casadei
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingRoberto Casadei
 
Aggregate Processes in Field Calculus
Aggregate Processes in Field CalculusAggregate Processes in Field Calculus
Aggregate Processes in Field CalculusRoberto Casadei
 
AWS and Serverless Computing
AWS and Serverless ComputingAWS and Serverless Computing
AWS and Serverless ComputingRoberto Casadei
 
The Rust Programming Language: an Overview
The Rust Programming Language: an OverviewThe Rust Programming Language: an Overview
The Rust Programming Language: an OverviewRoberto Casadei
 
Akka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an IntroductionAkka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an IntroductionRoberto Casadei
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an IntroductionRoberto Casadei
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveBridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveRoberto Casadei
 
A Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsA Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsRoberto Casadei
 
Spring Boot: a Quick Introduction
Spring Boot: a Quick IntroductionSpring Boot: a Quick Introduction
Spring Boot: a Quick IntroductionRoberto Casadei
 
Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Roberto Casadei
 
Scafi: Scala with Computational Fields
Scafi: Scala with Computational FieldsScafi: Scala with Computational Fields
Scafi: Scala with Computational FieldsRoberto Casadei
 

More from Roberto Casadei (17)

Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
Self-Organisation Programming: a Functional Reactive Macro Approach (FRASP) [...
 
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems ProgrammingFScaFi: A Core Calculus for Collective Adaptive Systems Programming
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
 
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
 
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
Pulverisation in Cyber-Physical Systems: Engineering the Self-Organising Logi...
 
Testing: an Introduction and Panorama
Testing: an Introduction and PanoramaTesting: an Introduction and Panorama
Testing: an Introduction and Panorama
 
On Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate ProgrammingOn Context-Orientation in Aggregate Programming
On Context-Orientation in Aggregate Programming
 
Aggregate Processes in Field Calculus
Aggregate Processes in Field CalculusAggregate Processes in Field Calculus
Aggregate Processes in Field Calculus
 
AWS and Serverless Computing
AWS and Serverless ComputingAWS and Serverless Computing
AWS and Serverless Computing
 
The Rust Programming Language: an Overview
The Rust Programming Language: an OverviewThe Rust Programming Language: an Overview
The Rust Programming Language: an Overview
 
Akka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an IntroductionAkka Remoting and Clustering: an Introduction
Akka Remoting and Clustering: an Introduction
 
Akka Actors: an Introduction
Akka Actors: an IntroductionAkka Actors: an Introduction
Akka Actors: an Introduction
 
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate PerspectiveBridging the Pervasive Computing Gap: An Aggregate Perspective
Bridging the Pervasive Computing Gap: An Aggregate Perspective
 
A Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive EcosystemsA Programming Framework for Collective Adaptive Ecosystems
A Programming Framework for Collective Adaptive Ecosystems
 
NodeJS: an Introduction
NodeJS: an IntroductionNodeJS: an Introduction
NodeJS: an Introduction
 
Spring Boot: a Quick Introduction
Spring Boot: a Quick IntroductionSpring Boot: a Quick Introduction
Spring Boot: a Quick Introduction
 
Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...
 
Scafi: Scala with Computational Fields
Scafi: Scala with Computational FieldsScafi: Scala with Computational Fields
Scafi: Scala with Computational Fields
 

Recently uploaded

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

Engineering Resilient Collaborative Edge-enabled IoT

  • 1. Engineering Resilient Collaborative Edge-enabled IoT Roberto Casadei1 , Christos Tsigkanos2 , Schahram Dustdar2 , Mirko Viroli1 1 ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy 2 TU Wien, Vienna, Austria IEEE International Conference on Services Computing (SCC) July 8-13, 2019, Milan, Italy https://www.slideshare.net/RobertoCasadei/ R. Casadei Introduction and Motivation Background Contribution Wrap-up 1/29
  • 2. Outline 1 Introduction and Motivation 2 Background: Aggregate Computing 3 Contribution 4 Wrap-up R. Casadei Introduction and Motivation Background Contribution Wrap-up 2/29
  • 3. cyber-physical (eco-)systems R. Casadei Introduction and Motivation Background Contribution Wrap-up 3/29
  • 4. large scale, heterogeneity R. Casadei Introduction and Motivation Background Contribution Wrap-up 4/29
  • 5. volatility, fallibility, change R. Casadei Introduction and Motivation Background Contribution Wrap-up 5/29
  • 6. problem development of collaborative IoT/Edge systems in dynamic, open environments R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
  • 7. problem development of collaborative IoT/Edge systems in dynamic, open environments scale R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
  • 8. problem development of collaborative IoT/Edge systems in dynamic, open environments scale dynamicity, failure R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
  • 9. problem development of collaborative IoT/Edge systems in dynamic, open environments scale dynamicity, failure no global connectivity R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
  • 10. problem development of collaborative IoT/Edge systems in dynamic, open environments scale dynamicity, failure no global connectivity collaboration R. Casadei Introduction and Motivation Background Contribution Wrap-up 6/29
  • 11. Outline 1 Introduction and Motivation 2 Background: Aggregate Computing 3 Contribution 4 Wrap-up R. Casadei Introduction and Motivation Background Contribution Wrap-up 7/29
  • 12. Aggregate Computing12 paradigm for Collective Adaptive Systems (CASs) macro approach (global perspective) formally founded (computational field calculus) 1Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet of Things”. In: IEEE Computer (2015) [ieeecom] 2Mirko Viroli, Jacob Beal, et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf. on Coordination Languages and Models. Springer. 2018 [coord18a] R. Casadei Introduction and Motivation Background Contribution Wrap-up 8/29
  • 13. sensors local functions actuators Application Code Developer APIs Field Calculus Constructs Resilient Coordination Operators Device Capabilities functions repnbr TGCfunctions communication state PerceptionPerception summarize average regionMax … ActionAction StateState Collective BehaviorCollective Behavior distanceTo broadcast partition … timer lowpass recentTrue … collectivePerception collectiveSummary managementRegions … Crowd ManagementCrowd Management dangerousDensity crowdTracking crowdWarning safeDispersal restriction self­stabilisation R. Casadei Introduction and Motivation Background Contribution Wrap-up 9/29
  • 14. structure (logical) devices (individual elements of an aggregate) neighbouring relationship (by networking or spatial) R. Casadei Introduction and Motivation Background Contribution Wrap-up 10/29
  • 15. structure (logical) devices (individual elements of an aggregate) neighbouring relationship (by networking or spatial) behaviour (execution protocol) async rounds of computation 1) full run of “aggregate program” against “local context” device state sensor readings neighbourhood coordination data 2) broadcast coordination data to neighbours R. Casadei Introduction and Motivation Background Contribution Wrap-up 10/29
  • 16. paradigmatic example (gradient) R. Casadei Introduction and Motivation Background Contribution Wrap-up 11/29
  • 17. paradigmatic example (gradient) class MyProgram extends AggregateProgram { override def main = rep(Double.PositiveInfinity)(distance => mux(source){ 0.0 }{ minHoodPlus( nbr{distance} + metric ))) } ) } R. Casadei Introduction and Motivation Background Contribution Wrap-up 11/29
  • 18. abstraction & compositionality trait MyLib extends DistanceLib { self: AggregateProgram => def gradient(source: Boolean, metric: => Double): Double = rep(Double.PositiveInfinity)(distance => mux(source){ 0.0 }{ minHoodPlus( nbr{distance} + metric ))) } ) def channel(src: Boolean, dest: Boolean, w: Double): Boolean = gradient(src) + gradient(dest) < distanceBetween(src,dest) + w } R. Casadei Introduction and Motivation Background Contribution Wrap-up 11/29
  • 19. nice things about aggregate computing 3 predictable composition of emergent behaviour 4 declarativity 5 flexibility in execution formal properties: self-stabiliz. 6 , eventual consistency 7 practical (see PLs/tools like ScaFi 8 ) 3Mirko Viroli, Jacob Beal, et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf. on Coordination Languages and Models. Springer. 2018 [coord18a] 4Giorgio Audrito, Mirko Viroli, et al. “A Higher-Order Calculus of Computational Fields”. In: ACM Transactions on Computational Logic 1 (Jan. 2019) [tocl19Aud] 5Mirko Viroli, Roberto Casadei, and Danilo Pianini. “On execution platforms for large-scale aggregate computing”. In: UbiComp, Proceedings of. ACM. 2016 [ubicomp16Vir] 6Mirko Viroli, Giorgio Audrito, et al. “Engineering Resilient Collective Adaptive Systems by Self-Stabilisation”. In: ACM Transactions on Modeling and Computer Simulation 2 (2018) [tomacs18Vir] 7Jacob Beal, Mirko Viroli, et al. “Self-adaptation to device distribution in the Internet of Things”. In: ACM Transactions on Autonomous and Adaptive Systems (TAAS) 3 (2017) [taas17] 8Roberto Casadei, Danilo Pianini, and Mirko Viroli. “Simulating large-scale aggregate MASs with Alchemist and Scala”. In: FedCSIS, Proceedings of. IEEE. 2016 [fedcsis16Cas] R. Casadei Introduction and Motivation Background Contribution Wrap-up 12/29
  • 20. Outline 1 Introduction and Motivation 2 Background: Aggregate Computing 3 Contribution 4 Wrap-up R. Casadei Introduction and Motivation Background Contribution Wrap-up 13/29
  • 21. problem development of collaborative IoT/Edge systems in dynamic, open environments scale dynamicity, failure no global connectivity collaboration R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
  • 22. problem development of collaborative IoT/Edge systems in dynamic, open environments scale decentralised coordination dynamicity, failure no global connectivity collaboration R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
  • 23. problem development of collaborative IoT/Edge systems in dynamic, open environments scale decentralised coordination dynamicity, failure self-* capabilities no global connectivity collaboration R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
  • 24. problem development of collaborative IoT/Edge systems in dynamic, open environments scale decentralised coordination dynamicity, failure self-* capabilities no global connectivity neighbour-based comm. collaboration R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
  • 25. problem development of collaborative IoT/Edge systems in dynamic, open environments scale decentralised coordination dynamicity, failure self-* capabilities no global connectivity neighbour-based comm. collaboration collective behaviour R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
  • 26. problem development of collaborative IoT/Edge systems in dynamic, open environments scale decentralised coordination dynamicity, failure self-* capabilities no global connectivity neighbour-based comm. collaboration collective behaviour IoT/Edge system as a CAS R. Casadei Introduction and Motivation Background Contribution Wrap-up 14/29
  • 27. approach overview customisable collaboration process System Concern Sensing ResilientCollaborativeEdge-EnabledIoT EdgeGoalsIoTDevices-Environment Device Sensor Edge System Concern Actuation System Concern Communication … System Concern Coordination Aggregate Computing Constructs Global System Specification Device Human Design Time Runtime Robot Edge R. Casadei Introduction and Motivation Background Contribution Wrap-up 15/29
  • 28. problem model R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
  • 29. problem model environment R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
  • 30. problem model environment situated devices (coordinators or workers/users) – static or mobile – resource-constrained (IoT) or powerful (edge/fog) – sensors and actuators R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
  • 31. problem model environment situated devices (coordinators or workers/users) – static or mobile – resource-constrained (IoT) or powerful (edge/fog) – sensors and actuators how to coordinate activity and decision making? how much locality and globality? R. Casadei Introduction and Motivation Background Contribution Wrap-up 16/29
  • 32. core coordination process network R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
  • 33. core coordination process potential coordinators R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
  • 34. core coordination process elected coordinators R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
  • 35. core coordination process regions R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
  • 36. core coordination process upstreaming R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
  • 37. core coordination process downstreaming R. Casadei Introduction and Motivation Background Contribution Wrap-up 17/29
  • 38. combining various SASOp patterns decentralised, self-healing gradient 9 decentralised, self-healing leader election 10 information flows and feedback loops 11 − information spreading 12 − information collection 13 9Giorgio Audrito, Roberto Casadei, et al. “Compositional blocks for optimal self-healing gradients”. In: Conf. on Self-Adaptive and Self-Organizing Systems (SASO). IEEE. 2017 [saso17Aud] 10Yuanqiu Mo, Jacob Beal, and Soura Dasgupta. “An Aggregate Computing Approach to Self-Stabilizing Leader Election”. In: Workshops on Foundations & Applications of Self* Systems (FAS*W). IEEE. 2018 [ecas18Mo] 11Tom De Wolf and Tom Holvoet. “Designing self-organising emergent systems based on information flows and feedback-loops”. In: Self-Adaptive and Self-Organizing Systems, 2007. SASO’07. 1st Conf. on. IEEE. 2007 [saso07DeW] 12Yuanqiu Mo, Soura Dasgupta, and Jacob Beal. “Robust Stability of Spreading Blocks in Aggregate Computing”. In: 2018 IEEE Conference on Decision and Control (CDC). IEEE. 2018 [cdc18Mo] 13Giorgio Audrito, Sergio Bergamini, et al. “Effective Collective Summarisation of Distributed Data in Mobile Multi-Agent Systems”. In: 18th International Conference on Autonomous Agents and MultiAgent Systems. ACM. 2019 [aamas19Aud] R. Casadei Introduction and Motivation Background Contribution Wrap-up 18/29
  • 39. scenario: situated problem solving Elected Coordinator (Edge) Detector Detector/Solver Solver … Coordinator Area Backup Coordinator (Edge) Downstreaming/ Upstreaming Upstreaming/ Downstreaming Profile Capabilities Problems Assignments Elected Coordinator Coordinator Area Backup Coordinator Detector Solver … …… … Feedbacks Problems R. Casadei Introduction and Motivation Background Contribution Wrap-up 19/29
  • 40. toolchain and simulation framework ScaFi: Aggregate Computing toolkit https://scafi.github.io Alchemist: simulator https://alchemist.github.io Fully reproducible experiments @ repository: https://github.com/metaphori/ engineering-collaborative-edge-iot R. Casadei Introduction and Motivation Background Contribution Wrap-up 20/29
  • 41. implementation schema (summary) class ProblemSolvingEcosystem extends AggregateProgram with ProblemAPI { override def main = { val coordinators = S(grain, priorityField) val potential = branch(infoPropagationNet){gradient(coordinators)}{+∞} val problems = collectSets(downTo=potential, problemOccurrences) val solvers = collectSets(downTo=potential, solverProfile) val feedbacks = collectSets(downTo=potential, feedbackField).groupBy(_.problem) val assignments = branch(coordinators){ allocate(coordinators,solvers,problems,feedbacks) }{ Set() } val tasks = broadcast(potential, assignments) branch(workers){ execute(tasks) }{ () } } } global specification, collectively executed continuously composition of aggregate-level building blocks R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
  • 42. implementation schema (detail) val coordinators = S(grain, priorityField) boolean field (true for elected leaders) R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
  • 43. implementation schema (detail) val potential = branch(infoPropagationNet){ gradient(coordinators) }{+∞} leaders indirectly define areas by a gradient (a device belongs to the area of its closest leader) R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
  • 44. implementation schema (detail) val problems = collectSets(downTo=potential, problemsFound) val solvers = collectSets(downTo=potential, solverProfile) val feedbacks = collectSets(downTo=potential, feedbackField) .groupBy(_.problem) upstreaming: data is collected into the leaders R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
  • 45. implementation schema (detail) val assignments = branch(coordinators){ allocate(coordinators,solvers,problems,feedbacks) }{ Set() } val tasks = broadcast(potential, assignments) branch(workers){ execute(tasks) }{ () } leaders’ control data downstreamed to workers R. Casadei Introduction and Motivation Background Contribution Wrap-up 21/29
  • 46. simulation setup smart city environment (map of Vienna) 300 workers (lightweight devices for detection&solving) 10 potential coordinators (edge nodes) R. Casadei Introduction and Motivation Background Contribution Wrap-up 22/29
  • 47. simulation setup R. Casadei Introduction and Motivation Background Contribution Wrap-up 22/29
  • 48. simulation setup problems randomly injected in timeframe [150, 600] blackout during time [300, 310], triggering re-election config #1: naive allocation config #2: smart allocation (worker expertise) R. Casadei Introduction and Motivation Background Contribution Wrap-up 22/29
  • 49. evaluation: correctness, adaptivity, resilience naive coordinators less reactive smart coordinators more reactive R. Casadei Introduction and Motivation Background Contribution Wrap-up 23/29
  • 50. another scenario: resource management in edge-clouds 50 fog nodes 200 workers provide resources/services 500 sparse clients make requests peek of requests in timeframe [150, 250] R. Casadei Introduction and Motivation Background Contribution Wrap-up 24/29
  • 51. qualitative evaluation more leaders lower load on relays/leaders few leaders higher load on relays/leaders R. Casadei Introduction and Motivation Background Contribution Wrap-up 25/29
  • 52. qualitative evaluation higher utilization of workers area-wise lower utilization of workers area-wise R. Casadei Introduction and Motivation Background Contribution Wrap-up 25/29
  • 53. qualitative evaluation higher unavailability (declined tasks) more retries more services available in each area R. Casadei Introduction and Motivation Background Contribution Wrap-up 25/29
  • 54. Outline 1 Introduction and Motivation 2 Background: Aggregate Computing 3 Contribution 4 Wrap-up R. Casadei Introduction and Motivation Background Contribution Wrap-up 26/29
  • 55. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 56. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 57. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 58. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 59. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations future work control theoretical analysis time guarantees R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 60. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations future work control theoretical analysis time guarantees R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 61. conclusion a decentralised, self-org, spatial, collective approach to development of collaborative IoT/Edge systems aggregate computing implementation evaluation of solution via simulations future work control theoretical analysis time guarantees R. Casadei Introduction and Motivation Background Contribution Wrap-up 27/29
  • 62. References (1/2) [aamas19Aud] Giorgio Audrito et al. “Effective Collective Summarisation of Distributed Data in Mobile Multi-Agent Systems”. In: 18th International Conference on Autonomous Agents and MultiAgent Systems. ACM. 2019, pp. 1618–1626. [saso17Aud] Giorgio Audrito et al. “Compositional blocks for optimal self-healing gradients”. In: Conf. on Self-Adaptive and Self-Organizing Systems (SASO). IEEE. 2017, pp. 91–100. [tocl19Aud] Giorgio Audrito et al. “A Higher-Order Calculus of Computational Fields”. In: ACM Transactions on Computational Logic 20.1 (Jan. 2019), 5:1–5:55. ISSN: 1529-3785. DOI: 10.1145/3285956. [ieeecom] Jacob Beal, Danilo Pianini, and Mirko Viroli. “Aggregate Programming for the Internet of Things”. In: IEEE Computer (2015). ISSN: 1364-503X. [taas17] Jacob Beal et al. “Self-adaptation to device distribution in the Internet of Things”. In: ACM Transactions on Autonomous and Adaptive Systems (TAAS) 12.3 (2017), p. 12. [fedcsis16Cas] Roberto Casadei, Danilo Pianini, and Mirko Viroli. “Simulating large-scale aggregate MASs with Alchemist and Scala”. In: FedCSIS, Proceedings of. IEEE. 2016, pp. 1495–1504. [saso07DeW] Tom De Wolf and Tom Holvoet. “Designing self-organising emergent systems based on information flows and feedback-loops”. In: Self-Adaptive and Self-Organizing Systems, 2007. SASO’07. 1st Conf. on. IEEE. 2007, pp. 295–298. R. Casadei Appendix References 28/29
  • 63. References (2/2) [ecas18Mo] Yuanqiu Mo, Jacob Beal, and Soura Dasgupta. “An Aggregate Computing Approach to Self-Stabilizing Leader Election”. In: Workshops on Foundations & Applications of Self* Systems (FAS*W). IEEE. 2018, pp. 112–117. [cdc18Mo] Yuanqiu Mo, Soura Dasgupta, and Jacob Beal. “Robust Stability of Spreading Blocks in Aggregate Computing”. In: 2018 IEEE Conference on Decision and Control (CDC). IEEE. 2018, pp. 6007–6012. [tomacs18Vir] Mirko Viroli et al. “Engineering Resilient Collective Adaptive Systems by Self-Stabilisation”. In: ACM Transactions on Modeling and Computer Simulation 28.2 (2018), 16:1–16:28. [coord18a] Mirko Viroli et al. “From Field-Based Coordination to Aggregate Computing”. In: Int. Conf. on Coordination Languages and Models. Springer. 2018, pp. 252–279. [ubicomp16Vir] Mirko Viroli, Roberto Casadei, and Danilo Pianini. “On execution platforms for large-scale aggregate computing”. In: UbiComp, Proceedings of. ACM. 2016, pp. 1321–1326. R. Casadei Appendix References 29/29