Papers to appear and drafts by Roberto Bruni

As a contributing author of the documents listed in this page, I have made available our work electronically to ensure timely dissemination of scientific and technical contributions on a non-commercial basis. Nevertheless, copyright and all rights therein are maintained by the authors or by other copyright holders (e.g., the publisher). It is understood that all persons accessing this information will adhere to the appropriate copyright rules. In particular, these works may not be reposted without the explicit permission of the copyright holder.

Note: This page has been generated on-the-fly from a search page.


"A 2-Category View for Double Categories with Shared Structure",
Roberto Bruni, José Meseguer and Ugo Montanari,
Unpublished, 1999.

Keywords: Double Categories, 2-Categories, Tile Logic, Rewriting Logic, Strategies, PMEqtl, Maude

(Postscript)

Abstract
2-categories and double categories are respectively the natural semantic ground for rewriting logic (RL) and tile logic (TL). Since 2-categories can be regarded as a special case of double categories, then RL can be easily embedded into TL, where also rewriting synchronization is considered. Since RL is the semantic basis of several existing languages, it is useful to map TL back into RL to have an executable framework for tile specifications. We extend the results of a previous work of two of the authors, focusing on tile systems where the algebraic structures for configurations and observations rely on some common auxiliary structure (e.g., for pairing, projecting, etc.). The new model theory required to relate the categorical models of the two logics is an extended version of the theory of 2-categories, and is defined using partial membership equational logic. More concretely, this semantic mapping yields a rewriting logic implementation of tile logic, where a meta-layer is required to control the rewritings, so that only tile proofs are computed.


"A zero-safe's agenda",
Roberto Bruni and Ugo Montanari,
Unpublished, 2001.
Draft

Keywords: Zero safe nets, join calculus, transactions

(Postscript) (PDF)

Abstract
This document overviews the zero-safe approach and contains a complete list of references to related literature.


"Composing transactional services",
Roberto Bruni, Hernán Melgratti, and Ugo Montanari,
Unpublished, 2007.
Draft

Keywords: Programming Techniques, Long running transactions, Choreography, Join calculus, jocaml

(Postscript)

Abstract
This paper proposes a formal approach to the design and programming of Long Running Transactions (LRT). We exploit techniques from process calculi to define cJoin, which is an extension of the join calculus with few well-disciplined primitives for LRT. Transactions in cJoin are intended to describe the transactional interaction of several partners. Hence, its distinguishing feature is that any partner executing a transaction may communicate only with other transactional partners. In such case, the transactions run by any party are bound to achieve the same outcome (i.e., all succeed or all fail). Additionally, cJoin is based on compensations, i.e., partial execution of transactions are recovered by executing user-defined programs instead of providing automatic roll-back. The expressiveness and generality of cJoin is demonstrated by many examples addressing common programming patterns. The mathematical foundation is accompanied by a prototype language implementation, which is an extension of the jocaml compiler.


"Meet recursive session types",
Roberto Bruni and Leonardo Gaetano Mezzina,
Unpublished, 2009.
Draft

Keywords: Recursive session types, process calculi

(Postscript)

Abstract
Session types have been introduced to govern long running interaction protocols between two parties. We focus on regular session types, which can account for the sequence of typed I/O actions and internal/external choices to be carried on by (possibly recursive) protocols. They allow studying the degree of compatibility between two communicating entities and they have been applied to many process calculi, ranging from pi-calculus inspired ones, to object-oriented and, more recently, to service-oriented calculi. This paper addresses the problem of computing the intersection (meet) of recursive session types, which is useful to define a deterministic procedure for the typing of conditional constructs, where different branches can follow different protocols, or the typing of different calls to the same service, when session types are seen as service contracts. We first introduce meet algebraically, as the greatest lower bound according to Gay and Hole's subtyping relation, then give a co-inductive characterization for the meet in terms of non-deterministic inference rules and finally we distill an algorithm to infer the meet.


"How to infer session types in a calculus of services and sessions",
Roberto Bruni and Leonardo Gaetano Mezzina,
Unpublished, 2009.
Draft

Keywords: Process calculi, type inference, session types, SCC

(Postscript)

Abstract
Regular session types account for the sequence of typed I/O actions and internal/external choices to be carried out by (possibly recursive) protocols between two communicating entities, to ensure they are compatible and will not block because of type mismatches in the next action to perform. They have been applied to many process calculi, ranging from pi-calculus variants, to object-oriented calculi and, more recently, to service-oriented ones. This paper addresses the problem of session type inference, a problem not faced before, especially for what concern the reconstruction of recursive protocols. We show that the problem is decidable for a variant of the Service Centered Calculus (SCC) and give a sound and complete type inference algorithm. The choice of the SCC as a target language gives us the possibility to have a quite simplified presentation, thanks to the well-disciplined structuring of allowed communications. Still the result can be extended to other calculi with minor reworking apart from increasing technicalities.


"On Structured Model-Driven Transformations",
Roberto Bruni, Alberto Lluch-Lafuente, and Ugo Montanari,
International Journal of Software and Informatics, 21 pages, Submitted, 2010.

Keywords: Hierarchical graphs, rewriting logic, model transformation

(PDF)

Abstract
Structural aspects play a key role in the model-driven development of software systems. Effective techniques and tools must therefore be based on suitable representation formalisms that facilitate the specification, manipulation and analysis of the structure of models. Graphical and algebraic approaches have been shown to be very successful for such purposes: 1) graphs offer natural a representation of topological structures, 2) algebras offer a natural representation of compositional structures, 3) both graphs and algebras can be manipulated in a declarative way by means of rule-based techniques, 4) they allow for a layered presentation of models that enables compositional techniques and favours scalability. Most of the existing approaches represent such layering in a plain manner by overlapping the intra- and the inter-layered structure. It has been shown that some layering structures can be conveniently represented by an explicit hierarchical structure enabling then hierarchical manipulations of the resulting models. Moreover, providing an inductive presentation of the structure facilitates the compositional manipulation and analysis of models. In this paper we compare and reconcile some recent approaches and synthesise them into an algebraic and graph-based formalism for representing and manipulating models with inductively defined hierarchical structure.


"A New Strategy for Distributed Compensations with Interruption in Long-Running Transactions",
Roberto Bruni, Anne Kersten and Ivan Lanese,
in Proceedings of WADT 2010, 20th International Workshop on Algebraic Development Techniques,
1-4 July 2010, Schloss Etelsen, Germany,
Lecture Notes in Computer Science, 18 pages, Springer Verlag, Submitted, 2010.
Post-Proceedings.
Transparencies: PDF.

Keywords: Sagas, cCSP, concurrent semantics, compensations, long-running transactions

(PDF)

Abstract
We propose new denotational (trace-based) and operational semantics for parallel Sagas with interruption, prove the correspondence between the two and assess their merits w.r.t. existing proposals. The new semantics is realistic, in the sense that it guarantees that distributed compensations may only be observed after a fault actually occurred. Moreover, the operational semantics is defined in terms of (1-safe) Petri nets and hence retains causality and concurrency information about the events that can occur, not evident in the standard trace semantics.


"Graph Representation of Sessions and Pipelines for Structured Service Programming",
Roberto Bruni, Zhiming Liu and Liang Zhao,
in Proceedings of FACS 2010, 7th International Workshop on Formal Aspects of Component Software,
October 14-16, 2010, Guimaraes (Portugal),
Lecture Notes in Computer Science, 18 pages, Springer Verlag, Submitted, 2010.
Post-Proceedings.
Transparencies: PDF.

Keywords: Graph transformation, CaSPiS, hierarchical graphs, sessions

(PDF)

Abstract
Graph transformation techniques, and the Double-Pushout approach in particular, have been successfully applied in the modeling of concurrent systems. In this area, a research thread has addressed the definition of concurrent semantics for process calculi. In this paper, we show how graph transformation can cope with advanced features of service-oriented process calculi, such as several logical notions of scoping (like sessions and pipelines) together with the interplay between linking and containment. This is illustrated by encoding CaSPiS, a recently proposed process calculus with such sophisticated features. We show how to represent the congruence and reduction relations between CaSPiS processes by exploiting concurrent graph transformations over hierarchical graphs.


"A formal support to business and architectural design for service-oriented systems",
Roberto Bruni, Howard Foster, Alberto Lluch-Lafuente, Ugo Montanari, Emilio Tuosto,
in Proceedings of Rigorous Software Engineering for Service-Oriented Systems - Results of the SENSORIA project on Software Engineering for Service-Oriented Computing,
Lecture Notes in Computer Science, 20 pages, Springer Verlag, To Appear, 2010.
Chapter of the book on the Sensoria projet

Keywords: UML4SOA, SRML, Software Modes, ADR

(Postscript) (PDF)

Abstract
Architectural Design Rewriting (ADR) is an approach for the design of software architectures developed within Sensoria by reconciling graph transformation and process calculi techniques. The key feature that makes ADR a suitable and expressive framework is the algebraic handling of structured graphs, which improves the support for specification, analysis and verification of service-oriented architectures and applications. We show how ADR is used as a formal ground for high-level modelling languages and approaches developed within Sensoria.


"Hierarchical models for service-oriented systems",
Roberto Bruni, Fabio Gadducci, Andrea Corradini, Alberto Lluch-Lafuente, Ugo Montanari,
in Proceedings of Rigorous Software Engineering for Service-Oriented Systems - Results of the SENSORIA project on Software Engineering for Service-Oriented Computing,
Lecture Notes in Computer Science, 20 pages, Springer Verlag, To Appear, 2010.
Chapter of the book on the Sensoria projet

Keywords: Hierarchical graphs, process calculi, sagas, CaSPiS

(Postscript) (PDF)

Abstract
We present our approach to the denotation and representation of hierarchical graphs: a suitable algebra of hierarchical graphs and two domains of interpretations. Each domain of interpretation focuses on a particular perspective of the graph hierarchy: the top view (nested boxes) is based on a notion of embedded graphs while the side view (tree hierarchy) is based on gs-graphs. Our algebra can be understood as a high-level language for describing such graphical models, which are well suited for defining graphical representations of service-oriented systems where nesting (e.g. sessions, transactions, locations) and linking (e.g. shared channels, resources, names) are key aspects.


"Static Analysis Techniques for Session-Oriented Calculi",
Lucia Acciai, Chiara Bodei, Michele Boreale, Roberto Bruni, Hugo T. Vieira,
in Proceedings of Rigorous Software Engineering for Service-Oriented Systems - Results of the SENSORIA project on Software Engineering for Service-Oriented Computing,
Lecture Notes in Computer Science, 18 pages, Springer Verlag, To Appear, 2010.
Chapter of the book on the Sensoria projet

Keywords: CaSPiS, CC, service-oriented calculi, static analysis, control flow, conversation fidelity

(Postscript) (PDF)

Abstract
In the Sensoria project, core calculi have been adopted as a linguistic means to model and analyze service-oriented applications. The present chapter reports about the static analysis techniques developed for the Sensoria session-oriented core calculi CaSPiS and CC. In particular, it presents a type system for client progress and control flow analysis in CaSPiS and type systems for conversation fidelity and progress in CC. The chapter gives an overview of the these techniques, summarizes the main results and presents the analysis of a common example taken from the Sensoria financial case-study: the credit request scenario.


email me created: Tue Nov 30 2010 16:18:49 GMT+0100 (CET) Roberto Bruni's Home Page