Download presentation
Presentation is loading. Please wait.
Published byEileen Morton Modified over 9 years ago
1
Orchestration or Contracts… What do we want to do?
2
Implementation Contract Implementation Contract Scope? Domain of GPL’s, e.g. Assembly, C# & BEPL Domain of Interface and Behavioral Specifications, e.g. WSDL and beyond …
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
Implementation Contract Implementation Contract Conformance Compatibility 2*Conformance + Compatibility = Correctness where Correctness = Lock-free + Leak-free
5
Classic difficulty faced in wiring web service implementations x y y x
6
A simplistic example Published interaction sites, or ports… Closed processes, i.e. processes where all of the interaction sites are bound are ‘safe’
7
Classic difficulty faced in wiring web service implementations x y xy y x yx 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
Implementation Contract Implementation 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… Implementation Contract Implementation Contract Implementation Contract Implementation Contract Implementation Contract Implementation Contract Implementation Contract Implementation Contract Implementation Contract Implementation Contract Plan for success! (This is the W3C, after all…)
11
Implementation Contract Implementation Contract Trust Boundary Some other mechanism must provide a measure the reliability of a claim of conformance… Caveat: Correctness is still a matter of trust!
12
Position Web service Implementation Process Does roughly what client wants it to do Bisimulation ‘approximation’ ContractBehaviorial type 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? ModelCompletenessCompositionalityParallelismResources Turing Machines Lambda Petri Nets CCS
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?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.