Lo scritto di ALF del 16.9.2015 si svolgerà alle ore 15.00 nel Laboratorio Magistrale del Palazzo delle Scienze.
Local coordinator: Massimo Bartoletti
Emilio Tuosto, Roberto Zunino and myself have developed a parametric calculus for contract-based computing in distributed systems. By abstracting from the actual contract language, our calculus generalises both the contracts-as-processes and contracts-as-formulae paradigms. The calculus features primitives for advertising contracts, for reaching agreements, and for querying the fulfilment of contracts. Coordination among participants happens via multi-party sessions, which are created once agreements are reached.
We present two instances of our calculus, by modelling contracts as processes in a variant of CCS, and as formulae in a logic. We formally relate the two paradigms, through an encoding from contracts-as-formulae to contracts-as-processes which ensures that the promises deducible in the logical system are exactly those reachable by its encoding as a process.
Finally, we present a coarse-grained taxonomy of possible misbehaviours in contract-oriented systems, and we illustrate them with the help of a variety of examples.
M. Bartoletti, E. Tuosto, R. Zunino. Contract-oriented Computing in CO2. In Scientific Annals of Computer Science, 22(1), 2012.
Emilio Tuosto, Roberto Zunino and myself have developed a theory of contracting systems, where behavioural contracts may be violated by dishonest participants after they have been agreed upon – unlike in traditional approaches based on behavioural types.
We have considered the contracts of Castagna-Gesbert-Padovani, and we have embedded them in a calculus that allows distributed participants to advertise contracts, reach agreements, query the fulfilment of contracts, and realise them (or choose not to).
Our contract theory makes explicit who is culpable at each step of a computation. A participant is honest in a given context S when she is not culpable in each possible interaction with S. Our main result is a sufficient criterion for classifying a participant as honest in all possible contexts.
Massimo Bartoletti, Emilio Tuosto and Roberto Zunino. On the realizability of contracts in dishonest systems. To appear in Proc. COORDINATION, 2012
My RAS Project TRICS: A Trusted Reservation Infrastructure for Computational Societies has been funded (grant L.R.7/2007 CRP-17285).
The goal of this project is to model and develop a trustworthy reservation infrastructure. We are looking for a generic infrastructure, which can be specialized to a wide variety of contexts of reservations: flights, hotels, museums, car pooling, medical examinations, etc.
A key aspect of the project is that the interaction between clients and services should be guided by contracts, which allow clients and services to agree on the required and offered features. Contracts might have, for example, sanctions for the modification or the cancellation of reservations, within agreed time limits. Contracts would be formal entities that would allow, on one side, to establish exactly and without uncertainty the obligations and rights of providers and clients and, on the other side, to formally verify whether or not services respect the advertised contracts. Furthermore, contracts will allow the client to compare different providers of the same service and to choose the most suitable for their desires.
The formal specification of contracts is a main research challenge, since one needs a comprehensive theoretical framework, capable of dealing with all the aspects (deadlines, reputation, sanctions, etc.) needed for modelling all the scenarios of interest.
A further goal of this project is the integration of the reservation infrastructure with social networks. In particular, we aim at developing search and recommendation algorithms to single out the services more suitable to the user needs. Such algorithms will be based both on single user profiling, and on the study of the relation with other users in the community.
Emilio Tuosto, Roberto Zunino and myself have introduced a parametric calculus for contract-based computing in distributed systems. By abstracting from the actual contract language, our calculus generalises both the contracts-as-processes and contracts-as-formulae paradigms.
The calculus features primitives for advertising contracts, for reaching agreements, and for querying the fulfilment of contracts. Coordination among principals happens via multi-party sessions, which are created once agreements are reached.
We have presented two instances of our calculus, by modelling contracts as (i) processes in a variant of CCS, and (ii) as formulae in a logic. With the help of a few examples, we have discussed the primitives of our calculus, as well as some possible variants.
Massimo Bartoletti, Emilio Tuosto and Roberto Zunino. Contracts in Distributed Systems. In Proc. Interaction and Concurrency Experience (ICE), 2011
by Tiziana Cimoli,
PhD student in Computer Science
Dipartimento di Matematica e Informatica,
Università degli Studi di Cagliari
The current version of kSOAP2, the Android library for communication via SOAP, does not offer facilities for serializing and deserializing complex objects. Furthermore, arrays are not supported.
In this post, we will introduce a patch of kSOAP2 which enables Android clients to communicate complex objects and arrays via SOAP. We will do that with the help of an example.
Here you can find:
- the jar of our patch
- the sources of the patched files
- the sources of the example (both client and server)
- the sources of the official version of kSOAP2.
My RAS Project TESLA: Techniques for Enforcing Security in Languages and Applications has been funded (grant L.R.7/2007-CRP2_120).
This project aims at fostering the understanding and the circulation of formal methods for security outside the academic context. We propose a vertical approach, where software security is considered at different levels of abstraction…
We start from a foundational level, where we consider idealised models of programming languages. At this level, we introduce various security models and policies, and we study techniques for their analysis and enforcement.
We then move to the programming languages level. At this more concrete level, we consider commercial programming languages, with Java as a primary target. Here, we are interested in studying refinements of the models and techniques developed at the foundational level. In particular, we want to assess how the augmented concreteness of the language affects the expressivity, decidability and complexity of the results obtained at the more abstract level.
Finally, we move to the application level, where we consider real-world scenarios to experiment with the techniques introduced above. In particular, we want to establish whether the models defined at the more abstract levels are expressive enough to deal with security policies occurring in realistic scenarios. Also, we aim at measuring the accuracy and efficiency of our analysis and enforcement techniques.
As a main case study and reality-check for the techniques developed in this project, we will model, analyse and develop a workflow management system for the dematerialization of the administrative documentation of the University of Cagliari.
This project has been funded by the Autonomous Region of Sardinia, with grant L.R.7/2007-CRP2_120. You can find the full version of the project proposal here (in italian).
Roberto Zunino and myself have recently investigated the logical foundations of contracts in concurrent systems. A contract is an agreement stipulated between two or more parties, which specifies the duties and the rights of the parties involved therein. We have modelled contracts as formulae in an intuitionistic logic extended with a “contractual” form of implication. We have proved decidability of our logic via cut elimination: this allows us to mechanically infer the rights and the duties deriving from any set of contracts. We have embedded our logic in a core calculus of contracting processes, which combines features from concurrent constraints and calculi for multiparty sessions, while subsuming several idioms for concurrency. We have then shown how to exploit our calculus as a tool for modelling services, the interaction of which is driven by contracts.
- Massimo Bartoletti and Roberto Zunino. A calculus of contracting processes.
To appear in LICS 2010. A draft is available here.
- Massimo Bartoletti and Roberto Zunino. A calculus of contracting processes.
Technical Report DISI-09-056, 2009. [pdf]
- Massimo Bartoletti and Roberto Zunino. A logic for contracts.
Technical Report DISI-09-034, 2009. [pdf]
Since Nov 3, 2008 I am a researcher at the Dipartimento di Matematica e Informatica, Università degli Studi di Cagliari.
I moved from the University of Pisa, where I got my PhD in 2005 at the Computer Science Department, with a thesis on static analysis for language-based security. From 2005 to 2008, I had two postdocs on programming languages security. Here you can find a full list of my publications, sorted by category.