My research activities address the use of formal methods in software engineering, especially in relation with object orientation, components and services. Software Engineering is made up of techniques and tools to build software pieces with product and process quality. In this area, the benefits of modular approaches (objects, components or services) and formal methods are well-known.
Modular approaches are unavoidable in recent development models. Object orientation reached the leadership at the programming level (with UML as model documentation notation) while the other paradims are often XML layers on OOP. SOA are the current reference in web design while CBSE is still the reference at the architectural level. Many research issues are still open at the model and language level (model , semantics, verification, composition), at the implementation level (transformation, code generation, deployment, traceability, integration, V&V, quality (of service)).
More than providing a scientific background (which is important) for software engineering, we use formal methods to support well-foundedness of the techniques, non ambiguous design artifacts (specifications or models), and enable the automation of the whole (or parts) of the design and programming activities.[more on this]

Credo: software is definitely "over expensive".

My teaching interests are mostly related to software engineering, both in-the-large (design and programming, including the use of formal methods (state based, dynamics), architectural descriptions and object/component/service paradigms) and related to distributed systems and Web services. [more on this]