Rocco De Nicola

dblp:n/RDNicola · DBLP profile ↗
← Back
135ranked-venue papers
62as first author
16since 2021 · last 2026
0000-0003-4691-7570ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 63 · 27 first-author · 1 since 2021Software engineering, systems software and programming languages · 43 · 19 first-author · 12 since 2021Systems, architecture and hardware · 7 · 2 first-author · 2 since 2021Computer networks · 5 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 5 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author · 1 since 2021
YearPublicationVenuePosition
2026 Rigorous engineering of collective adaptive systems - 3rd special section: part II
abstract
Abstract Adaptive systems are designed to modify their behaviour at runtime in response to dynamically changing and open-ended environments as well as evolving requirements. Such systems may operate as individual adaptive entities or as collective adaptive systems composed of multiple collaborating components. Rigorous engineering of these systems requires appropriate methods, models, and tools that ensure reliability, correctness, and alignment with their intended purpose. This paper introduces the second part of the special section on Rigorous Engineering of Collective Adaptive Systems. It presents seven selected contributions and positions them within four major research directions: (i) Large Ensembles and Collective Dynamics, (ii) Knowledge, Consciousness and Emergence, (iii) Automated Reasoning for Better Interaction, and (iv) Analysing Collective Adaptive Systems. Together, they illustrate current progress and emerging challenges in the rigorous engineering of collective adaptive systems.
Martin Wirsing, Rocco De Nicola, Stefan Jähnichen, Mirco Tribastone
Int. J. Softw. Tools Technol. Transf.2
2025 Model-based verification of data protection mechanisms in collaborative business processes
Sara Belluccini, Rocco De Nicola, Marlon Dumas, Pille Pullonen, Barbara Re 0001, Francesco Tiezzi 0001
Softw. Syst. Model.2
2025 Rigorous engineering of collective adaptive systems - 3rd special section: part I
abstract
Abstract Adaptive systems are designed to modify their behaviour at runtime in response to dynamically changing and open-ended environments as well as evolving requirements. Such systems may operate as individual adaptive entities or as collective adaptive systems composed of multiple collaborating components. Rigorous engineering of these systems requires appropriate methods, models, and tools that ensure reliability, correctness, and alignment with their intended purpose. This paper introduces the first part of the special section on Rigorous Engineering of Collective Adaptive Systems. It presents six of the thirteen selected contributions and positions them within two major research directions: (i) Modelling and Engineering Collective Adaptive Systems, and (ii) Analysing Collective Adaptive Systems. Together, these contributions illustrate current progress and emerging challenges in the rigorous engineering of collective adaptive systems.
Martin Wirsing, Rocco De Nicola, Stefan Jähnichen, Mirco Tribastone
Int. J. Softw. Tools Technol. Transf.2
2024 Rigorous Engineering of Collective Adaptive Systems Introduction to the 5rmth Track Edition
Martin Wirsing, Rocco De Nicola, Stefan Jähnichen, Mirco Tribastone
ISoLA (2)2
2023 Stochastic modeling and analysis of the bitcoin protocol in the presence of block communication delays
abstract
International audience
Stefano Bistarelli, Rocco De Nicola, Letterio Galletta, Cosimo Laneve, Ivan Mercanti, Adele Veschetti
Concurr. Comput. Pract. Exp.2
2023 Multiparty testing preorders
abstract
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 have full coordination capabilities. We propose two new testing preorders, which are obtained by restricting the set of potential observers. For the first preorder, called uncoordinated, we allow only sets of parallel observers that use different parts of the interface of a given service and have no possibility of intercommunication. For the second preorder, that we call individualistic, we instead rely on parallel observers that perceive as silent all the actions that are not in the interface of interest. We have that the uncoordinated preorder is coarser than the classical must testing preorder and finer than the individualistic one. We also provide a characterisation in terms of decorated traces for both preorders: the uncoordinated preorder is defined in terms of must-sets and Mazurkiewicz traces while the individualistic one is described in terms of classes of filtered traces that only contain designated visible actions and must-sets.
Rocco De Nicola, Hernán C. Melgratti
Log. Methods Comput. Sci.1
2023 Modelling flocks of birds and colonies of ants from the bottom up
abstract
Abstract This paper advocates the use of compositional specifications based on formal languages as a means of modelling and analysing sophisticated collective behaviour in natural systems. With the use of appropriate linguistic constructs, models can be developed that are both compact and intuitive, and can be easily refined and extended in small steps. Automated workflows can be implemented on top of this methodology to provide quick feedback, enabling rapid design iterations. To support our argument, we present three examples from the natural world, focusing on flocks of birds and colonies of ants, which feature well-known examples of emergent behaviour in collective adaptive systems. We use an agent-based language to develop simple models that aim at capturing these collective phenomena, and discuss the specific language constructs that we use in the process. Then, we adapt an existing verification tool for the language to simulate our models, and show that our simulations do display emergent behaviour.
Rocco De Nicola, Luca Di Stefano 0001, Omar Inverso, Serenella Valiani
Int. J. Softw. Tools Technol. Transf.1
2023 Rigorous engineering of collective adaptive systems - 2nd special section
abstract
Abstract 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 intended purpose. This paper introduces the special section on “Rigorous Engineering of Collective Adaptive Systems.” It presents the 11 contributions of the section categorizing them into five distinct research lines: correctness by design and synthesis, computing with bio-inspired communication, new system models, machine learning, and programming and analyzing ensembles.
Martin Wirsing, Stefan Jähnichen, Rocco De Nicola
Int. J. Softw. Tools Technol. Transf.3
2022 Modelling Flocks of Birds from the Bottom Up
Rocco De Nicola, Luca Di Stefano 0001, Omar Inverso, Serenella Valiani
ISoLA (3)1
2022 Rigorous Engineering of Collective Adaptive Systems Introduction to the 4th Track Edition
Martin Wirsing, Rocco De Nicola, Stefan Jähnichen
ISoLA (3)2
2022 Automated replication of tuple spaces via static analysis
abstract
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 concurrent Go program where different threads represent the behaviour of the separate components, each owning its own local tuple repository. We automatically transform the initial program by combining program transformation and static analysis, so that tuples are replicated depending on the components' read-write access patterns. In this way, we turn the initial system into a replicated one where the replication of tuples is automatically achieved, while avoiding unnecessary replication overhead. Custom static analyses may be plugged in easily in our prototype implementation. We see this as a first step towards developing a fully-fledged framework to support designers to quickly evaluate many classes of replication-based systems under different consistency levels.
Rocco De Nicola, Luca Di Stefano 0001, Omar Inverso, Aline Uwimbabazi
Sci. Comput. Program.1
2022 Verification of Distributed Systems via Sequential Emulation
abstract
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 generates a sequential program whose execution traces emulate the possible evolutions of the considered system. The problem as to whether the property of interest holds for the system can then be expressed either as a reachability or as a termination query on the program. This allows to immediately adapt mature verification techniques developed for general-purpose languages to domain-specific languages, and to effortlessly integrate new techniques as soon as they become available. We test our approach on a selection of concurrent systems originated from different contexts from population protocols to models of flocking behaviour. By combining a comprehensive range of program verification techniques, from traditional symbolic execution to modern inductive-based methods such as property-directed reachability, we are able to draw consistent and correct verification verdicts for the considered systems.
Luca Di Stefano 0001, Rocco De Nicola, Omar Inverso
ACM Trans. Softw. Eng. Methodol.2
2021 Distributed service-level agreement management with smart contracts and blockchain
abstract
Summary 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 guarantee a trustworthy, distributed SLA adaptation due to the centralized authority of the cloud provider who could also misbehave to pursue individual goals. To address the above issues, we propose a novel SLA management framework, which facilitates the specification and enforcement of dynamic SLAs that enable one to describe how, and under which conditions, the offered service level can change over time. The proposed framework relies on a two‐level blockchain architecture. At the first level, the smart SLA is transformed into a smart contract that dynamically guides service provisioning. At the second level, a permissioned blockchain is built through a federation of monitoring entities to generate objective measurements for the smart SLA/contract assessment. The scalability of this permissioned blockchain is also thoroughly evaluated. The proposed framework enables creating open distributed clouds, which offer manageable and dynamic services, and facilitates cost reduction for cloud consumers, while it increases flexibility in resource management and trust in the offered cloud services.
Rafael Brundo Uriarte, Huan Zhou 0006, Kyriakos Kritikos, Zeshun Shi, Zhiming Zhao, Rocco De Nicola
Concurr. Comput. Pract. Exp.6
2021 On the efficacy of old features for the detection of new bots
Rocco De Nicola, Marinella Petrocchi, Manuel Pratelli
Inf. Process. Manag.1
2021 Tribute to Anna Labella
Paolo Bottoni, Rocco De Nicola, Daniele Gorla
J. Log. Algebraic Methods Program.2
2021 Provably correct implementation of the AbC calculus
abstract
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 to model complex interactions and adaptive behaviour in such systems. The formal account of this calculus has enabled constructing formally verifiable models and proving their properties. In this paper, we i) propose an implementation of AbC using the Erlang language ii) formalize the operational semantics of our implementation; iii) propose a set of rules that given an AbC specification, automatically generate Erlang executable code; and iv) prove that the proposed translation is correct by establishing a simulation relation between source and target specifications. This enables us to guarantee that any property proved for a given AbC specification is preserved by the corresponding implementation.
Rocco De Nicola, Tan Duong, Michele Loreti
Sci. Comput. Program.1
2020 PALM: A Technique for Process ALgebraic Specification Mining
Sara Belluccini, Rocco De Nicola, Barbara Re 0001, Francesco Tiezzi 0001
IFM2
2020 Verifying AbC Specifications via Emulation
Rocco De Nicola, Tan Duong, Omar Inverso
ISoLA (2)1
2020 Rigorous Engineering of Collective Adaptive Systems Introduction to the 3rd Track Edition
Martin Wirsing, Rocco De Nicola, Stefan Jähnichen
ISoLA (2)2
2020 A formal approach to the engineering of domain-specific distributed systems
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese, Francesco Tiezzi 0001
J. Log. Algebraic Methods Program.1
2020 Programming interactions in collective adaptive systems by relying on attribute-based communication
abstract
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 these systems and, most of all, to model the interactions of their components, is a difficult but important endeavour. In this article we propose a language-based approach for programming the interactions of collective-adaptive systems by relying on attribute-based communication; a paradigm that permits a group of partners to communicate by considering their run-time properties and capabilities. We introduce AbC, a foundational calculus for attribute-based communication and show how its linguistic primitives can be used to program a sophisticated variant of the well-known problem of Stable Allocation in Content Delivery Networks. In our variant, content providers are assigned to clients based on collaboration and by taking into account the preferences of both parties in a fully anonymous and distributed settings. We also illustrate the expressive power of attribute-based communication by showing the natural encoding of group-based, publish/subscribe-based and channel-based communication paradigms into AbC.
Yehia Abd Alrahman, Rocco De Nicola, Michele Loreti
Sci. Comput. Program.2
2020 Multi-agent systems with virtual stigmergy
Rocco De Nicola, Luca Di Stefano 0001, Omar Inverso
Sci. Comput. Program.1
2020 Rigorous engineering of collective adaptive systems: special section
abstract
Abstract 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 intended purpose. This paper introduces the special section on “Rigorous Engineering of Collective Adaptive Systems.” It presents the seven contributions of the section and gives a short overview of the field of rigorously engineering collective adaptive systems by structuring it according to three topics: systematic development, methods and theories for modelling and analysis, and techniques for programming and operating collective adaptive systems.
Rocco De Nicola, Stefan Jähnichen, Martin Wirsing
Int. J. Softw. Tools Technol. Transf.1
2020 The DReAM framework for dynamic reconfigurable architecture modelling: theory and applications
Rocco De Nicola, Alessandro Maggi, Joseph Sifakis
Int. J. Softw. Tools Technol. Transf.1
2019 ABEL - A Domain Specific Framework for Programming with Attribute-Based Communication
Rocco De Nicola, Tan Duong, Michele Loreti
COORDINATION1
2019 Do You Really Follow Them? Automatic Detection of Credulous Twitter Users
Alessandro Balestrucci, Rocco De Nicola, Marinella Petrocchi, Catia Trubiani
IDEAL (1)2
2019 Defining and guaranteeing dynamic service levels in clouds
Rafael Brundo Uriarte, Rocco De Nicola, Vincenzo Scoca, Francesco Tiezzi 0001
Future Gener. Comput. Syst.2
2019 Addressing Application Latency Requirements through Edge Scheduling
abstract
Abstract 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 computing has limited resources with respect to cloud counterparts; thus, there exists a trade-off between proximity to users and resource utilization. Moreover, service availability is a significant concern at the edge of the network, where extensive support systems as in cloud data centers are not usually present. To overcome these limitations, we propose a score-based edge service scheduling algorithm that evaluates network, compute, and reliability capabilities of edge nodes. The algorithm outputs the maximum scoring mapping between resources and services with regard to four critical aspects of service quality. Our simulation-based experiments on live video streaming services demonstrate significant improvements in both network delay and service time. Moreover, we compare edge computing with cloud computing and content delivery networks within the context of latency-sensitive and data-intensive applications. The results suggest that our edge-based scheduling algorithm is a viable solution for high service quality and responsiveness in deploying such applications.
Atakan Aral, Ivona Brandic, Rafael Brundo Uriarte, Rocco De Nicola, Vincenzo Scoca
J. Grid Comput.4
2019 A calculus for collective-adaptive systems and its behavioural theory
Yehia Abd Alrahman, Rocco De Nicola, Michele Loreti
Inf. Comput.2
2018 Scheduling Latency-Sensitive Applications in Edge Computing
Vincenzo Scoca, Atakan Aral, Ivona Brandic, Rocco De Nicola, Rafael Brundo Uriarte
CLOSER4
2018 Towards Distributed SLA Management with Smart Contracts and Blockchain
abstract
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 mainly in a centralised manner. This paper proposes a framework to manage dynamic SLAs in a distributed manner by relying on a rich and dynamic SLA formalism which is transformed into a smart contract. This contract is then handled via the blockchain which exploits an oracle-based interface to retrieve the off-chain cloud service context sensed and enforce the right SLA management/modification functions. The proposed framework can change the current shape of the cloud market by catering for the notion of an open distributed cloud which offers manageable and dynamic services to cloud customers enabling them to reduce costs and increase the flexibility in resource management.
Rafael Brundo Uriarte, Rocco De Nicola, Kyriakos Kritikos
CloudCom2
2018 A Formal Approach to the Engineering of Domain-Specific Distributed Systems
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese, Francesco Tiezzi 0001
COORDINATION1
2018 A Distributed Coordination Infrastructure for Attribute-Based Interaction
Yehia Abd Alrahman, Rocco De Nicola, Giulio Garbi, Michele Loreti
FORTE2
2018 GoAt: Attribute-Based Interaction in Google Go
Yehia Abd Alrahman, Rocco De Nicola, Giulio Garbi
ISoLA (3)2
2018 The Meaning of Adaptation: Mastering the Unforeseen?
Stefan Jähnichen, Rocco De Nicola, Martin Wirsing
ISoLA (3)2
2018 Rigorous Engineering of Collective Adaptive Systems Introduction to the 2nd Track Edition
Rocco De Nicola, Stefan Jähnichen, Martin Wirsing
ISoLA (3)1
2018 DReAM: Dynamic Reconfigurable Architecture Modeling
Rocco De Nicola, Alessandro Maggi, Joseph Sifakis
ISoLA (3)1
2018 Improving Availability in Distributed Tuple Spaces Via Sharing Abstractions and Replication Strategies
abstract
Data availability is a key aspect of modern distributed systems. We discuss an extension of coordination languages based on tuple spaces with programming abstractions for sharing data and guaranteeing availability with different consistency guarantees. Data can be spread over the system according to user-specified replica placement strategies and user-specified consistency requirements. The framework takes care then of low-level management of the replicas, so that the programmer can just focus on the business logic of the application. We advocate that the proposed programming primitives are beneficial for data-oriented applications where different kinds of data may have different needs in terms of availability and consistency.
Vitaly Buravlev, Rocco De Nicola, Alberto Lluch-Lafuente, Claudio Antares Mezzina
PDP2
2018 Towards automatic translation of social network policies into controlled natural language
abstract
On social networks, the storage, usage, and sharing of users data is usually regulated by privacy policies: natural language terms, in which specific actions are authorised, obliged, or denied, under some contextual conditions. Although guaranteeing degrees of readability and clarity, policies in natural language are not machine readable, thus preventing automatic controls on how the data are actually going to be used and processed by the entities that operate on them. In this paper, we propose an ontology-based approach for automatic translation of privacy statements, from natural language to a controlled natural one, to facilitate machine-readable processing. We provide a prototype implementation of the software-based translation tool, showing its effectiveness on a set of Facebook data policies.
Irfan Khan Tanoli, Marinella Petrocchi, Rocco De Nicola
RCIS3
2018 Evaluating the efficiency of Linda implementations
abstract
Summary 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 different values, and processes can inspect their content via pattern matching. The lack of a reference implementation for this paradigm has prevented its wide spreading. In this paper, first we perform an extensive analysis of a number of actual implementations of the tuple space paradigm and summarize their main features. Then, we select four such implementations and compare their performances on four different case studies that aim at stressing different aspects of computing, such as communication, data manipulation, and CPU usage. After reasoning on strengths and weaknesses of the four implementations, we conclude with some recommendations for future work towards building an effective implementation of the tuple space paradigm.
Vitaly Buravlev, Rocco De Nicola, Claudio Antares Mezzina
Concurr. Comput. Pract. Exp.2
2018 AErlang: Empowering Erlang with attribute-based communication
Rocco De Nicola, Tan Duong, Omar Inverso, Catia Trubiani
Sci. Comput. Program.1
2017 Smart Contract Negotiation in Cloud Computing
abstract
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 of flexibility, analysing their compatibility and reaching agreements with this level of dynamism is considerably more challenging, due to the freedom of clients and providers in formulating needs/offers. We introduce a formal language to specify interactions between offers and requests and present a methodology for the autonomous negotiation of smart contracts, which analyses the cost and the necessary changes for reaching an agreement. Moreover, we describe a set of experiments that provides insights on the relative cost of dynamism in negotiating smart contracts and compare the request/offer matching rates of our solution with related works.
Vincenzo Scoca, Rafael Brundo Uriarte, Rocco De Nicola
CLOUD3
2017 AErlang: Empowering Erlang with Attribute-Based Communication
Rocco De Nicola, Tan Duong, Omar Inverso, Catia Trubiani
COORDINATION1
2017 AErlang at Work
Rocco De Nicola, Tan Duong, Omar Inverso, Catia Trubiani
SOFSEM1
2016 Tuple Spaces Implementations and Their Efficiency
Vitaly Buravlev, Rocco De Nicola, Claudio Antares Mezzina
COORDINATION2
2016 On the Power of Attribute-Based Communication
Yehia Abd Alrahman, Rocco De Nicola, Michele Loreti
FORTE2
2016 Programming of CAS Systems by Relying on Attribute-Based Communication
Yehia Abd Alrahman, Rocco De Nicola, Michele Loreti
ISoLA (1)2
2015 Replica-Based High-Performance Tuple Space Computing
Marina Andric, Rocco De Nicola, Alberto Lluch-Lafuente
COORDINATION2
2015 Twitlang(er): Interactions Modeling Language (and Interpreter) for Twitter
Rocco De Nicola, Alessandro Maggi, Marinella Petrocchi, Angelo Spognardi, Francesco Tiezzi 0001
SEFM1
2015 Revisiting bisimilarity and its modal logic for nondeterministic and probabilistic processes
Marco Bernardo 0001, Rocco De Nicola, Michele Loreti
Acta Informatica2
2015 CaSPiS: a calculus of sessions, pipelines and services
abstract
Service-oriented computing is calling for novel computational models and languages with well-disciplined primitives for client–server interaction, structured orchestration and unexpected events handling. We present CaSPiS, a process calculus where the conceptual abstractions of sessioning and pipelining play a central role for modelling service-oriented systems. CaSPiS sessions are two-sided, uniquely named and can be nested. CaSPiS pipelines permit orchestrating the flow of data produced by different sessions. The calculus is also equipped with operators for handling (unexpected) termination of the partner's side of a session. Several examples are presented to provide evidence of the flexibility of the chosen set of primitives. One key contribution is a fully abstract encoding of Misra et al.'s orchestration language Orc. Another main result shows that in CaSPiS it is possible to program a ‘graceful termination’ of nested sessions, which guarantees that no session is forced to hang forever after the loss of its partner.
Michele Boreale, Roberto Bruni 0001, Rocco De Nicola, Michele Loreti
Math. Struct. Comput. Sci.3
2014 Reputation-Based Composition of Social Web Services
abstract
Social Web Services (SWSs) constitute a novel paradigm of service-oriented computing, where Web services, just like humans, sign up in social networks that guarantee, e.g., better service discovery for users and faster replacement in case of service failures. In past work, composition of SWSs was mainly supported by specialised social networks of competitor services and cooperating ones. In this work, we continue this line of research, by proposing a novel SWSs composition procedure driven by the SWSs reputation. Making use of a well-known formal language and associated tools, we specify the composition steps and we prove that such reputation-driven approach assures better results in terms of the overall quality of service of the compositions, with respect to randomly selecting SWSs.
Alessandro Celestini, Gianpiero Costantino, Rocco De Nicola, Zakaria Maamar, Fabio Martinelli, Marinella Petrocchi, Francesco Tiezzi 0001
AINA3
2014 Dimming Relations for the Efficient Analysis of Concurrent Systems via Action Abstraction
Rocco De Nicola, Giulio Iacobelli, Mirco Tribastone
FORTE1
2014 Self-expression and Dynamic Attribute-Based Ensembles in SCEL
Giacomo Cabri, Nicola Capodieci, Luca Cesari, Rocco De Nicola, Rosario Pugliese, Francesco Tiezzi 0001, Franco Zambonelli
ISoLA (1)4
2014 Introduction to "Rigorous Engineering of Autonomic Ensembles"- Track Introduction
Martin Wirsing, Rocco De Nicola, Matthias M. Hölzl
ISoLA (1)2
2014 A Formal Approach to Autonomic Systems Programming: The SCEL Language
abstract
The autonomic computing paradigm has been proposed to cope with size, complexity, and dynamism of contemporary software-intensive systems. The challenge for language designers is to devise appropriate abstractions and linguistic primitives to deal with the large dimension of systems and with their need to adapt to the changes of the working environment and to the evolving requirements. We propose a set of programming abstractions that permit us to represent behaviors, knowledge, and aggregations according to specific policies and to support programming context-awareness, self-awareness, and adaptation. Based on these abstractions, we define SCEL (Software Component Ensemble Language), a kernel language whose solid semantic foundations lay also the basis for formal reasoning on autonomic systems behavior. To show expressiveness and effectiveness of SCEL;’s design, we present a Java implementation of the proposed abstractions and show how it can be exploited for programming a robotics scenario that is used as a running example for describing the features and potential of our approach.
Rocco De Nicola, Michele Loreti, Rosario Pugliese, Francesco Tiezzi 0001
ACM Trans. Auton. Adapt. Syst.1
2014 Relating strong behavioral equivalences for processes with nondeterminism and probabilities
Marco Bernardo 0001, Rocco De Nicola, Michele Loreti
Theor. Comput. Sci.2
2013 A uniform framework for modeling nondeterministic, probabilistic, stochastic, or mixed processes and their behavioral equivalences
Marco Bernardo 0001, Rocco De Nicola, Michele Loreti
Inf. Comput.2
2012 Revisiting Trace and Testing Equivalences for Nondeterministic and Probabilistic Processes
Marco Bernardo 0001, Rocco De Nicola, Michele Loreti
FoSSaCS2
2010 Tree-functors, determinacy and bisimulations
abstract
We study the functorial characterisation of bisimulation-based equivalences over a categorical model of labelled trees. We show that in a setting where all labels are visible, strong bisimilarity can be characterised in terms of enriched functors by relying on the reflection of paths with their factorisations. For an enriched functor F, this notion requires that a path (an internal morphism in our framework) π going from F(A) to C corresponds to a path p going from A to K, with F(K) = C, such that every possible factorisation of π can be lifted in an appropriate factorisation of p. This last property corresponds to a Conduché property for enriched functors, and a very rigid formulation of it has been used by Lawvere to characterise the determinacy of physical systems. We also consider the setting where some labels are not visible, and provide characterisations for weak and branching bisimilarity. Both equivalences are still characterised in terms of enriched functors that reflect paths with their factorisations: for branching bisimilarity, the property is the same as the one used to characterise strong bisimilarity when all labels are visible; for weak bisimilarity, a weaker form of path factorisation lifting is needed. This fact can be seen as evidence that strong and branching bisimilarity are strictly related and that, unlike weak bisimilarity, they preserve process determinacy in the sense of Milner.
Rocco De Nicola, Daniele Gorla, Anna Labella
Math. Struct. Comput. Sci.1
2010 From Flow Logic to static type systems for coordination languages
Rocco De Nicola, Daniele Gorla, René Rydhof Hansen, Flemming Nielson, Hanne Riis Nielson, Christian W. Probst, Rosario Pugliese
Sci. Comput. Program.1
2009 On a Uniform Framework for the Definition of Stochastic Process Languages
Rocco De Nicola, Diego Latella, Michele Loreti, Mieke Massink
FMICS1
2009 Rate-Based Transition Systems for Stochastic Process Calculi
Rocco De Nicola, Diego Latella, Michele Loreti, Mieke Massink
ICALP (2)1
2008 Implementing Session Centered Calculi
Lorenzo Bettini, Rocco De Nicola, Michele Loreti
COORDINATION2
2008 From Flow Logic to Static Type Systems for Coordination Languages
Rocco De Nicola, Daniele Gorla, René Rydhof Hansen, Flemming Nielson, Hanne Riis Nielson, Christian W. Probst, Rosario Pugliese
COORDINATION1
2008 Multiple-Labelled Transition Systems for nominal calculi and their logics
abstract
Action-labelled transition systems (LTSs) have proved to be a fundamental model for describing and proving properties of concurrent systems. In this paper we introduce Multiple-Labelled Transition Systems (MLTSs) as generalisations of LTSs that enable us to deal with system features that are becoming increasingly important when considering languages and models for network-aware programming. MLTSs enable us to describe not only the actions that systems can perform but also their usage of resources and their handling (creation, revelation . . .) of names; these are essential for modelling changing evaluation environments. We also introduce MoMo, which is a logic inspired by Hennessy–Milner Logic and the μ-calculus, that enables us to consider state properties in a distributed environment and the impact of actions and movements over the different sites. MoMo operators are interpreted over MLTSs and both MLTSs and MoMo are used to provide a semantic framework to describe two basic calculi for mobile computing, namely μKlaim and the asynchronous π-calculus.
Rocco De Nicola, Michele Loreti
Math. Struct. Comput. Sci.1
2008 Semantic subtyping for the pi-calculus
Giuseppe Castagna, Rocco De Nicola, Daniele Varacca
Theor. Comput. Sci.2
2007 Basic observables for a calculus for global computing
Rocco De Nicola, Daniele Gorla, Rosario Pugliese
Inf. Comput.1
2007 Global computing in a dynamic network of tuple spaces
Rocco De Nicola, Daniele Gorla, Rosario Pugliese
Sci. Comput. Program.1
2007 Model checking mobile stochastic logic
Rocco De Nicola, Joost-Pieter Katoen, Diego Latella, Michele Loreti, Mieke Massink
Theor. Comput. Sci.1
2006 Confining data and processes in global computing applications
Rocco De Nicola, Daniele Gorla, Rosario Pugliese
Sci. Comput. Program.1
2006 On the expressive power of KLAIM-based calculi
Rocco De Nicola, Daniele Gorla, Rosario Pugliese
Theor. Comput. Sci.1
2005 A Process Calculus for QoS-Aware Applications
Rocco De Nicola, Gian-Luigi Ferrari 0002, Ugo Montanari, Rosario Pugliese, Emilio Tuosto
COORDINATION1
2005 Global Computing in a Dynamic Network of Tuple Spaces
Rocco De Nicola, Daniele Gorla, Rosario Pugliese
COORDINATION1
2005 A Flexible and Modular Framework for Implementing Infrastructures for Global Computing
Lorenzo Bettini, Rocco De Nicola, Daniele Falassi, Marc Lacoste, Michele Loreti
DAIS2
2005 Basic Observables for a Calculus for Global Computing
Rocco De Nicola, Daniele Gorla, Rosario Pugliese
ICALP1
2005 Languages and Process Calculi for Network Aware Programming - Short Summary -
Rocco De Nicola
ICTAC1
2005 Semantic Subtyping for the p-Calculus
abstract
Subtyping relations for the /spl pi/-calculus are usually defined in a syntactic way, by means of structural rules. We propose a semantic characterisation of channel types and use it to derive a subtyping relation. The type system we consider includes read-only and write-only channel types, as well as Boolean combinations of types. A set-theoretic interpretation of types is provided, in which Boolean combinations are interpreted as the corresponding set-theoretic operations. Subtyping is defined as inclusion of the interpretations. We prove the decidability of the subtyping relation and sketch the subtyping algorithm. In order to fully exploit the type system, we define a variant of the /spl pi/-calculus where communication is subjected to pattern matching that performs dynamic typecase.
Giuseppe Castagna, Rocco De Nicola, Daniele Varacca
LICS2
2005 Types in concurrency
Rocco De Nicola, Davide Sangiorgi
Acta Informatica1
2004 Formulae Meet Programs Over the Net: A Framework for Correct Network Aware Programming
Lorenzo Bettini, Rocco De Nicola, Michele Loreti
Autom. Softw. Eng.2
2004 A modal logic for mobile agents
abstract
Klaim is an experimental programming language that supports a programming paradigm where both processes and data can be moved across different computing environments. The language relies on the use of explicit localities. This paper presents a temporal logic for specifying properties of Klaim programs. The logic is inspired by Hennessy-Milner Logic (HML) and the μ-calculus, but has novel features that permit dealing with state properties and impact of actions and movements over the different sites. The logic is equipped with a complete proof system that enables one to prove properties of mobile systems.
Rocco De Nicola, Michele Loreti
ACM Trans. Comput. Log.1
2003 Nondeterministic regular expressions as solutions of equational systems
Rocco De Nicola, Anna Labella
Theor. Comput. Sci.1
2002 Formalizing Properties of Mobile Agent Systems
Lorenzo Bettini, Rocco De Nicola, Michele Loreti
COORDINATION2
2002 Trace and Testing Equivalence on Asynchronous Processes
Michele Boreale, Rocco De Nicola, Rosario Pugliese
Inf. Comput.2
2002 An Equational Axiomatization of Bisimulation over Regular Expressions
abstract
We provide a finite equational axiomatization for bisimulation equivalence of nondeterministic interpretation of regular expressions. Our axiomatization is heavily based on the one by Salomaa, that provided an implicative axiomatization for a large subset of regular expressions, namely all those that satisfy the non-empty word property (i.e. without 1 summands at the top level) in *-contexts. Our restriction is similar, it essentially amounts to recursively requiring that the non-empty word property be satisfied not just at top level but at any depth. We also discuss the impact on the axiomatization of different interpretations of the 0 term, interpreted either as a null process or as a deadlock.
Flavio Corradini, Rocco De Nicola, Anna Labella
J. Log. Comput.2
2002 Klava: a Java package for distributed and mobile applications
abstract
Abstract Highly distributed networks have now become a common infrastructure for wide‐area distributed applications whose key design principle is network awareness, namely the ability to deal with dynamic changes of the network environment. Network‐aware computing has called for new programming languages that exploit the mobility paradigm as a basic interaction mechanism. In this paper we present the architecture of KLAVA, an experimental Java package for distributed applications and code mobility. We describe how KLAVA permits code mobility by relying on Java and present a few distributed applications that exploit mobile code programmed in KLAVA. Copyright © 2002 John Wiley & Sons, Ltd.
Lorenzo Bettini, Rocco De Nicola, Rosario Pugliese
Softw. Pract. Exp.2
2001 Proof Techniques for Cryptographic Processes
abstract
Contextual equivalences for cryptographic process calculi, like the spi-calculus, can be used to reason about correctness of protocols, but their definition suffers from quantification over all possible contexts. Here, we focus on two such equivalences, namely may-testing and barbed equivalence, and investigate tractable proof methods for them. To this aim, we design an enriched labelled transition system, where transitions are constrained by the knowledge the environment has of names and keys. The new transition system is then used to define a trace equivalence and a weak bisimulation equivalence that avoid quantification over contexts. Our main results are soundness and completeness of trace and weak bisimulation equivalence with respect to may-testing and barbed equivalence, respectively. They lead to more direct proof methods for equivalence checking. The use of these methods is illustrated with a few examples concerning implementation of secure channels and verification of protocol correctness.
Michele Boreale, Rocco De Nicola, Rosario Pugliese
SIAM J. Comput.2
2001 Divergence in testing and readiness semantics
Michele Boreale, Rocco De Nicola, Rosario Pugliese
Theor. Comput. Sci.2
2001 Algebraic characterizations of trace and decorated trace equivalences over tree-like structures
Xiao Jun Chen, Rocco De Nicola
Theor. Comput. Sci.2
2000 Programming Access Control: The KLAIM Experience
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese
CONCUR1
2000 Proving the Correctness of Optimising Destructive and Non-destructive Reads over Tuple Spaces
Rocco De Nicola, Rosario Pugliese, Antony I. T. Rowstron
COORDINATION1
2000 Process Algebraic Analysis of Cryptographic Protocols
Michele Boreale, Rocco De Nicola, Rosario Pugliese
FORTE2
2000 Types for access control
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese, Betti Venneri
Theor. Comput. Sci.1
2000 Linda-based applicative and imperative process algebras
Rocco De Nicola, Rosario Pugliese
Theor. Comput. Sci.1
1999 Coordination and Access Control of Mobile Agents
Rocco De Nicola
COORDINATION1
1999 A Theory of "May" Testing for Asynchronous Languages
Michele Boreale, Rocco De Nicola, Rosario Pugliese
FoSSaCS2
1999 Graded Modalities and Resource Bisimulation
Flavio Corradini, Rocco De Nicola, Anna Labella
FSTTCS2
1999 Proof Techniques for Cryptographic Processes
abstract
Contextual equivalences for cryptographic process calculi can be used to reason about correctness of protocols, but their definition suffers from quantification over all possible contexts. Here, we focus on two such equivalences, may-testing and barbed equivalence, and investigate tractable proof methods for them. To this aim, we develop an 'environment-sensitive' labelled transition system, where transitions are constrained by the knowledge the environment has of names and keys. On top of the new transition system, a trace equivalence and a co-inductive weak bisimulation equivalence are defined, both of which avoid quantification over contexts. Our main results are soundness of trace semantics and of weak bisimulation with respect to may-testing and barbed equivalence, respectively. This leads to more direct proof methods for equivalence checking. The use of such methods is illustrated via a few examples concerning implementation of secure channels by means of encrypted public channels. We also consider a variant of the labelled transition system that gives completeness, but is less handy to use.
Michele Boreale, Rocco De Nicola, Rosario Pugliese
LICS2
1999 Basic Observables for Processes
Michele Boreale, Rocco De Nicola, Rosario Pugliese
Inf. Comput.2
1999 Models of Nondeterministic Regular Expressions
Flavio Corradini, Rocco De Nicola, Anna Labella
J. Comput. Syst. Sci.2
1998 Possible Worlds for Process Algebras
Simone Veglioni, Rocco De Nicola
CONCUR2
1998 Asynchronous Observations of Processes
Michele Boreale, Rocco De Nicola, Rosario Pugliese
FoSSaCS2
1998 KLAIM: A Kernel Language for Agents Interaction and Mobility
abstract
We investigate the issue of designing a kernel programming language for mobile computing and describe KLAIM, a language that supports a programming paradigm where processes, like data, can be moved from one computing environment to another. The language consists of a core Linda with multiple tuple spaces and of a set of operators for building processes. KLAIM naturally supports programming with explicit localities. Localities are first-class data (they can be manipulated like any other data), but the language provides coordination mechanisms to control the interaction protocols among located processes. The formal operational semantics is useful for discussing the design of the language and provides guidelines for implementations. KLAIM is equipped with a type system that statically checks access right violations of mobile agents. Types are used to describe the intentions (read, write, execute, etc.) of processes in relation to the various localities. The type system is used to determine the operations that processes want to perform at each locality, and to check whether they comply with the declared intentions and whether they have the necessary rights to perform the intended operations at the specific localities. Via a series of examples, we show that many mobile code programming paradigms can be naturally implemented in our kernel language. We also present a prototype implementation of KLAIM in Java.
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese
IEEE Trans. Software Eng.1
1997 Coordinating Mobile Agents via Blackboards and Access Rights
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese
COORDINATION1
1997 Basic Observables for Processes
Michele Boreale, Rocco De Nicola, Rosario Pugliese
ICALP2
1997 Locality Based Semantics for Process Algebras
Flavio Corradini, Rocco De Nicola
Acta Informatica2
1996 A Process Algebra Based on LINDA
Rocco De Nicola, Rosario Pugliese
COORDINATION1
1996 Algebraic Characterizations of Decorated Trace Equivalences over Tree-Like Structures
Xiao Jun Chen, Rocco De Nicola
ICALP2
1996 On Four Partial Ordering Semantics for a Process Calculus
abstract
Three of the rewriting systems used by Degano, De Nicola and Montanari to provide Milner's CCS with a causality based semantics are compared by using also a fourth intermediate one. These rewriting systems have been used to associate Petri nets, Labelled Event Structures and structured sets of partial orderings to CCS terms. It is proved that the four rewriting systems yield computations from which the same causality relations among the executed actions can be extracted, thus it is established that the four partial ordering transitional semantics do coincide.
Flavio Corradini, Rocco De Nicola
Fundam. Informaticae2
1996 A Symbolic Semantics for the pi-Calculus
Michele Boreale, Rocco De Nicola
Inf. Comput.2
1995 Fully Abstract Models for Nondeterministic Regular Expressions
Flavio Corradini, Rocco De Nicola, Anna Labella
CONCUR2
1995 Testing Equivalence for Mobile Processes
Michele Boreale, Rocco De Nicola
Inf. Comput.2
1995 Three Logics for Branching Bisimulation
abstract
Three temporal logics are introduced that induce on labeled transition systems the same identifications as branching bisimulation, a behavioral equivalence that aims at ignoring invisible transitions while preserving the branching structure of systems. The first logic is an extension of Hennessy-Milner Logic with an “until” operator. The second one is another extension of Hennessy-Milner Logic, which exploits the power of backward modalities. The third logic is CTL* without the next-time operator. A relevant side-effect of the last characterization is that it sets a bridge between the state- and action-based approaches to the semantics of concurrent systems.
Rocco De Nicola, Frits W. Vaandrager
J. ACM1
1995 A Process Algebraic View of Input/Output Automata
Rocco De Nicola, Roberto Segala
Theor. Comput. Sci.1
1994 A Symbolic Semantics for the pi-calculus (Extended Abstract)
Michele Boreale, Rocco De Nicola
CONCUR2
1994 Distribution and Locality of Concurrent Systems
Flavio Corradini, Rocco De Nicola
ICALP2
1994 A Completeness Theorem fro Nondeterministic Kleene Algebras
Rocco De Nicola, Anna Labella
MFCS1
1993 An Action-Based Framework for Verifying Logical and Behavioural Properties of Concurrent Systems
Rocco De Nicola, Alessandro Fantechi, Stefania Gnesi, Gioia Ristori
Comput. Networks ISDN Syst.1
1993 Universal Axioms for Bisimulations
Pierpaolo Degano, Rocco De Nicola, Ugo Montanari
Theor. Comput. Sci.2
1992 Testing Equivalence for Mobile Processes (Extended Abstract)
Michele Boreale, Rocco De Nicola
CONCUR2
1991 Action and State-based Logics for Process Algebras
Rocco De Nicola
CONCUR1
1990 Back and Forth Bisimulations
Rocco De Nicola, Ugo Montanari, Frits W. Vaandrager
CONCUR1
1990 Observational Logics and Concurrency Models
Rocco De Nicola, Gian-Luigi Ferrari 0002
FSTTCS1
1990 Three Logics for Branching Bisimulation (Extended Abstract)
abstract
Three temporal logics are introduced which induce on labeled transition systems the same identifications as branching bisimulation. The first is an extension of Hennessy-Milner logic with a kind of unit operator. The second is another extension of Hennessy-Milner logic which exploits the power of backward modalities. The third is CTL* with the next-time operator interpreted over all paths, not just over maximal ones. A relevant side effect of the last characterization is that it sets a bridge between the state- and event-based approaches to the semantics of concurrent systems.>
Rocco De Nicola, Frits W. Vaandrager
LICS1
1990 A Partial Ordering Semantics for CCS
Pierpaolo Degano, Rocco De Nicola, Ugo Montanari
Theor. Comput. Sci.2
1988 On the Consistency of "Truly Concurrent" Operational and Denotational Semantics (Extended Abstract)
abstract
The problem of the relationship between truly concurrent operational and denotational semantics is tackled by mapping syntactic terms on similar semantic domains in both approaches. Occurrence nets are associated to terms through structural operational semantics based on a set of rewriting rules; event structures are defined as denotations for terms, without resorting to categorical constructions. The proof of the equivalence of the two semantics relies on the direct correspondence between occurrence nets and event structures. R. Milner's (1980) calculus of communicating systems is used as a test case; truly concurrent denotional and operational semantics are given for it and proved consistent. This equivalence is established for the first time in true concurrency approach. It is proved that G. Winskel's (1982) categorical denotational semantics is equivalent to that given here.>
Pierpaolo Degano, Rocco De Nicola, Ugo Montanari
LICS2
1988 A Distributed Operational Semantics for CCS Based on Condition/Event Systems
Pierpaolo Degano, Rocco De Nicola, Ugo Montanari
Acta Informatica2
1987 Extensional Equivalences for Transition Systems
Rocco De Nicola
Acta Informatica1
1985 Partial ordering derivations for CCS
Pierpaolo Degano, Rocco De Nicola, Ugo Montanari
FCT2
1985 Two Complete Axiom Systems for a Theory of Communicating Sequential Processes
Rocco De Nicola
Inf. Control.1
1984 Models and Operators for Nondeterministic Processes
Rocco De Nicola
MFCS1
1984 Testing Equivalences for Processes
Rocco De Nicola, Matthew Hennessy
Theor. Comput. Sci.1
1983 A Complete Set of Axioms for a Theory of Communicating Sequential Processes
Rocco De Nicola
FCT1
1983 Testing Equivalence for Processes
Rocco De Nicola, Matthew Hennessy
ICALP1
1981 Communication Through Message Passing or Shared Memory: A Formal Comparison
Rocco De Nicola, Alberto Martelli, Ugo Montanari
ICDCS1