4 rue Alfred Kastler, BP 20722 - 44307 Cedex 3 - FRANCE.
Tel : 33 2 51 85 82 00
Fax : 33 2 51 85 82 49
Research > Computer Science Department
The department conducts research in three main areas of software technology :
Object-Oriented Systems and languages
Constraint programming
Interactive modelling and design
OBJECTS, ASPECTS AND COMPONENTS
Adapting software to its usages is one of the main issues in developing large complex software systems. We address this problem by designing and implementing tools for building software architectures based on components and aspects. We are (re)using techniques developed in the programming language domain.
Our perspective is the evolution from programming in the small, as supported by object-oriented languages à la Smaltalk, Java, and C#, towards programming in the large, as it emerges with component models.
In particular, we are investigating three main research topics :
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. With this aim, we rely 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.
Nowadays, most problems are essentially dynamic (scheduling, resource allocation, time-tabling, etc.). However, most available systems are designed to deal only with static problems. When changes occur, a complete re-computation from scratch is needed. Several issues arise : lack of efficiency, unacceptable variance of the solutions, etc. In order to overcome those issues, the following topics are investigated :
Explanation-based constraint programming
Explanations are a recent area in constraint programming. They are used to (i) develop new efficient constraint solvers able to handle dynamic problems in an incremental way, and (ii) provide new stable algorithms for solving constraint satisfaction problems.
Hybrid approaches for constraint programming
Hybrid approaches are designed to take benefits from both incomplete and complete approaches and also from local and global searches. They are well suited for designing fast and efficient algorithms when quick solutions are needed as is the case for dynamic problems.
Language software tools
The constraint programming team is a leading partner of the CHOCO free constraint solver. Several libraries for CHOCO are maintained : explanation-based components, scheduling-based components, anytime components, etc.
In order to offer the user affordable tools for the design of 3D objects, an ecological approach is used to 3D model creation based on the sketching process. To reach this objective, three complementary topics are investigated :
Projective geometry,
Human/ computer interaction,
ComputerGraphics.
Director: Pierre COINTE
Staff (as of 31/12/02) : 39 including 16 academic faculty members and 18 doctoral candidates.








