Network


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

Hotspot


Dive into the research topics where Rosario Pugliese is active.

Publication


Featured researches published by Rosario Pugliese.


IEEE Transactions on Software Engineering | 1998

KLAIM: a kernel language for agents interaction and mobility

R. De Nicola; Gian-luigi Ferrari; Rosario Pugliese

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.


leveraging applications of formal methods | 2008

SENSORIA Patterns: Augmenting Service Engineering with Formal Analysis, Transformation and Dynamicity

Martin Wirsing; Matthias M. Hölzl; Federico Banti; Allan Clark; Alessandro Fantechi; Stephen Gilmore; Stefania Gnesi; László Gönczy; Nora Koch; Alessandro Lapadula; Philip Mayer; Franco Mazzanti; Rosario Pugliese; Andreas Schroeder; Francesco Tiezzi; Mirco Tribastone; Dániel Varró

The IST-FET Integrated Project Sensoria is developing a novel comprehensive approach to the engineering of service-oriented software systems where foundational theories, techniques and methods are fully integrated into pragmatic software engineering processes. The techniques and tools of Sensoria encompass the whole software development cycle, from business and architectural design, to quantitative and qualitative analysis of system properties, and to transformation and code generation. The Sensoria approach takes also into account reconfiguration of service-oriented architectures (SOAs) and re-engineering of legacy systems.


Journal of Applied Logic | 2012

A calculus for orchestration of web services

Rosario Pugliese; Francesco Tiezzi

Service-oriented computing, an emerging paradigm for distributed computing based on the use of services, is calling for the development of tools and techniques to build safe and trustworthy systems, and to analyse their behaviour. Therefore, many researchers have proposed to use process calculi, a cornerstone of current foundational research on specification and analysis of concurrent, reactive, and distributed systems. In this paper, we follow this approach and introduce C?WS, a process calculus expressly designed for specifying and combining service-oriented applications, while modelling their dynamic behaviour. We show that C?WS can model all the phases of the life cycle of service-oriented applications, such as publication, discovery, negotiation, orchestration, deployment, reconfiguration and execution. We illustrate the specification style that C?WS supports by means of a large case study from the automotive domain and a number of more specific examples drawn from it.


Lecture Notes in Computer Science | 2003

The Klaim Project: Theory and Practice

Lorenzo Bettini; Viviana Bono; Rocco De Nicola; Gian Luigi Ferrari; Daniele Gorla; Michele Loreti; Eugenio Moggi; Rosario Pugliese; Emilio Tuosto; Betti Venneri

Klaim (Kernel Language for Agents Interaction and Mobility) is an experimental language specifically designed to program distributed systems consisting of several mobile components that interact through multiple distributed tuple spaces. Klaim primitives allow programmers to distribute and retrieve data and processes to and from the nodes of a net. Moreover, localities are first-class citizens that can be dynamically created and communicated over the network. Components, both stationary and mobile, can explicitly refer and control the spatial structures of the network. This paper reports the experiences in the design and development of Klaim. Its main purpose is to outline the theoretical foundations of the main features of Klaim and its programming model. We also present a modal logic that permits reasoning about behavioural properties of systems and various type systems that help in controlling agents movements and actions. Extensions of the language in the direction of object oriented programming are also discussed together with the description of the implementation efforts which have lead to the current prototypes.


SIAM Journal on Computing | 2002

Proof Techniques for Cryptographic Processes

Michele Boreale; Rocco De Nicola; Rosario Pugliese

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.


Theoretical Computer Science | 2000

Types for access control

Rocco De Nicola; Gian Luigi Ferrari; Rosario Pugliese; Betti Venneri

KLAIM is an experimental programming language that supports a programming paradigm where both processes and data can be moved across dierent computing environments. This paper presents the mathematical foundations of the KLAIM type system; this system permits checking access rights violations of mobile agents. Types are used to describe the intentions (read, write, execute, :::) of processes relative to the dierent localities with which they are willing to interact, or to which they want to migrate. Type checking then determines whether processes comply with the declared intentions, and whether they have been assigned the necessary rights to perform the intended operations at the specied localities. The KLAIM type system encompasses both subtyping and recursively dened types. The former occurs naturally when considering hierarchies of access rights, while the latter is needed to model migration of recursive processes. c 2000 Elsevier Science B.V. All rights reserved.


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.


Software - Practice and Experience | 2002

KLAVA: a Java package for distributed and mobile applications

Lorenzo Bettini; Rocco De Nicola; Rosario Pugliese

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


workshops on enabling technologies infrastracture for collaborative enterprises | 1998

Interactive mobile agents in X-KLAIM

Lorenzo Bettini; R. De Nicola; Rosario Pugliese; Gian Luigi Ferrari

Mobile agents are processes which can migrate and execute on new hosts. Mobility is a key concept for network programming; it has stimulated much research about new programming languages and paradigms. X-KLAIM is an experimental programming language, inspired by the Linda paradigm, where mobile agents and their interaction strategies can be naturally programmed. A prototype implementation of X-KLAIM is presented, together with a few examples introducing the new programming style.


Information & Computation | 2002

Trace and testing equivalence on asynchronous processes

Michele Boreale; Rocco De Nicola; Rosario Pugliese

We study trace and may-testing equivalences in the asynchronous versions of CCS and p-calculus. We start from the operational definition of the may-testing preorder and provide finitary and fully abstract trace-based characterizations for it, along with a complete in-equational proof system. We also touch upon two variants of this theory by first considering a more demanding equivalence notion (must-testing) and then a richer version of asynchronous CCS. The results throw light on the difference between synchronous and asynchronous communication and on the weaker testing power of asynchronous observations.

Collaboration


Dive into the Rosario Pugliese's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Daniele Gorla

Sapienza University of Rome

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge