Network


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

Hotspot


Dive into the research topics where Fabrizio Montesi is active.

Publication


Featured researches published by Fabrizio Montesi.


international conference on concurrency theory | 2013

Compositional choreographies

Fabrizio Montesi; Nobuko Yoshida

We propose a new programming model that supports a compositionality of choreographies. The key of our approach is the introduction of partial choreographies, which can mix global descriptions with communications among external peers. We prove that if two choreographies are composable, then the endpoints independently generated from each choreography are also composable, preserving their typability and deadlock-freedom. The usability of our framework is demonstrated by modelling an industrial use case implemented in a tool for Web Services, Jolie.


symposium on principles of programming languages | 2013

Deadlock-freedom-by-design: multiparty asynchronous global programming

Marco Carbone; Fabrizio Montesi

Over the last decade, global descriptions have been successfully employed for the verification and implementation of communicating systems, respectively as protocol specifications and choreographies. In this work, we bring these two practices together by proposing a purely-global programming model. We show a novel interpretation of asynchrony and parallelism in a global setting and develop a typing discipline that verifies choreographies against protocol specifications, based on multiparty sessions. Exploiting the nature of global descriptions, our type system defines a new class of deadlock-free concurrent systems (deadlock-freedom-by-design), provides type inference, and supports session mobility. We give a notion of Endpoint Projection (EPP) which generates correct entity code (as pi-calculus terms) from a choreography. Finally, we evaluate our approach by providing a prototype implementation for a concrete programming language and by applying it to some examples from multicore and service-oriented programming.


software engineering and formal methods | 2008

Bridging the Gap between Interaction- and Process-Oriented Choreographies

Ivan Lanese; Claudio Guidi; Fabrizio Montesi; Gianluigi Zavattaro

In service oriented computing, choreography languages are used to specify multi-party service compositions. Two main approaches have been followed: the interaction-oriented approach of WS-CDL and the process-oriented approach of BPEL4Chor. We investigate the relationship between them. In particular, we consider several interpretations for interaction-oriented choreographies spanning from synchronous to asynchronous communication. Under each of these interpretations we characterize the class of interaction-oriented choreographies which have a process-oriented counterpart, and we formalize the notion of equivalence between the initial interaction-oriented choreography and the corresponding process-oriented one.


arXiv: Software Engineering | 2017

Microservices: Yesterday, Today, and Tomorrow

Saverio Giallorenzo; Alberto Lluch-Lafuente; Manuel Mazzara; Fabrizio Montesi; Ruslan Mustafin; Larisa Safina

Microservices is an architectural style inspired by service-oriented computing that has recently started gaining popularity. Before presenting the current state-of-the-art in the field, this chapter reviews the history of software architecture, the reasons that led to the diffusion of objects and services first, and microservices later. Finally, open problems and future challenges are introduced. This survey primarily addresses newcomers to the discipline, while offering an academic viewpoint on the topic. In addition, we investigate some practical issues and point out some potential solutions.


european conference on web services | 2007

Composing Services with JOLIE

Fabrizio Montesi; Claudio Guidi; Gianluigi Zavattaro

Service composition and service statefulness are key concepts in Web Service system programming. In this paper we present JOLIE, which is the full implementation of our formal calculus for service orchestration calledSOCK. JOLIE inherits all the formal semantics of SOCK and provides a C-like syntax which allows the programmer to design the service behaviour and the service deployment information separately. The service behaviour is exploited to design the interaction workflow and the computational functionalities of the service, whereas the service deployment information deals with service interface definition, statefulness and service session management. On the one hand, JOLIE offers a simple syntax for dealing with service composition and efficient multiple request processing; on the other hand, it is based on a formal semantics which offers a solid development base, along with the future possibility of creating automated tools for testing system properties such as deadlock freeness.


Web Services Foundations | 2014

Service-Oriented Programming with Jolie

Fabrizio Montesi; Claudio Guidi; Gianluigi Zavattaro

The wide adoption of service-oriented computing has led to a heterogeneous scenario formed by different technologies and specifications. Examples can be found both at the design level—the frameworks for defining services and those for defining their coordination feature fundamentally different primitives—and at the implementation level—different communication technologies are used depending on the context. In this chapter we present Jolie, a fully-fledged service-oriented programming language. Jolie addresses the aforementioned heterogeneity in two ways. On the one hand, it combines computation and composition primitives in an intuitive and concise syntax. On the other hand, the behaviour and deployment of a Jolie program are orthogonal: they can be independently defined and recombined as long as they have compatible typing.


international conference on application of concurrency to system design | 2008

On the interplay between fault handling and request-response service invocations

Claudio Guidi; Ivan Lanese; Fabrizio Montesi; Gianluigi Zavattaro

Service oriented computing (SOC) allows for the composition of services which communicate using uni-directional notification or bidirectional request-response primitives. Most service orchestration languages proposed so far provide also primitives to handle faults and compensations. The interplay between fault handling and request-response invocations is nontrivial since, for instance, faults should be notified to the request-response communication partners in order to compensate also the remote activities. Our work is motivated by the difficulties encountered in programming, using current orchestration languages, some fault handling strategies. We propose as a solution an orchestration programming style in which fault and compensation handlers are dynamically installed. We show the adequacy of our proposal defining its semantics, and proving that it satisfies some expected high-level properties. Finally, we also show how to apply dynamic handler installation in a nontrivial automotive scenario.


trustworthy global computing | 2010

A framework for rule-based dynamic adaptation

Ivan Lanese; Antonio Bucchiarone; Fabrizio Montesi

We propose a new approach to dynamic adaptation, based on the combination of adaptation hooks provided by the adaptable application specifying where adaptation can happen, and adaptation rules external to the application, specifying when and how adaptation can be performed. We discuss different design choices that have to be considered when using such an approach, and then we propose a possible solution. We describe the solution in details, we apply it to a sample scenario and we implement it on top of the language Jolie.


Foundations and Trends in Programming Languages archive | 2016

Behavioral Types in Programming Languages

Davide Ancona; Viviana Bono; Mario Bravetti; Joana Campos; Giuseppe Castagna; Pierre-Malo Deniélou; Nils Gesbert; Elena Giachino; Raymond Hu; Einar Broch Johnsen; Francisco Martins; Viviana Mascardi; Fabrizio Montesi; Rumyana Neykova; Nicholas Ng; Luca Padovani; Vasco Thudichum Vasconcelos; Nobuko Yoshida

A recent trend in programming language research is to use behavioral type theory to ensure various correctness properties of large-scale, communication-intensive systems. Behavioral types encompass concepts such as interfaces, communication protocols, contracts, and choreography. The successful application of behavioral types requires a solid understanding of several practical aspects, from their representation in a concrete programming language, to their integration with other programming constructs such as methods and functions, to design and monitoring methodologies that take behaviors into account. Behavioral Types in Programming Languages provides the reader with the first comprehensive overview of the state of the art of these practical aspects, which are summarized as the pragmatics of behavioral types. Each section covers a particular programming paradigm or methodology, providing an ideal reference for programming languages researchers interested the topic, and in identifying the areas as yet unexplored.


Fundamenta Informaticae | 2009

Dynamic Error Handling in Service Oriented Applications

Claudio Guidi; Ivan Lanese; Fabrizio Montesi; Gianluigi Zavattaro

Service Oriented Computing (SOC) allows for the composition of services which communicate using unidirectional one-way or bidirectional request-response communication patterns. Most service orchestration languages proposed so far provide also primitives for error handling based on fault, termination, and compensation handlers. Our work is motivated by the difficulties encountered in programming some error handling strategies using current error handling primitives. We propose as a solution an orchestration programming style in which handlers are dynamically installed. We assess our proposal by formalizing our approach as an extension of the process calculus SOCK and by proving that our formalization satisfies some expected high-level properties.

Collaboration


Dive into the Fabrizio Montesi's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Luís Cruz-Filipe

University of Southern Denmark

View shared research outputs
Top Co-Authors

Avatar

Marco Carbone

IT University of Copenhagen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Maurizio Gabbrielli

French Institute for Research in Computer Science and Automation

View shared research outputs
Top Co-Authors

Avatar

Larisa Safina

University of Southern Denmark

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge