Contract-Oriented design of distributed applications: A tutorial

Atzei N.;Bartoletti M.
;
Murgia M.;Tuosto E.;Zunino R.
2017-01-01

Abstract

Modern distributed applications typically blend new code with legacy (and possibly untrusted) third-party services. Behavioural contracts can be used to discipline the interaction among these services. Contract-oriented design advocates that composition is possible only among services with compliant contracts, and execution is monitored to detect (and possibly sanction) contract breaches. In this tutorial we illustrate a contract-oriented design methodology consisting of five phases: specification writing, specification analysis, code generation, code refinement, and code analysis. Specifications are written in CO2, a process calculus whose primitives include contract advertisement, stipulation, and contractual actions. Our analysis verifies a property called honesty: intuitively, a process is honest if it always honors its contracts upon stipulation, so being guaranteed to never be sanctioned at run-time. We automatically translate a given honest specification into a skeletal Java program which renders the contract-oriented interactions, to be completed with the application logic. Then, programmers can refine this skeleton into the actual Java application: however, doing so they could accidentally break its honesty. The last phase is an automated code analysis to verify that honesty has not been compromised by the refinement. All the phases of our methodology are supported by a toolchain, called Diogenes. We guide the reader through Diogenes to design small contractoriented applications.
2017
Inglese
Behavioural Types: from Theory to Tools
Nicola Atzei, et al.
Simon Gay, António Ravara
1
24
24
River Publishers
Gistrup
DANIMARCA
978-87-93519-82-4
https://www.riverpublishers.com/book_details.php?book_id=439
Comitato scientifico
internazionale
scientifica
info:eu-repo/semantics/bookPart
2.1 Contributo in volume (Capitolo o Saggio)
Atzei, N.; Bartoletti, M.; Murgia, M.; Tuosto, E.; Zunino, R.
2 Contributo in Volume::2.1 Contributo in volume (Capitolo o Saggio)
5
268
reserved
Files in This Item:
File Size Format  
main.pdf

Solo gestori archivio

Description: Articolo principale
Type: versione pre-print
Size 344.47 kB
Format Adobe PDF
344.47 kB Adobe PDF & nbsp; View / Open   Request a copy

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Questionnaire and social

Share on:
Impostazioni cookie