Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evolution of Code through Asynchronous Services Manuel Oriol Workshop on Unanticipated Software Evolution - USE ’2002.

Similar presentations


Presentation on theme: "Evolution of Code through Asynchronous Services Manuel Oriol Workshop on Unanticipated Software Evolution - USE ’2002."— Presentation transcript:

1 Evolution of Code through Asynchronous Services Manuel Oriol Workshop on Unanticipated Software Evolution - USE ’2002

2 Manuel Oriol - USE 2002 2 Introduction u Runtime Evolution is: ÔMore and more important due to new development models (e.g. Open Source, Xtreme). Ô A hard task because of the different connections between programmed entities (e.g. Objects):  Connections between classes due to inheritance.  Direct references between objects.  References between callers and callee of methods  Synchronisation constraints between caller and callee of methods.

3 Manuel Oriol - USE 2002 3 That is why we advocate for a new interaction model, based on disconnection between software components

4 Manuel Oriol - USE 2002 4 Principles u Associative Naming: Entities are not named at all but they specify what do the services they provide. Entities do not call methods on other entities, they specify what they want u Late Binding A request is served and bound on demand. u Asynchronous Communications All communications are asynchronous and: they do not wait for answers.

5 Manuel Oriol - USE 2002 5 Model

6 Manuel Oriol - USE 2002 6 How to Specify? u Functionality: What does it do? (comparable to a method name) u Behaviour How does it do it? (comparable to method signature) u QoS How well does it do it? (comparable to the description of a method in an API)

7 Manuel Oriol - USE 2002 7 Example u Service provider: Service BubbleSort(F: "sort": "BubbleSort", B: argument: int a[]: return: int[], QoS: "local")(2,5,2){...} u Client T=Invoke((F: "sort", B: argument: a: return: int[], QoS: "local": "Complexity": "Nlog(N)"), (2, 5, 2));

8 Manuel Oriol - USE 2002 8 Invocation & Answer

9 Manuel Oriol - USE 2002 9 Conclusion u A model that allows disconnection between software components u A new model for interactions made for dynamic systems. u An auto-adaptable model. u A model in which evolution is related to a state transfer between entities and/or services proposing.

10 Manuel Oriol - USE 2002 10 Annex A: Evolution Pattern 1

11 Manuel Oriol - USE 2002 11 Annex B: Evolution Pattern 2


Download ppt "Evolution of Code through Asynchronous Services Manuel Oriol Workshop on Unanticipated Software Evolution - USE ’2002."

Similar presentations


Ads by Google