Network


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

Hotspot


Dive into the research topics where Daniele Gorla is active.

Publication


Featured researches published by Daniele Gorla.


Information & Computation | 2010

Towards a unified approach to encodability and separation results for process calculi

Daniele Gorla

We present a unified approach to evaluate the relative expressive power of process calculi. In particular, we identify a small set of criteria (that have already been somehow presented in the literature) that an encoding should satisfy to be considered a valid means for language comparison. We argue that the combination of such criteria is a valid proposal by noting that: (i) several well-known encodings appeared in the literature satisfy them; (ii) this notion is not trivial, because some known encodings do not satisfy all the criteria we have proposed; (iii) several well-known separation results can be formulated in terms of our criteria; and (iv) some widely believed (but never formally proved) separation results can be proved by using the criteria we propose. Moreover, the criteria defined induce general proof-techniques for separation results that can be easily instantiated to cover known case-studies.


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.


international colloquium on automata languages and programming | 2003

Resource access and mobility control with dynamic privileges acquisition

Daniele Gorla; Rosario Pugliese

µKlaim is a process language that permits programming distributed systems made up of several mobile components interacting through multiple distributed tuple spaces. We present the language and a type system for controlling the activities, e.g. access to resources and mobility, of the processes in a net. By dealing with privileges acquisition, the type system enables dynamic variations of security policies. We exploit a combination of static and dynamic type checking, and of inlined reference monitoring, to guarantee absence of run-time errors due to lack of privileges and state two type soundness results: one involves whole nets, the other is relative to subnets of larger nets.


international conference on concurrency theory | 2008

Towards a Unified Approach to Encodability and Separation Results for Process Calculi

Daniele Gorla

In this paper, we present a unified approach to evaluating the relative expressive power of process calculi. In particular, we identify a small set of criteria (that have already been somehow presented in the literature) that an encoding should satisfy to be considered a good means for language comparison. We argue that the combination of such criteria is a valid proposal by noting that: (i) the best known encodings appeared in the literature satisfy them; (ii) this notion is not trivial, because there exist encodings that do not satisfy all the criteria we have proposed; (iii) the best known separation results can be formulated in terms of our criteria; and (iv) some widely believed (but never formally proved) separation results can be proved by using the criteria we propose. Moreover, the way in which we prove known separation results is easier and more uniform than the way in which such results were originally proved.


Theoretical Computer Science | 2006

On the expressive power of KLAIM-based calculi

Rocco De Nicola; Daniele Gorla; Rosario Pugliese

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 implemented on the top of a runtime system written in Java. In this paper, the expressivity of its constructs is tested by distilling from it a few, more and more foundational, languages and by studying the encoding of each of them into a simpler one. The expressive power of the considered calculi is finally tested by comparing one of them with asynchronous π-calculus.


Logical Methods in Computer Science | 2014

A Concurrent Pattern Calculus

Thomas Given-Wilson; Daniele Gorla; Barry Jay

Concurrent pattern calculus (CPC) drives interaction between processes by comparing data structures, just as sequential pattern calculus drives computation. By generalising from pattern matching to pattern unification, interaction becomes symmetrical, with information flowing in both directions. CPC provides a natural language to express trade where information exchange is pivotal to interaction. The unification allows some patterns to be more discriminating than others; hence, the behavioural theory must take this aspect into account, so that bisimulation becomes subject to compatibility of patterns. Many popular process calculi can be encoded in CPC; this allows for a gain in expressiveness, formalised through encodings.


Electronic Notes in Theoretical Computer Science | 2005

Security Policies as Membranes in Systems for Global Computing

Daniele Gorla; Matthew Hennessy; Vladimiro Sassone

We propose a simple global computing framework, whose main concern is code migration. Systems are structured in sites, and each site is divided into two parts: a computing body, and a membrane which regulates the interactions between the computing body and the external environment. More precisely, membranes are filters which control access to the associated site, and they also rely on the well-established notion of trust between sites. We develop a basic theory to express and enforce security policies via membranes. Initially, these only control the actions incoming agents intend to perform locally. We then adapt the basic theory to encompass more sophisticated policies, where the number of actions an agent wants to perform, and also their order, are considered.


international conference on coordination models and languages | 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

Coordination languages are often used to describe open-ended systems. This makes it challenging to develop tools for guaranteeing the security of the coordinated systems and the correctness of their interaction. Successful approaches to this problem have been based on type systems with dynamic checks; therefore, the correctness properties cannot be statically enforced. By contrast, static analysis approaches based on Flow Logic usually guarantee properties statically. In this paper, we show how the insights from the Flow Logic approach can be used to construct a type system for statically ensuring secure access to tuple spaces and safe process migration for an extension of the language Klaim.


principles and practice of declarative programming | 2006

Inferring dynamic credentials for rôle-based trust management

Daniele Gorla; Matthew Hennessy; Vladimiro Sassone

The topic of this paper is the rôle-based trust-management language RT0, a formalism inspired by logic programming that handles trust in large scale, decentralised systems. We provide a purely operational semantics for the language in which credentials can be established using a simple set of inference rules. We then extend RT0to include time validity and boolean guards that control the availability of credentials. In such an extended framework, credentials are conditional on the availability of supporting credentials in the execution context. In addition to a set-theoretic and a logic-programming semantics, we develop for the extended language a series of increasingly powerful inference systems for establishing these conditional credentials. By means of simple but realistic examples, we demonstrate the expressiveness and usability of our language, warranting its integration into existing trust-management tools


foundations of software science and computation structure | 2002

On Compositional Reasoning in the Spi-calculus

Michele Boreale; Daniele Gorla

Observational equivalences can be used to reason about the correctness of security protocols described in the spi-calculus. Unlike in CCS or in ?-calculus, these equivalences do not enjoy a simple formulation in spi-calculus. The present paper aims at enriching the set of tools for reasoning on processes by providing a few equational laws for a sensible notion of spi-bisimilarity. We discuss the difficulties underlying compositional reasoning in spi-calculus and show that, in some cases and with some care, the proposed laws can be used to build compositional proofs. A selection of these laws forms the basis of a proof system that we show to be sound and complete for the strong version of bisimilarity.

Collaboration


Dive into the Daniele Gorla's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Pietro Cenciarelli

Sapienza University of Rome

View shared research outputs
Top Co-Authors

Avatar

Ivano Salvo

Sapienza University of Rome

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Anna Labella

Sapienza University of Rome

View shared research outputs
Top Co-Authors

Avatar

Christian W. Probst

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Flemming Nielson

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Hanne Riis Nielson

Technical University of Denmark

View shared research outputs
Researchain Logo
Decentralizing Knowledge