Rocco De Nicola

Rocco De Nicola
IMT School for Advanced Studies Lucca · SysMA System Modelling and Analysis Research Unit

PhD

About

298
Publications
58,278
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
8,022
Citations

Publications

Publications (298)
Article
Full-text available
Coordination languages for tuple spaces can offer significant advantages in the specification and implementation of distributed systems, but often do require manual programming effort to ensure consistency. We propose an experimental technique for automated replication of tuple spaces in distributed systems. The system of interest is modelled as a...
Chapter
Many natural and artificial systems studied across a variety of disciplines, from biology to social sciences, consist of relatively simple agents with a partial knowledge of the system as a whole, where complex collective dynamics that are difficult to anticipate emerge from local interaction. We argue how formal methods broadly understood can be o...
Article
Sequential emulation is a semantics-based technique to automatically reduce property checking of distributed systems to the analysis of sequential programs. An automated procedure takes as input a formal specification of a distributed system, a property of interest, and the structural operational semantics of the specification language and generate...
Article
For more than a decade now, academicians and online platform administrators have been studying solutions to the problem of bot detection. Bots are computer algorithms whose use is far from being benign: malicious bots are purposely created to distribute spam, sponsor public characters and, ultimately, induce a bias within the public opinion. To fig...
Chapter
Coordination languages for tuple spaces can offer significant advantages in the specification and implementation of distributed systems, but often do require manual programming effort to ensure consistency. We propose an experimental technique for automated replication of tuple spaces in distributed systems. The system of interest is modelled as a...
Article
Full-text available
The COVID-19 pandemic has impacted on every human activity and, because of the urgency of finding the proper responses to such an unprecedented emergency, it generated a diffused societal debate. The online version of this discussion was not exempted by the presence of misinformation campaigns, but, differently from what already witnessed in other...
Article
Thanks to platforms such as Twitter and Facebook, people can know facts and events that otherwise would have been silenced. However, social media significantly contribute also to fast spreading biased and false news while targeting specific segments of the population. We have seen how false information can be spread using automated accounts, known...
Article
Full-text available
Building open, distributed systems while guaranteeing a specific behaviour is difficult because of the dynamicity of the operating environments and the complexity of the interactions of their components. The AbC calculus provides a novel communication mechanism to select interacting partners based on their runtime capabilities, making it naturally...
Preprint
Full-text available
Thanks to platforms such as Twitter and Facebook, people can know facts and events that otherwise would have been silenced. However, social media significantly contribute also to fast spreading biased and false news while targeting specific segments of the population. We have seen how false information can be spread using automated accounts, known...
Article
Full-text available
This article investigates the relation between festivals and their destination cities. We examine what festival attendees think about the festival experience and the host city, and how the online image of the host city is shaped through the dissemination of these opinions on Twitter. We conduct a case study and analyze the opinions about a big scal...
Chapter
We propose a technique to automatically generate a formal specification of the model of a system from a set of observations of its behaviour. We aim to free systems modellers from the burden of explicitly formalising the behaviour of an existing system to analyse it. We take advantage of an algorithm introduced by the process mining community, whic...
Chapter
A collective adaptive system consists of collaborating entities that are able to adapt at runtime to dynamically changing, open-ended environments and to evolving requirements. Rigorous engineering requires appropriate methods and tools that help guarantee that a collective adaptive system lives up to its intended purpose. This note gives an introd...
Preprint
Full-text available
During the Covid-19 pandemics, we also experience another dangerous pandemics based on misinformation. Narratives disconnected from fact-checking on the origin and cure of the disease intertwined with pre-existing political fights. We collect a database on Twitter posts and analyse the topology of the networks of retweeters (users broadcasting agai...
Chapter
We propose a methodology for verifying specifications written in AbC, a process calculus for collective systems with a novel communication mechanism relying on predicates over attributes exposed by the components. We emulate the execution of AbC actions and the operators that compose them as programs where guarded sequential functions are non-deter...
Article
Full-text available
Modern systems evolve in unpredictable environments and have to continuously adapt their behaviour to changing conditions. The “DReAM” (Dynamic Reconfigurable Architecture Modelling) framework has been designed for modelling reconfigurable dynamic systems. It provides a rule-based language, inspired from Interaction Logic, which is expressive and e...
Article
Full-text available
An adaptive system is able to adapt at runtime to dynamically changing environments and to new requirements. Adaptive systems can be single adaptive entities or collective ones that consist of several collaborating entities. Rigorous engineering requires appropriate methods and tools that help guaranteeing that an adaptive system lives up to its in...
Article
Full-text available
Nowadays, Social Media are a privileged channel for news spreading, information exchange, and fact checking. Unexpectedly for many users, automated accounts, known as social bots, contribute more and more to this process of information diffusion. Using Twitter as a benchmark, we consider the traffic exchanged, over one month of observation, on the...
Conference Paper
Recent studies have confirmed a growing trend, especially among youngsters, of using Online Social Media as favourite information platform at the expense of traditional mass media. Indeed, they can easily reach a wide audience at a high speed; but exactly because of this they are the preferred medium for influencing public opinion via so-called fak...
Preprint
Recent studies have confirmed a growing trend, especially among youngsters, of using Online Social Media as favourite information platform at the expense of traditional mass media. Indeed, they can easily reach a wide audience at a high speed; but exactly because of this they are the preferred medium for influencing public opinion via so-called fak...
Article
Full-text available
The current cloud market is dominated by a few providers, which offer cloud services in a take‐it‐or‐leave‐it manner. However, the dynamism and uncertainty of cloud environments may require the change over time of both application requirements and service capabilities. The current service‐level agreement (SLA) management solutions cannot easily gua...
Article
Full-text available
Collective adaptive systems are new emerging computational systems consisting of a large number of interacting components and featuring complex behaviour. These systems are usually distributed, heterogeneous, decentralised and interdependent, and are operating in dynamic and possibly unpredictable environments. Finding ways to understand and design...
Preprint
We review some results regarding specification, programming and verification of different classes of distributed systems which stemmed from the research of the Concurrency and Mobility Group at University of Firenze. More specifically, we examine the distinguishing features of network-aware programming, service-oriented computing, autonomic computi...
Article
Full-text available
Latency-sensitive and data-intensive applications, such as IoT or mobile services, are leveraged by Edge computing, which extends the cloud ecosystem with distributed computational resources in proximity to data providers and consumers. This brings significant benefits in terms of lower latency and higher bandwidth. However, by definition, edge com...
Article
We introduce a simple language for multi-agent systems that lends itself to intuitive design of local specifications. Agents operate on (parts of) a decentralized data structure, the stigmergy, that contains their (partial) knowledge. Such knowledge is asynchronously propagated across local stigmergies. In this way, local changes may influence glob...
Article
We review some results regarding specification, programming and verification of different classes of distributed systems which stemmed from the research of the Concurrency and Mobility Group at University of Firenze. More specifically, we examine the distinguishing features of network-aware programming, service-oriented computing, autonomic computi...
Chapter
Full-text available
A methodology is presented for the systematic development of systems of many components, that interact by relying on predicates over attributes that they themselves mutually expose. The starting point is a novel process calculus AbC (for Attribute-based Communication) introduced for modelling collective-adaptive systems. It is shown how to refine t...
Chapter
Full-text available
Online Social Media represent a pervasive source of information able to reach a huge audience. Sadly, recent studies show how online social bots (automated, often malicious accounts, populating social networks and mimicking genuine users) are able to amplify the dissemination of (fake) information by orders of magnitude. Using Twitter as a benchmar...
Chapter
Software systems have reached a level of complexity that demands new approaches to software design in order to support continuous adaptation to the changes in their internal and external environment. This implies the capability of capturing at design-time the dynamic features of systems that are composed of large numbers of interacting components i...
Preprint
Full-text available
Online Social Media represent a pervasive source of information able to reach a huge audience. Sadly, recent studies show how online social bots (automated, often malicious accounts, populating social networks and mimicking genuine users) are able to amplify the dissemination of (fake) information by orders of magnitude. Using Twitter as a benchmar...
Article
Full-text available
We propose a process calculus, named AbC, to study the behavioural theory of interactions in collective-adaptive systems by relying on attribute-based communication. An AbC system consists of a set of parallel components each of which is equipped with a set of attributes. Communication takes place in an implicit multicast fashion, and interaction a...
Chapter
Attribute-based communication is a promising paradigm for modelling and programming complex interactions in open distributed systems such as collective adaptive systems (CAS). This new paradigm has been formalized in AbC, a kernel calculus with a minimal set of primitives that can be used to model formally verifiable CAS. The calculus assumes an un...
Preprint
Full-text available
Social Media are nowadays the privileged channel for information spreading and news checking. Unexpectedly for most of the users, automated accounts, also known as social bots, contribute more and more to this process of news spreading. Using Twitter as a benchmark, we consider the traffic exchanged, over one month of observation, on a specific top...
Conference Paper
Social networks can quickly propagate information to large audiences and can be used to spread fake news or to provide false figures of popularity. Social bots, i.e., software robots that automatically interact with human users and produce content under a fictive identity, are used for such harmful activities. In this paper, we study the relationsh...
Article
Full-text available
In this paper, we introduce SLAC, a SLA definition language specifically devised for clouds as a formalism to support the whole SLA lifecycle. The main novelty of the language is the possibility of capturing within the SLA the dynamic aspects of the environment by defining the conditions and actions to change service levels at runtime. SLAC permits...
Chapter
The most popular e-commerce search engines allow the user to run a keyword search, to find relevant results and to narrow down the results by mean of filters. The engines can also keep track of data and activities of the users, to provide personalized content, thus filtering automatically out a part of the results. Issues occur when personalization...
Conference Paper
Full-text available
Cloud services operate in a highly dynamic environment. This means that they need to be assorted with dynamic SLAs which explicate how a rich set of QoS guarantees evolves over time. Only in this way, cloud users will trust and thus migrate their processes to the cloud. Research-wise, SLAs are assumed to include single states while they are managed...
Chapter
Modern systems evolve in unpredictable environments and have to continuously adapt their behavior to changing conditions. The “DReAM” (Dynamic Reconfigurable Architecture Modeling) framework, has been designed for modeling reconfigurable dynamic systems. It provides a rule-based language, inspired from Interaction Logic, expressive and easy to use,...
Chapter
A collective adaptive system consists of collaborating entities that are able to adapt at runtime to dynamically changing, open-ended environments and to new requirements. Rigorous engineering requires appropriate methods and tools that help guarantee that a collective adaptive system lives up to its intended purpose. This note gives an introductio...
Chapter
Full-text available
This short paper gives an introduction to a panel held as part of the track on ‘Rigorous Engineering of Collective Adaptive Systems’ at ISOLA 2018. The discussion was structured on the basis of twenty questions ranging from the evolution and universality of autonomous systems to correctness, reliability, and legal issues. ‘Do you consider adaptivit...
Chapter
Full-text available
The attribute-based interaction paradigm has been proposed as an appropriate tool to program the interactions of Collective Adaptive Systems where a group of components can interact according to their run-time properties and the environment they operate in. It has been shown that the novel paradigm is very expressive by means of encoding other well...
Article
Full-text available
Smart contracts and blockchain have the potential to change the current shape of cloud markets by enabling the development of completely decentralised cloud/fog solutions, which lower costs and enforce predictable results without requiring any intermediary. In this paper, we survey three of these solutions, namely Golem, iExec and SONM, compare the...
Article
Attribute-based communication provides a novel mechanism to dynamically select groups of communicating entities by relying on predicates over their exposed attributes. This paradigm represents an interesting alternative to broadcasting and one-to-one communication, and has potential applications in modelling and analysing complex open-ended systems...
Chapter
We introduce a simple language for multi-agent systems that lends itself to intuitive design of local specifications. Agents operate on (parts of) a decentralized data structure, the stigmergy, that contains their (partial) knowledge. Such knowledge is asynchronously propagated across local stigmergies. In this way, local changes may influence glob...
Chapter
Full-text available
Collective-adaptive systems offer an interesting notion of interaction where run-time contextual data are the driving force for interaction. The attribute-based interaction has been proposed as a foundational theoretical framework to model CAS interactions. The framework permits a group of partners to interact by considering their run-time properti...
Preprint
Modern systems evolve in unpredictable environments and have to continuously adapt their behavior to changing conditions. The "DReAM" (Dynamic Reconfigurable Architecture Modeling) framework, has been designed for modeling reconfigurable dynamic systems. It provides a rule-based language, inspired from Interaction Logic, which is expressive and eas...
Article
Full-text available
Incorrect operations of a Multi-Robot System (MRS) may not only lead to unsatisfactory results, but can also cause economic losses and threats to safety. These threats may not always be apparent, since they may arise as unforeseen consequences of the interactions between elements of the system. This call for tools and techniques that can help in pr...
Article
Among the paradigms for parallel and distributed computing, the one popularized with Linda, and based on tuple spaces, is one of the least used, despite the fact of being intuitive, easy to understand, and easy to use. A tuple space is a repository, where processes can add, withdraw, or read tuples by means of atomic operations. Tuples may contain...
Article
Full-text available
We propose a process calculus, named AbC, to study the behavioural theory of interactions in collective-adaptive systems by relying on attribute-based communication. An AbC system consists of a set of parallel components each of which is equipped with a set of attributes. Communication takes place in an implicit multicast fashion, and interaction a...
Preprint
Full-text available
Collective adaptive systems are new emerging computational systems consisting of a large number of interacting components and featuring complex behaviour. These systems are usually distributed, heterogeneous, decentralised and interdependent, and are operating in dynamic and possibly unpredictable environments. Finding ways to understand and design...
Chapter
Full-text available
AbC is a process calculus designed for describing collective adaptive systems, whose distinguishing feature is the communication mechanism relying on predicates over attributes exposed by components. A novel approach to the analysis of concurrent systems modelled as AbC terms is presented that relies on the UMC model checker, a tool based on modell...
Conference Paper
Attribute-based communication provides a novel mechanism to dynamically select groups of communicating entities by relying on predicates over their exposed attributes. In this paper, we embed the basic primitives for attribute-based communication into the functional concurrent language Erlang to obtain what we call AErlang, for attribute Erlang. To...
Conference Paper
Full-text available
A smart contract is the formalisation of an agreement, whose terms are automatically enforced by relying on a transaction protocol, while minimising the need of intermediaries. Such contracts not only specify the service and its quality but also the possible changes at runtime of the terms of agreement. Although smart contracts provide a great deal...
Conference Paper
AErlang is an extension of the Erlang programming language which is enriched with attribute-based communication. In AErlang, the Erlang send and receive constructs are extended to permit partner selection by relying on predicates over set of attributes. AErlang avoids the limitations of the Erlang point-to-point communication making it possible to...
Article
Full-text available
In 2003 we showed that right-linear systems of equations over regular expressions, when interpreted in a category of trees, have a solution when- ever they enjoy a specific property that we called hierarchicity and that is instrumental to avoid critical mutual recursive definitions. In this note, we prove that a right-linear system of polynomial en...
Article
Among the paradigms for parallel and distributed computing, the one popularized with Linda, and based on tuple spaces, is one of the least used, despite the fact of being intuitive, easy to understand and to use. A tuple space is a repository, where processes can add, withdraw or read tuples by means of atomic operations. Tuples may contain differe...
Article
Variants of the must testing approach have been successfully applied in Service Oriented Computing for analysing the compliance between (contracts exposed by) clients and servers or, more generally, between two peers. It has however been argued that multiparty scenarios call for more permissive notions of compliance because partners usually do not...
Chapter
Linguistic primitives for replica-aware coordination offer suitable solutions to the challenging problems of data distribution and locality in large-scale high-performance computing. The data replication mechanisms that had previously been designed to extend Klaim with replicated tuples are now used to experiment with X10, a parallel programming la...
Conference Paper
Full-text available
In most distributed systems, named connections (i.e., channels) are used as means for programming interaction between communicating partners. These kinds of connections are low level and usually totally independent of the knowledge, the status, the capabilities, ..., in one word, of the attributes of the interacting partners. We have recently intro...
Conference Paper
Full-text available
In the Cloud domain, to guarantee adaptation to the needs of users and providers, Service-Level-Agreements (SLAs) would benefit from mechanisms to capture the dynamism of services. The existing SLA languages attempt to address this challenge by focusing on renegotiation of the agreement terms, which is a heavy-weight process, not really suitable fo...
Conference Paper
Among the paradigms for parallel and distributed computing, the one popularized with Linda and based on tuple spaces is the least used one, despite the fact of being intuitive, easy to understand and to use. A tuple space is a repository of tuples, where process can add, withdraw or read tuples by means of atomic operations. Tuples may contain diff...
Conference Paper
Full-text available
Price steering is the practice of " changing the order of search results to highlight specific products " and products prices. In this paper, we show an initial investigation to quantify the price steering level in search results shown to different kind of users on Google Shopping. We mimic the category of affluent users. Affluent users visit websi...
Conference Paper
Full-text available
In open systems, i.e. systems operating in an environment that they cannot control and with components that may join or leave, behaviors can arise as side effects of intensive components interaction. Finding ways to understand and design these systems and, most of all, to model the interactions of their components, is a difficult but important ende...
Conference Paper
Variants of the must testing approach have been successfully applied in Service Oriented Computing for analysing the compliance between (contracts exposed by) clients and servers or, more generally, between two peers. It has however been argued that multiparty scenarios call for more permissive notions of compliance because partners usually do not...
Article
Full-text available
The development of strategies, technologies and tools to enhance user collaboration around disasters has become an emergent field, that has triggered the integration of different technologies in order to efficiently drive decision making in emergency management (EM). In this paper, we critically review the existing strategies and technologies for E...
Book
This book presents 8 tutorial lectures given by leading researchers at the 16th edition of the International School on Formal Methods for the Design of Computer, Communication and Software Systems, SFM 2016, held in Bertinoro, Italy, in June 2016. SFM 2016 was devoted to the Quantitative Evaluation of Collective Adaptive Systems and covered topics...
Book
This book constitutes the proceedings of the 14th International Conference on Software Engineering and Formal Methods, SEFM 2016, held as part of STAF 2016, in Vienna, Austria, in July 2016. The 20 full and 5 short papers presented in this volume were carefully reviewed and selected from 88 submissions. They were organized in topical sections named...
Chapter
Several type systems have been developed to address the conformance between specifications and implementations, where types are specifications and type-checking ensures the conformance relation. In this paper, we take a different perspective and assume that programming takes place only at the specification level, by using a type language that captu...