Aspect Oriented Programming (AOP) has emerged as a promising paradigm for modularly capturing systemic cross-cutting concerns in modern software applications. This approach has enhanced separation of concerns and has minimized code tangling to a large extent. However, while developing applications, in order to characterize the dynamic and evolving object behaviour effectively, a single object itself may have to be viewed as a composition of several aspects. Towards this objective, this paper proposes a Dynamic Object Composition Language (DynOCoLa), which views object composition itself as a combination of various aspects that abstract the variant behaviour of objects. This behavioural variation is based on the contractual conditions that are fulfilled in different contexts. Instead of viewing objects as being rigidly defined during compile-time, the DynOCoLa run-time system weaves the various aspects appropriately with the objects. Thus, DynOCoLa enables dynamic customization of an object’s behaviour based on the state of the object. This paper discusses the design and implementation of DynOCoLa. An application scenario, involving customized service delivery to mobile devices based on the location of the devices, has been studied to illustrate the power and flexibility offered
[1]
R. Malaka,et al.
CRUMPET: creation of user-friendly mobile services personalised for tourism
,
2001
.
[2]
Karl J. Lieberherr,et al.
Adaptive object-oriented programming using graph-based customization
,
1994,
CACM.
[3]
Ahmed K. Elmagarmid,et al.
Client-server computing in mobile environments
,
1999,
CSUR.
[4]
D. Janaki Ram,et al.
Method driven model: a unified model for an object composition language
,
2004,
SIGP.
[5]
William G. Griswold,et al.
An Overview of AspectJ
,
2001,
ECOOP.
[6]
Cristina V. Lopes,et al.
Aspect-oriented programming
,
1999,
ECOOP Workshops.
[7]
D. Janaki Ram,et al.
Surrogate Object Model: A New Paradigm for Distributed Mo-bile Systems
,
2005,
ISTA.
[8]
D. Janaki Ram,et al.
Message Filters for Object-Oriented Systems
,
1997,
Softw. Pract. Exp..
[9]
Mehmet Aksit.
On the Design of the Object-Oriented Language Sina
,
1989
.
[10]
Akinori Yonezawa,et al.
Abstracting Object Interactions Using Composition Filters
,
1993,
ECOOP Workshop.