Component-based development

Component is one of the next steps for software evolution. There are today many component models. Most of them are proposed either for the modelling phase (composition architectures encaspsulated with provided and required interfaces compiled into classes skeletons) or for the deployment phase (Object containers such as jars or clusters). We believe this is just a transitional situation and wish to propose a component model and system that encompass them all and can be used in all phases of software development, including the programming one. Compo is the last result in that direction (see below).

Objects are primary components; objects containers (jars, clusters, etc) are just alternative presentations of objets, allowing for their deployment. The researches described here see components as old standard objets extended with additional properties, abstractions, control-stuctures, aspects, description (requirements, architecture), documentation. Two main additions to go from objects to component are to explicit requirements and architectures. The following research projects are been held to imagine and experiment with languages to develop software using components.

Compo : A reflective component-based modeling and programming language (2010 - ...)

The Compo language is the successor of Scl. Il aims at being a modelling (architecture-description) language and a programming languages. It makes it possible to model with components and to implement those models in the same conceptual continuum with no abstraction loss. It integrates a full inheritance system. It integrates a component-oriented executable meta-model making it possible to drive models.

Components, Architectures and Constraints (2009 - ...)

, Scl then Compo integrate specific constraint components able to check, statically or dynamically, architectural or functionnal constraints. Also see Chouki Tibermacine works.

SCL : a Simple component-based programming language (2004 - 2012)

Researches on the SCL language aimed at bringing to the fore and at making operationals the key concepts related to the activity of programming with components : which are the new mechanisms for unanticipation, what are connections, what are ports, what is "passing by connection" (or how to pass components as arguments), what are rock-bottom components, how component-based programming should integrate aspect-oriented programming?

Components for Modeling Robot Controllers - 2000-2006

I have studied domain specific components in the fielf of mobile robotic in Collaboration with Robin Passama (Phd 2006), David Andreu, Thérèse Libourel. (LIRMM-ROB), Thérèse Libourel