Download presentation
Presentation is loading. Please wait.
Published byAlexia Norman Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.