AspectJ Based Implementation of Dynamically Pluggable Filter Objects in Distributed Environment - PowerPoint PPT Presentation

About This Presentation
Title:

AspectJ Based Implementation of Dynamically Pluggable Filter Objects in Distributed Environment

Description:

Chaining and Grouping. Key Features of the AspectJ Implementation of Filter Objects ... per object, per message, per machine, per class, per client ..chains,groups. ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 11
Provided by: cseIi3
Category:

less

Transcript and Presenter's Notes

Title: AspectJ Based Implementation of Dynamically Pluggable Filter Objects in Distributed Environment


1
AspectJ Based Implementation of Dynamically
Pluggable Filter Objects in Distributed
Environment
  • Rushikesh K. Joshi, Neeraj Agrawal
  • Department of Computer Science and Engineering
  • Indian Institute of Technology Bombay, India
  • Contact Rkj_at_cse.iitb.ac.in

2
The Filter Object Model based on Interclass
Filter Relationship

3
Properties of Filter Objects
  • Filter Object Specification decoupled from
    Client/Server class specifications
  • Filter Objects are instance of classes
  • Transparency client and server code unaware of
    filter objects
  • Filtering of upward and downward messages
  • Dynamic Pluggability specify, create, plug,
    reconfigure at runtime
  • Chaining and Grouping

4
Key Features of the AspectJ Implementation of
Filter Objects
  • An Aspect specification - To model filter objects
  • Calls delegated to a filter pipe pointcuts and
    around advice
  • Filter Pipe - Organizes the chain of filter
    objects, which may themselves be distributed
  • Filter pipe is a remotely available object
  • Maintains Mappings from client-server pairs to
    vectors of filter objects (upfilters and
    downfilters)

5
The Solution

Aspect
FilterObject upFilter1 () downFilter1 () ..
FilterObjectN upFilter1 () downFilter1()
FilterPipe upFilter1 () downFilter1 (..)
FilterObject1 upFilter1 () downFilter1()
FOs
..
For all f in FOs f-gtupFilter()
6
Development Process
  • Base Code ? Filter Class Abstraction ? Base Code
    Compilation with Abstraction (needed if
    environment is not filter aware) ? Base Code in
    execution ? Filter Object Development may be
    developed as late as this point after their
    abstraction is known ? Inject filters into the
    system, reconfigure as programmed for

7
Filter Binding Types
One-to-One
One-to-Many
Many-to-Many
Many-to-One
8
Typical Deployments
  • One-to-One Client Side/Server Side
  • Low network overhead
  • One-to-Many Client Side
  • Client side deployment more efficient since all
    filtered messages originate from one client
  • May-to-One Server Side
  • Server side deployment more efficient since all
    filter messages are against one server
  • Many-to-Many Possibly on an Independent
  • Machine
  • Depends on network overheads, load
  • Per Class/Per Object/Per Machine Filter Pipes

9
Conclusions
  • Proposed a scheme for implementation of
    dynamically pluggable and distributed Filter
    Objects on top of AspectJ
  • Requires base code to be filter aware when in
    execution
  • Supports rich possibilities of configuring filter
    objects
  • Brought out the need for a careful selection of a
    Deployment Strategy

10
Issues put forward for Discussion
  • Is the requirement of Filter Aware Base Code a
    desirable property?
  • Consider Static vs. dynamic awareness
  • Is there an advantage in turning Programming
    Environments themselves Filter Aware
  • What is the right granularity of filter
    specifications and is there synthesis? per
    process, per object, per message, per machine,
    per class, per client ..chains,groups..
  • Is there separation of high level abstractions of
    filters from their low level generalizations? How
    efficient can the mappings from former to latter
    be?
Write a Comment
User Comments (0)
About PowerShow.com