-
Software Engineering for Collective Cyber-Physical Ecosystems
Authors:
Roberto Casadei,
Gianluca Aguzzi,
Giorgio Audrito,
Ferruccio Damiani,
Danilo Pianini,
Giordano Scarso,
Gianluca Torta,
Mirko Viroli
Abstract:
Today's distributed and pervasive computing addresses large-scale cyber-physical ecosystems, characterised by dense and large networks of devices capable of computation, communication and interaction with the environment and people. While most research focusses on treating these systems as "composites" (i.e., heterogeneous functional complexes), recent developments in fields such as self-organisin…
▽ More
Today's distributed and pervasive computing addresses large-scale cyber-physical ecosystems, characterised by dense and large networks of devices capable of computation, communication and interaction with the environment and people. While most research focusses on treating these systems as "composites" (i.e., heterogeneous functional complexes), recent developments in fields such as self-organising systems and swarm robotics have opened up a complementary perspective: treating systems as "collectives" (i.e., uniform, collaborative, and self-organising groups of entities). This article explores the motivations, state of the art, and implications of this "collective computing paradigm" in software engineering, discusses its peculiar challenges, and outlines a path for future research, touching on aspects such as macroprogramming, collective intelligence, self-adaptive middleware, learning, synthesis, and experimentation of collective behaviour.
△ Less
Submitted 7 June, 2024;
originally announced June 2024.
-
Concurrency Model of BDI Programming Frameworks: Why Should We Control It?
Authors:
Martina Baiardi,
Samuele Burattini,
Giovanni Ciatto,
Danilo Pianini,
Andrea Omicini,
Alessandro Ricci
Abstract:
We provide a taxonomy of concurrency models for BDI frameworks, elicited by analysing state-of-the-art technologies, and aimed at hel** both BDI designers and developers in making informed decisions. Comparison among BDI technologies w.r.t. concurrency models reveals heterogeneous support, and low customisability.
We provide a taxonomy of concurrency models for BDI frameworks, elicited by analysing state-of-the-art technologies, and aimed at hel** both BDI designers and developers in making informed decisions. Comparison among BDI technologies w.r.t. concurrency models reveals heterogeneous support, and low customisability.
△ Less
Submitted 16 April, 2024;
originally announced April 2024.
-
On the external concurrency of current BDI frameworks for MAS
Authors:
Martina Baiardi,
Samuele Burattini,
Giovanni Ciatto,
Danilo Pianini,
Alessandro Ricci,
Andrea Omicini
Abstract:
The execution of Belief-Desire-Intention (BDI) agents in a Multi-Agent System (MAS) can be practically implemented on top of low-level concurrency mechanisms that impact on efficiency, determinism, and reproducibility. We argue that developers should specify the MAS behaviour independently of the execution model, and choose or configure the concurrency model later on, according to the specific nee…
▽ More
The execution of Belief-Desire-Intention (BDI) agents in a Multi-Agent System (MAS) can be practically implemented on top of low-level concurrency mechanisms that impact on efficiency, determinism, and reproducibility. We argue that developers should specify the MAS behaviour independently of the execution model, and choose or configure the concurrency model later on, according to the specific needs of their target domain, leaving the MAS specification unaffected. We identify patterns for map** the agent execution over the underlying concurrency abstractions, and investigate which concurrency models are supported by some of the most commonly used BDI platforms. Although most frameworks support multiple concurrency models, we find that they mostly hide them under the hood, making them opaque to the developer, and actually limiting the possibility of fine-tuning the MAS.
△ Less
Submitted 29 May, 2024; v1 submitted 16 April, 2024;
originally announced April 2024.
-
Space-Fluid Adaptive Sampling by Self-Organisation
Authors:
Roberto Casadei,
Stefano Mariani,
Danilo Pianini,
Mirko Viroli,
Franco Zambonelli
Abstract:
A recurrent task in coordinated systems is managing (estimating, predicting, or controlling) signals that vary in space, such as distributed sensed data or computation outcomes. Especially in large-scale settings, the problem can be addressed through decentralised and situated computing systems: nodes can locally sense, process, and act upon signals, and coordinate with neighbours to implement col…
▽ More
A recurrent task in coordinated systems is managing (estimating, predicting, or controlling) signals that vary in space, such as distributed sensed data or computation outcomes. Especially in large-scale settings, the problem can be addressed through decentralised and situated computing systems: nodes can locally sense, process, and act upon signals, and coordinate with neighbours to implement collective strategies. Accordingly, in this work we devise distributed coordination strategies for the estimation of a spatial phenomenon through collaborative adaptive sampling. Our design is based on the idea of dynamically partitioning space into regions that compete and grow/shrink to provide accurate aggregate sampling. Such regions hence define a sort of virtualised space that is "fluid", since its structure adapts in response to pressure forces exerted by the underlying phenomenon. We provide an adaptive sampling algorithm in the field-based coordination framework, and prove it is self-stabilising and locally optimal. Finally, we verify by simulation that the proposed algorithm effectively carries out a spatially adaptive sampling while maintaining a tuneable trade-off between accuracy and efficiency.
△ Less
Submitted 15 December, 2023; v1 submitted 31 October, 2022;
originally announced October 2022.
-
Time-Fluid Field-Based Coordination through Programmable Distributed Schedulers
Authors:
Danilo Pianini,
Roberto Casadei,
Mirko Viroli,
Stefano Mariani,
Franco Zambonelli
Abstract:
Emerging application scenarios, such as cyber-physical systems (CPSs), the Internet of Things (IoT), and edge computing, call for coordination approaches addressing openness, self-adaptation, heterogeneity, and deployment agnosticism. Field-based coordination is one such approach, promoting the idea of programming system coordination declaratively from a global perspective, in terms of functional…
▽ More
Emerging application scenarios, such as cyber-physical systems (CPSs), the Internet of Things (IoT), and edge computing, call for coordination approaches addressing openness, self-adaptation, heterogeneity, and deployment agnosticism. Field-based coordination is one such approach, promoting the idea of programming system coordination declaratively from a global perspective, in terms of functional manipulation and evolution in "space and time" of distributed data structures called fields. More specifically regarding time, in field-based coordination (as in many other distributed approaches to coordination) it is assumed that local activities in each device are regulated by a fair and unsynchronised fixed clock working at the platform level. In this work, we challenge this assumption, and propose an alternative approach where scheduling is programmed in a natural way (along with usual field-based coordination) in terms of causality fields, each enacting a programmable distributed notion of a computation "cause" (why and when a field computation has to be locally computed) and how it should change across time and space. Starting from low-level platform triggers, such causality fields can be organised into multiple layers, up to high-level, collectively-computed time abstractions, to be used at the application level. This reinterpretation of time in terms of articulated causality relations allows us to express what we call "time-fluid" coordination, where scheduling can be finely tuned so as to select the triggers to react to, generally allowing to adaptively balance performance (system reactivity) and cost (resource usage) of computations. We formalise the proposed scheduling framework for field-based coordination in the context of the field calculus, discuss an implementation in the aggregate computing framework, and finally evaluate the approach via simulation on several case studies.
△ Less
Submitted 24 November, 2021; v1 submitted 26 December, 2020;
originally announced December 2020.
-
Field-based Coordination with the Share Operator
Authors:
Giorgio Audrito,
Jacob Beal,
Ferruccio Damiani,
Danilo Pianini,
Mirko Viroli
Abstract:
Field-based coordination has been proposed as a model for coordinating collective adaptive systems, promoting a view of distributed computations as functions manipulating data structures spread over space and evolving over time, called computational fields. The field calculus is a formal foundation for field computations, providing specific constructs for evolution (time) and neighbor interaction…
▽ More
Field-based coordination has been proposed as a model for coordinating collective adaptive systems, promoting a view of distributed computations as functions manipulating data structures spread over space and evolving over time, called computational fields. The field calculus is a formal foundation for field computations, providing specific constructs for evolution (time) and neighbor interaction (space), which are handled by separate operators (called rep and nbr, respectively). This approach, however, intrinsically limits the speed of information propagation that can be achieved by their combined use. In this paper, we propose a new field-based coordination operator called share, which captures the space-time nature of field computations in a single operator that declaratively achieves: (i) observation of neighbors' values; (ii) reduction to a single local value; and (iii) update and converse sharing to neighbors of a local variable. We show that for an important class of self-stabilising computations, share can replace all occurrences of rep and nbr constructs. In addition to conceptual economy, use of the share operator also allows many prior field calculus algorithms to be greatly accelerated, which we validate empirically with simulations of frequently used network propagation and collection algorithms.
△ Less
Submitted 30 September, 2020; v1 submitted 7 October, 2019;
originally announced October 2019.
-
Proceedings First Workshop on Architectures, Languages and Paradigms for IoT
Authors:
Danilo Pianini,
Guido Salvaneschi
Abstract:
The 1st workshop on Architectures, Languages and Paradigms for IoT (ALP4IoT 2017), was held in Turin on September 19th, 2017. ALP4IoT was a satellite event of the 13th International Conference on integrated Formal Methods (iFM 2017). The workshop aimed at critically reviewing the state-of-the-art and the state-of-the-practice of formal techniques and software methods for the IoT, presenting open p…
▽ More
The 1st workshop on Architectures, Languages and Paradigms for IoT (ALP4IoT 2017), was held in Turin on September 19th, 2017. ALP4IoT was a satellite event of the 13th International Conference on integrated Formal Methods (iFM 2017). The workshop aimed at critically reviewing the state-of-the-art and the state-of-the-practice of formal techniques and software methods for the IoT, presenting open problems and challenges and triggering a discussion among the participants with different views and backgrounds. The Internet of Things is ushering a dramatic increase in number and variety of interconnected and smart objects. Communication capabilities and computational power are growingly embedded in everyday devices, including personal smart devices, public displays, cars, drones, and electronic tags. This state of the things opens an unprecedented range of research opportunities: the inherent distribution, mobility, situatedness, and heterogeneity of such devices call for proper scientific understanding of the foundations of such systems as well as for novel software methods. The workshop solicited original contributions on architectures, languages, paradigms, and techniques with potential practical and theoretical impact on software systems targeting the IoT, welcoming inter-disciplinary approaches.
△ Less
Submitted 3 February, 2018;
originally announced February 2018.
-
Engineering Resilient Collective Adaptive Systems by Self-Stabilisation
Authors:
Mirko Viroli,
Giorgio Audrito,
Jacob Beal,
Ferruccio Damiani,
Danilo Pianini
Abstract:
Collective adaptive systems are an emerging class of networked computational systems, particularly suited in application domains such as smart cities, complex sensor networks, and the Internet of Things. These systems tend to feature large scale, heterogeneity of communication model (including opportunistic peer-to-peer wireless interaction), and require inherent self-adaptiveness properties to ad…
▽ More
Collective adaptive systems are an emerging class of networked computational systems, particularly suited in application domains such as smart cities, complex sensor networks, and the Internet of Things. These systems tend to feature large scale, heterogeneity of communication model (including opportunistic peer-to-peer wireless interaction), and require inherent self-adaptiveness properties to address unforeseen changes in operating conditions. In this context, it is extremely difficult (if not seemingly intractable) to engineer reusable pieces of distributed behaviour so as to make them provably correct and smoothly composable.
Building on the field calculus, a computational model (and associated toolchain) capturing the notion of aggregate network-level computation, we address this problem with an engineering methodology coupling formal theory and computer simulation. On the one hand, functional properties are addressed by identifying the largest-to-date field calculus fragment generating self-stabilising behaviour, guaranteed to eventually attain a correct and stable final state despite any transient perturbation in state or topology, and including highly reusable building blocks for information spreading, aggregation, and time evolution. On the other hand, dynamical properties are addressed by simulation, empirically evaluating the different performances that can be obtained by switching between implementations of building blocks with provably equivalent functional properties. Overall, our methodology sheds light on how to identify core building blocks of collective behaviour, and how to select implementations that improve system performance while leaving overall system function and resiliency properties unchanged.
△ Less
Submitted 22 November, 2017;
originally announced November 2017.
-
A Higher-order Calculus of Computational Fields
Authors:
Mirko Viroli,
Giorgio Audrito,
Ferruccio Damiani,
Danilo Pianini,
Jacob Beal
Abstract:
The complexity of large-scale distributed systems, particularly when deployed in physical space, calls for new mechanisms to address composability and reusability of collective adaptive behaviour. Computational fields have been proposed as an effective abstraction to fill the gap between the macro-level of such systems (specifying a system's collective behaviour) and the micro-level (individual de…
▽ More
The complexity of large-scale distributed systems, particularly when deployed in physical space, calls for new mechanisms to address composability and reusability of collective adaptive behaviour. Computational fields have been proposed as an effective abstraction to fill the gap between the macro-level of such systems (specifying a system's collective behaviour) and the micro-level (individual devices' actions of computation and interaction to implement that collective specification), thereby providing a basis to better facilitate the engineering of collective APIs and complex systems at higher levels of abstraction. This paper proposes a full formal foundation for field computations, in terms of a core (higher-order) calculus of computational fields containing a few key syntactic constructs, and equipped with ty**, denotational and operational semantics. Critically, this allows formal establishment of a link between the micro- and macro-levels of collective adaptive systems, by a result of full abstraction and adequacy for the (aggregate) denotational semantics with respect to the (per-device) operational semantics.
△ Less
Submitted 25 October, 2016;
originally announced October 2016.