Presentation is loading. Please wait.

Presentation is loading. Please wait.

Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE.

Similar presentations


Presentation on theme: "Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE."— Presentation transcript:

1 Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab http://www.cs.kuleuven.ac.be/ ~xenoops/CORRELATE bartvh@cs.kuleuven.ac.be

2 The Correlate project Testbed, experimental environment to study –Software system architecture –Language technology to support concurrency and distribution Correlate is … –a COOL –an execution environment based on a meta-level architecture and a meta-object protocol (MOP)

3 About this demo Focus : support of mobility in an open software architecture Problem domain : building flexible subsystems to support non-functional requirements in a distributed application, e.g. load balancing, fault tolerance, etc.

4 Typical applications Web server farm for high-availability in content management A simpler (more pedagogical) example: distributed simulation.  Even with simple application logic, achieving performance, reliability, security is hard.

5 Key issue Separation of concerns –policy vs. mechanism

6 Overview of the demo session The object model of Correlate and demonstration of a simple application (simulation) The mobility mechanism and demonstration within the context of the simulation Policy objects and demo of the separation of concerns Discussion & implementation issues Future directions

7 1 Object Model Active objects –self contained –unit of concurrency –control over synchronization –autonomous behavior  natural unit for migration

8 An example… active class SORWorkUnit { autonomous void step() precondition isReady() { … } public void deliver(Border msg) precondition isWaiting() { … } }

9 2 Meta-level architecture Metaprograms cope with non-functional requirements –fault-tolerance, distribution, performance, security,... Mastering complexity by separation of concerns Enabling mechanism: MOP

10 3 Mobility Requirements : –migrate state, ongoing computations and messages –use global references only (uid’s) The MOP: reification of –object state, object behavior and messages –object identity

11 The MOP m1 m2 activation o1o2 MOP request message start invoke

12 3 Policies for mobility Requirement : –Configuration of mobility system for specific applications Template + Policy : –Meta-program defines criteria –Instantiation according to application needs Roles (application programmer, subsystem programmer, system integrator)

13 An example Distributor { constructorproperty creation = BALANCED | LOCAL | CUSTOMIZED; objectproperty migration = NONE | BALANCED; objectproperty double getLoad() { return 1.0; } } Distributor SORWorkUnit { constructorproperty SORWorkUnit(...) { creation = BALANCED; } objectproperty migration = BALANCED; objectproperty double getLoad() { return x*y; } }

14 4 Discussion Java implementation Thread migration, serialization –active object = (state, identity, execution state) –byte-code rewriting Execution runtime –reification engine

15 5 Future directions Policies should glue between meta-program and application Meta-program becomes coordinator for several application concerns


Download ppt "Supporting Object Mobility Wouter Joosen, Frank Matthijs, Bert Robben, Eddy Truyen, Bart Vanhaute DistriNet Lab ~xenoops/CORRELATE."

Similar presentations


Ads by Google