150 likes | 166 Views
This article discusses the current status of contract-oriented software development for internet services. It covers key issues, programming language support, reasoning about contracts, and contract patterns and case studies.
E N D
Contract-Oriented Software Development for Internet Services - Where is the project now? FLACOS08 Malta November 2008 Olaf Owe, Cristian Prisacariu,, Gerardo Schneider, Oslo University Gordon Pace, University of Malta SeifHaridi, Pablo Giambiagi, BjörnBjurling,SwedishInstitute of Computer Science Joseph C. Okika, and Anders P. Ravn, Aalborg University NorduNet3 Project 2006 - 2010 www.ifi.uio.no/cosodis/
Company A Company B Net Service C Service P Why Contracts ? • Collaboration across organizational domains presumes trust, but… • When trust is insufficient, use contracts
SOA and contracts • The consumer either trusts the provider… • … or they sign a contract which: • Determines the rights and obligations of each signatory • Usually states how the contract is to be monitored • Specify functional but also extra-functional qualities of the service: e.g. security, performance
How ? • Developers need language support to program services that are: • Distributed • Interoperable • Discoverable • Contract-aware
COSoDIS Mission develop novel approaches to implement and reason about contractsin a service oriented architecture. design and give proof of usefulness of system modeling tools and programming language tools to empower SOA developers to deploy highly-dynamic, negotiable and monitorable Internet services. Pablo Giambiagi, Olaf Owe, Anders P. Ravn, and Gerardo Schneider, Language-Based Support for Service Oriented Architectures: Future Directions Pablo Giambiagi , Olaf Owe, Anders P. Ravn and Gerardo Schneider, Contract-Oriented Software Development for Internet Services
Key Issues for Contracts • Definition • Feasibility checking • Compatibility checking • Conformance checking • Monitoring C C ≠Ø C1 ≤ C2 P |=C P ||I(C)
The Marketplace P,C Joseph C. Okika and Anders P. Ravn, Classification of SOA Contract Specification Languages
1. Formal modelling of contracts C • develop a model of contracts in a SOA • A minimum requirement is to combine QoS specification and behavioral models (essential to constrain protocol implementation and to enforce confidentiality). • develop practical and efficient methods to enforce information flow properties of realistic code, including cryptographic protocol implementations. Johs H. Hammer and Gerardo Schneider, On the definition and policies of confidentiality CristianPrisacariu and Gerardo Schneider, A Formal Language for Electronic Contracts ...
2. Programming language support for contracts P || I(C) P |= C • extend Creol with “wrapper” primitives for correct-by-construction wrapped code. • contracts for QoS and confidentiality will be modeled as first-class entities • develop techniques for constructing monitors from contracts. A. Torjusen, Olaf Owe, and Gerardo Schneider, Towards integration of XML in the Creol object-oriented language Olaf Owe, Gerardo Schneider, and Martin Steffen, Components, Objects, and Contracts
3. Reasoning about contracts C1 ≤ C2 C ≠Ø • extraction of models to facilitate reasoning about contracts. • timing constraints will be mapped to timed automata • using the Maude tools for model checking and exhaustive search. Emilia Cambronero, Joseph C. Okika, and Anders P. Ravn, Analyzing Web Service Contracts - An Aspect Oriented Approach Gordon Pace, Cristian Prisacariu, and Gerardo Schneider, Model Checking Contracts -a case study
Contract Patterns and Case Studies • establishing representative examples, equipping them with suitable contracts. • distill some useful contract patterns • provide corresponding verification patterns. Zhenbang Chen, Zhiming Liu, Volker Stolz, Lu Yang, and Anders P. Ravn, A refinement driven component-based design SakyibeaDarko-Ampem, Maria Katsoufi, and Pablo Giambiagi, Secure Negotiation in Virtual Organizations Bjørn Burling,
Fitting it Together Applications Logics. Policies(Contract templates) WS-CDL Models Contracts (e.g. CL) WS-BPEL Implement- ations. Creol, Java, etc Service-Level Agreement Verification certificatesRV -> monitors Platform
Expected Results - 2010 Applications Logics. • A modal logic for defining high level contracts • Model checking tools for checking WS*-style contracts • Larger Case Study? CoCoME • Monitoring? C C ≠Ø C1 ≤ C2 WS-CDL Models P |=C Implement- ations. Creol, Java, etc WS-BPEL Platform P ||I(C)