Capella est une solution open source d'ingénierie système basée sur les modèles (Model-Based Systems Engineering ou MBSE). Hébergée par la Fondation Eclipse, cette solution fournit un processus outillé permettant la modélisation graphique des architectures systèmes, logicielles ou matérielles, et ce, en conformité avec les principes et recommandations définis par la méthode Arcadia[2].
Capella a été spécifié, conçu et développé par Thales[3] à partir de 2007.
L'objectif est de contribuer à la transformation de l'ingénierie, en fournissant un environnement d'ingénierie proposant une démarche basée sur les modèles, plutôt que centrée documents, piloté par un processus, et offrant par construction les moyens d'assurer une co-ingénierie effective.
Les experts opérationnels de l'ingénierie ont pour cela défini un langage unifié pour la modélisation des architectures dans le groupe et spécifier l'outillage associé, Capella.
Capella propose une ergonomie similaire aux outils PowerPoint / Visio et Excel. L'environnement qui en résulte est de fait intuitif et permet aux ingénieurs de se concentrer sur la définition de leurs architectures plutôt que sur l'apprentissage et l'exploitation de langages génériques complexes de modélisation tels UML ou SysML pour capturer leurs besoins. Dédié à la méthode sous-jacente Arcadia, il guide également les ingénieurs dans leurs activités, ce que ne proposent pas les outils de modélisations génériques.
En 2015, la solution a été mise en open source dans le groupe de travail industriel PolarSys[4],[5] de la Fondation Eclipse au travers du projet collaboratif français Clarity[6] soutenu par BPI France.
Capella dispose de son propre cycle de vie. Une version majeure, apportant de nouvelles fonctionnalités, est livrée chaque fin d'année tandis que plusieurs versions dites mineures, corrigeant des bogues notamment, peuvent être livrées tout au cours de l'année.
En 2019, Le groupe de travail Polarsys a pris fin et Capella est devenu un projet à part entière de la fondation Eclipse.
Principes
L'atelier dispose de son propre métamodèle, qui définit les concepts du langage que peut manipuler l'utilisateur au travers d'un projet Capella, c'est-à-dire au travers d'un modèle Capella, instance de ce métamodèle. Ensuite, l'utilisateur peut visualiser ce modèle sous différents aspects, selon différentes préoccupations, au travers de diagrammes. L'utilisateur peut également, via la palette associée aux diagrammes, créer de nouveaux éléments de modèle. Un projet Capella est composé d'une partie modèle (« melodymodeller ») et d'une partie graphique (« aird »).
Interface graphique de l'atelierInterface des diagrammes avec palette d'outils associée
À l'ouverture ou à la création d'un projet Capella, l'interface de l'atelier est présentée à l'utilisateur. Elle contient différentes zones :
La zone « navigateur méthodologique » qui expose à l'utilisateur les différentes phases d'ingénierie pour la modélisation de son architecture, et des raccourcis pour créer de nouveaux diagrammes en lien avec la phase d'ingénierie considérée ; cette vue permet également de faciliter la « transition » entre phases d'ingénierie, de façon à créer les liens de réalisation entre phases et les éléments associés ;
La zone « navigateur sémantique » permettant de naviguer aisément dans le modèle : pour tout élément sélectionné dans la zone « projet » ou sur un diagramme, la zone navigateur sémantique va présenter à l'utilisateur l'ensemble des références autour de cet élément, c'est-à-dire ses relations de contenance ou de référence ainsi que l'ensemble des diagrammes dans lequel l'élément est impliqué ;
La zone « projet », plus classique, qui est une vue arborescente du modèle Capella, et qui contient l'ensemble des éléments sémantiques et des diagrammes créés par l'utilisateur ;
La zone « diagramme », qui présente une vue graphique d'un extrait du modèle et permet d'éditer le modèle en termes de création, modification, suppression d'éléments, mais aussi de modification de l'organisation ou l'apparence d'éléments dans le diagramme ;
La zone de « propriétés » qui affiche l'ensemble des propriétés données pour un élément sélectionné dans le modèle ou dans un diagramme.
Diagrammes
L'utilisateur peut au travers de Capella manipuler plusieurs types de diagramme. La représentation des éléments dans les diagrammes est régie par un code couleur propre à chaque phase d'ingénierie. Exemple : dans la phase « Architecture Logique », les composants sont de couleur bleue.
Quelques exemples de diagrammes :
Capacités Opérationnelles
Architecture Opérationnelle
Architecture Logique
Architecture Physique
Scénario Fonctionnel
Diagramme de Classes
Extensibilité
L'atelier peut être enrichi ou spécialisé pour un besoin métier donné, conformément au concept de « Point de Vue », défini par le standard ISO/IEC 42010(en)[7]. Ces extensions apportent, par exemple :
la capacité à gérer de nouvelles informations qui seraient dédiées à un besoin d'ingénierie spécifique, avec leur outillage associé. Exemple : des propriétés non-fonctionnelles telles des contraintes de temps pour des analyses de performances, ou des contraintes liés à la sûreté de fonctionnement ou à la sécurité, au coût d'un composant pour des analyses de coûts, à sa masse, etc. ;
la capacité à spécialiser la démarche d'ingénierie avec des styles architecturaux spécifiques ;
la capacité à ajouter de nouvelles fonctionnalités à l'atelier, par exemple un export documentaire ou une spécialisation de la transition système/sous-système.
Compatibilité
Capella est supporté sur des environnements basés sur Java 7 et plus sur les plates-formes suivantes :