SlideShare a Scribd company logo
1 of 18
Download to read offline
Towards Automated Engineering for Collective Adaptive
Systems: Vision and Research Directions
Roberto Casadei1
, Danilo Pianini1
, Gianluca Aguzzi1
, Giorgio Audrito2
, Gianluca
Torta2
, Marco Ottina2
, Ferruccio Damiani2
, Mirko Viroli1
1
Alma Mater Studiorum – Università of Bologna
2
Università degli Studi di Torino
September 13th, 2022
R. Casadei References 1/12
Problem: collective adaptive systems (CASs) engineering
Collective Adaptive System (CAS): a multitude of homogeneous agents inter/acting and
adapting as a whole with no central coordinator
Research Question (RQ): how to effectively engineer collective adaptive behaviour?
R. Casadei References 2/12
SotA: Aggregate Computing (AC) (in 1 Slide)
Self-org-like computational model
interaction: continuous msg exchange with neighbours
behaviour: continuous execution of async rounds of
sense – compute – (inter)act
formal model of executions: event structures
R. Casadei References 3/12
SotA: Aggregate Computing (AC) (in 1 Slide)
Self-org-like computational model
interaction: continuous msg exchange with neighbours
behaviour: continuous execution of async rounds of
sense – compute – (inter)act
formal model of executions: event structures
δ0
δ1
δ2
δ3
δ4
device
time
0
0 0
1 0
2 0
3 0
4
1
0 1
1 1
2 1
3 1
4 1
5
2
0 2
1 2
2 2
3
3
0 3
1 3
2 3
3 3
4 3
5
4
0 4
1 4
2
m
e
s
s
a
g
e
self-message
reboot
R. Casadei References 3/12
SotA: Aggregate Computing (AC) (in 1 Slide)
Self-org-like computational model
interaction: continuous msg exchange with neighbours
behaviour: continuous execution of async rounds of
sense – compute – (inter)act
formal model of executions: event structures
abstraction: computational fields (dev/evt 7→ V)
formal core language: field calculus [1]
paradigm: functional, macro-programming
source destination
gradient distance
gradient
=
+
dilate
width
37
10
1 def channel(source: Boolean, destination:
2 Boolean, width: Double) =
3 dilate(gradient(source) + gradient(destination) =
4 distance(source, destination), width)
M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From dis-
tributed coordination to field calculus and aggregate computing,” J. Log. Algebraic
Methods Program., 2019
δ0
δ1
δ2
δ3
δ4
device
time
0
0 0
1 0
2 0
3 0
4
1
0 1
1 1
2 1
3 1
4 1
5
2
0 2
1 2
2 2
3
3
0 3
1 3
2 3
3 3
4 3
5
4
0 4
1 4
2
m
e
s
s
a
g
e
self-message
reboot
R. Casadei References 3/12
SotA: Aggregate Computing (AC) (in 1 Slide)
Self-org-like computational model
interaction: continuous msg exchange with neighbours
behaviour: continuous execution of async rounds of
sense – compute – (inter)act
formal model of executions: event structures
abstraction: computational fields (dev/evt 7→ V)
formal core language: field calculus [1]
paradigm: functional, macro-programming
source destination
gradient distance
gradient
=
+
dilate
width
37
10
1 def channel(source: Boolean, destination:
2 Boolean, width: Double) =
3 dilate(gradient(source) + gradient(destination) =
4 distance(source, destination), width)
M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From dis-
tributed coordination to field calculus and aggregate computing,” J. Log. Algebraic
Methods Program., 2019
δ0
δ1
δ2
δ3
δ4
device
time
0
0 0
1 0
2 0
3 0
4
1
0 1
1 1
2 1
3 1
4 1
5
2
0 2
1 2
2 2
3
3
0 3
1 3
2 3
3 3
4 3
5
4
0 4
1 4
2
m
e
s
s
a
g
e
self-message
reboot
sensors
local functions
actuators
Application
Code
Developer
APIs
Field Calculus
Constructs
Resilient
Coordination
Operators
Device
Capabilities
functions rep
nbr
T
G
C
functions
communication state
Perception
Perception
summarize
average
regionMax
…
Action
Action State
State
Collective Behavior
Collective Behavior
distanceTo
broadcast
partition
…
timer
lowpass
recentTrue
…
collectivePerception
collectiveSummary
managementRegions
…
Crowd Management
Crowd Management
dangerousDensity crowdTracking
crowdWarning safeDispersal
restriction
self­stabilisation
R. Casadei References 3/12
SotA: AC toolchain
properties  
formal

foundation

field calculus (and variants)
NC XC
HFC ...
field calculus restrictions
GPI ...
self-stab ...
programming

languages
Proto

(Scheme)
Protelis

(xtext)
ScaFi

(Scala)
FCPP

(C++)
simulation
Alchemist

simulator
FCPP

simulator
ScaFi

simulator
Proto

simulator
ScaFi

web
eventual
consistency
deployment

independ.
ScaFi-
Akka
execution
Android/

REST/

Cloud
pulverisation
R. Casadei References 4/12
Gap: Current CAS development workflow in AC
1. Analysis. Think about the desired collective outcome and how to drive it by local activity
2. Design/implementation. Write the aggregate software
3. Testing via simulation. Define a system (network), a set of environments, the program
the be executed, and run a batch of simulations.
∠ Verify self-stabilisation (does the system
eventually reach a stable correct state?)
∠ Verify correctness of dynamic behaviour in a set
of target environments
∠ Verify resilience in a set of stressful
environments
4. Deploy and/or iterate to 1/2.
R. Casadei References 5/12
Gap: Current CAS development workflow in AC
1. Analysis. Think about the desired collective outcome and how to drive it by local activity
2. Design/implementation. Write the aggregate software
3. Testing via simulation. Define a system (network), a set of environments, the program
the be executed, and run a batch of simulations.
∠ Verify self-stabilisation (does the system
eventually reach a stable correct state?)
∠ Verify correctness of dynamic behaviour in a set
of target environments
∠ Verify resilience in a set of stressful
environments
4. Deploy and/or iterate to 1/2.
Gap / limitations
Process is mostly manual and creative
∠ Devising a correct implementation with desired properties (e.g., self-stab)
∠ Devising the set of environments for testing
Lack of automation and process-wide tool support
R. Casadei References 5/12
Vision/Proposal: automated CAS engineering
1. Analysis. Think about the desired collective outcome and how to drive it by local activity
2. Specify. Define the set of key environmental traits and metrics/KPIs
∠ Tool automatically generates a set of simulation scenarios.
3. Design/implementation. Write the aggregate software and/or generate portions of code
∠ If not easy: provide collective I/O examples and let a program synthesizer provide a program
∠ Alternatively: use machine learning to synthesise program fragments or good execution policies
4. Enforce program properties (e.g., self-stab). Tool automatically rewrites the program to
get guarantees
5. Static analysis. Providing warnings, checks for guarantees, etc.
6. Testing via simulation. Define a system (network), a set of environments, the program
the be executed, and run a batch of simulations. Run the simulation generated by the tool,
extracting the desired metrics as well as common performance metrics, and what-if
analysis results.
7. Deploy and/or iterate to 1/2.
R. Casadei References 6/12
Vision/Proposal: elements
1. Methodology for systematic CAS/AC system development
2. Formalisation of architecture and environment constraints
3. Assisted coding
4. Assisted testing, debugging, and deployment
R. Casadei References 7/12
Vision/Proposal: extended AC toolchain
properties  
formal

foundation

field calculus (and variants)
NC XC
HFC ...
field calculus restrictions
GPI ...
self-stab ...
programming

and specification

languages
Proto

(Scheme)
Protelis

(xtext)
ScaFi

(Scala)
FCPP

(C++)
simulation
Alchemist

simulator
FCPP

simulator
ScaFi

simulator
Proto

simulator
ScaFi

web
eventual
consistency
deployment

independ.
ScaFi-
Akka
execution
Android/

REST/

Cloud
pulverisation
static
analysis 
automation
tools
static

analyzers
program

synthetizers
ML

modules
test case /
simulation

generator
Environment 
Architectural
Description
Languages
CAS

development

methodology
R. Casadei References 8/12
Conclusion  Roadmap
Our vision is about automated engineering of CASs, end-to-end supported by tools
∠ this goes beyond AC, though AC makes for an ideal starting point
R. Casadei References 9/12
Conclusion  Roadmap
Our vision is about automated engineering of CASs, end-to-end supported by tools
∠ this goes beyond AC, though AC makes for an ideal starting point
Realizing the vision requires a synergic scientific and engineering endeavour
∠ going from deep understanding of emergence, self-organisation, macro-programming
∠ to the implementation of CI/CD, IDEs, synthesis, ML, static/runtime tools
R. Casadei References 9/12
Conclusion  Roadmap
Our vision is about automated engineering of CASs, end-to-end supported by tools
∠ this goes beyond AC, though AC makes for an ideal starting point
Realizing the vision requires a synergic scientific and engineering endeavour
∠ going from deep understanding of emergence, self-organisation, macro-programming
∠ to the implementation of CI/CD, IDEs, synthesis, ML, static/runtime tools
Building on several recent research results [3] [4] [5] [6] [7] [8] [9] [10]
R. Casadei References 9/12
Useful links
https://scafi.github.io (Scala DSL)
https://scafi.github.io/web (web playground)
https://protelis.github.io (standalone DSL)
https://fcpp.github.io (C++ DSL)
https://alchemistsimulator.github.io (Alchemist simulator)
R. Casadei References 10/12
References (1/2)
[1] M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From distributed coordination
to field calculus and aggregate computing,” J. Log. Algebraic Methods Program., vol. 109, 2019.
[2] J. Beal, D. Pianini, and M. Viroli, “Aggregate programming for the internet of things,” Computer,
vol. 48, no. 9, pp. 22–30, 2015.
[3] R. Casadei, G. Fortino, D. Pianini, A. Placuzzi, C. Savaglio, and M. Viroli, “A methodology and
simulation-based toolchain for estimating deployment performance of smart collective services at
the edge,” IEEE Internet of Things Journal, pp. 1–1, 2022, to appear. DOI:
10.1109/JIOT.2022.3172470.
[4] G. Aguzzi, R. Casadei, and M. Viroli, “Towards reinforcement learning-based aggregate computing,”
in International Conference on Coordination Languages and Models, Springer, 2022, pp. 72–91.
[5] D. Pianini, R. Casadei, M. Viroli, S. Mariani, and F. Zambonelli, “Time-Fluid Field-Based
Coordination through Programmable Distributed Schedulers,” Logical Methods in Computer
Science, vol. Volume 17, Issue 4, Nov. 2021. DOI: 10.46298/lmcs-17(4:13)2021. [Online].
Available: https://lmcs.episciences.org/8755.
[6] D. Pianini, R. Casadei, M. Viroli, and A. Natali, “Partitioned integration and coordination via the
self-organising coordination regions pattern,” Future Gener. Comput. Syst., vol. 114, pp. 44–68,
2021.
R. Casadei References 11/12
References (2/2)
[7] G. Aguzzi, R. Casadei, N. Maltoni, D. Pianini, and M. Viroli, “Scafi-web: A web-based application for
field-based coordination programming,” in Coordination Models and Languages - 23rd IFIP WG 6.1
International Conference, COORDINATION 2021, Held as Part of the 16th International Federated
Conference on Distributed Computing Techniques, DisCoTec 2021, Valletta, Malta, June 14-18,
2021, Proceedings, F. Damiani and O. Dardha, Eds., ser. Lecture Notes in Computer Science,
vol. 12717, Springer, 2021, pp. 285–299. DOI: 10.1007/978-3-030-78142-2_18. [Online].
Available: https://doi.org/10.1007/978-3-030-78142-2_18.
[8] G. Audrito, “FCPP: an efficient and extensible field calculus framework,” in IEEE International
Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2020, Washington,
DC, USA, August 17-21, 2020, IEEE, 2020, pp. 153–159. DOI:
10.1109/ACSOS49614.2020.00037. [Online]. Available:
https://doi.org/10.1109/ACSOS49614.2020.00037.
[9] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, Computation against a neighbour: Addressing
large-scale distribution and adaptivity with functional programming and scala, 2022. arXiv:
2012.08626 [cs.DC]. [Online]. Available: https://arxiv.org/abs/2012.08626.
[10] R. Casadei, A. Placuzzi, M. Viroli, and D. Weyns, “Augmented collective digital twins for
self-organising cyber-physical systems,” in IEEE International Conference on Autonomic Computing
and Self-Organizing Systems, ACSOS 2021, Companion Volume, Washington, DC, USA,
September 27 - Oct. 1, 2021, IEEE, 2021, pp. 160–165. DOI:
10.1109/ACSOS-C52956.2021.00051. [Online]. Available:
https://doi.org/10.1109/ACSOS-C52956.2021.00051.
R. Casadei References 12/12

More Related Content

Similar to Towards Automated Engineering for Collective Adaptive Systems: Vision and Research Directions

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
 
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
 
Scafi: Scala with Computational Fields
Scafi: Scala with Computational FieldsScafi: Scala with Computational Fields
Scafi: Scala with Computational FieldsRoberto Casadei
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTRoberto Casadei
 
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...Gianluca Aguzzi
 
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsAugmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsRoberto Casadei
 
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringBridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringRafael Ferreira da Silva
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006santa
 
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
 
Top Software Engineering & Applications Research articles of 2019
Top Software Engineering & Applications Research articles of 2019Top Software Engineering & Applications Research articles of 2019
Top Software Engineering & Applications Research articles of 2019ijseajournal
 
Deepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningDeepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningIRJET Journal
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsRoberto Casadei
 
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...Yahoo Developer Network
 
BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...
BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...
BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...IJCI JOURNAL
 
Software Testing (in Scala): A Practitioner's Survey (Quickly)
Software Testing (in Scala): A Practitioner's Survey (Quickly)Software Testing (in Scala): A Practitioner's Survey (Quickly)
Software Testing (in Scala): A Practitioner's Survey (Quickly)Roberto Casadei
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)guestebde
 

Similar to Towards Automated Engineering for Collective Adaptive Systems: Vision and Research Directions (20)

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...
 
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
 
Scafi: Scala with Computational Fields
Scafi: Scala with Computational FieldsScafi: Scala with Computational Fields
Scafi: Scala with Computational Fields
 
Engineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoTEngineering Resilient Collaborative Edge-enabled IoT
Engineering Resilient Collaborative Edge-enabled IoT
 
Source Code Summarization
Source Code SummarizationSource Code Summarization
Source Code Summarization
 
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
eCAS 2021: Towards Pulverised Architectures for Collective Adaptive Systems t...
 
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical SystemsAugmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
Augmented Collective Digital Twins for Self-Organising Cyber-Physical Systems
 
DRESD In a Nutshell July07
DRESD In a Nutshell July07DRESD In a Nutshell July07
DRESD In a Nutshell July07
 
MSR Asia Summit
MSR Asia SummitMSR Asia Summit
MSR Asia Summit
 
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven EngineeringBridging Concepts and Practice in eScience via Simulation-driven Engineering
Bridging Concepts and Practice in eScience via Simulation-driven Engineering
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006
 
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
 
Top Software Engineering & Applications Research articles of 2019
Top Software Engineering & Applications Research articles of 2019Top Software Engineering & Applications Research articles of 2019
Top Software Engineering & Applications Research articles of 2019
 
Deepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine LearningDeepcoder to Self-Code with Machine Learning
Deepcoder to Self-Code with Machine Learning
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive Systems
 
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...
Apache Hadoop India Summit 2011 Keynote talk "Programming Abstractions for Sm...
 
BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...
BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...
BARRACUDA, AN OPEN SOURCE FRAMEWORK FOR PARALLELIZING DIVIDE AND CONQUER ALGO...
 
thesis
thesisthesis
thesis
 
Software Testing (in Scala): A Practitioner's Survey (Quickly)
Software Testing (in Scala): A Practitioner's Survey (Quickly)Software Testing (in Scala): A Practitioner's Survey (Quickly)
Software Testing (in Scala): A Practitioner's Survey (Quickly)
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 

More from Roberto Casadei

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
 
6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive Systems6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive SystemsRoberto 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
 
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
 
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
 
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
 
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
 
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
 
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
 

More from Roberto Casadei (18)

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
 
6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive Systems6th eCAS workshop on Engineering Collective Adaptive Systems
6th eCAS workshop on Engineering Collective Adaptive Systems
 
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...
 
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...
 
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
 
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...
 
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
 
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
 
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 ...
 

Recently uploaded

Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...RohitNehra6
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Nistarini College, Purulia (W.B) India
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfSwapnil Therkar
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Cultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxCultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxpradhanghanshyam7136
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxSwapnil Therkar
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionPriyansha Singh
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSarthak Sekhar Mondal
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 

Recently uploaded (20)

Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...Bentham & Hooker's Classification. along with the merits and demerits of the ...
Bentham & Hooker's Classification. along with the merits and demerits of the ...
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdfAnalytical Profile of Coleus Forskohlii | Forskolin .pdf
Analytical Profile of Coleus Forskohlii | Forskolin .pdf
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
Cultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxCultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptx
 
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptxAnalytical Profile of Coleus Forskohlii | Forskolin .pptx
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorption
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatidSpermiogenesis or Spermateleosis or metamorphosis of spermatid
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 

Towards Automated Engineering for Collective Adaptive Systems: Vision and Research Directions

  • 1. Towards Automated Engineering for Collective Adaptive Systems: Vision and Research Directions Roberto Casadei1 , Danilo Pianini1 , Gianluca Aguzzi1 , Giorgio Audrito2 , Gianluca Torta2 , Marco Ottina2 , Ferruccio Damiani2 , Mirko Viroli1 1 Alma Mater Studiorum – Università of Bologna 2 Università degli Studi di Torino September 13th, 2022 R. Casadei References 1/12
  • 2. Problem: collective adaptive systems (CASs) engineering Collective Adaptive System (CAS): a multitude of homogeneous agents inter/acting and adapting as a whole with no central coordinator Research Question (RQ): how to effectively engineer collective adaptive behaviour? R. Casadei References 2/12
  • 3. SotA: Aggregate Computing (AC) (in 1 Slide) Self-org-like computational model interaction: continuous msg exchange with neighbours behaviour: continuous execution of async rounds of sense – compute – (inter)act formal model of executions: event structures R. Casadei References 3/12
  • 4. SotA: Aggregate Computing (AC) (in 1 Slide) Self-org-like computational model interaction: continuous msg exchange with neighbours behaviour: continuous execution of async rounds of sense – compute – (inter)act formal model of executions: event structures δ0 δ1 δ2 δ3 δ4 device time 0 0 0 1 0 2 0 3 0 4 1 0 1 1 1 2 1 3 1 4 1 5 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3 3 4 3 5 4 0 4 1 4 2 m e s s a g e self-message reboot R. Casadei References 3/12
  • 5. SotA: Aggregate Computing (AC) (in 1 Slide) Self-org-like computational model interaction: continuous msg exchange with neighbours behaviour: continuous execution of async rounds of sense – compute – (inter)act formal model of executions: event structures abstraction: computational fields (dev/evt 7→ V) formal core language: field calculus [1] paradigm: functional, macro-programming source destination gradient distance gradient = + dilate width 37 10 1 def channel(source: Boolean, destination: 2 Boolean, width: Double) = 3 dilate(gradient(source) + gradient(destination) = 4 distance(source, destination), width) M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From dis- tributed coordination to field calculus and aggregate computing,” J. Log. Algebraic Methods Program., 2019 δ0 δ1 δ2 δ3 δ4 device time 0 0 0 1 0 2 0 3 0 4 1 0 1 1 1 2 1 3 1 4 1 5 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3 3 4 3 5 4 0 4 1 4 2 m e s s a g e self-message reboot R. Casadei References 3/12
  • 6. SotA: Aggregate Computing (AC) (in 1 Slide) Self-org-like computational model interaction: continuous msg exchange with neighbours behaviour: continuous execution of async rounds of sense – compute – (inter)act formal model of executions: event structures abstraction: computational fields (dev/evt 7→ V) formal core language: field calculus [1] paradigm: functional, macro-programming source destination gradient distance gradient = + dilate width 37 10 1 def channel(source: Boolean, destination: 2 Boolean, width: Double) = 3 dilate(gradient(source) + gradient(destination) = 4 distance(source, destination), width) M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From dis- tributed coordination to field calculus and aggregate computing,” J. Log. Algebraic Methods Program., 2019 δ0 δ1 δ2 δ3 δ4 device time 0 0 0 1 0 2 0 3 0 4 1 0 1 1 1 2 1 3 1 4 1 5 2 0 2 1 2 2 2 3 3 0 3 1 3 2 3 3 3 4 3 5 4 0 4 1 4 2 m e s s a g e self-message reboot sensors local functions actuators Application Code Developer APIs Field Calculus Constructs Resilient Coordination Operators Device Capabilities functions rep nbr T G C functions communication state Perception Perception summarize average regionMax … Action Action State State Collective Behavior Collective Behavior distanceTo broadcast partition … timer lowpass recentTrue … collectivePerception collectiveSummary managementRegions … Crowd Management Crowd Management dangerousDensity crowdTracking crowdWarning safeDispersal restriction self­stabilisation R. Casadei References 3/12
  • 7. SotA: AC toolchain properties   formal foundation field calculus (and variants) NC XC HFC ... field calculus restrictions GPI ... self-stab ... programming languages Proto (Scheme) Protelis (xtext) ScaFi (Scala) FCPP (C++) simulation Alchemist simulator FCPP simulator ScaFi simulator Proto simulator ScaFi web eventual consistency deployment independ. ScaFi- Akka execution Android/ REST/ Cloud pulverisation R. Casadei References 4/12
  • 8. Gap: Current CAS development workflow in AC 1. Analysis. Think about the desired collective outcome and how to drive it by local activity 2. Design/implementation. Write the aggregate software 3. Testing via simulation. Define a system (network), a set of environments, the program the be executed, and run a batch of simulations. ∠ Verify self-stabilisation (does the system eventually reach a stable correct state?) ∠ Verify correctness of dynamic behaviour in a set of target environments ∠ Verify resilience in a set of stressful environments 4. Deploy and/or iterate to 1/2. R. Casadei References 5/12
  • 9. Gap: Current CAS development workflow in AC 1. Analysis. Think about the desired collective outcome and how to drive it by local activity 2. Design/implementation. Write the aggregate software 3. Testing via simulation. Define a system (network), a set of environments, the program the be executed, and run a batch of simulations. ∠ Verify self-stabilisation (does the system eventually reach a stable correct state?) ∠ Verify correctness of dynamic behaviour in a set of target environments ∠ Verify resilience in a set of stressful environments 4. Deploy and/or iterate to 1/2. Gap / limitations Process is mostly manual and creative ∠ Devising a correct implementation with desired properties (e.g., self-stab) ∠ Devising the set of environments for testing Lack of automation and process-wide tool support R. Casadei References 5/12
  • 10. Vision/Proposal: automated CAS engineering 1. Analysis. Think about the desired collective outcome and how to drive it by local activity 2. Specify. Define the set of key environmental traits and metrics/KPIs ∠ Tool automatically generates a set of simulation scenarios. 3. Design/implementation. Write the aggregate software and/or generate portions of code ∠ If not easy: provide collective I/O examples and let a program synthesizer provide a program ∠ Alternatively: use machine learning to synthesise program fragments or good execution policies 4. Enforce program properties (e.g., self-stab). Tool automatically rewrites the program to get guarantees 5. Static analysis. Providing warnings, checks for guarantees, etc. 6. Testing via simulation. Define a system (network), a set of environments, the program the be executed, and run a batch of simulations. Run the simulation generated by the tool, extracting the desired metrics as well as common performance metrics, and what-if analysis results. 7. Deploy and/or iterate to 1/2. R. Casadei References 6/12
  • 11. Vision/Proposal: elements 1. Methodology for systematic CAS/AC system development 2. Formalisation of architecture and environment constraints 3. Assisted coding 4. Assisted testing, debugging, and deployment R. Casadei References 7/12
  • 12. Vision/Proposal: extended AC toolchain properties   formal foundation field calculus (and variants) NC XC HFC ... field calculus restrictions GPI ... self-stab ... programming and specification languages Proto (Scheme) Protelis (xtext) ScaFi (Scala) FCPP (C++) simulation Alchemist simulator FCPP simulator ScaFi simulator Proto simulator ScaFi web eventual consistency deployment independ. ScaFi- Akka execution Android/ REST/ Cloud pulverisation static analysis automation tools static analyzers program synthetizers ML modules test case / simulation generator Environment Architectural Description Languages CAS development methodology R. Casadei References 8/12
  • 13. Conclusion Roadmap Our vision is about automated engineering of CASs, end-to-end supported by tools ∠ this goes beyond AC, though AC makes for an ideal starting point R. Casadei References 9/12
  • 14. Conclusion Roadmap Our vision is about automated engineering of CASs, end-to-end supported by tools ∠ this goes beyond AC, though AC makes for an ideal starting point Realizing the vision requires a synergic scientific and engineering endeavour ∠ going from deep understanding of emergence, self-organisation, macro-programming ∠ to the implementation of CI/CD, IDEs, synthesis, ML, static/runtime tools R. Casadei References 9/12
  • 15. Conclusion Roadmap Our vision is about automated engineering of CASs, end-to-end supported by tools ∠ this goes beyond AC, though AC makes for an ideal starting point Realizing the vision requires a synergic scientific and engineering endeavour ∠ going from deep understanding of emergence, self-organisation, macro-programming ∠ to the implementation of CI/CD, IDEs, synthesis, ML, static/runtime tools Building on several recent research results [3] [4] [5] [6] [7] [8] [9] [10] R. Casadei References 9/12
  • 16. Useful links https://scafi.github.io (Scala DSL) https://scafi.github.io/web (web playground) https://protelis.github.io (standalone DSL) https://fcpp.github.io (C++ DSL) https://alchemistsimulator.github.io (Alchemist simulator) R. Casadei References 10/12
  • 17. References (1/2) [1] M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From distributed coordination to field calculus and aggregate computing,” J. Log. Algebraic Methods Program., vol. 109, 2019. [2] J. Beal, D. Pianini, and M. Viroli, “Aggregate programming for the internet of things,” Computer, vol. 48, no. 9, pp. 22–30, 2015. [3] R. Casadei, G. Fortino, D. Pianini, A. Placuzzi, C. Savaglio, and M. Viroli, “A methodology and simulation-based toolchain for estimating deployment performance of smart collective services at the edge,” IEEE Internet of Things Journal, pp. 1–1, 2022, to appear. DOI: 10.1109/JIOT.2022.3172470. [4] G. Aguzzi, R. Casadei, and M. Viroli, “Towards reinforcement learning-based aggregate computing,” in International Conference on Coordination Languages and Models, Springer, 2022, pp. 72–91. [5] D. Pianini, R. Casadei, M. Viroli, S. Mariani, and F. Zambonelli, “Time-Fluid Field-Based Coordination through Programmable Distributed Schedulers,” Logical Methods in Computer Science, vol. Volume 17, Issue 4, Nov. 2021. DOI: 10.46298/lmcs-17(4:13)2021. [Online]. Available: https://lmcs.episciences.org/8755. [6] D. Pianini, R. Casadei, M. Viroli, and A. Natali, “Partitioned integration and coordination via the self-organising coordination regions pattern,” Future Gener. Comput. Syst., vol. 114, pp. 44–68, 2021. R. Casadei References 11/12
  • 18. References (2/2) [7] G. Aguzzi, R. Casadei, N. Maltoni, D. Pianini, and M. Viroli, “Scafi-web: A web-based application for field-based coordination programming,” in Coordination Models and Languages - 23rd IFIP WG 6.1 International Conference, COORDINATION 2021, Held as Part of the 16th International Federated Conference on Distributed Computing Techniques, DisCoTec 2021, Valletta, Malta, June 14-18, 2021, Proceedings, F. Damiani and O. Dardha, Eds., ser. Lecture Notes in Computer Science, vol. 12717, Springer, 2021, pp. 285–299. DOI: 10.1007/978-3-030-78142-2_18. [Online]. Available: https://doi.org/10.1007/978-3-030-78142-2_18. [8] G. Audrito, “FCPP: an efficient and extensible field calculus framework,” in IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2020, Washington, DC, USA, August 17-21, 2020, IEEE, 2020, pp. 153–159. DOI: 10.1109/ACSOS49614.2020.00037. [Online]. Available: https://doi.org/10.1109/ACSOS49614.2020.00037. [9] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, Computation against a neighbour: Addressing large-scale distribution and adaptivity with functional programming and scala, 2022. arXiv: 2012.08626 [cs.DC]. [Online]. Available: https://arxiv.org/abs/2012.08626. [10] R. Casadei, A. Placuzzi, M. Viroli, and D. Weyns, “Augmented collective digital twins for self-organising cyber-physical systems,” in IEEE International Conference on Autonomic Computing and Self-Organizing Systems, ACSOS 2021, Companion Volume, Washington, DC, USA, September 27 - Oct. 1, 2021, IEEE, 2021, pp. 160–165. DOI: 10.1109/ACSOS-C52956.2021.00051. [Online]. Available: https://doi.org/10.1109/ACSOS-C52956.2021.00051. R. Casadei References 12/12