I am a
LISTIC-Polytech'Savoie Lab. LS-LSE
(Language and Software Evolution) group member. LSE's topics include software architectures, architecture extraction and refactoring, reengineering, distributed systems and SOA, multi-agent systems under angle of their
evolution. The LISTIC lab. widely addresses information processing, fusion and engineering with special emphasis intelligent instrumentation, image processing, software-based systems, industrial performance evaluation and industrial components.
My research interests:
Software Architecture
Evolvable Information System architectures
SOA and Web services-based systems
Model Driven Engineering
Software Process Engineering
COTS-based systems and EAI architectures
Software Architecture
We focus on software system formalization basically using a software architecture-centric approach. We have defined an
ADL (Architecture Description Language), called
ArchWare-ADL. This formal language based on pi-calculus is a layered language (with specific constructs according to first order layer, high order layer, etc.). It allows us to define architectural properties (with some specific constructs based on first order logic and mu-calculus) and architectural styles (it provides architect specific styles mechanisms). In our approach, processes are also taken into account as process models are considered as part of architectures models (processes being basically architectural behaviour). ArchWare-ADL offers several notations : a concrete textual notation, an XML-based one and a graphical UML-based one. We also contribute to architecture-centric development environment tools. I am currently developing a software architecture development environment called
Nimrod. We study
software intensive system architectures (like information systems, manufacturing systems, BPMS, EAI solutions, Grid-based applications, etc.) with special emphasis on their formalization and evolution (i.e. evolution addressed at the architectural level). The ArchWare centric development process is a "kind of"
model driven development process where architecture models are refined from abstract level to concrete level, using model transformations (i.e. refinement language, rewriting language,...).
How can we improve languages to support evolution ? We are working on the fundamental aspects of
Architecture Description Languages (ADLs):
dynamic and formal ADLs. We investigate on dynamic ADLs that have formal foundations - we use pi-calculus as such fundations.
architectural structure. We study architectural structure and composition mechanisms in order to improve evolution. Find the best architectural structure against the evolution support ? We provide architectural elements that manages evolution. We call them choreographer, evolver.
We are now applying our architecture-centric approach to sensors/actuators networks...it is a first attempt and hope we will able to tell you more in a next future ;-)
Services Oriented Architectures (SOA)
How can we design and enact evolvable SOAs? Our work aims at providing an engineering environment for designing and enacting SOAs. Our approach is an architecture-centric formal approach. We provide a layered language formally based on pi-calculus and a SOA dedicated language (the last layer and SOA-domain specific layer is called pi-Diapason) that allows an SOA expert to formalize Web Services orchestrations without knowing pi-calculus. An SOA designed using our language can be then deployed as a new Web service that also can be re-used "as is" in another SOA. The pi-Diapason language focuses on Web services orchestration by supporting most of the well-known orchestration patterns. As SOAs are formally designed, they can be verified against structural, behavioural (i.e. composition/orchestration) specific properties. We are aiming at studying domain-specific properties and QoS that could be expressed in our properties definition language, Diapason*, and then verified. Once verified, orchestration is executed with our engine that directly interpretes pi-Diapason (avoiding to transform the design to another language - i.e. BPEL4WS, etc.). The engineering environment (called Diapason) integrates some tools for designing, enacting and checking SOAs. As pi-Diapason is based on pi-calculus, it provides mechanisms in order to support orchestration dynamic evolution. An evolution expressed in pi-Diapason is made "on the fly" because pi-Diapason engine integrates mechanisms in order to support orchestration state consistency while dynamic evolution. Contact us for more information.
Publications
Most of my
publications are also referenced on the
publications LISTIC web site.
Community
I am (or was) a member of:
the board of the french Cluster Edit (a Rhône-Alpes french consortium grouping all the Rhône-Alpes software companies) and I am also involved in the R&D and innovation board.
the french GDR I3 (Information, Interaction, Intelligence), Working Group on Web Services - CNRS STIC department. The working group topics covered web services modelling and web semantic, services discovery and services composition (this group is now closed).
the ERCIM Workging Group on Software Evolution.
the European ESPRIT Working Group 21185 - PROMOTER 2 (Process Modelling Techniques / 1998-2001).
I am (or was) a reviewer for Journal Software: Practice and Experience (Wiley), JSS (Journal of Systems and Software), ICSM 2006 and 2007, MODELS/UML 2006 and 2007, CAL'06, ICSM'06, SPW/Prosim 2006, CMSR 2006, ICSM 2005, UML/MODELS 2005, WRCE 2005.
I was a program committee member of the IEEE Software (special issue entitled "Realizing Service Centric Software Systems"), Journées Composants 2006 in France and the "Conception des systèmes d'information et services web" Workshop (co-located with INFORSID 2006 - Tunisia).
I was an organizing committee member of the
Eighth European Agent Systems Summer School (EASSS 2006), Annecy, France, July 2006.
I was an organizing committee member of the Journées Francophones sur les Systèmes Multi-Agents (JFSMA
2006), Annecy, France, October 2006.
I co-organized with Stéphane Ducasse a conference about "New features in Java 7 and C# 3.0". Dr. Gilad Bracha, a computational theologist with Sun Java SE (Sun Microsystems) and Dr. Mads Togersen (Microsoft Corporation) were the two invited speakers, Annecy, France, February 2006.
I was in organizing comittee of the European Workshop on Software Process Technology (EWSPT 2003) helding in Helsinki, Finland, September 2003. I was session chair during the workshop.