Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modeling with Filter Objects in Distributed Systems Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology, Bombay.

Similar presentations


Presentation on theme: "Modeling with Filter Objects in Distributed Systems Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology, Bombay."— Presentation transcript:

1 Modeling with Filter Objects in Distributed Systems Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology, Bombay Powai, Mumbai - 400 076 India Presentation at EDO 2000, UC Davis, Nov. 2-3, 2000.

2 Messages are directly delivered to receiver objects specified by source objects Messages in the Conventional Object Model are Direct m o1 o2

3 Filter Objects can transparently trap Messages b Clients are unaware of the existence of filter objects Server.m m Object ServerObject ClientObject Filter f

4 Some Properties of Filter Objects b First class nature b Conventional properties + b Upward and downward filtering b Message manipulations b Pass and bounce actions b Selective filtering b Dynamically pluggable b Group filtering

5 Currently Available Implementations of the Filter Object Model b Extension to C++ b Filter Objects for MICO CORBA implementation b Extensions to JAVA

6 The Guiding Principles b Homogeneous integration into existing programming paradigms AND b Ability to provide an orthogonal layer over existing design and code

7 Dynamically Evolution using Filter Objects b Through Injection b Employ Filter configurations (e.g. Replacer, Router, Repeater, Value Transformer, Message Transformer, Request Logger etc.)

8 The Approach Old CodeOld clients Old CodeOld clients Injected Filter

9 The Approach… Object2 Object1 Object3 Object4 Filter Object Network

10 Properties of the Injection Approach b Modifications to existing classes can be avoided b Evolution is reversible: By lifting the filter network b Original object oriented design must be filter-aware

11 The Distributed Transparent Decorator Pattern (DTDP) b Decorator Pattern (DP): Dynamically attaches additional responsibilities to an existing object b DP uses Inheritance and part-of b DP Not transparent to clients b Proposed DTDP: uses Filter Relationship b DTDP is transparent to clients

12 AbstractComp Decorator Component Decorator2Decorator1 component Based on part-of And inheritance relationships Conventional DP

13 DP: Instance Diagram decorator1 decorator2 actual client component Client objects are decorator aware Decorator objects are also decorator aware (in the case of multilevel decorators)

14 Problems with DP in Distributed Context b b Client obtains the handle to decorator object May not be a problem in single process systems but Undesirable in Distributed Systems b b Dynamic Pluggability of decorators client needs to update its handle. b b Changing intermediate decorator objects The decorator that aggregates it needs to be updated

15 An Interclass Filter Relationship Client Cache Dictionary main() dic search () cached() | search() update() | search()

16 A Filter Relationship between Instances trans:Client cache:Cache d:Dictionary dic

17 DTDP: Static Model Class Diagram Component comp Client Decorator clientFunc() operation () addedOperation() | operation()

18 DTDP: Static Model An Instance Diagram cl:QProcessor logger:Logger se:Engine eng lf:LogFile

19 DTDP: Dynamic Model Inter-object Interactions cllogger se lf se.getPage(..) lf.logReq(..) pass return

20 Observations on the DTDP b Transparent to Clients b Dynamically Pluggable without involving remote clients b Filter Class injection allows new typs of filters b Incremental evolution of a system by means of injection of filter objects

21 DTDP: A Distributed Implementation b Need-to-filter principle: A server is declared as Filterable Server interface Filterable { attach (in Object filter) detach (); }; interface Engine : Filterable { getPage (…); …};

22 Implementation of IDL Filterable b A standard implementation of Filterable is provided in class Filterable_impl class Filterable_impl : public Filterable_skel { // library implementations of attach and detach }

23 Implementing the Filterable Component b Inherit the standard implementation of IDL Filterable class Engine_impl : public Filterable_impl, public Engine_skel { // implementations of Engine IDL }

24 Implementing the Decorator Object b Implement the Filter base interface generated by an IDL precompiler interface Engine_Filter { // up and down filter member declarations };

25 Dynamic Pluggability of the Decorator b A CORBA Object that acquires handles to a filter object and its corresponding filterable server object may carry out the plug and unplug operations main ( ) { …. engine_obj-->attach (logger_obj); … engine_obj-->detach ( ); }

26 Conclusions b A Method of Modeling Distributed Systems with Dynamically Pluggable First Class Filter Objects is proposed b The Distributed Transparent Decorator Pattern was Introduced. b An Implementation of the DTDP was presented

27 Future/Ongoing Work b Methodologies b Programming Models b Implementations b Applications

28 Related Work Proxy pattern of Gamma et al. Composition filters of Aksit et al. CORBA Filters e.g. ORBIX per-process and per- object filters Seiter and Lieberherr’s Context Relations

29 Some Results on Filter Objects b [1] Rushikesh K. Joshi, N. Vivekananda, D Janaki Ram, Software Practice and Experience, June 1997, pp. 677-699 b [2] Rushikesh K. Joshi, Filter Configurations for Structuring Distributed Object Systems, To appear in Journal of Object Oriented Programming. b [3] Rushikesh K. Joshi, On-the-fly Evolution of Object Oriented Systems using Filter Objects, Technical Report, Feb. 1999, IIT Bombay. (result submitted for publication). b [4] G. Sriram Reddy, Rushikesh K. Joshi, Filter Objects for Distributed Object Systems, To Appear in Journal of Object Oriented Programming (January 2001). b [5] R. K. Joshi, Modeling with Filter Objects in Distributed Systems, EDO 2000, UC Davis, Nov 2-3, 2000 b [6] Maureen Mascarenhas, R. K. Joshi, Design and Implementation of Filter Objects for JAVA, Technical Report, IIT Bombay October 2000. (result submitted for Publication).


Download ppt "Modeling with Filter Objects in Distributed Systems Rushikesh K. Joshi Department of Computer Science & Engineering Indian Institute of Technology, Bombay."

Similar presentations


Ads by Google