Vers des composants logiciels interfac ¸ables Luc Fabresse 1 , Christophe Dony 1 , Marianne Huchard 1 , Olivier Pichon 2 1 L.I.R.M.M – 161, rue Ada 34392 Montpellier Cedex 5 – FRANCE – {fabresse,dony,huchard}@lirmm.fr 2 Gatonero SA Espace Innovation 2 – Parc Georges Besse 110, all´ ee Charles Babbage 30000 Nˆ ımes op@gatonero.com et http://www.gatonero.com esum´ e : Cet article pr´ esente une ´ etude relative aux domaines du d´ eveloppement ` a base de composants et de la production semi-automatis´ ee d’interface homme- machine (IHM). Dans ce contexte, nous ´ etudions le concept de composant interfa- c ¸able, c’est-` a-dire une entit´ e logicielle assemblable selon une logique m´ etier mais ´ egalement dot´ ee de caract´ eristiques qui faciliteraient la production semi-automa- tique d’IHM par des outils d’interfac ¸age. L’article propose et pr´ esente un mod` ele de composants interfac ¸ables et un langage (ICL) permettant de d´ evelopper de tels composants et de les assembler. ICL a ´ et´ e coupl´ e avec l’outil d’interfac ¸age T hings TM 1 afin de r´ ealiser un exemple complet d’application d´ evelopp´ ee en ICL et dont l’IHM a ´ et´ e produite semi-automatiquement par T hings TM . Mots-cl´ es : Langage ` a composants 2 , g´ en´ eration d’IHM, AOP, Java, R´ eflexivit´ e. 1 Introduction Un des points cl´ e actuel dans les recherches en g´ enie logiciel est l’´ etude du d´ eveloppe- ment d’applications par assemblage de composants. On ´ etudie aujourd’hui des mod`eles de composants (Java Beans (Sun, 1997), CCM (OMG, 2002), EJB (Blevins, 2001), Fractal (Coupaye & Stefani, 2002)), des langages pour les d´ ecrire ou les connecter (Langages de Description d’Architecture (Medvidovic & Taylor, 1997)) et/ou des archi- tectures (J2EE, Fractal) pour les assembler. Cet int´ erˆ et pour les composants r´ esulte aussi bien de la volont´ e de r´ eduire les co ˆ uts de d´ eveloppement en augmentant la r´ eutilisation que de la n´ ecessit´ e d’inventer de nouvelles formes de d´ eveloppement pour prendre en 1 Logiciel d´evelopp´e par la soci´et´e Gatonero. 2 En accord avec l’expression « un langage `a objets », bien que l’on rencontre souvent l’expression « un langage de composants » dans la litt´erature.