A recently proposed approach to the rigorous engineering of collective adaptive systems is the aggregate computing paradigm, which operationalises the idea of expressing collective adaptive behaviour by a global perspective as a functional composition of dynamic computational fields (i.e., structures mapping a collection of individual devices of a collective to computational values over time). In this paper, we present FScaFi, a core language that captures the essence of exploiting field computations in mainstream functional languages, and which is based on a semantic model for field computations leveraging the novel notion of “computation against a neighbour”. Such a construct models expressions whose evaluation depends on the same evaluation that occurred on a neighbour, thus abstracting communication actions and, crucially, enabling deep and straightforward integration in the Scala programming language, by the ScaFi incarnation. We cover syntax and informal semantics of FScaFi, provide examples of collective adaptive behaviour development in ScaFi, and delineate future work.
Analytical Profile of Coleus Forskohlii | Forskolin .pptx
FScaFi: A Core Calculus for Collective Adaptive Systems Programming
1. FScaFi: A Core Calculus for Collective Adaptive
Systems Programming
Roberto Casadei1
, Mirko Viroli1
, Giorgio Audrito2
, Ferruccio Damiani2
1
ALMA MATER STUDIORUM–Università di Bologna, Cesena, Italy
2
Università di Torino, Turin, Italy
Rhodes, Greece
Talk @
ISoLA 2021
10th International Symposium on Leveraging Applications of Formal Methods,
Verification and Validation
Rigorous Engineering of Collective Adaptive Systems (REoCAS) Track
3. Collective adaptive systems (CAS) programming
Focus: collectives and their global behaviour
∠ collective: a collection of individuals entities (members) held together by some “shared plan”
[1] R. Casadei, M. Viroli, G. Audrito, D. Pianini, and F. Damiani, “Engineering collective intelligence at the edge with aggregate processes,” Eng. Appl. Artif. Intell.,
2021
[2] T. D. Wolf and T. Holvoet, “Designing self-organising emergent systems based on information flows and feedback-loops,” in Proceedings of the First International
Conference on Self-Adaptive and Self-Organizing Systems, SASO 2007, Boston, MA, USA, July 9-11, 2007, IEEE Computer Society, 2007
[3] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Compositional blocks for optimal self-healing gradients,” in 11th IEEE International Conference on Self-Adaptive
and Self-Organizing Systems, SASO 2017, Tucson, AZ, USA, September 18-22, 2017, IEEE Computer Society, 2017
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 1/21
4. Collective adaptive systems (CAS) programming
Focus: collectives and their global behaviour
∠ collective: a collection of individuals entities (members) held together by some “shared plan”
Recurrent abstractions
∠ Ensembles & collective tasks [1]
∠ Self-organising information flows [2]
∠ Self-healing collective structures (e.g., gradients) [3]
[1] R. Casadei, M. Viroli, G. Audrito, D. Pianini, and F. Damiani, “Engineering collective intelligence at the edge with aggregate processes,” Eng. Appl. Artif. Intell.,
2021
[2] T. D. Wolf and T. Holvoet, “Designing self-organising emergent systems based on information flows and feedback-loops,” in Proceedings of the First International
Conference on Self-Adaptive and Self-Organizing Systems, SASO 2007, Boston, MA, USA, July 9-11, 2007, IEEE Computer Society, 2007
[3] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Compositional blocks for optimal self-healing gradients,” in 11th IEEE International Conference on Self-Adaptive
and Self-Organizing Systems, SASO 2017, Tucson, AZ, USA, September 18-22, 2017, IEEE Computer Society, 2017
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 1/21
5. Aggregate Computing (AC) paradigm for CAS [4]
“Self-organisation-like” computational/programming model
interaction: continuous communication with neighbours only (→ decentralisation)
behaviour: continuous execution of async rounds of sense – compute – (inter)act
[4] M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From distributed coordination to field calculus and aggregate computing,” Journal of Logical
and Algebraic Methods in Programming, 2019
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 2/21
6. Aggregate Computing (AC) paradigm for CAS [4]
“Self-organisation-like” computational/programming model
interaction: continuous communication with neighbours only (→ decentralisation)
behaviour: continuous execution of async rounds of sense – compute – (inter)act
abstraction: computational fields ( → field calculus)
paradigm: functional, macroprogramming
∠ an “aggregate program” as a “shared plan” expressed as composition of “collective behaviours”
neighborhood
device
source destination
gradient distance
gradient
<=
+
dilate
width
37
10
[4] M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From distributed coordination to field calculus and aggregate computing,” Journal of Logical
and Algebraic Methods in Programming, 2019
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 2/21
7. Aggregate programming as internal DSL
Problem: embedding aggregate programming into mainstream PLs
Namely, providing an implementation of the higher-order field calculus (HFC)
Previous languages were standalone DSLs (e.g., Protelis)
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 3/21
8. Aggregate programming as internal DSL
Problem: embedding aggregate programming into mainstream PLs
Namely, providing an implementation of the higher-order field calculus (HFC)
Previous languages were standalone DSLs (e.g., Protelis)
Embedding as an internal DSL has benefits
- easier to implement, typically (assuming host PL is suitable)
- easier integration with host PL (and corresponding platform)
- more reuse—cf. knowledge (syntax, typing) and access to general purpose features/toolchains
, less flexibility (cf. syntactic/semantic constraints)
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 3/21
10. ScaFi & FScaFi
e We worked on an open-source Scala impl inspired by HFC
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 4/21
11. ScaFi & FScaFi
e We worked on an open-source Scala impl inspired by HFC
ú ScaFi (Scala Fields) DSL
ú a variant calculus: FScaFi (Featherweight ScaFi)
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 4/21
12. ScaFi & FScaFi
e We worked on an open-source Scala impl inspired by HFC
ú ScaFi (Scala Fields) DSL
ú a variant calculus: FScaFi (Featherweight ScaFi)
other tools (simulator, runtime etc.) provided to make ScaFi a comprehensive aggregate
programming toolkit: https://scafi.github.io
SCAFI-CORE
SPALA
(AC PLATFORM)
SCAFI-TESTS
AKKA-CORE AKKA-REMOTING
SCAFI-SIMULATOR
SCAFI-SIMULATOR-GUI
SCAFI-STDLIB-EXT
SCAFI-DISTRIBUTED
SCAFI-COMMONS
(space-time abstractions)
DEMOS
depends on
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 4/21
13. Syntax
P ::= F e program
F ::= def d(x){e} function declaration
e ::= x
54. (x) => {e} function value
trait Constructs {
// Key constructs
def rep[A](init: => A)(fun: (A) => A): A
def foldhood[A](init: => A)(aggr: (A, A) => A)(expr: => A): A
def nbr[A](expr: => A): A
def aggregate[A](b: => A): A // to wrap bodies of ordinary Scala functions
// Abstract types: device identifiers and capability names
type ID, CNAME;
// Access to context
def mid(): ID
def sense[A](name: CNAME): A
def nbrvar[A](name: CNAME): A
}
o Note: (1) no explicit fields in types; (2) nbr calls only within foldhoods (cf. by-name args)
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 5/21
55. Semantics: two main pieces
Device semantics (big-step op-sem)
δ, δ0
; Θ; σ ` e ⇓ θ
“expression e evaluates to value-tree θ on device δ with respect to the neighbour δ0
,
value-tree environment Θ and sensor state σ”
communication based on structural alignment of value-trees
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 6/21
56. Semantics: two main pieces
Device semantics (big-step op-sem)
δ, δ0
; Θ; σ ` e ⇓ θ
“expression e evaluates to value-tree θ on device δ with respect to the neighbour δ0
,
value-tree environment Θ and sensor state σ”
communication based on structural alignment of value-trees
Network semantics (small-step op-sem)
N
act
−
−
→ N
network evolves through
∠ act = δ+ (device computation)
∠ act = δ− (communication)
∠ act = env (environment evolution)
See also: G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Computation against a
neighbour,” CoRR, 2020. arXiv: 2012.08626 W
R.Casadei Background & Motivation Contribution Examples & More Conclusion References 6/21
57. Device semantics (big-step)
Value-trees and value-tree environments:
θ ::= vhθi value-tree
Θ ::= δ 7→ θ value-tree environment
Rules for expression evaluation: δ, δ
0
; Θ; σ ` e ⇓ θ
[E-VAL]
δ, δ0; Θ; σ ` v ⇓ vhi
[E-B-APP]
δ, δ; π1(Θ); σ ` e ⇓ θ δ, δ0; πi+1(Θ); σ ` ei ⇓ θi for all i ∈ 1, . . . , n
v = LbM
πb(Θ),σ
δ,δ0 (ρ(θ)) (b = ρ(θ) is not relational ) ∨ (δ0 ∈ dom(πb(Θ)) ∪ {δ})
δ, δ0; Θ; σ ` e(e) ⇓ vhθ, θ, vi
[E-D-APP]
δ, δ; π1(Θ); σ ` e ⇓ θ δ, δ0; πi+1(Θ); σ ` ei ⇓ θi for all i ∈ 1, . . . , n
f = ρ(θ) is not a built-in δ, δ0; πf(Θ); σ ` body(f)[args(f) := ρ(θ)] ⇓ θ0
δ, δ0; Θ; σ ` e(e) ⇓ ρ(θ0)hθ, θ, θ0i
[E-REP]
δ, δ; π1(Θ); σ ` e1 ⇓ θ1 v1 = ρ(θ1)
δ, δ; π2(Θ); σ ` e2(v0) ⇓ θ2 v2 = ρ(θ2)
v0 =
ρ(π2(Θ))(δ) if δ ∈ dom(Θ)
v1 otherwise
δ, δ0; Θ; σ ` rep(e1){e2} ⇓ v2hθ1, θ2i
[E-NBR] δ 6= δ0 ∈ dom(Θ) θ = Θ(δ0)
δ, δ0; Θ; σ ` nbr{e} ⇓ θ
[E-NBR-LOC] δ, δ; π1(Θ); σ ` e ⇓ θ
δ, δ; Θ; σ ` nbr{e} ⇓ ρ(θ)hθi
[E-FOLD]
δ, δ; π1(Θ); σ ` e1 ⇓ θ1 δ, δ; π2(Θ); σ ` e2 ⇓ θf f = ρ(θf )
δ1, . . . , δn = dom(Θ) {δ} n ≥ m ≥ 0, δ1, . . . , δm increasing, δ0 = δ
δ, δi ; π3(Θ); σ ` e3 ⇓ θi for all i ∈ 0, ..., m
δ, δj ; π3(Θ); σ ` e3 FAIL for all j ∈ m + 1, ..., n
δ, δ; ∅; σ ` f(ρ(θi ), ρ(θi )) ⇓ θi+1 for all i ∈ 1, ..., m
δ, δ0; Θ; σ ` foldhood(e1, e2, e3) ⇓ ρ(θm+1)hθ1, θf , θ0i
R.Casadei Background Motivation Contribution Examples More Conclusion References 7/21
58. Network semantics (small-step, SOS)
System configurations and action labels:
Ψ ::= δ 7→ Θ value-tree field
α ::= δ 7→ a with a ∈ {false, true} activation predicate
Stat ::= hΨ, αi status
::= hδ, δ
0
i topology
Σ ::= δ 7→ σ sensor state
Env ::= h, Σi environment
N ::= hEnv; Stati network configuration
act ::= δ+
64. Examples
Web playground: https://scafi.github.io/web/ [6]
[6] 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,
Springer, 2021
R.Casadei Background Motivation Contribution Examples More Conclusion References 9/21
65. Examples: gradient [3]
Gradient: resiliently build the field of shortest distances from a source area
[3] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Compositional blocks for optimal self-healing gradients,” in 11th IEEE International Conference on Self-Adaptive
and Self-Organizing Systems, SASO 2017, Tucson, AZ, USA, September 18-22, 2017, IEEE Computer Society, 2017
R.Casadei Background Motivation Contribution Examples More Conclusion References 10/21
66. Examples: channel (around obstacles) (1/3)
Channel: resiliently define a domain of devices providing the shortest path from a
source area to a destination area
R.Casadei Background Motivation Contribution Examples More Conclusion References 11/21
69. Examples: SCR pattern [7]
Self-organising Coordination Regions (SCR) pattern: elect leaders → use
gradients to define areas → spread collect info in those areas to support feedback
loops
[7] R. Casadei, D. Pianini, M. Viroli, and A. Natali, “Self-organising coordination regions: A pattern for edge computing,” in Coordination Models and Languages - 21st
IFIP WG 6.1 International Conference, COORDINATION 2019, Held as Part of the 14th International Federated Conference on Distributed Computing Techniques,
DisCoTec 2019, Kongens Lyngby, Denmark, June 17-21, 2019, Proceedings, H. R. Nielson and E. Tuosto, Eds., ser. Lecture Notes in Computer Science, Springer, 2019
R.Casadei Background Motivation Contribution Examples More Conclusion References 14/21
70. From building blocks to applications
Applications are built by composing functions
∠ each function comprises behaviour + interaction
∠ each function generally steers some emergent collective behaviour
∠ output of a function (namely a field) becomes the input of another
[8] J. Beal, D. Pianini, and M. Viroli, “Aggregate programming for the internet of things,” Computer, no. 9, 2015
[9] R. Casadei, M. Viroli, A. Ricci, and G. Audrito, “Tuple-based coordination in large-scale situated systems,” in Coordination Models and Languages - 23rd
International Conference, COORDINATION 2021, Valletta, Malta, June 14-18, 2021, Proceedings, ser. LNCS, Springer, 2021
[1] R. Casadei, M. Viroli, G. Audrito, D. Pianini, and F. Damiani, “Engineering collective intelligence at the edge with aggregate processes,” Eng. Appl. Artif. Intell.,
2021
[10] R. Casadei, D. Pianini, A. Placuzzi, M. Viroli, and D. Weyns, “Pulverization in cyber-physical systems: Engineering the self-organizing logic separated from
deployment,” Future Internet, no. 11, 2020
[11] G. Audrito, R. Casadei, F. Damiani, V. Stolz, and M. Viroli, “Adaptive distributed monitors of spatial properties for cyber-physical systems,” J. Syst. Softw., 2021
R.Casadei Background Motivation Contribution Examples More Conclusion References 15/21
71. From building blocks to applications
Applications are built by composing functions
∠ each function comprises behaviour + interaction
∠ each function generally steers some emergent collective behaviour
∠ output of a function (namely a field) becomes the input of another
Examples
∠ crowd engineering [8]
∠ situated tuples [9]
∠ collective tasks [1]
∠ pollution-aware household heating control [10]
∠ monitors for runtime verification of spatial properties [11]
[8] J. Beal, D. Pianini, and M. Viroli, “Aggregate programming for the internet of things,” Computer, no. 9, 2015
[9] R. Casadei, M. Viroli, A. Ricci, and G. Audrito, “Tuple-based coordination in large-scale situated systems,” in Coordination Models and Languages - 23rd
International Conference, COORDINATION 2021, Valletta, Malta, June 14-18, 2021, Proceedings, ser. LNCS, Springer, 2021
[1] R. Casadei, M. Viroli, G. Audrito, D. Pianini, and F. Damiani, “Engineering collective intelligence at the edge with aggregate processes,” Eng. Appl. Artif. Intell.,
2021
[10] R. Casadei, D. Pianini, A. Placuzzi, M. Viroli, and D. Weyns, “Pulverization in cyber-physical systems: Engineering the self-organizing logic separated from
deployment,” Future Internet, no. 11, 2020
[11] G. Audrito, R. Casadei, F. Damiani, V. Stolz, and M. Viroli, “Adaptive distributed monitors of spatial properties for cyber-physical systems,” J. Syst. Softw., 2021
R.Casadei Background Motivation Contribution Examples More Conclusion References 15/21
72. FScaFi vs. HFC
From “neighbouring field” (HFC) to “computation against a neighbour” (FScaFi)
FScaFi’ = HFC’
FScaFi HFC
[12] G. Audrito, J. Beal, F. Damiani, and M. Viroli, “Space-time universality of field calculus,” in Coordination Models and Languages - 20th International Conference,
COORDINATION 2018. Proceedings, ser. LNCS, Springer, 2018
[13] M. Viroli, G. Audrito, J. Beal, F. Damiani, and D. Pianini, “Engineering resilient collective adaptive systems by self-stabilisation,” ACM Trans. Model. Comput.
Simul., no. 2, 2018
[5] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Computation against a neighbour,” CoRR, 2020. arXiv: 2012.08626
R.Casadei Background Motivation Contribution Examples More Conclusion References 16/21
73. FScaFi vs. HFC
From “neighbouring field” (HFC) to “computation against a neighbour” (FScaFi)
FScaFi’ = HFC’
FScaFi HFC
FScaFi’ retains basic properties and guarantees, notably universality [12] and
self-stabilisation [13]—see [5] W
[12] G. Audrito, J. Beal, F. Damiani, and M. Viroli, “Space-time universality of field calculus,” in Coordination Models and Languages - 20th International Conference,
COORDINATION 2018. Proceedings, ser. LNCS, Springer, 2018
[13] M. Viroli, G. Audrito, J. Beal, F. Damiani, and D. Pianini, “Engineering resilient collective adaptive systems by self-stabilisation,” ACM Trans. Model. Comput.
Simul., no. 2, 2018
[5] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Computation against a neighbour,” CoRR, 2020. arXiv: 2012.08626
R.Casadei Background Motivation Contribution Examples More Conclusion References 16/21
75. Conclusion
Contribution: FScaFi calculus for the ScaFi Scala-internal aggregate programming DSL
∠ Enable self-organisation programming for CAS by a macro-perspective
R.Casadei Background Motivation Contribution Examples More Conclusion References 17/21
76. Conclusion
Contribution: FScaFi calculus for the ScaFi Scala-internal aggregate programming DSL
∠ Enable self-organisation programming for CAS by a macro-perspective
One insight: Variants of a core calculus may foster DSL embeddability while retaining
key guarantees
R.Casadei Background Motivation Contribution Examples More Conclusion References 17/21
77. Conclusion
Contribution: FScaFi calculus for the ScaFi Scala-internal aggregate programming DSL
∠ Enable self-organisation programming for CAS by a macro-perspective
One insight: Variants of a core calculus may foster DSL embeddability while retaining
key guarantees
Long-term: ScaFi provides practical tools for building aggregate computing CASs
R.Casadei Background Motivation Contribution Examples More Conclusion References 17/21
78. “Cyber-physical Collectives” Special Issue in Frontiers on
Robotics AI (Scimago Q2, open-access journal)
https://www.frontiersin.org/research-topics/24380/
mobile-cyber-physical-collectives
Guest Editors: R. Casadei, L. Esterle, R. Gamble, P. Harvey, E. Wanner
Abstract deadline: 26 November 2021
Manuscript deadline: 25 February 2022
R.Casadei Background Motivation Contribution Examples More Conclusion References 18/21
79. Bibliography (1/3)
[1] R. Casadei, M. Viroli, G. Audrito, D. Pianini, and F. Damiani, “Engineering collective intelligence at
the edge with aggregate processes,” Eng. Appl. Artif. Intell., vol. 97, p. 104 081, 2021. DOI:
10.1016/j.engappai.2020.104081. [Online]. Available:
https://doi.org/10.1016/j.engappai.2020.104081.
[2] T. D. Wolf and T. Holvoet, “Designing self-organising emergent systems based on information flows
and feedback-loops,” in Proceedings of the First International Conference on Self-Adaptive and
Self-Organizing Systems, SASO 2007, Boston, MA, USA, July 9-11, 2007, IEEE Computer Society,
2007, pp. 295–298. DOI: 10.1109/SASO.2007.16. [Online]. Available:
https://doi.org/10.1109/SASO.2007.16.
[3] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Compositional blocks for optimal self-healing
gradients,” in 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems,
SASO 2017, Tucson, AZ, USA, September 18-22, 2017, IEEE Computer Society, 2017,
pp. 91–100. DOI: 10.1109/SASO.2017.18. [Online]. Available:
http://doi.ieeecomputersociety.org/10.1109/SASO.2017.18.
[4] M. Viroli, J. Beal, F. Damiani, G. Audrito, R. Casadei, and D. Pianini, “From distributed coordination
to field calculus and aggregate computing,” Journal of Logical and Algebraic Methods in
Programming, vol. 109, p. 100 486, 2019, ISSN: 2352-2208. DOI:
10.1016/j.jlamp.2019.100486.
[5] G. Audrito, R. Casadei, F. Damiani, and M. Viroli, “Computation against a neighbour,” CoRR,
vol. abs/2012.08626, 2020. arXiv: 2012.08626. [Online]. Available:
https://arxiv.org/abs/2012.08626.
R.Casadei Background Motivation Contribution Examples More Conclusion References 19/21
80. Bibliography (2/3)
[6] 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.
[7] R. Casadei, D. Pianini, M. Viroli, and A. Natali, “Self-organising coordination regions: A pattern for
edge computing,” in Coordination Models and Languages - 21st IFIP WG 6.1 International
Conference, COORDINATION 2019, Held as Part of the 14th International Federated Conference
on Distributed Computing Techniques, DisCoTec 2019, Kongens Lyngby, Denmark, June 17-21,
2019, Proceedings, H. R. Nielson and E. Tuosto, Eds., ser. Lecture Notes in Computer Science,
vol. 11533, Springer, 2019, pp. 182–199. DOI: 10.1007/978-3-030-22397-7_11. [Online].
Available: https://doi.org/10.1007/978-3-030-22397-7_11.
[8] J. Beal, D. Pianini, and M. Viroli, “Aggregate programming for the internet of things,” Computer,
vol. 48, no. 9, pp. 22–30, 2015. DOI: 10.1109/MC.2015.261. [Online]. Available:
https://doi.org/10.1109/MC.2015.261.
[9] R. Casadei, M. Viroli, A. Ricci, and G. Audrito, “Tuple-based coordination in large-scale situated
systems,” in Coordination Models and Languages - 23rd International Conference,
COORDINATION 2021, Valletta, Malta, June 14-18, 2021, Proceedings, ser. LNCS, vol. 12717,
Springer, 2021, pp. 149–167. DOI: 10.1007/978-3-030-78142-2_10. [Online]. Available:
https://doi.org/10.1007/978-3-030-78142-2_10.
R.Casadei Background Motivation Contribution Examples More Conclusion References 20/21
81. Bibliography (3/3)
[10] R. Casadei, D. Pianini, A. Placuzzi, M. Viroli, and D. Weyns, “Pulverization in cyber-physical
systems: Engineering the self-organizing logic separated from deployment,” Future Internet, vol. 12,
no. 11, p. 203, 2020. DOI: 10.3390/fi12110203. [Online]. Available:
https://doi.org/10.3390/fi12110203.
[11] G. Audrito, R. Casadei, F. Damiani, V. Stolz, and M. Viroli, “Adaptive distributed monitors of spatial
properties for cyber-physical systems,” J. Syst. Softw., vol. 175, p. 110 908, 2021. DOI:
10.1016/j.jss.2021.110908. [Online]. Available:
https://doi.org/10.1016/j.jss.2021.110908.
[12] G. Audrito, J. Beal, F. Damiani, and M. Viroli, “Space-time universality of field calculus,” in
Coordination Models and Languages - 20th International Conference, COORDINATION 2018.
Proceedings, ser. LNCS, vol. 10852, Springer, 2018, pp. 1–20. DOI:
10.1007/978-3-319-92408-3_1. [Online]. Available:
https://doi.org/10.1007/978-3-319-92408-3_1.
[13] M. Viroli, G. Audrito, J. Beal, F. Damiani, and D. Pianini, “Engineering resilient collective adaptive
systems by self-stabilisation,” ACM Trans. Model. Comput. Simul., vol. 28, no. 2, 16:1–16:28, 2018.
DOI: 10.1145/3177774. [Online]. Available: https://doi.org/10.1145/3177774.
R.Casadei Background Motivation Contribution Examples More Conclusion References 21/21