Research overview
My research topics address the use of formal methods in software engineering, especially in relation with structuration.
Software Engineering is made up of techniques and tools to build software pieces. In this area, the benefits of formal methods are well-known. More than providing a scientific background (which is important) for software engineering, they support well-foundedness of the techniques, non ambiguous design artifacts (aka specifications or models), and enable the automation of the whole, or parts of, the design and programming activities.
Structuration is a combination of divide to rule complexity out and compose to make wholes from parts and to reuse. Structuration is a generic term that covers several instanciations such as:
- the integration into a global specification of several caracteristics - such as data, behaviours or temporal constraints into mixed specifications or heterogenous specifications when more than one language is used to describe the above mentioned characteristics;
- the weaving of functional and non functional aspects of software pieces as in Aspect-Oriented Software Development;
- the composition of subparts related by interaction/communication relations as in Component Based Software Development or Service Oriented Computing.
My current research activities address model-based (formal) techniques for the composition, coordination and adaptation of software.



