|






|

| Research teams | Cooperative Initiatives | International Scientific Collaboration | Researchers' News |

OBASCO : Objects, aspects and components (project-team)

Project-Team Presentation
Joint project-team with EMNantes School of Engineering.
OBASCO addresses the general problem of adapting software to its uses by developing tools for building software architectures based on components and aspects.
We are (re)using techniques developed in the programming languages, in particular object-oriented languages, arena.
Our perspective is the evolution from programming in the small, as supported by object-oriented languages à la Smalltalk, Java, and C#, towards programming in the large, as it emerges with component models.
Our objective is the implementation of a Component Virtual Machine (CVM) taking into account the three following levels :
- a model formalizing the principles underlying the implementation of components, that is dealing with encapsulation, composition, interaction and adaptation,
- a language integrating aspect-oriented and component-oriented programming in order to obtain reasonably expressive executable architectural descriptions,
- an infrastructure complementing the Java infrastructure, and including a number of tools, dealing with program analysis and transformation, interpretation, monitoring, and execution, common to the object, aspect and component approaches. These tools will be integrated in a Integrated Development Environment such as Eclipse.
Research themes
In practice, the CVM federates our work along three directions :
- Component-Oriented Programming
Definition of a language making it possible (i) to program components by explicitly representing their composition both at the structural and behavioral level, (ii) to manage their adaptation all along their life cycle. To this aim, we are relying on reflection and specialization techniques. We are also looking at how to interface such a language with de facto industrial standards such as EJB, .NET, and CCM.
- Aspect-Oriented Programming
Formalization of aspect-oriented programming based on the concepts of event, trace, and monitor. Implementation of a corresponding language using reflection, as well as program analysis and transformation techniques.
- Post-Object-Oriented Programming
Contribution to the evolution from an object model to a unified model supporting programming in the large and adaptation through reflection. Study of the problems resulting from integrating objects and aspects on the one hand, objects and components on the other hand.
Applications
In parallel, in order to question and validate our approach, we are developing applications with a focus on the various layers of enterprise information systems: business components, middleware, and operating systems.
International and industrial relations
Scientific leader
Pierre COINTE
+33 2 51 85 82 00
pcointe@irisa.fr
Secretary : +33 2 51 85 82 02
|