visuel meito

Une bonne architecture logicielle pour des applications complexes...

Le logiciel représente aujourd'hui un enjeu majeur pour la valeur ajoutée qu'il amène à différents domaines, et celui-ci a augmenté tant en taille qu'en complexité à un rythme exponentiel dans les 20 dernières années. Pour en maîtriser le coût et la qualité, ceci a conduit à adopter des approches fondées sur l'utilisation de composants développés indépendamment les uns des autres. Cependant les composants logiciels interagissent entre eux et avec le monde réel de manière de plus en plus complexe, impliquant de nombreuses dimensions extra-fonctionnelles (fiabilité, sécurité, ponctualité, consommation d'énergie ).

Comme dans les autres sciences, on a de plus en plus recours à la modélisation pour essayer de maîtriser cette complexité. La modélisation, dans le sens le plus large, est en effet l'utilisation efficace d'une représentation simplifiée d'un aspect du monde réel pour un objectif donné.

En particulier, le modèle des différents composants d'un système informatique, de leurs interrelations et leurs interactions est appelé architecture logicielle. Cette notion d'architecture logicielle est née à la fin des années 1960 de l'invention de la programmation structurée. Un programme informatique était alors conceptualisé comme une suite d'étapes (flot de contrôle) représentée par les premiers diagrammes d'architecture, les organigrammes.

Aujourd'hui, un système complexe peut être modélisé selon plusieurs points de vue (structure, dynamique, fonctionnels, etc.) qui peuvent eux-mêmes varier en termes d'abstraction (idées ou concepts, interfaces, composants abstraits, composants logiciels physiques) et de précision (ébauche, solution à améliorer ou solution finale).

Un des enjeux de la recherche dans ce domaine, appelé ingénierie dirigée par les modèles est de capitaliser les savoir-faire de conception et de validation de tels systèmes en capturant sous forme de transformation de modèles les connexions entre ces points de vue. Même s'il existe une longue expérience de l'utilisation de l'ingénierie des modèles dans certains domaines comme les télécoms, sa généralisation à l'ensemble de l'industrie n'en est qu'à ses débuts. Visant à automatiser une partie du processus du développement, elle requiert un effort d'abstraction plus important de la part des développeurs. En contrepartie, elle permet de conserver le savoir-faire de conception proche des centres de décision, grâce aux économies d'échelle dues à l'automatisation.

La Bretagne (historique) est au premier rang mondial dans ce domaine, tant sur le plan académique que sur le plan industriel : plusieurs industriels de l’Ouest comptent en effet parmi les leaders mondiaux des architectures logicielles, soit en développant des outils et en faisant une offre de produits, soit en exploitant des techniques d’IDM dans le but d’améliorer leur productivité et la qualité de leurs produits, le tout en étroite synergie avec les principaux centres de recherche académique de la région (cf. projets labellisés par le pôle de compétitivité Images & Réseaux).

 

Jean-Marc Jézéquel,

Professeur à l'université de Rennes 1

Responsable du projet Triskell à l'INRIA/Irisa

E-mail : jezequel@irisa.fr

Tél : 02 99 847 192