Aller au contenu

« Arcadia (ingénierie) » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 5 : Ligne 5 :
{{À wikifier|date=octobre 2015}}
{{À wikifier|date=octobre 2015}}


'''ARCADIA''' ('''ARC'''HITECTURE '''A'''NALYSIS & '''D'''ESIGN '''I'''NTEGRATED '''A'''PPROACH) est une [[méthodologie]] dédiée à la [[modélisation]] des architectures [[Ingénierie_des_systèmes|systèmes]], [[Architecture_logicielle|logicielles]], et [[Architecture_matérielle|matérielles]].
'''ARCADIA''' ('''ARC'''HITECTURE '''A'''NALYSIS & '''D'''ESIGN '''I'''NTEGRATED '''A'''PPROACH) est une [[Méthode#Nom_commun|méthode]] d’ingénierie et de définition des architectures [[Ingénierie_des_systèmes|systèmes]], [[Architecture_logicielle|logicielles]], et [[Architecture_matérielle|matérielles]], basée sur les modèles.


[[File:Arcadia logo.png|vignette|Méthode d’ingénierie et de définition des architectures systèmes, logicielles et matérielles.]]
{{Infobox Logiciel
| logo = [[File:Arcadia logo.png|center]]
| image =
| description =
| développeur =
| dernière version =
| licence =
}}


== Historique ==
== Historique ==
Historiquement, dans le [[Cycle_de_développement_(logiciel)|cycle de développement]] d'un système, l'accent était mis sur la définition des [[Exigence_(ingénierie)|exigences]], leur allocation à chaque composant du système et la [[traçabilité]] associée plutôt que sur l'analyse de la conception du système, la justification des choix architecturaux et des étapes de vérification.
Historiquement, dans le [[Cycle_de_développement_(logiciel)|cycle de développement]] d'un système, l'accent était mis sur la définition des [[Exigence_(ingénierie)|exigences]], leur allocation à chaque composant du système et la [[traçabilité]] associée plutôt que sur l'analyse fonctionnelle, la conception du système, la justification des choix architecturaux et des étapes de vérification.
De plus, l'allocation des exigences doit être réalisée non pas uniquement du point de vue [[Analyse_fonctionnelle_(conception)|fonctionnel]], mais en tenant compte d'un ensemble de points de vue, qui influent largement sur le découpage et la définition du système (contraintes d'intégration ou liées à la gestion en ligne de produits, aux contraintes de sécurité, de performance, de faisabilité, etc.).
De plus, cette conception doit prendre en compte non seulement le point de vue [[Analyse_fonctionnelle_(conception)|fonctionnel]], mais aussi d'autres points de vue, qui influent largement sur le découpage et la définition du système (contraintes d'intégration ou liées à la gestion en ligne de produits, aux contraintes de sécurité, de performance, de faisabilité, etc.).
L'[[ingénierie]] des systèmes ne se résume donc pas à la gestion des exigences du système, mais passe avant tout par une activité de conception avancée de celui-ci.
L'[[ingénierie]] des systèmes ne se résume donc pas à la gestion des exigences du système, mais passe avant tout par une activité de conception avancée de celui-ci.


La méthodologie ARCADIA a été définie par [[Thales]] en 2007 en réponse à cette [[problématique]] en plaçant l'architecture au centre de l'ingénierie des systèmes.
La méthode ARCADIA a été définie par [[Thales]] en 2007 en réponse à cette [[problématique]] en plaçant l'architecture et la collaboration au centre de l'ingénierie des systèmes.


Cette vision permet notamment de briser les silos entre les différentes ingénieries de spécialité ([[Architecte_informatique|Architectes]], Équipes de développement, [[Spécialiste|Spécialistes]], Équipes [[Ingénierie_des_systèmes#Int.C3.A9gration.2C_V.C3.A9rification.2C_Validation.2C_Qualification_.28IVVQ.29|IVVQ]], Client, Partenaires externes, etc.) et ainsi favoriser la collaboration entre ces dernières.
Cette vision permet notamment de briser les silos entre les différentes ingénieries de spécialité ([[Architecte_informatique|Architectes]], Équipes de développement, [[Spécialiste|Spécialistes]], Équipes [[Ingénierie_des_systèmes#Int.C3.A9gration.2C_V.C3.A9rification.2C_Validation.2C_Qualification_.28IVVQ.29|IVVQ]], Client, Partenaires externes, etc.) et ainsi favoriser la collaboration entre ces dernières.


Depuis Septembre 2015, la méthodologie est en cours de [[standardisation]] auprès de l'[[Association_française_de_normalisation|AFNOR]] au travers du projet collaboratif français Clarity<ref>{{en}}
Depuis Septembre 2015, la méthode est en cours de [[standardisation]] auprès de l'[[Association_française_de_normalisation|AFNOR]] au travers du projet collaboratif français Clarity<ref>{{en}}
{{Lien web
{{Lien web
|url=http://www.clarity-se.org/
|url=http://www.clarity-se.org/
Ligne 34 : Ligne 27 :


== Contexte d'application ==
== Contexte d'application ==
La méthodologie ARCADIA s'applique à la conception des [[Système_complexe|systèmes complexes]] et des [[Système_critique|systèmes critiques]]. Elle définit un ensemble de pratiques pour répondre à un besoin opérationnel et est conçue pour être adaptable aux processus et contraintes liées aux cycles de vie : approche ascendante, réutilisation d'applicatifs, incrémentale, itérative, partielle, etc.
La méthode ARCADIA s'applique à la conception des [[Système_complexe|systèmes complexes]] et des [[Système_critique|systèmes critiques]], et plus généralement d’architectures soumises à des contraintes fonctionnelles et non fonctionnelles multiples (y compris architectures logicielles, électroniques, électriques, processus industriels, etc.). Elle définit un ensemble de pratiques guidant l’analyse du besoin et la conception en vue de répondre à un besoin opérationnel et est conçue pour être adaptable aux processus et contraintes liées à de multiples cycles de vie : approche ascendante, réutilisation d'applicatifs, incrémentale, itérative, partielle, etc.


== Objectifs et moyens d'action ==
== Objectifs et moyens d'action ==
ARCADIA est une méthode structurée d'ingénierie destinée à définir et à valider l’architecture de systèmes complexes. Elle favorise le travail collaboratif de tous les intervenants, souvent nombreux, de la phase d’ingénierie (ou de définition) du système. Elle permet d’effectuer dès la phase de définition les itérations qui vont permettre de faire converger l’architecture vers l’adéquation à l’ensemble des besoins identifiés.
La méthodologie ARCADIA est outillée au travers de l'atelier d'ingénierie [[Capella_(ingénierie)|Capella]].


Si les exigences textuelles sont toujours présentes et utilisées comme contribution principale à l’expression du besoin en entrée de l’ingénierie, ARCADIA se place comme support majeur de l'ingénierie et de sa maîtrise, reposant sur une formalisation de l’analyse du besoin de nature opérationnelle, fonctionnelle et non fonctionnelle (fonctions attendues du système, chaînes fonctionnelles...), puis de la définition/justification de l'architecture à partir de cette analyse fonctionnelle.
[[File:Arcadia means.png|thumb|Une méthode globale adaptable/adaptée à chaque domaine]]


Les principes généraux d’ARCADIA sont les suivants:
== Approche méthodologique ==
* Tous les intervenants de l’ingénierie partagent la même méthode, les mêmes informations, la même description du besoin et du produit sous forme d’un modèle partagé ;
L'objectif de la méthodologie vis-à-vis de l'ingénierie des architectures est de:
* Chaque ensemble de contraintes (par exemple : sécurité, performances, coût, masse,…) est formalisé dans un « point de vue » par rapport aux exigences duquel l’architecture proposée sera vérifiée ;
* Identifier les acteurs du système ;
* Les règles de vérification anticipée de l’architecture sont établies de manière à pouvoir vérifier au plus tôt l’architecture proposée ;
* Aider les clients à exprimer leurs besoins (opérationnels) ;
* La co-ingénierie entre les différents niveaux d’ingénierie est soutenue par l’élaboration conjointe de modèles, et les modèles des différents niveaux et métiers sont déduits/validés/reliés les uns par rapport aux autres.
* Identifier les risques majeurs et les moyens de les atténuer ;
* Traduire les besoins en fonctions ;
* Construire / concevoir une architecture de la solution (y compris des alternatives si besoin) :
** Définir les composants ;
** Définir les relations entre les composants ;
** Définir les propriétés associées aux composants, en tenant compte des contraintes fonctionnelles, non fonctionnelles, industrielles tant au niveau des composants que de la solution globale.
* Allouer les composants à des disciplines d'ingénierie ;
* Définir un plan de validation et de mise en oeuvre de l'architecture ;
* Arbitrer les conflits techniques et les choix d'alternatives, trouver un compromis entre les experts.


La méthode ARCADIA est outillée au travers de l’outil de modélisation [[Capella_(ingénierie)|Capella]] qui répond aux contraintes de déploiement en vraie grandeur dans un contexte opérationnel. Capella est mis gratuitement à disposition de la communauté ingénierie sous le mode Open Source.
[[File:Arcadia concepts.png|thumb|Les concepts de la méthodologie]]


== Particularités de la méthode ==
== Concepts ==
* Elle couvre l’ensemble des activités structurantes de l’ingénierie, depuis la capture du besoin client opérationnel, jusqu’à l’intégration vérification validation (IVV) ;
* Elle prend en compte les niveaux d’ingénierie multiples et leur collaboration efficace (système, sous-système, logiciel, matériel, etc.) ;
* Elle intègre la co-ingénierie avec les ingénieries de spécialités (sécurité, sûreté, performances, interfaces, logistique…) et d’IVV ;
* Elle est basée sur l’utilisation de modèles, non seulement descriptifs, mais aussi susceptibles de valider la définition et les propriétés de l’architecture, et constituant le support majeur à la co-ingénierie des équipes concernées ;
* Elle a passé avec succès le test de l’applicabilité sur des projets en taille réelle et situation opérationnelle contrainte, puisque actuellement en déploiement sur plusieurs dizaines de grands projets dans plusieurs divisions et pays de Thales.


=== Analyse opérationnelle ===
== Approche méthodologique ==
{{multiple image
| direction = vertical
| width = 200
| image1 = ARCADIA viewpoints.png
| alt1 = Points de vue
| caption1 = Points de vue
| image2 = ARCADIA collaboration.png
| alt2 = Collaboration
| caption2 = Collaboration
}}


L’une des difficultés fréquemment rencontrée dans le développement de systèmes complexes vient de la mise en œuvre simultanée (superposition) de plusieurs chaînes fonctionnelles partiellement indépendantes utilisant des ressources partagées (notamment mais pas seulement, des ressources de calcul). La méthode ARCADIA et les outils sous-jacents permettent d’identifier les chaînes fonctionnelles, leurs scénarios de superposition, et les performances recherchées, dès le premier niveau d’analyse du système ; ils en assurent la traçabilité tout au long du processus de définition, et vérifient, pour chaque conception proposée, que l’architecture de traitement de ces chaînes fonctionnelles est capable des objectifs de performances, y compris en situation de partage de ressources, et d’itérer si la vérification n’est pas satisfaisante.
==== Vue d'ensemble ====
L'analyse opérationnelle met l'accent sur l'analyse des besoins et des objectifs, des missions et activités envisagées.
Cette analyse est prévue pour assurer une bonne adéquation de la définition du système en ce qui concerne son utilisation opérationnelle réelle, et permet de définir les conditions de l'IVVQ.


Les propriétés non fonctionnelles attendues sont par ailleurs formalisées dans des 'points de vues' traduisant les contraintes associées, et analysant l'architecture solution selon ces contraintes et des règles de savoir-faire métier. Cette analyse peut se faire très tôt dans le cycle de développement, détectant les problèmes de conception au plus tôt ("early validation").
Sont définis en sortie de l'analyse opérationnelles :
* Les besoins en termes d'acteurs / utilisateurs ;
* Les capacités et les activités opérationnelles ;
* Les scénarios d'utilisation opérationnels (paramètres de dimensionnement, les contraintes opérationnelles telles la sécurité, le cycle de vie du système, etc.).


Plus généralement l’approche de caractérisation par points de vue (ou "viewpoints") transverses permet de vérifier que l’architecture proposée est capable d’assurer les fonctions requises avec le niveau de performance recherché, mais aussi qu’elle peut répondre aux autres exigences dites non-fonctionnelles (sécurité, sûreté de fonctionnement, masse, évolutivité, environnements, masse, interfaces, etc.), mais tout aussi impératives.
==== Définition des concepts ====
{| class="wikitable"
! Concept
! Définition
|-
|style="width:150px"| Capacité Opérationnelle
| Une capacité est la capacité d'une organisation à fournir un service qui prend en charge la réalisation des objectifs opérationnels de haut niveau.
|-
| Activité Opérationnelle
| L'étape d'un processus ou la fonction réalisée en vue d'atteindre un objectif, par des entités qui nécessiterait d'utiliser le futur système pour cela (par exemple : "détecter une menace").
|-
| Entité Opérationnelle
| Une entité opérationnelle est une entité du monde réel (autre système, appareil, groupe ou organisation, etc.), qui interagit avec le système (ou logiciel, équipement, matériel) à l'étude, ou avec ses utilisateurs.
|-
| Acteur Opérationnel
| Un acteur est une entité opérationnelle non décomposable (habituellement humain).
|-
| Interaction Opérationnelle
| Ensemble d'invocations de services opérationnels ou de flux échangés entre des activités opérationnelles (par exemple, des interactions opérationnelles peuvent être composées de données opérationnelles, d'événements, etc.).
|-
| Processus Opérationnel
| Une organisation logique des interactions et des activités visant à remplir une capacité opérationnelle.
|-
| Scénario Opérationnel
| Un scénario décrit le comportement d'une capacité opérationnelle donnée.
|}


Enfin, pour garantir la cohérence des décisions d'ingénierie, tous les intervenants de l'ingénierie partagent les mêmes informations, la même description du besoin et du produit, sous la forme d'un ensemble de modèles partagés.
==== Diagrammes ====
Les diagrammes associées à cette phase d'ingénierie permettent de :
* Définir des capacités opérationnelles ;
* Définir des activités opérationnelles ;
* Définir des interactions entre des activités opérationnelles ;
* Définir des entités opérationnelles ;
* Allouer des activités opérationnelles à des entités opérationnelles ;
* Définir des processus opérationnels ;
* Définir des scénarios impliquant des activités opérationnelles ;
* Définir des scénarios impliquant des entités opérationnelles.


== Présentation de la démarche et principaux concepts ==
=== Analyse système ===


==== Vue d'ensemble ====
L'analyse système définit comment le système peut satisfaire les précédents besoins opérationnels :
* Les fonctions du système et les échanges liés ;
* Les contraintes non fonctionnelles (sécurité, etc.) ;
* Les performances affectées à des chaînes fonctionnelles du système ;
* Le partage des rôles et des interactions entre le système et les opérateurs.

L'analyse système vérifie la faisabilité (en termes de coûts, de calendrier et de mise à disposition de la technologie) des besoins client.

Seront définis en sortie de l'analyse système, l'interopérabilité et les interactions avec les utilisateurs et les systèmes externes (fonctions, échanges, contraintes non fonctionnelles), et les exigences du système.

==== Définition des concepts ====
{| class="wikitable"
{| class="wikitable"
! Phase d'ingénierie
! Concept
! Concept
! Définition
! Définition
|-
|-
| Analyse Opérationnelle
|style="width:150px"| Système
| "ce que les utilisateurs du système doivent accomplir"
| Un système organisé d'un ensemble d'éléments fonctionnant comme une unité, une agrégation de produits finis et de produits permettant d'atteindre un but donné.
| Analyse de la problématique des utilisateurs opérationnels en identifiant les acteurs devant interagir avec le système, leurs activités, et les échanges entre eux.
|-
| Acteur Système
| Acteur externe qui interagit avec le système via ses interfaces.
|-
| Mission Système
| Une mission décrit une fonctionnalité majeure du système d'un point de vue de très haut niveau (il y a une raison d'être pour le développement du système), un objectif opérationnel de haut niveau.
|-
| Capacité Système
| Une capacité est la capacité d'un système à fournir un service qui prend en charge la réalisation des objectifs opérationnels de haut niveau.
|-
| Fonction Système
| Une fonction au niveau système. Une fonction est une action, une opération ou un service accompli par le système ou par un acteur lors de l'interaction avec le système (par exemple : "mesurer l'altitude", "renseigner une position", etc.).
|-
| Échange et Port
| Un échange est une interaction entre certaines entités comme les acteurs, le système, des fonctions ou des composants, susceptible d'influencer leur comportement (par exemple : "fréquence radio", "commande de sélection de la radio", etc.). Le point de connexion d'un échange sur une entité est appelé un port.
|-
|-
| Analyse du Besoin Système
| Échange Fonctionnel
| "ce que le système doit réaliser pour les utilisateurs"
| Partie d'une interaction entre les fonctions qui est composé de données, d'événements, de signaux, etc. A "Port Flow" est un point d'interaction entre une fonction et son environnement qui supporte les échanges avec d'autres ports.
| Analyse Fonctionnelle externe pour identifier en réponse les fonctions du système nécessaires à ses utilisateurs (ex : "calculer l'itinéraire optimal", "détecter et localiser la menace"), sous contrainte des propriétés non fonctionnelles demandées.
|-
|-
| Architecture Logique
| Scénario
| "comment le système va fonctionner pour répondre aux attentes"
| Un scénario décrit le comportement du système dans une capacité donnée. Les scénarios permettent de spécifier le comportement dynamique du système en montrant des séquences d'interaction conduites par les acteurs et par le système.
| Analyse Fonctionnelle interne du système : quelles sont les sous-fonctions à réaliser et assembler pour réaliser les fonctions "utilisateur" identifiées lors de la phase précédente, identification des composants logiques réalisant ces sous-fonctions internes, en y intégrant les contraintes non fonctionnelles qu’on a choisi de traiter à ce niveau.
|-
|-
| Architecture Physique
| État
| "comment le système va être construit"
| Une condition de l'environnement physique et opérationnelle.
| Cette phase a le même objectif que l’architecture logique excepté qu’elle définit l’architecture finale du système, telle qu'elle doit être réalisée. Elle ajoute les fonctions requises par l’implémentation et les choix techniques, fait apparaître des composants comportementaux (ex : composants logiciel) qui réalisent ces fonctions. Ces composants comportementaux sont ensuite implémentés à l’aide de composants d’implémentation (ex : carte processeurs) qui offrent la ressource matérielle nécessaire.
|-
|-
| "End-Product Breakdown Structure" (EPBS) et Contrats d'Intégration
| Mode
| "ce qui est attendu du fournisseur de chaque composant"
| Un type d'opération dans un état donné du système, ou le niveau de performance à l'intérieur un état.
| Cette phase déduit de l’architecture physique les conditions que devra remplir chaque composant pour satisfaire aux contraintes et choix de conception de l’architecture, réalisés dans les phases précédentes.
|}
|}


L’ensemble des éléments constitutifs de l’ingénierie et élaborés lors de l’application de la méthode sont formalisés, partagés et exploités par le biais de modèles à chaque niveau d’ingénierie ; pour chacun d’entre eux, les figures ci-dessous synthétisent son contenu en accord avec les phases décrites précédemment :
==== Diagrammes ====
Les diagrammes associées à cette phase d'ingénierie permettent de :
* Définir des modèles de données ;
* Effectuer une transition depuis l'analyse opérationnelle ;
* Raffiner les fonctions du système ;
* Décrire les flux de données entre fonctions ;
* Assigner des fonctions aux acteurs et au système ;
* Définir des chaînes fonctionnelles ;
* Définir des capacités du système ;
* Définir des scénarios ;
* Définir des états et modes.


{|style="margin: 0 auto;"
=== Architecture logique ===
| [[File:ARCADIA phases.png|thumb|Phases d'ingénierie ARCADIA|upright=1.5]]

| [[File:ARCADIA breakdown.png|thumb|Décomposition en phase d'ingénierie|upright=1.5]]
==== Vue d'ensemble ====
Cette phase d'ingénierie vise à identifier les composants du système, leurs contenus, relations et les propriétés, à l'exclusion de leur mise en œuvre et des questions techniques / technologiques. Dans cette phase, toutes les contraintes non fonctionnelles (liées à la sûreté, à la sécurité, la performance, l'IVV, etc.) sont prises en compte afin de trouver le compromis optimal.

Seront définis en sortie de l'architecture logique :
* La définition des composants et des interfaces, y compris la formalisation de tous les points de vue et la façon dont ils sont pris en compte dans la conception des composants ;
* Les liens avec les exigences et des scénarios opérationnels.

==== Définition des concepts ====
{| class="wikitable"
! Concept
! Définition
|-
|style="width:150px"| Fonction Logique
| Une fonction appliquée au niveau logique.
|-
| Composant Logique
| Les composants logiques sont les artefacts permettant une décomposition du système en "boîte blanche", indépendamment de toute solution technologique, mais tenant compte des contraintes majeures de décomposition du système. Ils sont identifiés selon des abstractions logiques (c'est-à-dire, des groupements fonctionnels, des interfaces logiques).
|-
| Échange Fonctionnel
| Partie d'une interaction entre les fonctions qui est composé de données, d'événements, de signaux, etc. A "Port Flow" est un point d'interaction entre une fonction et son environnement qui supporte les échanges avec d'autres ports.
|-
| Échange entre Composants
| Représente les échanges entre composants logiques.
|}
|}

==== Diagrammes ====
Les diagrammes associées à cette phase d'ingénierie permettent de :
* Effectuer la transition depuis l'analyse système ;
* Raffiner les fonctions logiques ;
* Décrire les flux de données logiques ;
* Raffiner les chaînes fonctionnelles ;
* Définir des composants logiques ;
* Assigner des fonctions à des composants ;
* Décrire des scénarios de flux de données.

=== Architecture physique ===

==== Vue d'ensemble ====
L'architecture physique vise à identifier les composants du système, leur contenu, relations et propriétés, en tenant compte de leur mise en œuvre ou des problèmes techniques / technologiques. Elle fait évoluer l'architecture logique selon la mise en œuvre, les contraintes et choix techniques et technologiques.

La même méthode guidée par les points de vue pour la conception de l'architecture logique est utilisé pour la définition de l'architecture physique.

==== Définition des concepts ====
{| class="wikitable"
! Concept
! Définition
|-
|style="width:150px"| Fonction Physique
| Une fonction appliquée au niveau physique.
|-
| Composant Physique
| Les composants physiques sont les artefacts permettant de décrire la décomposition physique du système pour satisfaire l'architecture logique identifiée au niveau d'abstraction supérieur. Les composants physiques sont identifiés selon une justification physique (c'est-à-dire vis à vis de la réutilisation, de la disponibilité des outils tierces, des contraintes non fonctionnelles, etc.). On distingue deux types de composants physiques :
* Comportementaux : en charge de la mise en œuvre / réalisation d'une partie des fonctions allouées au système (par exemple un logiciel opérationnel, une antenne radar, etc.) ;
* Nœud ou implémentation : composant matériel physique, ressource intégrant des composants comportementaux, et nécessaire à leur comportement attendu (par exemple une carte mère, des unités de mémoire, un système d'exploitation, etc.).
|-
| Liens Physiques
| Ils réalisent des échanges entre composants, et apparaissent en rouge sur les diagrammes.
|-
| Échange entre Composants
| Identiques aux échanges entre composants au niveau système ou au niveau logique.
|}

==== Diagrammes ====
Les diagrammes associées à cette phase d'ingénierie permettent de :
* Effectuer la transition depuis le niveau d'ingénierie logique ;
* Raffiner les fonctions physiques ;
* Décrire des flux de données physiques ;
* Raffiner les chaînes fonctionnelles ;
* Définir des composants physiques ;
* Assigner des fonctions aux composants ;
* Décrire des scénarios de flux de données ;

=== Découpage produit ===
Dans cette phase d'ingénierie, le contenu des éléments de configuration (CI) doit être défini afin de construire une structure de découpage du produit (PBS) :
* En regroupant plusieurs composants parmi les précédents dans une plus grande CI plus facile à gérer ;
* Ou en fédérant différents composants similaires dans la mise en œuvre d'un seul CI qui sera instancié plusieurs fois au déploiement.


== ARCADIA vis-à-vis des Standards: xAF, SysML, AADL ==
== ARCADIA vis-à-vis des Standards: xAF, SysML, AADL ==
Ligne 260 : Ligne 116 :
}}</ref>.
}}</ref>.


La méthodologie ARCADIA a été présentée lors de divers événements :
La méthode ARCADIA a été présentée lors de divers événements :
{| class="wikitable" style="text-align:center;"
{| class="wikitable" style="text-align:center;"
! Conférence
! Conférence
Ligne 312 : Ligne 168 :
|-
|-
| Model-Based System Engineering (MBSE) Symposium
| Model-Based System Engineering (MBSE) Symposium
| Arcadia and Capella in the Field<ref>{{en}}
| Arcadia and Capella on the Field: Real-World MBSE Use Cases<ref>{{en}}
{{Lien web
{{Lien web
|url=http://www.sesa.org.au/downloads-usermenu-33/doc_download/406-arcadia-and-capella-in-the-field
|url=http://www.sesa.org.au/downloads-usermenu-33/doc_download/406-arcadia-and-capella-in-the-field
Ligne 332 : Ligne 188 :
| 19/06/2014
| 19/06/2014
| [[Toulouse]]
| [[Toulouse]]
|-
| MDD4DRES ENSTA Summer school
| Feedbacks on System Engineering – ARCADIA, a model-based method for Architecture-centric Engineering<ref>{{en}}
{{Lien web
|url=http://www.mdd4dres.org/program/#JL
|titre=Feedbacks on System Engineering – ARCADIA, a model-based method for Architecture-centric Engineering
|site=mdd4dres.org
|consulté le=22 octobre 2015
}}</ref>
| 01/09/2014
| [[Aber-Wrac'h]]
|-
|-
| EclipseCon North America
| EclipseCon North America
Ligne 341 : Ligne 208 :
|consulté le=15 octobre 2015
|consulté le=15 octobre 2015
}}</ref>
}}</ref>
| 20/03/2015
| 20/03/2014
| [[San Francisco]]
| [[San Francisco]]
|-
|-
| Complex Systems Design & Management (CSDM)
| Complex Systems Design & Management (CSDM)
| Model-Based Collaboration for System, Software and Hardware Engineering<ref>{{en}}
| ARCADIA: Model-Based Collaboration for System, Software and Hardware Engineering<ref>{{en}}
{{Lien web
{{Lien web
|url=http://www.csdm2013.csdm.fr/-Program-.html
|url=http://www.csdm2013.csdm.fr/-Program-.html
Ligne 354 : Ligne 221 :
| 04/12/2013
| 04/12/2013
| [[Paris]]
| [[Paris]]
|-
| Congrès Ingénierie grands programmes et systèmes complexes
| La modélisation chez Thales : un support majeur à la collaboration des acteurs dans l’ingénierie des grands systèmes<ref>{{en}}
{{Lien web
|url=http://www.avantage-aquitaine.com/conferences/ingenierie13/assets/pdf/Programme%20IGPSC%20ed8.pdf
|titre=La modélisation chez Thales : un support majeur à la collaboration des acteurs dans l’ingénierie des grands systèmes
|site=avantage-aquitaine.com
|consulté le=22 octobre 2015
}}</ref>
| 10/06/2013
| [[Arcachon]]
|-
| MAST
| Toward integrated multi-level engineering - Thales and DCNS advanced Practices<ref>{{en}}
{{Lien web
|url=http://lanyrd.com/2013/mastconfex/scftxc/
|titre=Toward integrated multi-level engineering - Thales and DCNS advanced Practices
|site=lanyrd.com
|consulté le=22 octobre 2015
}}</ref>
| 04/06/2013
| [[Gdańsk]]
|-
| CSDM
| Modelling languages for Functional Analysis put to the test of real life<ref>{{en}}
{{Lien web
|url=http://rd.springer.com/chapter/10.1007%2F978-3-642-34404-6_9#page-1
|titre=Modelling languages for Functional Analysis put to the test of real life
|site=springer.com
|consulté le=22 octobre 2015
}}</ref>
| 2012
| [[Paris]]
|-
| ICAS
| Method and tools to secure and support collaborative architecting of constrained systems<ref>{{en}}
{{Lien web
|url=http://www.icas.org/ICAS_ARCHIVE/ICAS2010/ABSTRACTS/172.HTM
|titre=Method and tools to secure and support collaborative architecting of constrained systems
|site=icas.org
|consulté le=22 octobre 2015
}}</ref>
| 2010
| [[Nice]]
|-
| CSDM
| Model-driven Architecture building for constrained Systems<ref>{{en}}
{{Lien web
|url=www.cesames.net/fichier.php?id=291
|titre=Model-driven Architecture building for constrained Systems
|site=cesames.net
|consulté le=22 octobre 2015
}}</ref>
| 2010
| [[Paris]]
|-
| INCOSE’08 Symposium
| Method & Tools for constrained System Architecting<ref>{{en}}
{{Lien web
|url=http://onlinelibrary.wiley.com/doi/10.1002/j.2334-5837.2008.tb00857.x/abstract
|titre=Method & Tools for constrained System Architecting
|site=wiley.com
|consulté le=22 octobre 2015
}}</ref>
| 2008
| [[Utrecht]]
|}
|}


Ligne 360 : Ligne 293 :


== Liens externes ==
== Liens externes ==
*{{en}} [http://www.polarsys.org/capella/arcadia.html Page web dédiée à la méthodologie]
*{{en}} [http://www.polarsys.org/capella/arcadia.html Page web dédiée à la méthode]
*{{en}} [https://polarsys.org/forums/index.php/f/12/ Forum officiel]
*{{en}} [https://polarsys.org/forums/index.php/f/12/ Forum officiel]
*[http://www.thalesgroup.com Thales, créateur de la méthodologie]
*[http://www.thalesgroup.com Thales, créateur de la méthode]

{{Portail|logiciel|Technologie}}


[[Catégorie:Domaine interdisciplinaire]]
{{Portail|architecture et urbanisme|logiciel}}
[[Catégorie:Ingénierie]]
[[Catégorie:Système]]

Version du 26 octobre 2015 à 10:47

ARCADIA (ARCHITECTURE ANALYSIS & DESIGN INTEGRATED APPROACH) est une méthode d’ingénierie et de définition des architectures systèmes, logicielles, et matérielles, basée sur les modèles.

Méthode d’ingénierie et de définition des architectures systèmes, logicielles et matérielles.

Historique

Historiquement, dans le cycle de développement d'un système, l'accent était mis sur la définition des exigences, leur allocation à chaque composant du système et la traçabilité associée plutôt que sur l'analyse fonctionnelle, la conception du système, la justification des choix architecturaux et des étapes de vérification. De plus, cette conception doit prendre en compte non seulement le point de vue fonctionnel, mais aussi d'autres points de vue, qui influent largement sur le découpage et la définition du système (contraintes d'intégration ou liées à la gestion en ligne de produits, aux contraintes de sécurité, de performance, de faisabilité, etc.). L'ingénierie des systèmes ne se résume donc pas à la gestion des exigences du système, mais passe avant tout par une activité de conception avancée de celui-ci.

La méthode ARCADIA a été définie par Thales en 2007 en réponse à cette problématique en plaçant l'architecture et la collaboration au centre de l'ingénierie des systèmes.

Cette vision permet notamment de briser les silos entre les différentes ingénieries de spécialité (Architectes, Équipes de développement, Spécialistes, Équipes IVVQ, Client, Partenaires externes, etc.) et ainsi favoriser la collaboration entre ces dernières.

Depuis Septembre 2015, la méthode est en cours de standardisation auprès de l'AFNOR au travers du projet collaboratif français Clarity[1] soutenu par BPI France.

Contexte d'application

La méthode ARCADIA s'applique à la conception des systèmes complexes et des systèmes critiques, et plus généralement d’architectures soumises à des contraintes fonctionnelles et non fonctionnelles multiples (y compris architectures logicielles, électroniques, électriques, processus industriels, etc.). Elle définit un ensemble de pratiques guidant l’analyse du besoin et la conception en vue de répondre à un besoin opérationnel et est conçue pour être adaptable aux processus et contraintes liées à de multiples cycles de vie : approche ascendante, réutilisation d'applicatifs, incrémentale, itérative, partielle, etc.

Objectifs et moyens d'action

ARCADIA est une méthode structurée d'ingénierie destinée à définir et à valider l’architecture de systèmes complexes. Elle favorise le travail collaboratif de tous les intervenants, souvent nombreux, de la phase d’ingénierie (ou de définition) du système. Elle permet d’effectuer dès la phase de définition les itérations qui vont permettre de faire converger l’architecture vers l’adéquation à l’ensemble des besoins identifiés.

Si les exigences textuelles sont toujours présentes et utilisées comme contribution principale à l’expression du besoin en entrée de l’ingénierie, ARCADIA se place comme support majeur de l'ingénierie et de sa maîtrise, reposant sur une formalisation de l’analyse du besoin de nature opérationnelle, fonctionnelle et non fonctionnelle (fonctions attendues du système, chaînes fonctionnelles...), puis de la définition/justification de l'architecture à partir de cette analyse fonctionnelle.

Les principes généraux d’ARCADIA sont les suivants:

  • Tous les intervenants de l’ingénierie partagent la même méthode, les mêmes informations, la même description du besoin et du produit sous forme d’un modèle partagé ;
  • Chaque ensemble de contraintes (par exemple : sécurité, performances, coût, masse,…) est formalisé dans un « point de vue » par rapport aux exigences duquel l’architecture proposée sera vérifiée ;
  • Les règles de vérification anticipée de l’architecture sont établies de manière à pouvoir vérifier au plus tôt l’architecture proposée ;
  • La co-ingénierie entre les différents niveaux d’ingénierie est soutenue par l’élaboration conjointe de modèles, et les modèles des différents niveaux et métiers sont déduits/validés/reliés les uns par rapport aux autres.

La méthode ARCADIA est outillée au travers de l’outil de modélisation Capella qui répond aux contraintes de déploiement en vraie grandeur dans un contexte opérationnel. Capella est mis gratuitement à disposition de la communauté ingénierie sous le mode Open Source.

Particularités de la méthode

  • Elle couvre l’ensemble des activités structurantes de l’ingénierie, depuis la capture du besoin client opérationnel, jusqu’à l’intégration vérification validation (IVV) ;
  • Elle prend en compte les niveaux d’ingénierie multiples et leur collaboration efficace (système, sous-système, logiciel, matériel, etc.) ;
  • Elle intègre la co-ingénierie avec les ingénieries de spécialités (sécurité, sûreté, performances, interfaces, logistique…) et d’IVV ;
  • Elle est basée sur l’utilisation de modèles, non seulement descriptifs, mais aussi susceptibles de valider la définition et les propriétés de l’architecture, et constituant le support majeur à la co-ingénierie des équipes concernées ;
  • Elle a passé avec succès le test de l’applicabilité sur des projets en taille réelle et situation opérationnelle contrainte, puisque actuellement en déploiement sur plusieurs dizaines de grands projets dans plusieurs divisions et pays de Thales.

Approche méthodologique

Points de vue
Points de vue
Collaboration
Collaboration

L’une des difficultés fréquemment rencontrée dans le développement de systèmes complexes vient de la mise en œuvre simultanée (superposition) de plusieurs chaînes fonctionnelles partiellement indépendantes utilisant des ressources partagées (notamment mais pas seulement, des ressources de calcul). La méthode ARCADIA et les outils sous-jacents permettent d’identifier les chaînes fonctionnelles, leurs scénarios de superposition, et les performances recherchées, dès le premier niveau d’analyse du système ; ils en assurent la traçabilité tout au long du processus de définition, et vérifient, pour chaque conception proposée, que l’architecture de traitement de ces chaînes fonctionnelles est capable des objectifs de performances, y compris en situation de partage de ressources, et d’itérer si la vérification n’est pas satisfaisante.

Les propriétés non fonctionnelles attendues sont par ailleurs formalisées dans des 'points de vues' traduisant les contraintes associées, et analysant l'architecture solution selon ces contraintes et des règles de savoir-faire métier. Cette analyse peut se faire très tôt dans le cycle de développement, détectant les problèmes de conception au plus tôt ("early validation").

Plus généralement l’approche de caractérisation par points de vue (ou "viewpoints") transverses permet de vérifier que l’architecture proposée est capable d’assurer les fonctions requises avec le niveau de performance recherché, mais aussi qu’elle peut répondre aux autres exigences dites non-fonctionnelles (sécurité, sûreté de fonctionnement, masse, évolutivité, environnements, masse, interfaces, etc.), mais tout aussi impératives.

Enfin, pour garantir la cohérence des décisions d'ingénierie, tous les intervenants de l'ingénierie partagent les mêmes informations, la même description du besoin et du produit, sous la forme d'un ensemble de modèles partagés.

Présentation de la démarche et principaux concepts

Phase d'ingénierie Concept Définition
Analyse Opérationnelle "ce que les utilisateurs du système doivent accomplir" Analyse de la problématique des utilisateurs opérationnels en identifiant les acteurs devant interagir avec le système, leurs activités, et les échanges entre eux.
Analyse du Besoin Système "ce que le système doit réaliser pour les utilisateurs" Analyse Fonctionnelle externe pour identifier en réponse les fonctions du système nécessaires à ses utilisateurs (ex : "calculer l'itinéraire optimal", "détecter et localiser la menace"), sous contrainte des propriétés non fonctionnelles demandées.
Architecture Logique "comment le système va fonctionner pour répondre aux attentes" Analyse Fonctionnelle interne du système : quelles sont les sous-fonctions à réaliser et assembler pour réaliser les fonctions "utilisateur" identifiées lors de la phase précédente, identification des composants logiques réalisant ces sous-fonctions internes, en y intégrant les contraintes non fonctionnelles qu’on a choisi de traiter à ce niveau.
Architecture Physique "comment le système va être construit" Cette phase a le même objectif que l’architecture logique excepté qu’elle définit l’architecture finale du système, telle qu'elle doit être réalisée. Elle ajoute les fonctions requises par l’implémentation et les choix techniques, fait apparaître des composants comportementaux (ex : composants logiciel) qui réalisent ces fonctions. Ces composants comportementaux sont ensuite implémentés à l’aide de composants d’implémentation (ex : carte processeurs) qui offrent la ressource matérielle nécessaire.
"End-Product Breakdown Structure" (EPBS) et Contrats d'Intégration "ce qui est attendu du fournisseur de chaque composant" Cette phase déduit de l’architecture physique les conditions que devra remplir chaque composant pour satisfaire aux contraintes et choix de conception de l’architecture, réalisés dans les phases précédentes.

L’ensemble des éléments constitutifs de l’ingénierie et élaborés lors de l’application de la méthode sont formalisés, partagés et exploités par le biais de modèles à chaque niveau d’ingénierie ; pour chacun d’entre eux, les figures ci-dessous synthétisent son contenu en accord avec les phases décrites précédemment :

Phases d'ingénierie ARCADIA
Décomposition en phase d'ingénierie

ARCADIA vis-à-vis des Standards: xAF, SysML, AADL

Les concepts ARCADIA sont compatibles avec les langages d'architecture tels que DODAF / NAF Architecture Frameworks, UML2 et SysML, AADL etc.

Communication

Au travers du projet Clarity, un ouvrage dédié à la méthode est en cours de rédaction. Un document d'introduction est disponible en téléchargement sur le site web de Capella[2].

La méthode ARCADIA a été présentée lors de divers événements :

Conférence Titre de la présentation Date Lieu
INCOSE International Symposium Implementing the MBSE Cultural Change: Organization, Coaching and Lessons Learned[3] 14/07/2015 Seattle
INCOSE International Symposium From initial investigations up to large-scale rollout of an MBSE method and its supporting workbench: the Thales experience[4] 14/07/2015 Seattle
EclipseCon France Systems Modeling with the ARCADIA method and the Capella tool[5] 24/06/2015 Toulouse
Model-Based System Engineering (MBSE) Symposium The Challenges of Deploying MBSE Solutions[6] 28/10/2014 Canberra
Model-Based System Engineering (MBSE) Symposium Arcadia and Capella on the Field: Real-World MBSE Use Cases[7] 27/10/2014 Canberra
EclipseCon France Arcadia / Capella, a field-proven modeling solution for system and software architecture engineering[8] 19/06/2014 Toulouse
MDD4DRES ENSTA Summer school Feedbacks on System Engineering – ARCADIA, a model-based method for Architecture-centric Engineering[9] 01/09/2014 Aber-Wrac'h
EclipseCon North America Arcadia / Capella, a field-proven modeling solution for system and software architecture engineering[10] 20/03/2014 San Francisco
Complex Systems Design & Management (CSDM) ARCADIA: Model-Based Collaboration for System, Software and Hardware Engineering[11] 04/12/2013 Paris
Congrès Ingénierie grands programmes et systèmes complexes La modélisation chez Thales : un support majeur à la collaboration des acteurs dans l’ingénierie des grands systèmes[12] 10/06/2013 Arcachon
MAST Toward integrated multi-level engineering - Thales and DCNS advanced Practices[13] 04/06/2013 Gdańsk
CSDM Modelling languages for Functional Analysis put to the test of real life[14] 2012 Paris
ICAS Method and tools to secure and support collaborative architecting of constrained systems[15] 2010 Nice
CSDM Model-driven Architecture building for constrained Systems[16] 2010 Paris
INCOSE’08 Symposium Method & Tools for constrained System Architecting[17] 2008 Utrecht

Références

  1. (en) « Ecosystem for the Model Based Systems Engineering Solution Capella », sur clarity-se.org (consulté le )
  2. (en) « Document d'introduction à la méthode ARCADIA », sur polarsys.org (consulté le )
  3. (en) « Implementing the MBSE Cultural Change: Organization, Coaching and Lessons Learned », sur events.incose.org (consulté le )
  4. (en) « From initial investigations up to large-scale rollout of an MBSE method and its supporting workbench: the Thales experience », sur events.incose.org (consulté le )
  5. (en) « Systems Modeling with the ARCADIA method and the Capella tool », sur eclipsecon.org (consulté le )
  6. (en) « The Challenges of Deploying MBSE Solutions », sur sesa.org.au (consulté le )
  7. (en) « Arcadia and Capella in the Field », sur sesa.org.au (consulté le )
  8. (en) « Arcadia / Capella, a field-proven modeling solution for system and software architecture engineering », sur eclipsecon.org (consulté le )
  9. (en) « Feedbacks on System Engineering – ARCADIA, a model-based method for Architecture-centric Engineering », sur mdd4dres.org (consulté le )
  10. (en) « Arcadia / Capella, a field-proven modeling solution for system and software architecture engineering », sur eclipsecon.org (consulté le )
  11. (en) « Model-Based Collaboration for System, Software and Hardware Engineering », sur polarsys.org (consulté le )
  12. (en) « La modélisation chez Thales : un support majeur à la collaboration des acteurs dans l’ingénierie des grands systèmes », sur avantage-aquitaine.com (consulté le )
  13. (en) « Toward integrated multi-level engineering - Thales and DCNS advanced Practices », sur lanyrd.com (consulté le )
  14. (en) « Modelling languages for Functional Analysis put to the test of real life », sur springer.com (consulté le )
  15. (en) « Method and tools to secure and support collaborative architecting of constrained systems », sur icas.org (consulté le )
  16. (en) « Model-driven Architecture building for constrained Systems », sur cesames.net (consulté le )
  17. (en) « Method & Tools for constrained System Architecting », sur wiley.com (consulté le )

Liens externes