PhDOOS Logo

Supported by AITO.

These pages are currently maintained by Alex Potanin

 

Improving the OFL Model Extendibility using Aspect-Oriented-Programming Techniques

Adeline Capouillez
( French )

Laboratoire I3S (UNSA-CNRS)
Projet OCL Les Algorithmes, bâtiment Euclide B 2000, route des lucioles B.P. 121 F-06903 Sophia Antipolis CEDEX France
tel: +33 (0)4 92 94 27 42
fax: +33 (0)4 92 94 28 96
Adeline.Capouillez@unice.fr

Keywords:

language concepts language implementation meta architectures software engineering

Abstract:

OFL is the acronym for Open Flexible Languages and the name of a meta model for object-oriented programming languages based on classes. It relies on three essential concepts of these languages: descriptions which are a generalisation of the notion of class, relationships such as inheritance or aggregation and languages themselves. OFL provides a customisation of these three concepts in order to adapt their operational semantics to the programmer's needs.

OFL is described in another PhD. Thesis (Pierre Crescenzo, "The OFL Model to Customise Operational Semantics of Object-Oriented Languages: Application to Inter-Classes Relationships"). This model is called "OFL core" below. With OFL, we can create new descriptions and relationships or modify the operational semantics of descriptions (such as class or interface in Java) and relationships (such as inheritance or aggregation) of an existing language.

When designing and programming application, people often need additional services in order to handle evolution, persistence, distribution of data, ... All these problems are generally qualified as "orthogonal" with the application. Thus, one solution is to use techniques from separation of concerns research area, and especially aspect-oriented programming, in order to integrate those services. Indeed, if the needed service is enough general to be applied to a large set of applications, then it will become an "aspect" in OFL.

Thus, the main goal of this work is to extend OFL in order to integrate those orthogonal aspects. All principal concepts are customisable in OFL, so we want customisable aspects. Moreover, we need to define a protocol to be able to apply aspects to any program designed using OFL.

To reach this goal, we have defined a set of rules to respect:
- Each aspect can be applied (or cancelled) without consequence on other aspects
. - Aspects can be applied (or cancelled) on any order.
- An aspect can't reference another one.
- Aspects can reference OFL core.
- Aspects can't modify OFL core.
- Application of an aspect is taking in account in a transparent way by existing programs.
- Each program can "choose" to apply or not apply each aspect.

The PhD work started: October 1999



HTML3
JAVA

 


Last modified on Mon Aug 15 14:59:24 2005