Rosario Pugliese

Rosario Pugliese
University of Florence | UNIFI · Dipartimento di Statistica, Informatica, Applicazioni "G. Parenti" (DiSIA)

About

166
Publications
36,537
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
3,481
Citations

Publications

Publications (166)
Article
Full-text available
Software development for robotics applications is still a major challenge that becomes even more complex when considering multi-robot systems (MRSs). Such distributed software has to perform multiple cooperating tasks in a well-coordinated manner to avoid unsatisfactory emerging behavior. This paper provides an approach for programming MRSs at a hi...
Chapter
Software development for robotics applications is still a major challenge that becomes even more complex when considering a Multi-Robot System (MRS). Such a distributed software has to perform multiple cooperating tasks in a well-coordinated manner to avoid unsatisfactory emerging behavior. This paper provides an approach for programming MRSs at a...
Article
Full-text available
The Small and Medium-sized Enterprises' (SMEs) level of organizational cybersecurity readiness has been poorly investigated to date. Currently, all SMEs need to maintain an adequate level of cybersecurity to run their businesses, not only those wishing to fully exploit digitalization's benefits. Unfortunately, due to their lack of resources, skills...
Article
Full-text available
Le organizzazioni non fanno abbastanza per affrontare le minacce informatiche. Mancano competenze e risorse, ma soprattutto la consapevolezza del rischio. Uno strumento permette di valutare il grado di preparazione e migliorare le competenze.
Chapter
Developing robotics applications is a demanding software engineering challenge. Such a software has to perform multiple cooperating tasks in a well-coordinated manner in order to avoid unsatisfactory behavior. In this paper, we define an approach for developing robot software based on the integration of the programming language X-Klaim and the popu...
Article
We introduce a new criterion to discern the relative expressiveness of process calculi. Intuitively, a calculus is replacement free if replacing a sub-process that cannot perform any visible action by an arbitrary one never affects the capability of the resulting process to perform a visible action. By relying on two slightly different formulations...
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
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
The rigorous design of Service-Oriented Computing (SOC) applications has been identified as one of the primary research challenges for the next 10 years. Many foundational theories for SOC have been defined, but they often rely on mechanisms different from real-world SOC technologies, hindering actual service modelling and verification. In this pap...
Preprint
Full-text available
We present a number of contributions to bridging the gap between supervisory control theory and coordination of services to explore the frontiers between coordination and control systems. Firstly, we modify the classical synthesis algorithm from supervisory control theory for obtaining the so-called most permissive controller in order to synthesise...
Chapter
We explore the frontiers between coordination and control systems by discussing a number of contributions to bridging the gap between supervisory control theory and coordination of services. In particular, we illustrate how the classical synthesis algorithm from supervisory control theory to obtain the so-called most permissive controller can be mo...
Chapter
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 review distinguishing features of network-aware programming, service-oriented computing, autonomic computing, a...
Article
Full-text available
In service-oriented applications, service providers and their clients can engage in conversations to exchange the data required to achieve their business goals. In this paper, we focus on a particular kind of conversation joining, which we call blind-date, where a client may join a conversation among multiple parties in an asynchronous and complete...
Article
Full-text available
Access control systems are widely used means for the protection of computing systems. They are defined in terms of access control policies regulating the accesses to system resources. In this paper, we introduce a formally-defined, fully-implemented framework for specification, analysis and enforcement of attribute-based access control policies. Th...
Conference Paper
For supporting the design of self-adaptive computing systems, the PSCEL language offers a principled approach that relies on declarative definitions of adaptation and authorisation policies enforced at runtime. Policies permit managing system components by regulating their interactions and by dynamically introducing new actions to accomplish task-o...
Article
Growing attention has recently been devoted to context-aware computing and communication systems, in particular concerning their evolution toward the new paradigm of context-aware autonomic computing and communications. Indeed, context awareness and autonomicity appear to be the indispensable glue technologies to accomplish efficient integration of...
Article
Full-text available
The advent of large-scale, complex computing systems has dramatically increased the difficulties of securing accesses to systems' resources. To ensure confidentiality and integrity, the exploitation of access control mechanisms has thus become a crucial issue in the design of modern computing systems. Among the different access control approaches p...
Chapter
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 accordin...
Chapter
Nowadays, cyber-physical systems consist of a large and possibly unbounded number of nodes operating in a partially unknown environment to which they need to adapt. They also have strong requirements in terms of performances, resource usage, reliability, or security. To face this inherent complexity it is crucial to develop adequate tools and under...
Chapter
Developing autonomic systems is a major challenge due to their distributed nature, large dimension, high dynamism, open-endedness, and need of adaptation. In this paper, we tackle this challenge by proposing a language, called ccSCEL, that combines abstractions and primitives specifically devised for programming autonomic systems by also using cons...
Chapter
The cloud case study within ASCENS explores the vision of an autonomic cloud, which is a cloud providing a platform-as-a-service computing infrastructure which, contrary to the usual practice, does not consist of a well-maintained set of reliable high-performance computers, but instead is formed by a loose collection of voluntarily provided heterog...
Conference Paper
In the field of distributed autonomous computing the current trend is to develop cooperating computational entities enabled with enhanced self-* properties. The expression self-* indicates the possibility of a component inside an ensemble, i.e. a set of collaborative autonomic components, to self organize, heal (repair), optimize and configure with...
Conference Paper
To tackle the complexity of autonomic computing systems it is crucial to provide methods supporting their systematic and principled development. Using the PSCEL language, autonomic systems can be described in terms of the constituent components and their reciprocal interactions. The computational behaviour of components is defined in a procedural s...
Article
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 environ...
Conference Paper
Full-text available
Policy-based software architectures are nowadays widely exploited to regulate different aspects of systems’ behavior, such as access control, resource usage, and adaptation. Several languages and technologies have been proposed as, e.g., the standard XACML. However, developing real-world systems using such approaches is still a tricky task, being t...
Conference Paper
Autonomic behavior and self-adaptation in software can be supported by several architectural design patterns. In this paper we illustrate how some of the component- and ensemble-level adaptation patterns proposed in the literature can be rendered in SCEL, a formalism devised for modeling autonomic systems. Specifically, we present a compositional a...
Article
A simplified version of the kernel language SCEL, that we call SCELlight, is introduced as a formalism for programming and verifying properties of so-called cyber-physical systems consisting of software-intensive ensembles of components, featuring complex intercommunications and interactions with humans and other systems. In order to validate the a...
Book
This book constitutes the proceedings of the 16th International Conference on Coordination Models and Languages, COORDINATION 2014, held in Berlin, Germany, in June 2014. The 12 papers included in this volume were carefully reviewed and selected from 31 submissions. They deal with topics such as programming abstractions and languages, coordination...
Conference Paper
We introduce PSCEL, a new language for developing autonomic software components capable of adapting their behaviour to react to external stimuli and environment changes. The application logic generating the computational behaviour of systems components is defined in a procedural style, by the programming constructs, while the adaptation logic is de...
Conference Paper
Full-text available
Autonomic computing - that is, the development of software and hardware systems featuring a certain degree of self-awareness and self-adaptability - is a field with many application areas and many technical difficulties. In this paper, we explore the idea of an autonomic cloud in the form of a platform-as-a-service computing infrastructure which, c...
Conference Paper
Full-text available
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 addr...
Article
Full-text available
We focus on a form of joining conversations among multiple parties in service-oriented applications where a client may asynchronously join an existing conversation without need to know in advance any information about it. More specifically, we show how the correlation mechanism provided by orchestration languages enables a form of conversation join...
Article
The importance of the exchange of Electronic Health Records (EHRs) between hospitals has been recognized by governments and institutions. Due to the sensitivity of data exchanged, only mature standards and implementations can be chosen to operate. This exchange process is of course under the control of the patient, who decides who has the rights to...
Article
Full-text available
SCEL is a new language specifically designed to model au-tonomic components and their interaction. It brings together various programming abstractions that permit to directly represent knowledge, behaviors and aggregations according to specific policies. It also supports naturally programming self-awareness, context-awareness, and adapta-tion. In t...
Article
In recent years, it has been argued that systems and applications, in order to deal with their increasing complexity, should be able to adapt their behavior according to new requirements or environment conditions. In this paper, we present an investigation aiming at studying how coordination languages and formal methods can contribute to a better u...
Conference Paper
Full-text available
We present a novel formal verification approach for collective robotic systems that is based on the use of the formal language Klaim and related analysis tools. While existing approaches focus on either micro- or macroscopic views of a system, we model aspects of both the robot hardware and behaviour, as well as relevant aspects of the environment....
Conference Paper
Full-text available
We introduce a UML-based notation for graphically modeling systems' security aspects in a simple and intuitive way and a model-driven process that transforms graphical specifications of access control policies in XACML. These XACML policies are then translated in FACPL, a policy language with a formal semantics, and the resulting policies are evalu...
Article
Full-text available
The importance of the Electronic Health Record (EHR), that stores all healthcare-related data belonging to a patient, has been recognised in recent years by governments, institutions and industry. Initiatives like the Integrating the Healthcare Enterprise (IHE) have been developed for the definition of standard methodologies for secure and interope...
Article
In recent years, WS-BPEL has become a de facto standard language for the orchestration of Web services. However, there are still some well-known difficulties that make programming in WS-BPEL a tricky task. In this paper, we first point out major loose points of the WS-BPEL specification by means of many examples, some of which are also exploited to...
Conference Paper
We introduce COWS (Calculus for Orchestration of Web Services), a new foundational language for SOC whose design has been influenced by WS-BPEL, the de facto standard language for orchestration of web services. COWS combines in an original way a number of ingredients borrowed from well- known process calculi, e.g. asynchronous communication, polyad...
Conference Paper
Full-text available
We propose a formal account of XACML, an OASIS standard adhering to the Policy Based Access Control model for the specification and enforcement of access control policies. To clarify all ambiguous and intricate aspects of XACML, we provide it with a more manageable alternative syntax and with a solid semantic ground. This lays the basis for develop...
Conference Paper
Full-text available
We report the experience gained in an e-Health project in the Gauteng province, in South Africa. A Proof-of-Concept of the project has been already installed in 3 clinics in the Sebokeng township. The project is now going to be applied to 300 clinics in the whole province. This extension of the Proof-of-Concept can however give rise to security fla...
Chapter
Full-text available
Core calculi have been adopted in the Sensoria project with three main aims. First of all, they have been used to clarify and formally define the basic concepts that characterize the Sensoria approach to the modeling of service-oriented applications. In second place, they are formal models on which the Sensoria analysis techniques have been develop...
Article
This volume contains the final and revised versions of the papers presented at the 7th International Workshop on Automated Specification and Verification of Web Systems (WWV 2011). The workshop was held in Reykjavik, Iceland, on June 9, 2011, as part of DisCoTec 2011. The aim of the WWV workshop series is to provide an interdisciplinary forum to fa...
Conference Paper
Full-text available
The importance of the Electronic Health Record (EHR), which stores all healthcare-related data belonging to a patient, has been recognized in recent years by governments, institutions, and industry. Initiatives like Integrating the Healthcare Enterprise (IHE) have been developed for the definition of standard methodologies for secure and interopera...
Article
Full-text available
We tackle the problem of providing rigorous formal foundations to current software engineering technologies for web services, and especially to WSDL and WS-BPEL, two of the most used XML-based standard languages for web services. We focus on a simplified fragment of WS-BPEL sufficiently expressive to model asynchronous interactions among web servic...
Article
Service-Oriented Architectures (SOAs) provide methods and technologies for modelling, programming and deploying software applications that can run over globally available network infrastructures. Current software engineering technologies for SOAs, however, remain at the descriptive level and lack rigorous foundations enabling formal analysis of ser...
Article
Full-text available
In recent years, it has been argued that systems and applications, in order to deal with their increasing complexity, should be able to adapt their behavior according to new requirements or environment conditions. In this paper, we present a preliminary investigation aiming at studying how coordination languages and formal methods can contribute to...
Article
Full-text available
This chapter provides an effective implementation of (part of) the Sen-soria approach, specifically modelling and formal analysis of service-oriented software based on mathematically founded techniques. The 'Finance case study' is used as a test bed for demonstrating the feasibility and effectiveness of the use of the process calculus COWS and some...
Conference Paper
Full-text available
We introduce a new criterion, replacement freeness, to discern the relative expressiveness of process calculi. Intuitively, a calculus is strongly replacement free if replacing, within an enclosing context, a process that cannot perform any visible action by an arbitrary process never inhibits the capability of the resulting process to perform a vi...
Article
Coordination languages are often used to describe open-ended systems. This makes it challenging to develop tools for guaranteeing security of the coordinated systems and cor- rectness of their interaction. Successful approaches to this problem have been based on type systems with dynamic checks; therefore, the correctness properties cannot be stati...
Conference Paper
Full-text available
WS-BPEL is imposing itself as a standard for orchestration of web services. However, there are still some well-known difficulties that make programming in WS-BPEL a tricky task. In this paper, we present BliteC, a software tool we have developed for supporting a rapid and easy development of WS-BPEL applications. BliteC translates service orchestra...
Conference Paper
Full-text available
The importance of the Electronic Health Record (EHR) has been addressed in recent years by governments and institutions.Many large scale projects have been funded with the aim to allow healthcare professionals to consult patients data. Properties such as confidentiality, authentication and authorization are the key for the success for these project...
Article
We introduce a capability-based access control model integrated into a linguistic formalism for modeling network aware systems and applications. Our access control model enables specification and dynamic modification of policies for controlling process activities (mobility of code and access to resources). We exploit a combination of static and dyn...
Article
Full-text available
Many efforts are currently devoted to provide software developers with methods and techniques that can endow service-oriented computing with systematic and accountable engineering practices. To this purpose, a number of languages and calculi have been proposed within the Sensoria project that address different levels of abstraction of the software...
Conference Paper
Full-text available
We study the impact on observational semantics for SOC of priority mechanisms which combine dynamic priority with local pre-emption. We de- fine manageable notions of strong and weak labelled bisimilarities for COWS, a process calculus for SOC, and provide alternative characterisations in terms of open barbed bisimilarities. These semantics show th...
Article
Full-text available
We introduce a symbolic characterisation of the operational semantics of COWS, a formal language for specifying and combining service-oriented applications, while modelling their dynamic behaviour. This alternative semantics avoids infinite representations of COWS terms due to the value-passing nature of communication in COWS and is more amenable f...
Conference Paper
Full-text available
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...
Chapter
Research results from industry-academic collaborative projects in service-oriented computing describe practical, achievable solutions. Service-Oriented Applications and Architectures (SOAs) have captured the interest of industry as a way to support business-to-business interaction, and the SOA market grew by $4.9 billion in 2005. SOAs and in partic...
Article
Full-text available
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 spec...
Article
Full-text available
We make a connection between di erent layers of abstraction of the engineering process of Service-Oriented Architectures (SOAs) by presenting an encoding of UML4SOA, a UML profile for modeling SOAs, in COWS, a pro- cess calculus for specifying service-oriented systems. The encoding provides a rigorous semantics for UML4SOA and paves the way for the...
Conference Paper
Full-text available
We introduce B \(\mathit{lite}\), a lightweight language for web services orchestration designed around some of WS-BPEL peculiar features like partner links, process termination, message correlation, long-running business transactions and compensation handlers. B \(\mathit{lite}\) formal presentation helps clarifying some ambiguous aspects of the W...
Article
Full-text available
Abstract To provide formal foundations to current (web) services technologies, we put forward using COWS, a process calculus for specifying, combining and analysing services, as a uniform formalism for modelling all the relevant phases of the life cycle of service-oriented applications, such as publication, discovery, negotiation, deployment and ex...
Conference Paper
Full-text available
We introduce a logical verification framework for checking functional properties of service-oriented applications formally specified using the service specification language COWS. The properties are described by means of SocL, a logic specifically designed to capture peculiar aspects of services. Service behaviours are abstracted in terms of Doubly...
Conference Paper
Full-text available
COWS is a recently defined process calculus for specifying an d combining service-oriented applications, while modelling th eir dynamic behaviour. Since its introduction, a number of methods and tools have been devised to analyse COWS specifications, like e.g. a type system to check confi dentiality properties, a logic and a model checker to expres...
Chapter
Mobility is a key concept for network programming; it has stimulated much research about new programming languages and paradigms. In the design of programming languages for mobile agents, i.e. processes which can migrate and execute on new hosts, the integration of security mechanisms is a major challenge. This paper presents the security mechanism...
Article
We develop the semantic theory of a foundational language for modelling applications over global computers whose interconnection structure can be explicitly manipulated. Together with process distribution, process mobility and remote asynchronous communication through distributed data repositories, the language has primitives for explicitly modelli...
Conference Paper
Full-text available
COWS (Calculus for Orchestration of Web Services) is a foundational language for Service Oriented Computing that combines in an original way a number of ingredients borrowed from well-known process calculi, e.g. asynchronous communication, polyadic synchronization, pattern matching, protection, delimited receiving and killing activities, while resu...
Conference Paper
Full-text available
We define a type system for COWS, a formalism for specifying and combining services, while modelling their dynamic behaviour. Our types permit to express policies constraining data exchanges in terms of sets of service part- ner names attachable to each single datum. Service programmers explicitly write only the annotations necessary to specify the...
Conference Paper
Full-text available
We introduce COWS (Calculus for Orchestration of Web Services), a new foundational language for SOC whose design has been influenced by WS-BPEL, the de facto standard language for orchestration of web services. COWS combines in an original way a number of ingredients borrowed from well-known process calculi, e.g. asynchronous communication, polyadic...
Article
Service-oriented computing is emerging as a new paradigm based on autonomous, platform-independent computational entities (called services) that can be described, published and categorised, and dynamically discovered and assembled, resulting in massively distributed, interoperable, evolvable systems. The IST-FET Integrated Project SENSORIA is devel...
Article
A programming notation is introduced that can be used for protecting secrecy and integrity of data in global computing applications. The approach is based on the explicit annotations of data and network nodes. Data are tagged with information about the allowed movements, while network nodes are tagged with information about which nodes can send dat...
Conference Paper
We describe the approach that has been followed by the authors while teaching the CS1 laboratory course on Java programming at the University of Florence. In particular, we focus on the assessment method that has been utilized: by making use of specific software developed by the teachers themselves, the method allowed them to automatically obtain a...
Article
We describe the approach that has been followed by the authors while teaching the CS1 laboratory course on Java programming at the University of Florence. In particular, we focus on the assessment method that has been utilized: by making use of specific software developed by the teachers themselves, the method allowed them to automatically obtain a...
Conference Paper
Full-text available
We tackle the problem of providing rigorous formal foundations to current software engineering technologies for web services. We focus on two of the most used XML-based languages for web services: WSDL and WS-BPEL. To this aim, first we select an expressive subset of WS-BPEL, with special con- cern for modeling the interactions among web service in...
Chapter
Full-text available
We study may and must testing-based preorders in an asynchronous setting. In particular, we provide some full abstraction theorems that offer alternative characterizations of these preorders in terms of context closure w.r.t. basic observables and in terms of traces and acceptance sets. These characterizations throw light on the asymmetry between i...
Conference Paper
Full-text available
Most foundational models for global computing have focused on the spatial dimension of computations, however global computing requires also new ways of thinking about the temporal dimension. In particular, withno central control and the need to operate with incomplete information there is a compelling need to interleave meta-programming activities...
Chapter
Full-text available
We introduce an ambient-based calculus that combines ambient mobility with process mobility, uses group names to collect ambients with homologous features, and exploits co-moves and runtime type checking to implement flexible policies for controlling process activities. Types rely on group names and, to support dynamicity, may depend on group varia...
Conference Paper
Full-text available
In this paper, we present recent work carried on μ Klaim, a core calculus that retains most of the features of Klaim: explicit process distribution, remote operations, process mobility and asynchronous communication via distributed tuple spaces. Communication in μ Klaim is based on a simple form of pattern matching that enables withdrawal from shar...
Conference Paper
Full-text available
The definition of suitable abstractions and models for identifying, understanding and managing Quality of Service (QoS) constraints is a challenging issue of the Service Oriented Computing paradigm. In this paper we introduce a process calculus where QoS attributes are first class objects. We identify a minimal set of primitives that allow capturin...
Conference Paper
We present a calculus inspired by Klaim whose main features are: explicit process distribution and node interconnections, remote operations, process mobility and asynchronous communication through distributed tuple spaces. We first introduce a basic language where connections are reliable and immutable; then, we enrich it with two more advanced fea...
Article
Full-text available
In this work, we study the expressive power of variants of Klaim, an experimental language with programming primitives for global computing that combines the process algebra approach with the coordination-oriented one. Klaim has proved to be suitable for programming a wide range of distributed applications with agents and code mobility, and has bee...
Article
We study the expressive power of variants of KLAIM, an experimental language with programming primitives for network-aware programming that combines the process algebra approach with the coordination-oriented one. KLAIM has proved to be suitable for programming a wide range of distributed applications with agents and code mobility, and has been imp...
Article
Full-text available
This paper describes the design and the semantics of MetaKlaim, an higher order distributed process calculus equipped with staging mechanisms. MetaKlaim integrates MetaML (an extension of SML for multi-stage programming) and Klaim (a Kernel Language for Agents Interaction and Mobility), to permit interleaving of meta-programming activities (like as...
Article
Full-text available
Security is a key issue for distributed systems/applications with code mobility, like, e.g., e-commerce and on-line bank transactions. In a scenario with code mobility, traditional solutions based on cryptography cannot deal with all security issues and additional mechanisms are necessary. In this paper, we present a flexible and expressive type sy...
Article
Full-text available
We introduce CKLAIM, a process calculus that can be thought of as a variant of the #-calculus with process distribution, process mobility and asynchronous communication through distributed repositories. Upon it, we develop a semantic theory to reason about programs. More precisely, we introduce a natural contextually defined behavioural semantics,...
Chapter
Full-text available
The explicit management of Quality of Service (QoS) of network connectivity, such as, e.g., working cost, transaction support, and security, is a key requirement for the development of the novel wide area network applications. In this paper, we introduce a foundational model for specification of QoS attributes at application level. The model handle...
Article
Full-text available
The definition of suitable abstractions and models for identi-fying, understanding and managing Quality of Service (QoS) constraints is a challenging issue of the Service Oriented Computing paradigm. In this paper we introduce a process calculus where QoS attributes are first class objects. We identify a minimal set of primitives that allow captur-...
Article
Full-text available
An ambient calculus with both static and dynamic types is presented, where the latter ones represent mobility and access rights that may be dynamically consumed and acquired in a controlled way. Novel constructs and operations are provided to this end. Type-checking is purely local, except for a global hierarchy that establishes which locations hav...
Article
Full-text available
We present a programming notation aiming at protecting the secrecy of both host and agent data in global computing applications. The approach exploits annotations with sets of node addresses, called regions. A datum can be annotated with a region that specifies the network nodes that are allowed to interact with it. Network nodes come equipped with...

Network

Cited By