Gian-Luigi Ferrari 0002

dblp:f/GianLuigiFerrari · also Gianluigi Ferrari 0002 · DBLP profile ↗
← Back
64ranked-venue papers
21as first author
5since 2021 · last 2024
0000-0003-3548-5514ORCID · conflict

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

Theory of computation · 27 · 15 first-authorSoftware engineering, systems software and programming languages · 26 · 8 first-author · 3 since 2021Systems, architecture and hardware · 7 · 2 since 2021Computer networks · 5 · 2 first-author · 1 since 2021Security and privacy · 3
YearPublicationVenuePosition
2024 Klaim in the Making
Lorenzo Bettini, Gian-Luigi Ferrari 0002, Michele Loreti, Rosario Pugliese, Francesco Tiezzi 0001, Emilio Tuosto
ISoLA (1)2
2024 Riding the Data Storms: Specifying and Analysing IoT Security Requirements with SURFING
Francesco Rubino, Chiara Bodei, Gian-Luigi Ferrari 0002
ISoLA (1)3
2022 Type, pad, and place: Avoiding data leaks in Cloud-IoT FaaS orchestrations
abstract
Placing applications composed as orchestrated serverless functions onto Cloud-loT infrastructures is a chal-lenging problem as it must consider hardware, software, network Quality of Service, and service interactions constraints. In this paper, we propose a novel declarative methodology that handles all of the above, also relying on information-flow analyses and padding techniques to prevent information leaks through side channels. A motivating use case from augmented reality is used to showcase the open-source prototype implementing our proposal.
Alessandro Bocci, Stefano Forti 0002, Gian-Luigi Ferrari 0002, Antonio Brogi
CCGRID3
2021 Supervisory Synthesis of Configurable Behavioural Contracts with Modalities
Davide Basile 0001, Maurice H. ter Beek, Pierpaolo Degano, Axel Legay, Gian-Luigi Ferrari 0002, Stefania Gnesi, Felicita Di Giandomenico
FORTE5
2021 Modelling and analysing IoT systems
Chiara Bodei, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta
J. Parallel Distributed Comput.3
2020 Secure Cloud-Edge Deployments, with Trust
Stefano Forti 0002, Gian-Luigi Ferrari 0002, Antonio Brogi
Future Gener. Comput. Syst.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.2
2020 Controller synthesis of service contracts with variability
abstract
Service contracts characterise the desired behavioural compliance of a composition of services. Compliance is typically defined by the fulfilment of all service requests through service offers, as dictated by a given Service-Level Agreement (SLA). Contract automata are a recently introduced formalism for specifying and composing service contracts. Based on the notion of synthesis of the most permissive controller from Supervisory Control Theory, a safe orchestration of contract automata can be computed that refines a composition into a compliant one. To model more fine-grained SLA and more adaptive service orchestrations, in this paper we endow contract automata with two orthogonal layers of variability: (i) at the structural level, constraints over service requests and offers define different configurations of a contract automaton, depending on which requests and offers are selected or discarded, and (ii) at the behavioural level, service requests of different levels of criticality can be declared, which induces the novel notion of semi-controllability. The synthesis of orchestrations is thus extended to respect both the structural and the behavioural variability constraints. Finally, we show how to efficiently compute the orchestration of all configurations from only a subset of these configurations. A prototypical tool supports the developed theory.
Davide Basile 0001, Maurice H. ter Beek, Pierpaolo Degano, Axel Legay, Gian-Luigi Ferrari 0002, Stefania Gnesi, Felicita Di Giandomenico
Sci. Comput. Program.5
2019 Programming in a context-aware language
Chiara Bodei, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta
J. Supercomput.3
2018 A Formal Approach to the Engineering of Domain-Specific Distributed Systems
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese, Francesco Tiezzi 0001
COORDINATION2
2017 Regular and context-free nominal traces
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Gianluca Mezzetti
Acta Informatica2
2017 Tracing where IoT data are collected and aggregated
abstract
The Internet of Things (IoT) offers the infrastructure of the information society. It hosts smart objects that automatically collect and exchange data of various kinds, directly gathered from sensors or generated by aggregations. Suitable coordination primitives and analysis mechanisms are in order to design and reason about IoT systems, and to intercept the implied technological shifts. We address these issues from a foundational point of view. To study them, we define IoT-LySa, a process calculus endowed with a static analysis that tracks the provenance and the manipulation of IoT data, and how they flow in the system. The results of the analysis can be used by a designer to check the behaviour of smart objects, in particular to verify non-functional properties, among which security.
Chiara Bodei, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta
Log. Methods Comput. Sci.3
2017 Checking global usage of resources handled with local policies
Chiara Bodei, Viet Dung Dinh, Gian-Luigi Ferrari 0002
Sci. Comput. Program.3
2016 Where Do Your IoT Ingredients Come From?
Chiara Bodei, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta
COORDINATION3
2016 Playing with Our CAT and Communication-Centric Applications
Davide Basile 0001, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Emilio Tuosto
FORTE3
2016 A Two-Component Language for Adaptation: Design, Semantics and Program Analysis
abstract
Adaptive systems are designed to modify their behaviour in response to changes of their operational environment. We propose a two-component language for adaptive programming, within the Context-Oriented Programming paradigm. It has a declarative constituent for programming the context and a functional one for computing. We equip our language with a dynamic formal semantics. Since wrong adaptation could severely compromise the correct behaviour of applications and violate their properties, we also introduce a two-phase verification mechanism. It is based on a type and effect system that type-checks programs and computes, as an effect, a sound approximation of their behaviour. The effect is exploited at load time to mechanically verify that programs correctly adapt themselves to all possible running environments.
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta
IEEE Trans. Software Eng.2
2015 Model checking usage policies
abstract
We study usage automata, a formal model for specifying policies on the usage of resources. Usage automata extend finite state automata with some additional features, parameters and guards, that improve their expressivity. We show that usage automata are expressive enough to model policies of real-world applications. We discuss their expressive power, and we prove that the problem of telling whether a computation complies with a usage policy is decidable. The main contribution of this paper is a model checking technique for usage automata. The model is that of usages, i.e. basic processes that describe the possible patterns of resource access and creation. In spite of the model having infinite states, because of recursion and resource creation, we devise a polynomial-time model checking technique for deciding when a usage complies with a usage policy.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
Math. Struct. Comput. Sci.3
2014 A Two-Phase Static Analysis for Reliable Adaptation
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta
SEFM2
2014 A formal framework for secure and complying services
Davide Basile 0001, Pierpaolo Degano, Gian-Luigi Ferrari 0002
J. Supercomput.3
2013 Towards Nominal Context-Free Model-Checking
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Gianluca Mezzetti
CIAA2
2012 Types for Coordinating Secure Behavioural Variations
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Letterio Galletta, Gianluca Mezzetti
COORDINATION2
2012 Nominal Automata for Resource Usage Control
Pierpaolo Degano, Gian-Luigi Ferrari 0002, Gianluca Mezzetti
CIAA2
2010 Event based choreography
Vincenzo Ciancia, Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo
Sci. Comput. Program.2
2009 nu-Types for Effects and Freshness Analysis
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
ICTAC3
2009 Planning and verifying service composition
abstract
A static approach is proposed to study secure composition of services. We extend the λ-calculus with primitives for selecting and invoking services that respect given security requirements. Security-critical code is enclosed in policy framings with a possibly nested, local scope. Policy framings en force safety and liveness properties. The actual run-time behaviour of services is over-approximated by a type and effect system. Types are standard, and effects include the actions with possible security concerns – as well as information about which services may be invoked at run-time. An approximation is model checked to verify policy framings within their scopes. This allows for removing any run-time execution monitor, and for determining the plans driving the selection of those services that match the security requirements on demand.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
J. Comput. Secur.3
2009 Local policies for resource usage analysis
abstract
An extension of the λ-calculus is proposed, to study resource usage analysis and verification. It features usage policies with a possibly nested, local scope, and dynamic creation of resources. We define a type and effect system that, given a program, extracts a history expression, that is, a sound overapproximation to the set of histories obtainable at runtime. After a suitable transformation, history expressions are model-checked for validity. A program is resource-safe if its history expression is verified valid: If such, no runtime monitor is needed to safely drive its executions.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
ACM Trans. Program. Lang. Syst.3
2008 Checking Correctness of Transactional Behaviors
Vincenzo Ciancia, Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo
FORTE2
2008 Semantics-Based Design for Secure Web Services
abstract
We outline a methodology for designing and composing services in a secure manner. In particular, we are concerned with safety properties of service behaviour. Services can enforce security policies locally and can invoke other services respecting given security contracts. This call-by-contract mechanism offers a significant set of opportunities, each driving secure ways to compose services. We discuss how to correctly plan services compositions in several relevant classes of services and security properties. To this aim, we propose a graphical modelling framework, based on a foundational calculus called lambda-req. Our formalism features dynamic and static semantics, so allowing for formal reasoning about systems. Static analysis and model checking techniques provide the designer with useful information to assess and fix possible vulnerabilities.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
IEEE Trans. Software Eng.3
2007 Coordination Via Types in an Event-Based Framework
Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo, Emilio Tuosto
FORTE1
2007 Types and Effects for Resource Usage Analysis
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002, Roberto Zunino
FoSSaCS3
2006 Types and Effects for Secure Service Orchestration
abstract
A distributed calculus is proposed for describing networks of services. We model service interaction through a call-by-property invocation mechanism, by specifying the security constraints that make their composition safe. A static approach is then proposed to determine how to compose services and guarantee that their execution is always secure, without resorting to any dynamic check.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
CSFW3
2006 Topic 14: Mobile and Ubiquitous Computing
Alois Ferscha, Alexander Schill, Gian-Luigi Ferrari 0002, Valérie Issarny
Euro-Par3
2006 JSCL: A Middleware for Service Coordination
Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo
FORTE1
2006 Event Based Service Coordination over Dynamic and Heterogeneous Networks
Gian-Luigi Ferrari 0002, Roberto Guanciale, Daniele Strollo
ICSOC1
2005 Modelling Fusion Calculus using HD-Automata
Gian-Luigi Ferrari 0002, Ugo Montanari, Emilio Tuosto, Björn Victor, Kidane Yemane
CALCO1
2005 A Process Calculus for QoS-Aware Applications
Rocco De Nicola, Gian-Luigi Ferrari 0002, Ugo Montanari, Rosario Pugliese, Emilio Tuosto
COORDINATION2
2005 Enforcing Secure Service Composition
abstract
A static approach is proposed to study secure composition of software. We extend the /spl lambda/-calculus with primitives for invoking services that respect given security requirements. Security-critical code is enclosed in policy framings with a possibly nested, local scope. Policy framings enforce safety and liveness properties of execution histories. The actual histories that can occur at runtime are over-approximated by a type and effect system. These approximations are model-checked to verify policy framings within their scopes. This allows for removing any runtime execution monitor, and for selecting those services that match the security requirements.
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
CSFW3
2005 History-Based Access Control with Local Policies
Massimo Bartoletti, Pierpaolo Degano, Gian-Luigi Ferrari 0002
FoSSaCS3
2005 Model Checking for Nominal Calculi
Gian-Luigi Ferrari 0002, Ugo Montanari, Emilio Tuosto
FoSSaCS1
2005 Coalgebraic minimization of HD-automata for the Pi-calculus using polymorphic types
Gian-Luigi Ferrari 0002, Ugo Montanari, Emilio Tuosto
Theor. Comput. Sci.1
2004 Topic 15: Mobile Computing
Sajal K. Das 0001, Jiannong Cao 0001, Jie Wu 0001, Gian-Luigi Ferrari 0002
Euro-Par4
2004 MetaKlaim: a type safe multi-stage language for global computing
abstract
This paper describes the design and semantics of METAKLAIM, which is a 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 (such as assembly and linking of code fragments), dynamic checking of security policies at administrative boundaries and ‘traditional’ computational activities on a wide area network (such as remote communication and code mobility). METAKLAIM exploits a powerful type system (including polymorphic types á la system F) to deal with highly parameterised mobile components and to enforce security policies dynamically: types are metadata that are extracted from code at run-time and are used to express trustiness guarantees. The dynamic type checking ensures that the trustiness guarantees of wide area network applications are maintained whenever computations interoperate with potentially untrusted components.
Gian-Luigi Ferrari 0002, Eugenio Moggi, Rosario Pugliese
Math. Struct. Comput. Sci.1
2003 A model-checking verification environment for mobile processes
abstract
This article presents a semantic-based environment for reasoning about the behavior of mobile systems. The verification environment, called HAL, exploits a novel automata-like model that allows finite-state verification of systems specified in the π-calculus. The HAL system is able to interface with several efficient toolkits (e.g. model-checkers) to determine whether or not certain properties hold for a given specification. We report experimental results on some case studies.
Gian-Luigi Ferrari 0002, Stefania Gnesi, Ugo Montanari, Marco Pistore
ACM Trans. Softw. Eng. Methodol.1
2002 Minimizing Transition Systems for Name Passing Calculi: A Co-algebraic Formulation
Gian-Luigi Ferrari 0002, Ugo Montanari, Marco Pistore
FoSSaCS1
2002 Mark, a Reasoning Kit for Mobility
Gian-Luigi Ferrari 0002, Carlo Montangero, Laura Semini, Simone Semprini
Autom. Softw. Eng.1
2001 On the semantics of durational actions
Flavio Corradini, Gian-Luigi Ferrari 0002, Marco Pistore
Theor. Comput. Sci.2
2000 Programming Access Control: The KLAIM Experience
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese
CONCUR2
2000 Mobile Agents Coordination in Mobadtl
Gian-Luigi Ferrari 0002, Carlo Montangero, Laura Semini, Simone Semprini
COORDINATION1
2000 Tile Formats for Located and Mobile Systems
Gian-Luigi Ferrari 0002, Ugo Montanari
Inf. Comput.1
2000 Types for access control
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese, Betti Venneri
Theor. Comput. Sci.2
1998 Verifying Mobile Processes in the HAL Environment
Gian-Luigi Ferrari 0002, Stefania Gnesi, Ugo Montanari, Marco Pistore, Gioia Ristori
CAV1
1998 Parameterized Structured Operational Semantics
abstract
A generalization of De Simone format, where labels of transitions are structured actions, is presented. This provides a parameterized SOS framework where several paradigms of the observational semantics of process calculi can be uniformly handled. Moreover, standard algebraic techniques provide the formal machineries to relate the different semantics. It is also shown that much of the meta results developed for standard SOS format extend to this parameterized context.
Gian-Luigi Ferrari 0002, Ugo Montanari
Fundam. Informaticae1
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.2
1997 Coordinating Mobile Agents via Blackboards and Access Rights
Rocco De Nicola, Gian-Luigi Ferrari 0002, Rosario Pugliese
COORDINATION2
1997 A Tile-Based Coordination View of Asynchronous pi-Calculus
Gian-Luigi Ferrari 0002, Ugo Montanari
MFCS1
1997 Atomicity and Concurrency Control in Process Calculi
abstract
A process calculus where atomic actions cooperate via explicit synchronization policies is presented. Bisimulation semantics for the calculus is provided with a sound and complete axiomatization. The problem of modeling concurrency control strategies is also addressed. This paper intends to show that process-algebraic semantics, notably non interleaving semantics, can be used to reason about complex concurrent behaviours.
Gian-Luigi Ferrari 0002
Fundam. Informaticae1
1997 Structured Transition Systems with Parametric Observations: Observational Congruences and Minimal Realizations
abstract
A large number of observational semantics for process description languages have been developed, many of which are based on the notion of bisimulation. In this paper, we consider in detail the problem of defining a semantic framework to unify these. The discussion takes place in a purely algebraic setting. We introduce a special class of algebras called Structured Transition Systems. A structured transition system can be viewed as a transition system with an algebraic structure both on states and transitions. In this framework, observations of behaviours are dealt with by means of maps from the transitions to some algebra of observations. Using several examples, we show that this framework allows us to describe a range of observational semantics within a single underlying presentation: it is enough to consider different mappings and algebras of observations. Furthermore, we introduce a notion of bisimulation that is parameterized with respect to the choice of the algebra of observations, and we find circumstances under which a Structured Transition System has good properties with respect to this parameterized bisimulation. First, some general syntactic constraints, independent from the choice of the algebra of the observations, are given for Structured Transition System presentations. We show that these constraints ensure that parameterized bisimulation is always a congruence. Next, we address the problem of Minimal Realizations. We show that when the presentation satisfies the syntactic constraints there exists a minimal realization, i.e., there is a model of the presentation whose elements fully characterize congruence classes under bisimulation.
Gian-Luigi Ferrari 0002, Ugo Montanari, Miranda Mowbray
Math. Struct. Comput. Sci.1
1996 A Pi-Calculus with Explicit Substitutions
Gian-Luigi Ferrari 0002, Ugo Montanari, Paola Quaglia
Theor. Comput. Sci.1
1995 The Weak Late pi-Calculus Semantics as Observation Equivalence
Gian-Luigi Ferrari 0002, Ugo Montanari, Paola Quaglia
CONCUR1
1994 A Pi-Calculus with Explicit Substitutions: the Late Semantics
Gian-Luigi Ferrari 0002, Ugo Montanari, Paola Quaglia
MFCS1
1991 The Observation Algebra of Spatial Pomsets
Gian-Luigi Ferrari 0002, Ugo Montanari
CONCUR1
1990 Observational Logics and Concurrency Models
Rocco De Nicola, Gian-Luigi Ferrari 0002
FSTTCS2
1990 Implicative Formulae in the "Proofs as Computations" Analogy
abstract
In [As87] a correspondence between the subset of Linear Logic [Gi86] involving the conjunctive tensor product only and Place/Transition Petri Nets [Rei85] is established. In this correspondence, formulae are regarded as distributed states and provable sequents are computations in the net. Developing this idea, Martì-Oliet and Meseguer [MaM89] have suggested that all the other computations of Linear Logic, which do not have an immediate correspondence with Petri Nets, should be regarded as “gedanken” or idealized processes, providing a richer language for the specification and the study of properties of distributed computations. In this paper we apply this program to the fundamental connective of linear implication. We prove that the introduction of linear implication allows us to observe the net at a lower, more decentralized level of atomicity, where the preemption of each resource needed for the firing of a transition is represented as a separate move. We give a conservative theorem relating computations at different levels of abstraction. The categorical semantics establishes a tight correspondence among Petri nets, monoidal closed categories and tensor theories, reminiscent of the well known relation among functional languages, Cartesian closed categories and intuitionistic logic [LS86]. The identification of computations in the categorical model naturally suggests the generalisation of the notion of process [DMM89] at the lower level of atomicity.
Andrea Asperti, Gian-Luigi Ferrari 0002, Roberto Gorrieri
POPL2
1990 RSF: A Formalism for Executable Requirement Specifications
abstract
RSF is a formalism for specifying and prototyping systems with time constraints. Specifications are given via a set of transition rules. The application of a transition rule is dependent upon certain events. The occurrence times of the events and the data associated with them must satisfy given properties. As a consequence of the application of a rule, some events are generated and others are scheduled to occur in the future, after given intervals of time. Specifications can be queried, and the computation of answers to queries provides a generalized form of rapid prototyping. Executability is obtained by mapping the RSF rules into logic programming. The rationale, a definition of the formalism, the execution techniques which support the general notion of rapid prototyping and a few examples of its use are presented.>
Michela Degl'Innocenti, Gian-Luigi Ferrari 0002, Giuliano Pacini, Franco Turini
IEEE Trans. Software Eng.2