1 / 16

Orchestration or Contracts…

Orchestration or Contracts…. What do we want to do?. Scope?. Implementation. Implementation. Contract. Contract. Domain of Interface and Behavioral Specifications, e.g. WSDL and beyond …. Domain of GPL’s, e.g. Assembly, C# & BEPL. Position.

elroy
Download Presentation

Orchestration or Contracts…

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. Orchestration or Contracts… What do we want to do?

  2. Scope? Implementation Implementation Contract Contract Domain of Interface and Behavioral Specifications, e.g. WSDL and beyond … Domain of GPL’s, e.g. Assembly, C# & BEPL

  3. Position • The ‘contract’ portion of this design space is considerably simpler than a full language but large enough to provide real technical and business value. • A good, complete development language will want to specify contracts, anyway…

  4. Compatibility Implementation Implementation Contract Contract Conformance 2*Conformance + Compatibility = Correctness where Correctness = Lock-free + Leak-free

  5. Classic difficulty faced in wiring web service implementations y x x y

  6. Closed processes, i.e. processes where all of the interaction sites are bound are ‘safe’ A simplistic example Published interaction sites, or ports…

  7. x y y x Classic difficulty faced in wiring web service implementations y x x y Says you still need an ‘x’-action to get this thing to work…

  8. Position • Simple contract-like mechanisms are exhibited in the literature for capturing • Deadlock-freedom (Kobayashi, 99, 00) • Liveness (Kobayashi, 01; Yoshida, et al, 02) • Security (Abadi et al; Cardelli and Gordon; Berger, Honda, Yoshida) • Resource management (Tofte; Kobayashi; Gordon and Dal Zillio; Yoshida, et al) • If this WG had a contract language that guaranteed even basic versions of these properties (at the compatibility level) then that would be a significant advance over the state of the art. • Even if the WG ignores operational data like • Service rate (rate at which messages are served at a port) • Average uptime • Etc.

  9. Position • ‘Contract’ portion of this design space will be called into existence as much by the need to find services that do ‘roughly’ what we need doing. • This general (and often human) need encompasses the need to verify that an implementation does what a specification requires.

  10. Plan for success! (This is the W3C, after all…) Implementation Implementation Implementation Implementation Contract Contract Implementation Implementation Contract Contract Implementation Implementation Contract Contract Implementation Implementation Contract Contract Implementation Contract Contract Implementation Contract Contract What happens when there are bazillions of web services? If the expressiveness of the interface/behavioral specification is below that of a GPL, then these specifications provide the basis of query mechanism for an enhanced discovery service…

  11. Caveat: Correctness is still a matter of trust! Implementation Implementation Contract Contract Trust Boundary Some other mechanism must provide a measure the reliability of a claim of conformance…

  12. Position This work needs to be carried out using formal basis. To the extent possible, technical design deliberations can and should be a matter of calculation. Mobile process calculi provide a natural candidate.

  13. What makes process calculi so interesting?

  14. What are the challenges in using process calculi? • Process calculi are built using ports; all operations are about (constraints on) port-passing • To be useful you need to consider operations over more complex data types • This actually has impact on the semantics of calculi

  15. What are the challenges in using behavioral types? • Mobility makes decidability hard!

  16. Questions?

More Related