Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Rocco De Nicola is active.

Publication


Featured researches published by Rocco De Nicola.


ACM Transactions on Autonomous and Adaptive Systems | 2014

A Formal Approach to Autonomic Systems Programming: The SCEL Language

Rocco De Nicola; Michele Loreti; Rosario Pugliese; Francesco Tiezzi

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.


Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency, School/Workshop | 1988

Partial orderings descriptions and observations of nondeterministic concurrent processes

Pierpaolo Degano; Rocco De Nicola; Ugo Montanari

A methodology is introduced for defining truly concurrent semantics of processes as equivalence classes of Labelled Event Structures (LES). The construction of a les providing the operational semantics of systems consists of three main steps. First, systems are decomposed into sets of sequential processes and a set of rewriting rules is introduced which describe both the actions sequential processes may perform and their causal relation. Then, the rewriting rules are used to build an occurrence net. Finally, the required event structure is easily derived from the occurrence net. As a test case, a partial ordering operational semantics is introduced first for a subset of Milners CCS and then for the whole calculus. The proposed semantics are consistent with the original interleaving semantics of the calculus and are able to capture all and only the parallelism present in its multiset semantics. In order to obtain more abstract semantic definitions, new notions of observational equivalence on Labelled Event Structures are introduced that preserve both concurrency and nondeterminism.


Information & Computation | 2013

A uniform framework for modeling nondeterministic, probabilistic, stochastic, or mixed processes and their behavioral equivalences

Marco Bernardo; Rocco De Nicola; Michele Loreti

Labeled transition systems are typically used as behavioral models of concurrent processes. Their labeled transitions define a one-step state-to-state reachability relation. This model can be generalized by modifying the transition relation to associate a state reachability distribution with any pair consisting of a source state and a transition label. The state reachability distribution is a function mapping each possible target state to a value that expresses the degree of one-step reachability of that state. Values are taken from a preordered set equipped with a minimum that denotes unreachability. By selecting suitable preordered sets, the resulting model, called ULTraS from Uniform Labeled Transition System, can be specialized to capture well-known models of fully nondeterministic processes (LTS), fully probabilistic processes (ADTMC), fully stochastic processes (ACTMC), and nondeterministic and probabilistic (MDP) or nondeterministic and stochastic (CTMDP) processes. This uniform treatment of different behavioral models extends to behavioral equivalences. They can be defined on ULTraS by relying on appropriate measure functions that express the degree of reachability of a set of states when performing multi-step computations. It is shown that the specializations of bisimulation, trace, and testing equivalences for the different classes of ULTraS coincide with the behavioral equivalences defined in the literature over traditional models except when nondeterminism and probability/stochasticity coexist; then new equivalences pop up.


ACM Computing Surveys | 2013

A uniform definition of stochastic process calculi

Rocco De Nicola; Diego Latella; Michele Loreti; Mieke Massink

We introduce a unifying framework to provide the semantics of process algebras, including their quantitative variants useful for modeling quantitative aspects of behaviors. The unifying framework is then used to describe some of the most representative stochastic process algebras. This provides a general and clear support for an understanding of their similarities and differences. The framework is based on State to Function Labeled Transition Systems, FuTSs for short, that are state transition structures where each transition is a triple of the form (s,α,𝒫). The first and the second components are the source state, s, and the label, α, of the transition, while the third component is the continuation function, 𝒫, associating a value of a suitable type to each state s. For example, in the case of stochastic process algebras the value of the continuation function on s represents the rate of the negative exponential distribution characterizing the duration/delay of the action performed to reach state s from s. We first provide the semantics of a simple formalism used to describe continuous-time Markov chains, then we model a number of process algebras that permit parallel composition of models according to the two main interaction paradigms (multiparty and one-to-one synchronization). Finally, we deal with formalisms where actions and rates are kept separate and address the issues related to the coexistence of stochastic, probabilistic, and nondeterministic behaviors. For each formalism, we establish the formal correspondence between the FuTSs semantics and its original semantics.


The ASCENS Approach | 2015

The SCEL Language: Design, Implementation, Verification

Rocco De Nicola; Diego Latella; Alberto Lluch Lafuente; Michele Loreti; Andrea Margheri; Mieke Massink; Andrea Morichetta; Rosario Pugliese; Francesco Tiezzi; Andrea Vandin

SCEL (Service Component Ensemble Language) is a new language specifically designed to rigorously model and program autonomic components and their interaction, while supporting formal reasoning on their behaviors. SCEL brings together various programming abstractions that allow one to directly represent aggregations, behaviors and knowledge according to specific policies. It also naturally supports programming interaction, self-awareness, context-awareness, and adaptation. The solid semantic grounds of the language is exploited for developing logics, tools and methodologies for formal reasoning on system behavior to establish qualitative and quantitative properties of both the individual components and the overall systems.


Quantitative Aspects of Programming Languages and Systems, QAPL 2015 | 2015

CARMA: Collective Adaptive Resource-sharing Markovian Agents

Luca Bortolussi; Rocco De Nicola; Vashti Galpin; Stephen Gilmore; Jane Hillston; Diego Latella; Michele Loreti; Mieke Massink

In this paper we present CARMA, a language recently defined to support specification and analysis of collective adaptive systems. CARMA is a stochastic process algebra equipped with linguistic constructs specifically developed for modelling and programming systems that can operate in open-ended and unpredictable environments. This class of systems is typically composed of a huge number of interacting agents that dynamically adjust and combine their behaviour to achieve specific goals. A CARMA model, termed a collective, consists of a set of components, each of which exhibits a set of attributes. To model dynamic aggregations, which are sometimes referred to as ensembles, CARMA provides communication primitives that are based on predicates over the exhibited attributes. These predicates are used to select the participants in a communication. Two communication mechanisms are provided in the CARMA language: multicast-based and unicast-based. In this paper, we first introduce the basic principles of CARMA and then we show how our language can be used to support specification with a simple but illustrative example of a socio-technical collective adaptive system.


self adaptive and self organizing systems | 2013

A Life Cycle for the Development of Autonomic Systems: The E-mobility Showcase

Tomas Bures; Rocco De Nicola; Ilias Gerostathopoulos; Nicklas Hoch; Michal Kit; Nora Koch; Giacoma Valentina Monreale; Ugo Montanari; Rosario Pugliese; Nikola B. Serbedzija; Martin Wirsing; Franco Zambonelli

Component ensembles are a promising way of building self-aware autonomic adaptive systems. This approach has been promoted by the EU project ASCENS, which develops the core idea of ensembles by providing rigorous semantics as well as models and methods for the whole development life cycle of an ensemble-based system. These methods specifically address adaptation, self-awareness, self-optimization, and continuous system evolution. In this paper, we demonstrate the key concepts and benefits of the ASCENS approach in the context of intelligent navigation of electric vehicles (e-Mobility), which itself is one of the three key case studies of the project.


acm symposium on applied computing | 2015

A calculus for attribute-based communication

Yehia Moustafa Abd Alrahman; Rocco De Nicola; Michele Loreti; Francesco Tiezzi; Roberto Vigo

The notion of attribute-based communication seems promising to model and analyse systems with huge numbers of interacting components that dynamically adjust and combine their behaviour to achieve specific goals. A basic process calculus, named AbC, is introduced that has as primitive construct exactly attribute-based communication and its impact on the above mentioned kind of systems is considered. An AbC system consists of a set of parallel components each of which is equipped with a set of attributes. Communication takes place in a broadcast fashion and communication links among components are dynamically established by taking into account interdependences determined by predicates over attributes. First, the syntax and the reduction semantics of AbC are presented, then its expressiveness and effectiveness is demonstrated by modelling two scenarios from the realm of TV streaming channels. An example of how well-established process calculi could be encoded into AbC is given by considering the translation into AbC of a prototypical π-calculus process.


Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) | 2014

Reasoning (on) Service Component Ensembles in Rewriting Logic

Lenz Belzner; Rocco De Nicola; Andrea Vandin; Martin Wirsing

Programming autonomic systems with massive number of heterogeneous components poses a number of challenges to language designers and software engineers and requires the integration of computational tools and reasoning tools. We present a general methodology to enrich SCEL, a recently introduced language for programming systems with massive numbers of components, with reasoning capabilities that are guaranteed by external reasoners. We show how the methodology can be instantiated by considering the Maude implementation of SCEL and a specific reasoner, Pirlo, implemented in Maude as well. Moreover we show how the actual integration can benefit from the existing analytical tools of the Maude framework. In particular, we demonstrate our approach by considering a simple scenario consisting of a group of robots moving in an arena aiming at minimising the number of collisions.


ieee acm international conference utility and cloud computing | 2014

SLAC: A Formal Service-Level-Agreement Language for Cloud Computing

Rafael Brundo Uriarte; Francesco Tiezzi; Rocco De Nicola

The need of mechanisms to automate and regulate the interaction amongst the parties involved in the offered cloud services is exacerbated by the increasing number of providers and solutions that enable the cloud paradigm. This regulation needs to be defined through a contract, the so-called Service Level Agreement (SLA). We argue that the current solutions for SLA specification cannot cope with the distinctive characteristics of clouds. Therefore, in this paper we define a language, named SLAC, devised for specifying SLA for the cloud computing domain. The main differences with respect to the existing specification languages are: SLAC is domain specific, its semantics are formally defined in order to avoid ambiguity, it supports the main cloud deployment models, and it enables the specification of multi-party agreements. Moreover, SLAC supports the business aspects of the domain, such as pricing schemes, business actions and metrics. Furthermore, SLAC comes with an open-source software framework which enables the specification, evaluation and enforcement of SLAs for clouds. We illustrate potentialities and effectiveness of the SLAC language and its management framework by experimenting with an Open Nebula cloud system.

Collaboration


Dive into the Rocco De Nicola's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Diego Latella

Istituto di Scienza e Tecnologie dell'Informazione

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alberto Lluch Lafuente

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Mieke Massink

Istituto di Scienza e Tecnologie dell'Informazione

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge