1 / 17

NorduNet 2008 Helsinki .April 2008

Contract-Oriented Software Development for Internet Services. NorduNet3 Project 2006 - 2010. NorduNet 2008 Helsinki .April 2008 Olaf Owe, Cristian P risacariu , , Gerardo Schneider, Oslo University Seif Haridi , Pablo Giambiagi , Swedish Institute of Computer Science

chill
Download Presentation

NorduNet 2008 Helsinki .April 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Contract-Oriented Software Development for Internet Services NorduNet3 Project 2006 - 2010 NorduNet 2008 Helsinki .April 2008 Olaf Owe, Cristian Prisacariu,, Gerardo Schneider, Oslo University SeifHaridi, Pablo Giambiagi, Swedish Institute of Computer Science Joseph C. Okika, and Anders P. Ravn, Aalborg University www.ifi.uio.no/cosodis/

  2. Company A Company B Net Service C Service P Why Contracts ? • Collaboration across organizational domains presumes trust, but… • When trust is insufficient, use contracts

  3. 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

  4. How ? • Developers need language support to program services that are: • Distributed • Interoperable • Discoverable • Contract-aware

  5. The Marketplace

  6. Key Issues for Contracts • Definition • Feasibility checking • Compatibility checking • Conformance checking • Monitoring C C ≠Ø C1 ≤ C2 P |=C P ||I(C)

  7. 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.

  8. Formal modeling 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 Pablo Giambiagi, Olaf Owe, Anders P. Ravn, and Gerardo Schneider, Language-Based Support for Service Oriented Architectures: Future Directions

  9. Deontic Logic • The logic of obligation (ought-to), permission, and prohibition • is based on propositional and modal logics. • ought-to-do expressions consider names of actions: • ”The Internet Provider ought to send a password to the Client” • ought-to-be expressions consider results of actions • ”The average bandwidth ought to be more than 20kb/s” • Georg H. von Wright started to sustain a logic of actions • We consider Obligation, Permission and Prohibition over actions only

  10. Programming language support for contracts 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. P || I(C) 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

  11. 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

  12. translation translation (Timed) Automata Timed Automata Web Service Analyses C ≠Ø WS-BPEL WS-CDL

  13. (Timed) Automata Compatibility C1 ≤ C2 WS-BPEL WS-CDL  ? Timed Automata

  14. 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 Sakyibea Darko-Ampem, Maria Katsoufi, and Pablo Giambiagi, Secure Negotiation in Virtual Organizations

  15. 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 ∏| Platform Verification certificatesRV -> monitors

  16. Expected Results - 2010 • 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 P |=C P ||I(C)

  17. Conclusion • SOA is here to stay • Independent development needs contracts • Contracts must be checkable • Checking tools are reaching maturity • The challenge: Fit the pieces together www.ifi.uio.no/cosodis/

More Related