These v06
These v06
These v06
THÈSE
présentée à
pour l’obtention du
DOCTORAT
par
Samuel ROCHET
Titre de la thèse :
Je tiens à remercier ma directrice de thèse Mme Claude Baron pour toute la confiance
qu’elle a placé en moi depuis mon DEA. C’est elle qui m’a poussé et qui a permis l’aboutis-
sement de ces travaux. Merci aussi aux membres du Laboratoire Toulousain de Technologie
et d’Ingénierie des Systèmes (LATTIS) pour leur accueil et leur soutien scientifique et moral
durant les années que j’ai partagées avec eux.
Je remercie Mme Colette Rolland et M. Alain Bernard les rapporteurs de cette thèse pour
leurs commentaires et leurs questions qui sont venus enrichir ma réflexion ainsi que les autres
membres de mon jury de thèse MM. Daniel Esteve, Michel Aldanondo, Christian Percebois,
Éric Bonjour et Lionel Jaouen pour m’avoir fait l’honneur d’assister à ma soutenance.
Parmi eux, je tiens à remercier tout particulièrement M. Daniel Esteve pour son intuition
et ses nombreux conseils qui m’ont évité bien des égarements.
Merci à Hugues Malgouyres qui a vécu avec moi ses années de thèse et dont les travaux
ont trouvé une application dans la validation de mes modèles.
Ce travail a pu voir le jour grâce à l’appui de la société Airbus. Je remercie tous les
membres du département SW, en particulier M. Lionel Jaouen qui m’a accueilli dans son
équipe et autorisé à consulter les projets actuels pour formuler plus correctement la probléma-
tique système.
Merci enfin à toute ma famille et à mes amis qui m’ont tour à tour supporté, aidé ou
simplement diverti un instant.
i
ii Samuel Rochet
Table des matières
Introduction Générale 1
iii
TABLE DES MATIÈRES
iv Samuel Rochet
TABLE DES MATIÈRES
Samuel Rochet v
TABLE DES MATIÈRES
vi Samuel Rochet
TABLE DES MATIÈRES
Bibliographie 187
Glossaire 207
Annexes 217
Le progrès technique se fonde sur une dynamique de compréhension toujours plus ap-
profondie. Il se crée régulièrement de nouveaux procédés et de nouveaux systèmes toujours
plus complexes. Ces systèmes « artefacts » sont aujourd’hui multifonctionnels et intègrent des
services divers créant des secteurs industriels et socio–économiques à l’échelle mondiale : la
santé, les transports routiers, aériens et maritimes, les télécommunications, la défense. . . Cela
a conduit à la création d’un spectre de disciplines scientifiques nouvelles : les « sciences de
l’ingénieur » où l’on va trouver les méthodologies, les méthodes et les outils pour concevoir,
fabriquer et exploiter ces nouveaux systèmes et systèmes de systèmes. Alors que dans les
grands systèmes naturels (astrophysique, météorologie, sciences de la terre, etc.) l’Homme
est dans la prédiction et l’observation, cherchant à comprendre, l’Homme est, dans les sys-
tèmes « artefacts », concepteur puis client et enfin exploitant. Dans les deux cas, l’Homme
est face à la complexité. Dans l’étude des phénomènes naturels, on mesure cette maîtrise par
la qualité des prédictions des comportements. Dans la conception de systèmes, on mesure la
maîtrise grâce à des critères de « conformité » aux « exigences » d’un cahier des charges,
dans le respect de l’environnement (développement durable).
Dans cette réflexion et thèse, on suppose que les technologies devant être mises en œuvre
sont disponibles et accessibles. La question ouverte est de savoir : comment définir et mettre
en œuvre toutes les activités nécessaires au développement du produit complexe que l’on
projette ?
Il s’agit donc d’abord de définir une méthodologie, une démarche en adéquation avec des
outils existants (ou sur le point de le devenir) pour la mettre efficacement en œuvre : c’est un
objectif central de l’ingénierie système. On comprendra mieux l’importance de la disponibi-
lité de cette méthodologie en considérant le chemin parcouru ces dernières années en modèles
de systèmes. Il était commun d’attribuer la création d’un système à un inventeur entouré d’une
équipe. Le succès est aujourd’hui toujours le résultat d’une maîtrise technologique mais sur-
tout le résultat d’une bonne organisation des activités (définition 1) !
1
TABLE DES MATIÈRES
Idéalement, une bonne ingénierie des systèmes va considérer toutes les « activités » utiles
identifiables, les « planifier » selon des « étapes » parfaitement « spécifiées » et strictement
« vérifiables », en utilisant au mieux tous les « moyens » disponibles pour développer un
produit « conforme » dans le respect des « exigences » et des « contraintes » du projet.
Pour accéder à cet idéal, l’approche qui s’est imposée est assez classique :
1. inventorier tous les acteurs directs et indirects du développement (contexte),
2. inventorier les activités utiles (classification en métier),
3. dégager, pour chaque activité, les processus de gestion spécialisés les mieux adaptés,
4. faire un travail de surveillance et de supervision pour bien articuler les différents pro-
cessus entre eux selon des critères de performance et de conformité aux spécifications.
La démarche qui s’est montrée la plus efficace est collective : rassembler toutes les expé-
riences possibles, standardiser, normaliser. . . pour capitaliser les acquis, échanger, et dispo-
ser de critères commun d’évaluation des performances et de la qualité. Cette recommandation
inclut naturellement les exigences et les contraintes liées à la totalité du cycle de vie du pro-
duit et doit intégrer toutes considérations interférant couramment avec la bonne gestion de
l’environnement.
Selon notre avis, les points 1, 2 et 3 sont sinon complets et maîtrisés du moins suffisam-
ment avancés pour permettre des conceptions et des réalisations très complexes. Par contre,
le point 4 est encore laissé largement entre les mains de l’Homme. Notre parti pris, pour
franchir cette problématique d’interaction de processus multiples, est d’imaginer et de
proposer une approche globale de définition d’un modèle multiprocessus formel. Pour
cela, nous considérons qu’une solution générique à l’ingénierie d’un système est définie
par les travaux antérieurs (points 1, 2 et 3). Notre proposition est de travailler sur une
représentation formalisée de cette solution à partir de laquelle sont dérivées des solutions
dédiées, adaptées à différents contextes d’application.
Cela conduit à :
2 Samuel Rochet
TABLE DES MATIÈRES
1. partir d’un scénario donné par les normes d’ingénierie système : dans notre cas, l’EIA-
632,
2. en extraire un modèle global générique d’interaction multiprocessus,
3. l’enrichir de toutes les particularités propres à l’entreprise et spécifiques au projet,
4. afin d’aboutir à un modèle spécifique que l’on puisse exploiter opérationnellement
pour :
– l’analyse du bon déroulement des choses,
– le diagnostic de certaines insuffisances,
– l’organisation du suivi de conformité,
– et, à terme, une planification globale.
Ce travail s’inscrit dans une dynamique régionale et mondiale qui vise à une plus grande
maîtrise du développement des grands systèmes. Nous avons bénéficié, pour poser la pro-
blématique au plus juste, de l’appui de la société Airbus qui nous a accueilli dans ses lo-
caux et a permis de formuler notre problématique sur les aspects multi–processus de l’in-
génierie système. Nous nous sommes appuyés sur une réflexion commune entre notre labo-
ratoire d’accueil, le LATTIS, et le LAAS–CNRS, notamment les groupes MIS [Gui07] et
ISI [KS07, DMSS07, YS06, MJS05], ce qui nous a permis d’avoir une double vision des pro-
blèmes : celle de l’organisation des projets et celle de la conception technique des systèmes.
Le travail de thèse de Citlalih Gutierrez [GE07], auquel nous avons participé dans le déve-
loppement d’un outil GESOS d’optimisation parmi différentes alternatives de réalisation du
processus lors de la planification, et des projets comme TOPCASED et ATLAS ont aussi aidé
au développement de notre travail.
Samuel Rochet 3
TABLE DES MATIÈRES
Dans le premier chapitre de cette thèse, nous présenterons les différentes disciplines qui
fondent nos travaux. Nous reviendrons sur la discipline de « l’ingénierie système » et sur les
grandes normes qui s’y réfèrent. Nous rentrerons dans le détail de l’EIA-632 que nous avons
sélectionné comme standard de référence pour illustrer nos propositions.
Le second chapitre traitera de la première de nos contributions : Après un rapide rappel sur
l’ingénierie des modèles, ce chapitre explorera comment formaliser les normes d’ingénierie
systèmes et présentera un modèle des processus de l’EIA-632 en SPEM/UML.
A ce stade, les processus formalisés ne sont pas encore opérationnels. Le chapitre 3 trai-
tera d’une première partie de notre seconde contribution : la spécialisation des processus. Il
présentera une démarche de modélisation permettant l’intégration de spécificités liées au do-
maine d’activité et au projet via des transformations de modèles.
Enfin, le chapitre 4 viendra compléter la démarche du chapitre 3 selon plusieurs aspects :
il présentera une méthode et un outil original de vérification de propriétés des modèles de
processus utilisés en complément de la démarche de modélisation. Il donnera un exemple
d’application de la démarche sur un projet universitaire. Il conclura par des réflexions sur les
améliorations et les extensions qui peuvent venir enrichir la méthode que nous avons dévelop-
pée dans la perspective d’une ingénierie système guidée vers les modèles enfin opérationnelle.
4 Samuel Rochet
Chapitre 1
« Ces deux petits morceaux sont écrits il y a longtemps, et, tout mé-
diocres qu’ils sont, je ne serai pas en ce moment en état de les faire. »
1.1 Introduction
On note une évolution naturelle des tâches de conception vers la conception de systèmes
de plus en plus complexes : ils intègrent de plus en plus de fonctions, doivent interagir, ré-
pondre à des exigences de fiabilité et de sécurité de plus en plus fortes, être économiques
et écologiques tout en restant simples d’utilisation, de prix réduit et rapidement disponibles.
Cette évolution passe par une réorganisation des partenariats qui, elle aussi, se complexifie :
réseaux de partenaires, co–développement, dispersion des contributions. . .
Ces problématiques ont progressivement conduit à des réflexions orientées non plus vers
le seul « comment faire » mais aussi vers le « comment s’organiser pour le faire ». Si, séparé-
ment, chaque contributeur au développement d’un système est hautement spécialisé dans son
domaine, aucun en revanche n’a la visibilité suffisante pour la prise en compte de la problé-
matique globale. L’ingénierie système, au service du maître d’œuvre, est apparue comme une
5
1.2 L’ingénierie système
discipline émergeante qui se propose de résoudre les problèmes posés par le développement
des systèmes complexes.
Nos travaux reposent en grande partie sur cette nouvelle discipline. Pour développer notre
démarche, nous employons nombre de ses concepts, et, pour valider notre démarche, nous
avons choisi de l’appliquer à l’un des standards de référence de l’ingénierie système : l’EIA-
632.
On verra par la suite, dans les chapitres 2 et 3, comment nous pouvons formaliser les
processus recommandés par une norme d’ingénierie système puis les spécialiser à un domaine
d’activité et à un projet particulier.
Dans ce premier chapitre, nous présenterons d’abord les principes fondateurs et les avan-
cées de cette nouvelle science de l’ingénieur qu’est l’ingénierie système. Dans la première
section, nous la présenterons en tant que discipline puis, dans la seconde section, les outils,
modèles et méthodologies qui la constituent seront détaillés. Les deux sections suivantes se-
ront plus spécifiques, elles présenteront respectivement les normes d’ingénierie système qui
sont à la base de nos réflexions, et plus spécialement la norme EIA-632 choisie comme le scé-
nario à partir duquel dériver des processus spécifiques. Enfin, dans la dernière section, nous
repositionnerons la problématique de la thèse dans ce contexte de l’ingénierie système.
6 Samuel Rochet
1.2 L’ingénierie système
Ce qui démarque l’ingénierie système des autres disciplines d’ingénierie est qu’elle ne
s’attache pas seulement à la réalisation d’un produit physique. Elle cherche aussi à guider et
à coordonner au mieux l’effort de toutes les disciplines concernées par la conception et la
réalisation du produit.
La conception et le développement d’un système demandent la contribution de techniques
nécessairement diverses. Chacune de ces techniques se concentre sur un aspect particulier
du système, sans visibilité sur les autres aspects du système : les concepteurs ont une vision
structuro–fonctionnelle du système ; l’équipe d’industrialisation le considère comme un élé-
ment à intégrer dans la chaîne d’assemblage ; les achats comme une liste de fournitures. . .
L’ingénierie système doit apporter un point de vue global sur le système pour permettre la
mise en cohérence des contributions spécifiques sur le système.
L’ingénierie système considère tout le cycle de vie du système, de la définition des exi-
gences client au retrait de service en passant par la conception, la réalisation et la mise sur le
marché. Elle définit des méthodes et des moyens permettant de satisfaire au mieux les besoins
techniques et organisationnels qui se heurtent en pratique à des contraintes de coûts, de délais
et de productivité.
Samuel Rochet 7
1.2 L’ingénierie système
Initialement, les travaux en ingénierie système se sont plutôt centrés autour d’une dé-
marche de conceptualisation. De nombreux auteurs se sont d’abord attachés à identifier les
concepts de l’IS [WAHH99] et à décrire le processus de référence autour duquel vont s’arti-
culer les projets. L’essentiel des travaux s’orientait vers la définition d’un processus générique
d’ingénierie système [Boa95b, Boa95a, FM99] avec des sous–composantes techniques (ges-
tion du risque et de la complexité, traitement des exigences, etc.). Ils ont été à la base de
la rédaction de premiers grands recueils sur l’ingénierie système rédigés par des organismes
comme la NASA [SC95] ou le DOD [Def01].
Les premiers concepts de l’IS ont été complétés par de nombreux travaux au cours de la
dernière décennie [Rom96, Bar97, Pen97, Gir99, Cha99, Lar03, Lon03] et sont maintenant
établis et reconnus au niveau international via des normes. On constate maintenant une évolu-
tion des travaux de recherche. Ces travaux se tournent vers la mise en application des concepts
développés plutôt que sur le développement de nouveaux concepts. Cette mise en application
passe principalement par des réflexions autour de l’identification des liens entre produit et
processus [Lab04, GE07], de la formation à l’IS [BLWvH05, JD07] et enfin l’outillage de la
démarche d’IS [Ped06, TMHS06, SC07]. Bien entendu, un travail de fond demeure et des ana-
lyses critiques de l’existant [BY02, BY03], des propositions d’amélioration [BB01, WW03]
ou d’évaluation [Hon04, Hon06] paraissent régulièrement dans la littérature spécialisée.
8 Samuel Rochet
1.2 L’ingénierie système
L’industrie commence à accepter l’idée que l’ingénierie d’un système, qu’il soit grand ou
petit, peut être non–déterministe : éléments non prévus dans l’environnement du système ou
caractéristiques du système non prévues (propriétés émergentes). Les décisions prises en début
Samuel Rochet 9
1.2 L’ingénierie système
de projet ont un impact énorme sur la poursuite de celui–ci et peuvent avoir des conséquences
des années, voire des décennies, après avoir été prises.
La comparaison faite par Alfred Spector [SG86] illustre parfaitement l’impact de proprié-
tés non–déterministes dans les projets : Spector compare les développements respectifs d’un
pont et d’un logiciel. La construction du pont se fait dans les temps et dans le budget initial
alors que le projet de développement logiciel dépasse le budget et les délais initiaux. Il montre
que la principale différence, qui rend difficile la réussite du projet logiciel, vient de l’environ-
nement du projet : dans le cas du pont, l’environnement est figé et peu de flexibilité est laissée
pour la modification des spécifications alors que dans le cas du logiciel qui correspond à un
mode de développement plus récent, l’environnement est soumis à des changements brutaux
qui demandent des adaptations rapides. . .
D’autres études ont cherché à déterminer les causes d’échec des projets dont le fameux
rapport CHAOS et ses successeurs [Sta94, Sta99, Sta01]. Même si elles ont été critiquées par
la suite [Gla06], elles ont permis de mettre en évidence l’importance de la gestion de projet et
notamment du traitement des exigences [JMS02].
De nombreux processus ont été proposés pour organiser l’effort technique sur le cycle de
vie du projet. Ces processus peuvent être génériques (cycles en cascade, en V, en spirale), liés
à un domaine ou à un outil comme UP ou définis spécifiquement à une entreprise (NASA,
Boeing).
Terry Bahill [BG98] a répertorié les similarités entre ces processus et a identifié, à partir
de celles–ci, un processus générique regroupant leurs « meilleures » propriétés : le proces-
sus SIMILAR illustré figure 1.1. Ce processus se compose de 7 tâches interagissant de ma-
nière parallèle et itérative : définir le problème, étudier les alternatives, modéliser le système,
intégrer, lancer le système, évaluer la performance et ré–évaluer. Il est important de noter que
l’exécution de ces tâches n’est pas séquentielle et qu’aucun ordre n’est établi a priori. L’idée
générale de ce processus est de réduire les risques pris en systématisant les mécanismes de
spécification–validation.
10 Samuel Rochet
1.3 Outils, modèles et méthodologies en ingénierie système
L’ingénierie système repose sur cette idée qu’il existe un processus interdisciplinaire
qui permet de s’assurer que les besoins du client et des parties intéressées seront satis-
faites en termes de qualité, de confiance, de coût et de délai sur l’ensemble du cycle de vie
du système. Les processus les plus récents décrits dans des normes comme l’IEEE 1220
et l’EIA-632 sont d’ailleurs issus de ce principe et l’on peut faire les correspondances
avec le processus SIMILAR (tableaux 6 et 7 en annexes). Nous reviendrons sur le détail de
ces normes dans la section 1.4.
Samuel Rochet 11
1.3 Outils, modèles et méthodologies en ingénierie système
Les outils, modèles et méthodologies de l’IS seront ici classés en fonction de leur couver-
ture des domaines de l’IS. On distingue :
Les outils, modèles et méthodologies des activités d’IS spécifiques à une tâche donnée dans
un processus d’IS,
Les modèles et outils méthodologiques orientés autour de la définition et la formalisation
des processus,
Les modèles universels de système qui s’attachent à décrire un système sur l’ensemble de
son cycle de vie dans un langage unique,
L’ingénierie système guidée par les modèles qui cherche à intégrer modèles de processus
et modèles de systèmes dans une démarche unifiée.
Ces quatre points sont développés ci–après.
12 Samuel Rochet
1.3 Outils, modèles et méthodologies en ingénierie système
1. liées à des activités spécifiques de l’IS telles que l’analyse des exigences ou la gestion
des risques
2. ou liées à des activités d’ingénierie classique dans un contexte d’IS telles que la concep-
tion mécanique ou l’étude thermique de composants.
Quelle que soit son origine, chacune de ces activités est supportée par des outils, des modèles,
des langages et/ou des méthodologies spécifiques à son domaine. Dans le cas de langages, on
parlera alors de « langages dédiés » ou Domain-Specific Languages (DSL)1 .
Ces approches se concentrent exclusivement sur la définition des processus d’IS. Elles font
l’hypothèse que les praticiens trouveront eux–même les méthodes et les outils nécessaires à
leur application.
Les premiers processus proposés sont le cycle en V puis le modèle en spirale. Ils ont rapi-
dement évolué pour prendre la forme des normes proposées par les organismes d’IS [oEE99,
Ele99, AFN03b], la NASA [SC95] ou le DOD [Def01].
Les processus décrits sont essentiellement textuels. On peut cependant noter quelques
efforts récents pour les formaliser : citons les travaux de Caple [Cap01, Cap03] qui a cherché
1
Le terme DSL est ici employé dans un sens très général plus vaste que son acceptation commune. Il inclut
tout type de langage utilisé en ingénierie et n’est pas limité aux langages de programmation.
Samuel Rochet 13
1.3 Outils, modèles et méthodologies en ingénierie système
14 Samuel Rochet
1.3 Outils, modèles et méthodologies en ingénierie système
disjoints mais un seul modèle dans lequel l’utilisation d’un langage unique permet d’établir
des ponts entre les vues. A partir de là, ils peuvent assurer une cohérence entre les vues du
modèle ou faire un suivi des éléments du modèle en associant, par exemple, exigences et
fonctions.
Samuel Rochet 15
1.3 Outils, modèles et méthodologies en ingénierie système
L’ingénierie système guidée par les modèles (définition 8) est un concept introduit par
Loyd Baker en 2000 [BCC+ 00] qui définit le Model Driven System Design (MDSD). Cette
approche se différencie d’une approche classique des processus d’IS centrés sur les documents
en mettant les modèles au cœur de l’ingénierie. En modélisant les multiples aspects du système
au cours de son cycle de vie, les auteurs attendent de nombreux gains de productivité et de
qualité du produit résumés sur le tableau 1.1. En d’autres termes, ils proposent d’étendre les
principes de l’IDM3 du domaine logiciel au domaine des systèmes.
Cette approche se distingue de celles présentées ci–dessus (activités propres de l’IS, ap-
proches centrées processus ou approches centrées système) pour deux raisons principales :
1. elle demande de disposer d’un processus d’ingénierie du système défini et formalisé,
i.e. de disposer d’un réel modèle du processus ;
2. la représentation du système ne se fait pas par un langage unique de type SysML mais
par une multitude de DSL. A chaque étape de son cycle de vie, et selon les besoins,
plusieurs modèles du système écrits dans différents langages co–existent et évoluent.
Toute la problématique de la méthode est alors centrée sur l’organisation des modèles dans le
cycle de vie du système.
3
Voir le chapitre 2.2 de ce document qui reviendra en détails sur l’ingénierie des modèles.
4
Il est nécessaire de nuancer ici l’optimisme annoncé par Baker [BCC+ 00]. Si de nombreux avantages sont
attendus de la conception système guidée par les modèles, elle reste encore pour une large part du domaine de la
recherche. Des revues de projet par interrogation de modèles automatisées, une vérification automatisée ou une
traçabilité intégrale sont à considérés comme des avantages attendus mais pas encore opérationnels.
16 Samuel Rochet
1.3 Outils, modèles et méthodologies en ingénierie système
4
(automatisée) puis comparaison
Vérification Implicite, incrémentale, automa- Processus d’audit humain
tisée4 , construite sur le processus
Communication Reproductible et consistante Les réponses peuvent dépendre
des perspectives des lecteurs
Validation Exécutée dans différents Révisions, revues de papiers
contextes (e.g. contexte client,
en ligne)
Traçabilité Intégrale4 Au prix d’un effort intensif
Réutilisation Librairies, « plug and play » paragraphe standard uniquement
Adoption cultu- Nouveau paradigme Status Quo
relle
Poste de travail Ressources logicielles addition- Inférieures à celles de l’approche
Infrastructures
TAB . 1.1: Comparaison des approches de conception système basées sur documents et basées modèles
d’après [BCC+ 00]. D’une manière globale, une conception système dirigée par les modèles,
i.e. faite selon les recommandations de l’ingénierie système guidée par les modèles, simplifie
la conception en automatisant un grand nombre de tâches et en assurant une reproductibilité
des opérations. En revanche, ce type de conception manque de maturité et demanderait, pour
être opérationnel, que soient développés des outils et des méthodologies dédiés.
Samuel Rochet 17
1.3 Outils, modèles et méthodologies en ingénierie système
Actuellement cette méthodologie reste une proposition. L’IS guidée sur les modèles n’est
pas encore opérationnelle et, même en se limitant au domaine du logiciel, de nombreux pro-
blèmes restent à résoudre avant d’arriver à un stade opérationnel.
A noter que, si l’IS s’inspire des techniques de l’IDM, on trouve aussi des réflexions en
IDM inspirées par l’IS. L’IDM a récemment pris conscience de la nécessité de maîtriser les
processus d’ingénierie et de nombreux projets apparaissent autour de cette thématique.
On peut citer :
– le projet SPEEDS (SPEculative and Exploratory Design in Systems engineering) [EMW06]
qui va définir une nouvelle génération de méthodologies, processus et outils supports
pour la conception de systèmes embarqués critiques,
– le projet DOMINO (DOMaINes et prOcessus méthodologique) [IRI07] qui propose une
démarche basée sur la description d’un système par divers modèles exprimés dans des
langages de modélisation dédiés différents,
– le projet Modelplex [IST07] qui vise à développer une solution basée sur l’IDM pour la
modélisation de système d’ingénierie complexe.
18 Samuel Rochet
1.3 Outils, modèles et méthodologies en ingénierie système
AUTOSAR (AUTOmotive Open System ARchitecture) est un projet qui regroupe les construc-
teurs automobiles, les équipementiers et leurs fournisseurs. Il établit un standard ouvert
pour l’architecture électrique/électronique automobile. Il inclut la standardisation des
fonctions système de base et des interfaces fonctionnelles, la capacité d’intégrer et de
transférer des fonctions, et l’amélioration substantielle des mises à jour et des mises à
niveau logicielles durant la vie des véhicules.
OpenDevFactory [SYS] est un projet du pôle de compétitivité System@tic. Son objectif
est de fournir une plate–forme d’intégration normalisée des développements technolo-
giques portant sur les outils logiciels de modélisation. Ce projet produira les éléments de
base sur lesquels les outils domaines : automobile, sécurité, télécommunication, pour-
ront être dérivés à moindre effort. Construit sous la forme d’outils interopérants il per-
met de ne déployer que des parties limitées pour constituer des ateliers de développe-
ment utiles au contexte et besoins des différents utilisateurs.
OpenEmbeDD [Rés] est un projet dont l’objectif est de développer une plate–forme libre (open
source) pour mettre l’ingénierie dirigée par les modèles au service des applications
temps–réels embarquées.
TOPCASED (Toolkit in Open-source for Critical Application & SystEms Development) [CNR]
propose la construction d’un atelier de développement libre s’appuyant, d’une part sur
les technologies de l’IDM dans le cadre de la plate–forme Eclipse et sur des approches
de vérifications formelles et, d’autre part sur la définition d’un processus commun
basé sur les modèles dérivés de l’EIA 632 mettant en œuvre des transformations de
modèles.
Parallèlement à ces travaux, on note aussi des réflexions académiques qui cherchent une
meilleure intégration des produits et des processus [oT06, oT07]. Ces travaux, réalisés avec
moins de moyens que les précédents, sont souvent informels et rarement accompagnés d’outils
ou, quand ils le sont, se limitent à un domaine très spécifique comme par exemple le temps–
réel embarqué [SV07].
Samuel Rochet 19
1.3 Outils, modèles et méthodologies en ingénierie système
méthodologiques, centrées sur les processus, et les outils spécifiques des activités d’IS, centrés
sur une activité et qui ne prennent pas en compte le processus global. Les modèles universels
de systèmes sont plus ambigus. Ils ne sont pas eux–mêmes accompagnés d’un processus mais
laissent libre l’utilisateur d’en définir un. Ils reposent d’ailleurs sur l’idée sous–jacente qu’un
processus les complète. C’est pour cette raison que les éditeurs ont développé des métho-
dologies liées à leurs outils. Malheureusement celles–ci sont souvent trop spécifiques et pas
assez formalisées pour être pleinement exploitables. L’idéal semble être l’ingénierie système
Système
Pas de modèle du Langage de modéli- Langages de modéli-
5
système sation unique sation multiples
Indéfinis Modèles universels Outils des activités
de système [1.3.3] d’IS [1.3.1]
Processus
guidée par les modèles, qui combine à la fois une réflexion méthodologique profonde sur les
processus à adopter et la possibilité, par l’utilisation de langages de modélisation multiples du
système, d’utiliser à chaque étape de la conception des modèles réellement spécialisés tout en
permettant l’évolution de ces modèles au cours du cycle de vie du système.
Malheureusement, pour être pleinement opérationnelle, cette méthodologie demande :
– de formaliser les processus de gestion de projets qui vont définir les étapes de l’ingé-
nierie du système,
– de savoir transformer les modèles de systèmes sur la base des processus formalisés.
Deux conditions qui n’avaient jusqu’alors pas été remplies. Dans ce travail de thèse, nous
allons voir et réaliser la première d’entre elles et nous verrons, dans le chapitre 4.4, comment
la méthodologie proposée dans cette thèse peut s’adapter à une ingénierie système guidée par
les modèles.
5
Langage unique ne signifie pas modèle unique. Plusieurs modèles peuvent se succéder dans le même for-
malisme aux différentes étapes du cycle de vie du système. C’est le cas pour des langages très généraux comme
UML, SysML. . .
20 Samuel Rochet
1.4 Les normes d’ingénierie système
Ces normes reposent sur l’idée qu’il existe des concepts communs à tous les projets, quel
que soit le domaine d’activité ou le système à développer [BG98]. En identifiant les bonnes
pratiques et en assurant la cohérence des activités d’ingénierie, les normes favorisent [Gro97] :
– l’adéquation aux besoins et la qualité des produits,
– l’anticipation des problèmes et la maîtrise des risques concernant tant le projet que le
système et son environnement, tout au long du cycle de vie,
– la maîtrise de la complexité des grands systèmes et des produits complexes,
Samuel Rochet 21
1.4 Les normes d’ingénierie système
Les processus décrits dans les normes peuvent s’appliquer sur l’ensemble du cycle de
vie des systèmes en incluant la conception, le développement, la production, l’utilisation, le
support et le retrait de service. Ils peuvent être appliqués de manière concurrente, itérative ou
récursive à un système et à ses composants.
Les systèmes considérés peuvent être de petite ou de grande taille, simple ou complexe,
unique ou de grande série, être logiciel, matériel, des services ou une composition de ces
derniers. On ne peut identifier de système type tant ils peuvent varier selon les domaines et les
applications considérées.
Les recommandations des standards s’appliquent aux organisations lorsqu’elles agissent
dans le rôle de fournisseur aussi bien que dans celui d’acquéreur. Elles concernent des entités
d’une organisation unique ou d’organisations différentes et peuvent aller d’un accord informel
à un contrat.
Le caractère volontairement générique des normes d’ingénierie système impose les limi-
tations suivantes :
1. Les normes ne détaillent pas les processus du cycle de vie du systèmes en termes de
méthodes et de procédures.
2. Le format des données n’est pas précisé.
3. Dans le cas où l’on souhaite utiliser plusieurs normes simultanément, les conflits éven-
tuels entre recommandations doivent être résolus.
Les processus de cycle de vie décrits par les normes d’ingénierie système sont génériques.
Les méthodes et procédures qui permettraient de respecter les recommandations des normes
22 Samuel Rochet
1.4 Les normes d’ingénierie système
ne sont pas données car elles seront dépendantes soit du cadre de travail de l’entreprise soit du
contexte lié au projet. En d’autre termes, les processus décrits dans les standards doivent
être complétés d’une part par les politiques et procédures de l’entreprise et d’autre part
par des outils qui vont permettre de réaliser les projets.
Ainsi, il existe une répartition des responsabilités entre :
l’industrie : qui établit les normes telles que l’EIA-632 ;
l’entreprise : qui précise les politiques et procédures i.e. les méthodes ;
le projet : qui fixe la réponse aux exigences des processus retenus i.e. qui met en place les
outils.
La figure 1.2 illustre ce besoin de compléter les processus des normes d’ingénierie système
ainsi que les responsabilités de chacun des acteurs.
F IG . 1.2: Processus, méthodes et outils en ingénierie système. Les grandes normes d’ingénierie sys-
tème décrivent des processus généraux dans le cadre duquel se déroulent les projets. Ces
processus sont complétés par les méthodes propres à l’entreprise qui dépendent de son do-
maine d’activité, de ses pratiques. . . La mise en place effective des processus et des méthodes
passe par l’utilisation d’outils spécifiques utilisés dans le cadre d’un projet précis.
Les normes d’IS ne spécifient donc pas de méthodes ou d’outils, laissés à la discrétion de
l’entreprise. Le rôle de ces normes se limite à :
coordonner les activités des processus : un standard est comme une partition de musique.
Il décrit les grandes lignes des processus mais doit être interprété pour former un en-
semble harmonieux.
Samuel Rochet 23
1.4 Les normes d’ingénierie système
Il peut arriver que des normes entrent en conflit soit avec une autre politique ou procé-
dure d’organisation soit avec une autre norme, loi ou réglementation. Dans ce cas, il convient
d’identifier et de traiter ces conflits en choisissant l’un des référentiels comme support de sa
démarche d’ingénierie système. Les questions de la résolution de ces conflits et de la confor-
mité d’un processus ainsi modifié ne sont pas traitées par les normes. Ces questions sont à
considérer au cas par cas et demandent aux entreprises de prendre leurs responsabilités quant
aux conséquences éventuelles pouvant résulter de leur décision.
Ces standards décrivent tous le déroulement des projets en termes de processus en dres-
sant une liste d’activités nécessaires au bon déroulement du projet. Le résultat attendu de ces
activités ainsi que des exigences sur leur mise en application complètent ces descriptions. Ces
normes définissent, chacune, un processus d’entreprise de référence (définition 10).
24 Samuel Rochet
1.4 Les normes d’ingénierie système
Ce choix d’une approche par processus se base sur l’idée que les types d’activité à réali-
ser sont invariants par rapport aux projets et secteurs d’application. Il est donc naturel, pour
les organismes de normalisation, de définir des processus plutôt que des cycles de vie. Cette
approche a pour avantage de donner une cohérence aux projets inter–entreprises et de laisser
les projets définir l’application des processus dans le cadre des cycles de vie qu’ils choisissent.
On verra que les trois principales normes d’ingénierie système diffèrent principalement sur
les types de processus qu’elles décrivent : en découle une couverture des activités techniques
sur le cycle de vie du système différente pour chacune d’entre elles.
L’IEEE Std 1220-2005, Standard for application and Management of the Systems Engi-
neering Process définit les tâches interdisciplinaires requises pour transformer, au long du
cycle de vie du système, les besoins des parties intéressées, exigences et contraintes en une
solution système [Dor06]. Ce standard est resté relativement stable depuis sa première version
de 1995.
Cette norme se décompose en huit processus représentés figure 1.3 : les processus d’ana-
lyse des exigences, de validation des exigences, d’analyse fonctionnelle, de vérification fonc-
tionnelle, de synthèse et de vérification physique s’adressent à la transformation des exigences
Samuel Rochet 25
1.4 Les normes d’ingénierie système
La norme IEEE 1220 se focalise sur les processus techniques d’ingénierie système allant
de l’analyse des exigences jusqu’à la définition physique du système. La portée de cette norme
dans le cycle de vie du système est limitée à la phase de définition du système.
En 1995, l’EIA lance un groupe d’étude pour étendre le interim standard EIA/IS 632.
En 1998, la norme EIA/IS–632 Processes for Engineering a System est diffusée. Elle étend
le champ de la norme précédente à tous les processus techniques d’ingénierie d’un sys-
tème [Mar98a].
L’ISO/IEC 15288 – System Life Cycle Processes [AFN03b] est le premier standard ISO à
traiter des processus de cycle de vie des systèmes. Paru en octobre 2002, plus tardif que les
deux précédents, ce standard s’adresse à l’ensemble du cycle de vie d’un système industriel.
Il inclut les processus d’exploitation, de maintien en condition opérationnelle et de retrait de
service (figure 1.4).
La norme ISO 15288 s’applique à l’ingénierie des systèmes contributeurs qui ont leur
propre cycle de vie (systèmes de fabrication, de déploiement, de soutien logistique, de retrait
de service). Elle complète les processus s’appliquant aux projets par des processus d’entre-
prise qui ont pour objectif de développer le potentiel de l’organisme d’ingénierie système en
gérant les domaines communs aux différents projets d’ingénierie système. En ce sens, elle
26 Samuel Rochet
1.4 Les normes d’ingénierie système
F IG . 1.3: Processus de l’IEEE 1220 [oEE99]. Les trois processus : analyse des exigences, analyse
fonctionnelle et allocation, et synthèse comprennent chacun leur sous-processus de vérifica-
tion ou de validation. Le processus d’analyse système a pour but d’analyser les problèmes
issus des processus principaux comme les conflits d’exigences ou les solutions alternatives
dans un cadre pluridisciplinaire. Le processus de maîtrise (control) concerne tout particu-
lièrement la gestion technique de l’ingénierie système et la maîtrise de l’information tant du
système que du projet.
Samuel Rochet 27
1.4 Les normes d’ingénierie système
F IG . 1.4: Processus de l’ISO 15288 [AFN03b]. Tous les types de processus sont couverts par la
norme : processus techniques, de management, contractuels et processus d’entreprise. Les
processus d’entreprise considèrent le développement et l’amélioration des processus d’ingé-
nierie système au même titre que les processus d’ingénierie du système.
28 Samuel Rochet
1.4 Les normes d’ingénierie système
est complémentaire aux deux précédentes normes et peut s’utiliser de manière conjointe avec
l’une ou l’autre de ces normes.
L’ensemble des types de processus est considéré :
les processus techniques qui participent à la transformation des besoins en solution,
les processus de management qui participent à la maîtrise du projet,
les processus contractuels qui assurent les relations avec le ou les clients et les sous–traitants,
les processus d’entreprise qui ont pour rôle de développer le potentiel en IS de l’entreprise
en gérant les domaines communs aux différents projets d’IS.
La totalité du cycle de vie du système est couverte par la norme.
La norme SO/IEC 19760 System Engineering – A Guide for the Application of ISO/IEC
15288 System Life Cycle Processes [Bri04] vient compléter l’ISO 15288. Ce document fournit
des guides pour l’application de l’ISO 15288.
Selon ses besoins, un industriel peut choisir de mettre en place des procédures en accord
avec les recommandations de l’un ou l’autre de ces standards. Leur complémentarité permet
de prendre en considération plusieurs de ces standards simultanément. Dans cette éventualité,
le couplage de l’IEEE 1220 avec l’ISO 15288 est facilité car les informations nécessaires
Samuel Rochet 29
1.4 Les normes d’ingénierie système
(a) Couverture des types de processus par les normes d’IS [Gro97]
(b) Couverture du cycle de vie système par les normes d’IS (d’après [Est07])
F IG . 1.5: Couverture des normes d’IS. La couverture des normes d’ingénierie système diffère selon les
types de processus couverts (figure 1.5(a) et selon les phases du cycle de vie du système (fi-
gure 1.5(b)).
Concernant les processus, l’IEEE 1220 se concentre uniquement sur les processus tech-
niques et l’EIA-632 sur les processus techniques et contractuels. L’ISO 15288 englobe non
seulement tout type de processus de projet mais aussi les processus d’entreprise.
Les normes ont alors des couvertures du cycle de vie du système différentes : limitées à la
définition du système pour l’IEEE 1220, jusqu’au transfert vers l’exploitation pour l’EIA-
632 et ensemble du cycle de vie pour l’ISO 15288.
30 Samuel Rochet
1.4 Les normes d’ingénierie système
au couplage de ces deux normes sont directement inclues dans les normes : l’analyse des
différences conceptuelles et des modifications nécessaires au couplage sont données.
Le couplage des normes est rendu possible car elles reposent sur quelques concepts de
base communs, comme par exemple :
– des processus génériques peuvent être définis sur l’ensemble du cycle de vie du système,
– il existe d’autres clients que ceux qui achètent des produits ou des service dont les
exigences doivent être prises en compte : les parties intéressées6 ou parties prenantes,
– un système est une entité décomposable dont on peut identifier une structure géné-
rique. . .
La mise en relation des normes d’ingénierie système n’est malgré tout pas évidente : le
couplage des normes est rendu difficile par les différences sémantiques des concepts qu’elles
manipulent. Si certains termes présents dans les trois normes semblent, à première vue, dési-
gner les même choses, de légères différences subsistent qui rendent délicate une fusion directe
des normes.
Par exemple, dans le cadre de l’IEEE 1220, la structure du système est bornée : elle consi-
dère, du plus gros au plus petit, les notions de produits, sous–système, assemblage, compo-
sant, sous–assemblage et sous–composant de sorte que la décomposition du système ne peut
être plus fine. Dans le cadre de l’EIA-632, en revanche, chaque système est composé de sous–
systèmes pouvant eux–mêmes inclure leurs propres sous–systèmes et ainsi de suite sans limite
pré–établie dans la décomposition du système initial.
Samuel Rochet 31
1.5 Notre norme référante : l’EIA-632
Normes spécifique à un domaine Similaires aux grandes normes d’ingénierie système, elles
définissent des processus génériques sur le cycle de vie du système. Leur cadre d’ap-
plication se limite à un domaine d’activité restreint. On peut citer l’ECSS-E-10A et
l’ISO TC20/SC14 dans le domaine du spatial ou la DOD-STD-2167A, le MIL-STD-
498A et l’AFNOR Z 67-150 pour le logiciel.
Normes d’analyse et de conception Certains aspects spécifiques de l’activité de conception
sont couverts par des normes dédiées. L’analyse fonctionnelle et analyse de la valeur par
les normes NFX 50-150, NFX 50-150, NFX 50-150 et NFX 50-150, l’architecture des
systèmes par la norme IEEE P1471 et le développement logiciel par le GAMT 17.
Normes de gestion de programmes et de projets Le management des programmes ou des
projets peut être soumis soit à des recommandations générales (ISO 10006, EMBOK [SRB+ 06]
ou PMBOK [PMI96, Ins03]) soit aux recommandations d’un domaine d’activité précis ;
DGA AQ 902 pour l’armement, RG Aéro 00040 et BNAE RG AERO 77 pour l’aéro-
nautique ou SWEBOK pour le génie logiciel.
Normes de support et de soutien logistique La gestion de configuration (normes MIL-STD-
973, EIA 649 et ISO 1007), le soutien logistique (normes MIL-STD 1388-1A/2A, MIL-
PRF-495006 et MIL-HDBK 502) et l’échange de données d’IS et de données logis-
tiques (normes ISO 10303-AP233, ISO 10303-AP139, AECMA 1000D et AECMA 2000M)
possèdent eux aussi des normes dédiées.
Modèles de maturité Les modèles de maturité viennent compléter la panoplie des normes
d’ingénierie système. Contrairement aux normes précédentes, ils ne concernent pas di-
rectement les objectifs des projets mais s’adressent à la maîtrise de l’activité d’ingénie-
rie système en elle–même. Ils définissent des méthodes d’évaluation de l’IS pouvant être
génériques (SE-CMM, SECAM et EIA 731) ou spécifiques à un domaine (SW-CMM
et ISO 15504 pour le logiciel, FAA-iCMM pour l’aviation et CMMI pour la défense).
32 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
En premier lieu, utiliser l’une des trois grandes normes de l’ingénierie système s’est im-
posé car :
– elles sont toutes des référentiels internationaux reconnus par l’industrie et par le milieu
académique,
– elles représentent chacune la synthèse d’une compilation de bonnes pratiques établies
sur de nombreuses années,
– conformément aux objectifs de l’ingénierie système que nous poursuivons, elles couvrent
une grande part du cycle de vie du système,
– elles sont très génériques et touchent de nombreux domaines d’activités allant du médi-
cal au militaire en passant par les services.
Le choix de l’EIA-632 n’est en rien restrictif : la méthodologie que nous proposerons dans
la suite de cette thèse ne lui est pas spécifique. Il sera tout à fait possible de l’appliquer sur
la base d’une autre norme d’ingénierie système voire, éventuellement, un autre processus de
référence sous réserve qu’il soit assez générique.
Samuel Rochet 33
1.5 Notre norme référante : l’EIA-632
2. de satisfaire ces exigences selon des contraintes de coûts, de délais et des contraintes
liées aux risques encourus,
3. de fournir un système, ou une portion de système, qui satisfasse les parties intéressées
tout au long des durées de vie des produits qui constituent le système,
4. de fournir une mise à disposition ou un retrait du système sûr et rentable.
Son emploi est, en principe, basé sur une démarche d’acceptation volontaire. Cette norme :
– ne doit pas être imposée par contrat,
– doit être appliquée dans un esprit de développement des bonnes pratiques de l’entre-
prise.
Comme pour les autres normes d’IS, l’implantation des exigences de l’EIA-632 passe par
le filtre des politiques et procédures spécifiques à l’entreprise et au projet considéré selon un
schéma (figure 1.6) qui nous servira à guider la définition de nos propres propositions.
F IG . 1.6: Rôle de l’EIA-632 par rapport aux pratiques métier et projet. L’objectif de l’EIA-632, ou
d’une partie de l’EIA-632, est de permettre par son application l’établissement de politiques
et procédures définissant les exigences pour l’implantation des projets [Ele99].
L’EIA-632 est une démarche ouverte. Elle précise qu’il n’est pas de sa responsabilité de
répondre aux trois questions suivantes :
– ce qu’est l’ingénierie système,
– ce que l’ingénieur système est supposé faire,
– ce que l’organisation d’ingénierie système est supposée faire.
Les réponses à ces trois points doivent provenir d’autres sources que ce standard.
34 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
La clause 4 présente les exigences associées aux processus d’ingénierie d’un système. Elle
est sans doute la plus importante de la norme. D’une part, par sa taille et, d’autre part, par le
fait que les autres clauses ou annexes lui font référence pour préciser le cadre d’application
des processus ou pour définir des concepts complémentaires nécessaires à l’application des
processus.
Nous présentons succinctement ici les principaux concepts utiles à l’ingénierie d’un sys-
tème selon l’EIA-632.
Les processus techniques prennent place dans le cadre d’un projet dont la finalité première
est le développement d’un système. Mais, ce projet se déroule dans une entreprise qui doit y
intégrer tous les éléments de son environnement. La figure 1.7 donne une illustration des élé-
ments qui peuvent être liés au projet, à l’entreprise ou à l’environnement et qui doivent être
pris en compte.
Système :
La définition d’un système (définition 11) selon l’EIA-632 est peu restrictive. Elle désigne
aussi bien un ensemble de composants matériels ou logiciels que des bâtiments, des données,
des services, des personnes, des fournitures, des techniques ou tout autre produit selon le
métier de l’activité considérée.
Samuel Rochet 35
1.5 Notre norme référante : l’EIA-632
36 Samuel Rochet
Samuel Rochet
Comme illustré à la figure 1.8, le système est constitué non seulement de produits fi-
naux (end products) mais aussi de produits contributeurs (enabling products). Les produits
finaux sont les produits qui vont réaliser les fonctions opérationnelles du système et qui
seront livrés au client et utilisés par le consommateur. Les produits contributeurs7 ne réa-
lisent pas de fonctions opérationnelles mais « permettent » aux produits finaux d’être dé-
veloppés, testés, mis à disposition, produits, déployés, supportés ou encore utilisés pour
la formation du personnel.
F IG . 1.8: Concept de système vu par l’EIA-632. Un système est constitué d’un ou plusieurs produits
finaux réalisant des fonctions opérationnelles et éventuellement de produits contributeurs qui
permettent de réaliser les fonctions liées aux processus (figure 6.1 de l’EIA-632 [Ele99]).
Les produits contributeurs sont classés selon le processus auquel ils se rapportent. On
trouve ainsi des :
– produits de développement,
– produits de test,
– produits de formation,
– produits de retirement,
– produits de production,
7
Comme précisé dans l’EIA-632, le concept de produit contributeur inclut implicitement le personnel qui
développe, produit, teste, utilise, supporte et retire les produits du système aussi bien que ceux qui forment
les personnes impliquées dans les fonctions du système et les facteurs humains associés à ces personnels. Les
facteurs humains liés au personnel sont inclus dans l’application de ces processus aux blocs de construction
dérivés du système.
38 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
– produits de déploiement,
– et des produits supports.
Cette liste n’est cependant pas exhaustive et peut être enrichie selon les besoins du projet. On
peut ajouter par exemple les procédures industrielles, le personnel, les services, etc.
Cette vision générique des systèmes laisse la possibilité de l’adapter à chaque métier. Par
exemple, dans l’industrie télévisuelle, on peut avoir les produits finaux suivants :
matériel : caméras, moniteurs,
logiciel : outils de planification, algorithmes de compression,
personnel : cameramans, présentateurs,
locaux : studio, station de transmission,
données : script, guide de programme,
matériaux : images, histoires,
services : transports, téléphone,
techniques : méthodes de présentation, procédures d’édition,
médias : radio, internet.
Il peut arriver que tous les produits finaux et produits contributeurs soient disponibles « sur
étagère ». Dans ce cas, il n’est pas nécessaire de pousser la décomposition du système plus
loin. Mais, dans la majorité des cas, il est nécessaire pour ces produits finaux ou contributeurs
qui doivent être décomposés et développés à leur tour d’appliquer les mêmes processus et
recommandations de l’EIA-632. Pour ce faire, l’EIA-632 introduit la notion de « bloc de
construction » ou building block (figure 1.9).
Un bloc de construction (définition 12) est un concept combinant tous les éléments néces-
saires au développement du système. Il comprend ainsi la décomposition en produits finaux
et produits contributeurs du système, les exigences, le travail et toute autre information né-
cessaire à la réalisation du système. En cela, il est bien plus qu’une simple décomposition
architecturale du système.
Samuel Rochet 39
1.5 Notre norme référante : l’EIA-632
L’utilisation des blocs de construction permet ainsi au développeur de s’assurer que l’en-
semble du cycle de vie des produits finaux a été pris en compte.
Dans un bloc de construction, les produits finaux peuvent être décomposés en sous-systèmes.
Chaque sous-système nécessite un développement propre dans lequel il est considéré comme
un système de base. En associant un bloc de construction de couche inférieure aux sous–
systèmes (figure 1.10(a)), on doit pousser la décomposition du système jusqu’à ce que tous
les sous–systèmes soient définis, spécifiés, développés, jusqu’à ce qu’ils soient disponibles
sur étagère ou puissent être acquis auprès de fournisseurs. On parle alors de décomposition en
couches.
De la même manière, un produit contributeur qui nécessite d’être développé se voit lié à
un bloc de construction (figure 1.10(b)).
Les différents processus ne sont pas obligatoirement sous la responsabilité d’un projet
unique. Ils peuvent être partagés entre différents projets ou sous-projets. La figure 1.11 donne
un exemple de développement en couches.
40 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
F IG . 1.9: Concept de bloc de construction. Les éléments liés à la réalisation d’un système (exigences,
travail ou autres informations) sont classés dans le cadre conceptuel d’un building block
selon qu’ils concernent : un produit final composé d’au moins deux sous–systèmes, ou, un
produit contributeur permettant le développement, le test, la formation, la mise en service,
la production, le déploiement ou le support (figure 6.1.1 de l’EIA-632 [Ele99]).
(a) Développement en couches des sous-systèmes (b) Développement en couches des produits contri-
buteurs
F IG . 1.10: Principe de développement en couches. Les composants d’un système, qu’il s’agisse de
sous–systèmes ou de produits contributeurs, sont développés en couches. Les exigences
identifiées pour ces composants dans un bloc de construction mènent à la création d’un
nouveau bloc de construction de couche inférieure où le composant est considéré comme
un système à part entière.
Samuel Rochet 41
1.5 Notre norme référante : l’EIA-632
F IG . 1.11: Exemple de développement en couches. Les systèmes identifiés dans les blocs de construc-
tion sont décomposés jusqu’à des niveaux où les produits finaux sont soit développés soit
sur étagère. Dans cet exemple, les deux premiers blocs de construction sont la base de
deux projets distincts nécessaires à la réalisation du système désiré par l’utilisateur ou le
client (figure 6.2.1a de l’EIA-632 [Ele99]).
42 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
F IG . 1.12: Interconnexion des processus de l’EIA-632. Les 13 processus de l’EIA-632 sont classés en
5 groupes : Technical Management, Acquisition & Supply, System Design, Product Reali-
zation et Technical Evaluation. Ce regroupement n’est pas requis en tant que structure pour
l’implantation des processus (figure 4a de l’EIA-632 [Ele99]).
Samuel Rochet 43
1.5 Notre norme référante : l’EIA-632
F IG . 1.13: Groupes des processus de l’EIA-632. Répartition des processus dans les groupes et rela-
tions inter–processus (figures 4.1, 4.2, 4.3, 4.4 et 4.5 de l’EIA-632 [Ele99]).
44 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
TAB . 1.5: Liste des exigences liées aux processus de l’EIA-632. La traduction française de ce tableau
est donnée en annexe 4.5.
Samuel Rochet 45
1.5 Notre norme référante : l’EIA-632
L’EIA-632 porte une vision globale de l’ingénierie d’un système. En pratique, l’EIA-632
propose d’adapter les principes de développement que nous venons de décrire en fonction
de la phase du cycle de vie du système traité. Un exemple est reporté figure 1.15. Dans cet
exemple, cinq phases du cycle de vie d’un produit sont évoquées :
– Dans la phase d’évaluation préliminaire, l’EIA-632 s’applique à une démarche des-
cendante d’évaluation qui se conclut par une première série de spécification pour le
système.
– Dans la phase de décision et de lancement, il s’agit d’effectuer les premières estimations
par simulation d’un prototype virtuel ou fonctionnel pour évaluer les risques et étudier
les perspectives. La démarche reste descendante.
– Dans la phase de conception, jusqu’aux premières réalisations, on trouve toute la ri-
chesse et toute la rigueur des recommandations de l’EIA-632, où s’entremêlent des dé-
marches systématisées descendantes et ascendantes jusqu’à pouvoir définir le système
final, les outils de production, de test, de support. . .
46 Samuel Rochet
Samuel Rochet
F IG . 1.14: Développement et réalisation des blocs de construction. Le développement consiste à pousser à bout le processus de décomposition des
blocs de construction en couches. A chaque couche, les exigences initiales, reportées jusqu’aux niveaux les plus bas, se voient complétées
par des exigences spécifiques à chaque bloc de construction. Ce processus descendant assure la diffusion et la cohérence des exigences. La
réalisation suit un processus ascendant. Le résultat de chaque bloc de construction est validé par rapport aux exigences correspondantes
avant validation des niveaux supérieurs (figures 6.2.1b et 6.2.2 de l’EIA-632 [Ele99]).
47
1.5 Notre norme référante : l’EIA-632
F IG . 1.15: Développement itératif du système en fonction du cycle de vie. Cet exemple illustre cinq
phases typiques d’un cycle de vie. On constate qu’en fonction des besoins en un instant
donné, différents processus sont actifs. Dans les phases prédictives, les processus sont en
cascade alors que par la suite, ils sont de type descendant/ascendant (figure B.1 de l’EIA-
632 [Ele99]).
48 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
– La figure 1.15 montre encore comment, en phase de déploiement, il reste essentiel d’ap-
pliquer le standard EIA-632 pour que ce déploiement respecte le cahier des charges fixé
à l’origine.
Les exigences sont au cœur des recommandations de l’EIA-632. L’enchaînement des pro-
cessus proposé et la structuration du système sont pensés de manière à organiser au mieux la
collecte des exigences, leur utilisation, leur traitement et leur suivi jusqu’à la fin du cycle de
vie.
Chaque bloc de construction reçoit des blocs de niveaux supérieurs ses exigences entrantes
qui peuvent être des :
exigences utilisateur : Les exigences des utilisateurs sont souvent non-techniques et peuvent
être contradictoires les unes avec les autres. Elles doivent être traduites en exigences
techniques qui sont spécifiques au métier et à la technologie employée par le système ;
exigences client : Elles proviennent de l’acquéreur du produit. Celui-ci peut avoir ses propres
exigences ou percevoir les exigences des utilisateurs ;
exigences d’une autre partie prenante : En fonction de l’environnement, d’autres parties
intéressées peuvent apporter leur lot d’exigences sur le système.
Ces exigences vont être traitées jusqu’à obtenir un ensemble d’exigences techniques cohé-
rentes avec le processus de conception envisagé. Les exigences spécifiées pour un sous-
système seront considérées comme assignées dans le bloc de construction de couche infé-
rieure. Les différents types d’exigences et leurs traitements sont présentés figure 1.16. Les
liens de ces exigences avec les processus de l’EIA-632 apparaissent figure 1.17.
Ce sont ces relations entre exigences, guidées par l’application des processus, qui per-
mettent d’assurer la cohérence de la structure du système et de valider les blocs de construc-
tion réalisés dans les phases descendantes.
Samuel Rochet 49
1.5 Notre norme référante : l’EIA-632
F IG . 1.16: Relations entre exigences. Les exigences techniques du système sont déduites à partir des
exigences des clients, utilisateurs ou des autres parties prenantes et des exigences issues
du bloc de construction de niveau supérieur. Les solutions logiques et physiques sont dé-
duites de ces exigences techniques et sont à la base de nouvelles exigences techniques ou
d’exigences spécifiées qui seront la base de blocs de construction de niveaux inférieurs (fi-
gure G.1 de l’EIA-632 [Ele99]).
50 Samuel Rochet
1.5 Notre norme référante : l’EIA-632
F IG . 1.17: Relations entre exigences et éléments de l’EIA-632. Le passage des exigences non–
techniques issues des acquéreurs ou des autres parties prenantes en exigences techniques
du système est réalisé par le processus de définition des exigences. Le processus de défi-
nition des solutions vient compléter le traitement des exigences. Il reprend les exigences
techniques et les fait évoluer jusqu’aux solutions de conception. Ces deux processus sont
complétés par les exigences de processus 14 à 19 qui couvrent chacune des transformations
entre exigences du système (figure G.4 de l’EIA-632 [Ele99]).
Samuel Rochet 51
1.6 Notre problématique
La réponse à cette problématique difficile doit être apportée par le développement d’une
ingénierie système : la démarche d’ingénierie système doit donc proposer une approche mul-
52 Samuel Rochet
1.6 Notre problématique
tidisciplinaire dans laquelle toutes les activités des disciplines d’ingénierie seront coordon-
nées. En l’état des connaissances et des pratiques, cette coordination des activités est guidée
par des processus génériques. Ces processus décrits dans différentes normes d’ingénierie sys-
tème décrivent la conception, la réalisation et la diffusion de systèmes, ou de services, selon
une démarche descendante composée d’étapes multiples de spécifications–validations dans le
but d’assurer la conformité du système par rapport aux exigences initiales. Dans une démarche
d’ingénierie système, la problématique posée par le projet doit être considérée de manière glo-
bale : le technique (performances du système en termes d’exigences techniques, de qualité,
de sûreté de fonctionnement, de fiabilité, etc.) sera traité en relation avec les aspects commer-
ciaux (budget disponible, coûts du projet ou encore respect des délais) ou industriels (passage
du prototypage à une production de masse, compatibilité technologique, etc.) et ce sur tout
le cycle de vie du système. L’ensemble du projet doit être établi sur une prise en compte
des contraintes et des objectifs technico–économiques provenant de toutes les parties inté-
ressées. Dans un tel contexte, les compromis sont incontournables mais doivent être gérés.
C’est le rôle des normes. La description de processus va alors guider et harmoniser les pra-
tiques individuelles pour assurer un déroulement global cohérent du projet et un produit final
parfaitement conforme au cahier des charges.
Dans les paragraphes précédents nous avons fait le point de l’état des propositions faisant
autorité en matière d’ingénierie système. Compte tenu de la complexité et la pluridiscipli-
narité, ces propositions se présentent sous la forme de normes et de standards. Nous avons
privilégié la norme EIA-632 dont la présentation plus détaillée met en évidence les intérêts et
les limites.
L’utilisation de standards décrivant des processus de référence comporte deux inté-
rêts majeurs : d’une part, ils favorisent la compréhension et la communication de tous
les acteurs en les regroupant autour d’un référentiel commun et, d’autre part, ils syn-
thétisent les savoirs accumulés et permettent leur partage.
Mais, si aujourd’hui ces processus sont bien inventoriés, il faut se demander com-
ment les mettre en œuvre concrètement : les recommandations qui y sont présentées
devraient permettre le développement de politiques et de procédures adaptées à l’envi-
ronnement de l’entreprise et du projet. Ces standards ne fournissent pas explicitement
les indications qui guideraient cette adaptation des processus vers le traitement effectif
de projets spécifiques.
Les ingénieurs chargés de mettre en place une démarche d’ingénierie système doivent
donc répondre d’eux même aux questions suivantes :
Samuel Rochet 53
1.6 Notre problématique
– Par où commencer, quels processus retenir ? Pour une norme donnée, le nombre de
concepts importants rend difficile leur mise en œuvre. Des choix doivent être faits quant
aux éléments à appliquer. Lesquels sont les plus importants pour ma problématique ?
Quels sont ceux que je peux laisser de coté ? Si certains sont supprimés, la cohérence
de l’ensemble est-elle toujours respectée ?
– Comment exploiter des recommandations textuelles ? Les normes d’ingénierie sont pré-
sentées sous un format textuel qui se prête mal à la manipulation de données et de pro-
cessus complexes : il ne facilite pas la communication et ne permet pas la vérification.
– Comment ajuster un standard général avec les exigences d’un métier, d’un projet par-
ticulier ? Les recommandations des normes sont génériques alors qu’elles doivent être
appliquées dans le contexte d’une entreprise et d’un projet particulier. Comment alors
affiner des recommandations pour y intégrer le contexte ?
– Comment s’assurer du respect des recommandations générales ? Les procédures de l’en-
treprise sont–elles compatibles avec les recommandations du standard ? Que modifier
pour que ce soit le cas ?
– Dans le cas où plusieurs normes sont utilisées conjointement, comment m’assurer de la
cohérence de l’ensemble ?
– Comment consigner et réutiliser les acquis ? L’effort réalisé sur un projet est–il à refaire
entièrement sur le suivant ? Comment valider et réutiliser des acquis ?
Toutes ces questions sont à expliciter et à résoudre selon une démarche globale allant des
recommandations génériques à une pratique opérationnelle du développement d’un produit
prenant en compte les contraintes de chaque métier particulier du projet et du profil de l’entre-
prise. C’est l’objet de notre travail. Notre hypothèse est de ne pas remettre en question les
standards d’ingénierie système tels que nous les avons présentés au début de ce chapitre.
Les processus identifiés résultent d’une expérience cumulée très importante. Nous considé-
rons donc qu’ils sont valides et permettent, à condition de trouver et de se donner les moyens
de les mettre en œuvre, de répondre à un grand nombre de problèmes d’ingénierie.
La démarche que nous défendons est celle de progresser encore dans la formalisation
des processus de l’ingénierie système pour faire face à la complexité et permettre davantage
encore de modélisation doublement ouverte sur l’estimation et la vérification. L’étape que
nous allons d’abord franchir est celle de la formalisation des processus génériques. Au–delà, la
difficulté principale que nous tenterons de résoudre est celle d’adapter ce processus générique
à des problématiques particulières : prise en compte des métiers, spécificités des projets.
Nous pourrons revenir au terme de l’étude sur d’éventuelles insuffisances dans ces stan-
dards. A ce stade, nous considérons que les résultats que l’on peut attendre de l’étude sont :
54 Samuel Rochet
1.7 Conclusion
Dans cette thèse, nous nous intéressons donc à la définition des méthodes et des outils
d’une démarche d’ingénierie système opérationnelle sur la base des recommandations
normatives existantes. Nous voulons montrer que l’application des processus d’ingénie-
rie système peut être facilitée par leur formalisation et proposerons une démarche d’ap-
plication qui réponde aux questions pratiques évoquées ci–dessus.
1.7 Conclusion
Ce chapitre introductif a rappelé les enjeux de l’ingénierie système et retracé les évolutions
qu’elle a lancées depuis sa création jusqu’aux recommandations et normalisations les plus ré-
centes. Nous avons retenu la norme EIA-632 comme support de nos travaux. Cette norme
a l’avantage de synthétiser les réflexions de plus de cinquante ans d’efforts scientifiques et
d’expérimentations techniques et industrielles. L’étape que nous proposons est d’explorer la
« personnalisation de ces normes » vers des modèles indispensables aux travaux d’optimisa-
tion, d’estimation et de vérification, dans des environnements complexes et pluridisciplinaires.
Cette étape se concentrera sur la formalisation d’un processus générique. On s’attardera
dans les chapitres suivants sur les questions soulevées par l’adaptation pratique de ce proces-
Samuel Rochet 55
1.7 Conclusion
Les chapitres suivants détailleront nos principales contributions. Ainsi, le chapitre 2 est
dédié aux méthodes et outils de formalisation des processus d’ingénierie système que nous
avons développés. Le chapitre 3, quant à lui, ira au–delà de la transcription des processus et
donnera une démarche de spécialisation des processus. Enfin, le chapitre 4 complètera nos tra-
vaux en introduisant la vérification des processus construits jusqu’alors ainsi qu’une extension
vers l’ingénierie système guidée par les modèles.
56 Samuel Rochet
Chapitre 2
2.1 Introduction
Les normes d’ingénierie système se présentent sous la forme de recueils textuels. Si les
infrastructures actuelles se sont bien adaptées au traitement de documents textuels, elles au-
raient de nombreux avantages à passer à une conception basée sur les modèles. Nous avons
déjà vu, dans le chapitre précédent (tableau 1.1), les multiples désavantages des documents
par rapport aux modèles : interprétation du texte, audit non automatisable, non reproductibi-
lité des réponses, validations lourdes, traçabilité très difficile, réutilisation limitée, information
difficile à trouver. . .
Outre les avantages immédiats dans l’application de l’ingénierie système que permettrait
une transposition des textes normatifs décrivant des processus en modèles de processus, leur
formalisation permet :
– de les spécialiser selon le contexte d’application, comme on le montrera dans le cha-
pitre 3 de cette thèse,
57
2.1 Introduction
– de faire le premier pas vers une ingénierie système guidée par les modèles ; le second
pas étant l’harmonisation du traitement des modèles de système sur la base du modèle
de processus.
La mise en place d’une démarche d’ingénierie système doit donc commencer par une
reformulation des normes.
Un modèle est une abstraction de la réalité [Pel03] qui s’appuie sur un vocabulaire et
des règles de représentation. Un modèle est une vue subjective mais pertinente de la réalité.
Dans le cadre de la modélisation de systèmes informatiques, Booch [BRJ00] identifie quatre
objectifs que permet d’atteindre la modélisation :
1. Les modèles aident à visualiser un système tel qu’il est ou tel que nous voudrions qu’il
soit.
2. Les modèles permettent de préciser la structure ou le comportement d’un système.
3. Les modèles fournissent un canevas qui guide la construction d’un système.
4. Les modèles permettent de documenter le système.
Dans notre contexte, un modèle de norme d’ingénierie système est :
– une aide à l’élaboration et à la structuration des idées,
– un vecteur de communication entre personnes,
– la première étape d’un traitement informatique de la norme,
– un support au suivi et à la simulation de projet.
On voit bien qu’un modèle est plus qu’une simple représentation et que sa qualité va
dépendre des traitements qu’il est amené à subir. C’est particulièrement vrai dans notre cas où
les modèles sont spécialisés, i.e. dérivés, transformés à partir du modèle initial de la norme.
Dans ce cadre, formaliser demande :
– de choisir un cadre théorique de formalisation (ingénierie des modèles),
– de sélectionner un langage de modélisation (SPEM/UML),
– de construire le modèle lui–même (application à l’EIA-632).
Dans ce chapitre, nous montrerons comment formaliser une norme d’ingénierie système ou,
plus exactement, les processus qui les composent. Le chapitre est composé de trois sections.
La première section présente le cadre théorique sur lequel se basera notre formalisation :
58 Samuel Rochet
2.2 L’ingénierie dirigée par les modèles
l’ingénierie des modèles. La seconde section présentera les langages existants de modélisa-
tion de systèmes et les langages existants de modélisation de processus qui seront les outils
de construction de notre modèle de processus générique. Enfin, la dernière section montrera
comment nous avons formalisé l’EIA-632 et sera consacrée à la présentation du modèle de
ses processus.
Samuel Rochet 59
2.2 L’ingénierie dirigée par les modèles
L’avantage de disposer du cadre théorique du MDE est d’éviter de tomber dans le piège
de la représentation au détriment du lien de conformité. L’erreur serait de considérer la repré-
sentation d’un objet comme son modèle alors que l’on ne peut pas statuer sur sa conformité.
60 Samuel Rochet
2.2 L’ingénierie dirigée par les modèles
F IG . 2.1: Notions de base en technologie objet et ingénierie des modèles. En objet, les instances hé-
ritent des propriétés des classes mères. Un modèle permet de représenter un système tout en
étant conforme à son méta–modèle.
Les paradigmes objet et modèle ne sont pas incompatibles. Au contraire, ils se situent à
des niveaux de représentations différents et vont se compléter.
2.2.2.2 Le méta–méta–modèle
Samuel Rochet 61
2.2 L’ingénierie dirigée par les modèles
TAB . 2.1: Liste des langages proposés par l’OMG et de leurs utilisations.
La figure 2.3 illustre les différents aspects couverts par les méta–modèles proposés par
l’OMG.
62 Samuel Rochet
Samuel Rochet
F IG . 2.3: Organisation 3+1 de l’OMG. On retrouve une organisation en 4 niveaux. M0 pour les systèmes et M1, M2 et M3 pour leurs modèles,
méta–modèles et méta–méta–modèle. Le MOF ou méta–méta–modèle est unique et auto–référent.
Les méta–modèles, chacun dédié à la modélisation d’un domaine spécifique, sont définis et proposés par l’OMG.
64
2.2 L’ingénierie dirigée par les modèles
Lors d’une transformation intra–modèle (figure 2.4(a)) le modèle transformé restera dans le
méta–modèle du modèle initial. Dans certains cas, il peut s’agir d’un sous–ensemble du méta–
modèle initial.
Lors d’une transformation extra–modèle (figure 2.4(b)), les deux méta–modèles sont in-
dépendants et l’on ne peut assurer ni qu’un modèle résultant de la transformation est effec-
tivement conforme à son méta–modèle, ni qu’une opération inverse permette de retrouver le
modèle initial à partir du modèle transformé.
Samuel Rochet 65
2.2 L’ingénierie dirigée par les modèles
66 Samuel Rochet
2.3 Choix d’un langage et d’un outil de modélisation
Nous nous intéresserons ici plus particulièrement à la modélisation des workflows en pré-
sentant les principaux langages que sont OSSAD, UML, BPMN et SPEM.
1
BPM est ici employé au sens de Business Process Modeling. Dans le reste de ce document, ce terme ren-
voie au pilotage des procédures d’entreprise ou Business Process Management et non plus seulement à leur
modélisation.
Samuel Rochet 67
2.3 Choix d’un langage et d’un outil de modélisation
OSSAD
OSSAD [DC90] est une méthode du domaine public dédiée à l’organisation pour ana-
lyser et modéliser des processus et procédures d’entreprise. Parue en 1989, c’est l’une des
premières méthodes de modélisation de processus d’entreprise. L’objectif de cette méthode
est de « mettre au point et diffuser une méthode originale d’analyse et de de conception de
système de soutien du travail de bureau ou système bureautique ».
Elle propose l’utilisation de deux types de modèles2 :
Modèle abstrait : « ce qui doit être fait et pourquoi ». Ce modèle donne les moyens pour re-
présenter les caractéristiques propres et les frontières du système à étudier. Ces moyens
sont, à la fois des concepts comme les fonctions, sous–fonctions, activités ou paquets
d’information, mais aussi des graphes et matrices permettant de représenter graphique-
ment le système.
Modèle descriptif : « qui fait quoi et comment ». Ce modèle représente les choix passés et
futurs concernant les personnes, les moyens techniques, l’organisation, la configuration
spatiale et physique, etc. Ce modèle contient aussi des critères ou des éléments d’éva-
luation suffisants pour les prises de décision.
Innovante pour l’époque, cette méthode semble maintenant peu employée et semble faire
la place à d’autres formalismes de modélisation de processus d’entreprise.
Le langage UML
Bien que développé dans un cadre plus large, l’utilisation d’UML est possible pour la mo-
délisation de processus. Des 13 diagrammes UML, cinq peuvent être employés pour décrire
des processus d’entreprise [MHLH05] :
le diagramme de communication : qui met en évidence les interactions entre objets ;
le diagramme de séquence : qui est une variante du diagramme de communication. Il per-
met de visualiser la séquence des messages entre objets ;
le diagramme d’états : qui associe des états aux objets et fait apparaître un ordonnancement
entre ces états ;
le diagramme d’activité : qui est une variante du diagramme d’états ou les états sont des
activités ;
2
Cette décomposition sera reprise plus tard par la méthode Merise qui utilise, dans sa partie de description
des processus, un niveau conceptuel (le « quoi ») et un niveau organisationnel (« qui et comment »).
68 Samuel Rochet
2.3 Choix d’un langage et d’un outil de modélisation
le diagramme de cas d’utilisation : qui représente des interactions entre les acteurs et le
système au travers de cas identifiés.
UML n’est pas spécifique à la modélisation de processus. En l’absence d’une sémantique
claire, les diagrammes décrivant les processus peuvent être sujets à interprétation.
Le langage BPMN
BPMN (Business Process Model Notation) [OMG06a, RO03] est une notation graphique
de représentation des processus métier. Récente (première parution en 2004 puis version finale
en 2006), elle est portée par le BPMI (Business Process Management Initiative), un consor-
tium des principales entreprises du BPM. Cette notation est portée par OASIS, OMG, W3C
et WfMC.
Son objectif est double. D’une part, elle permet de représenter un processus métier décou-
plé des informations techniques. D’autre part, elle fournit une correspondance vers les lan-
gages d’exécution en permettant de transcrire les modèles réalisés en BPML ou en BPEL4WS
(aussi appelé BPEL).
Le langage SPEM
Samuel Rochet 69
2.3 Choix d’un langage et d’un outil de modélisation
De manière simplifiée, SPEM décrit un processus comme étant composé (figure 2.5) :
d’activités : les unités de travail. Elles précisent les opérations à appliquer sur les produits
de travail ;
de produits de travail : les résultats ou les pré–requis des activités ;
de rôles : les responsabilités par rapport aux produits de travail et à la réalisation des activi-
tés.
F IG . 2.5: Modèle conceptuel de SPEM : activités, rôles et produits de travail. Les activités sont réa-
lisées par un rôle unique et peuvent produire ou utiliser un nombre quelconque de produits
de travail. Un même rôle peut réaliser plusieurs activités et être responsable de plusieurs
produits de travail (figure 3-2 de [OMG05]).
Une structure plus détaillée des éléments du métamodèle SPEM est donnée figure 2.6.
Outre la définition des éléments de base utilisés et la définition d’un processus, SPEM
définit la notion de composant de processus. Il permet ainsi une décomposition des processus
70 Samuel Rochet
Samuel Rochet
activités les unes dans les autres. Les activités peuvent aussi comprendre des étapes qui correspondent à la plus petite unité de description
des processus (figure 7-1 de [OMG05]).
2.3 Choix d’un langage et d’un outil de modélisation
en plusieurs autres. La notion de cycle de vie du processus vient compléter ces éléments et
permet de venir encadrer les processus définis.
En fait, il ne s’agit pas ici de décrire les innombrables moyens de modéliser un système
mais plutôt de s’intéresser aux langages de modélisation des systèmes selon le point de vue
de l’ingénierie système.
3
http://www.afis.fr/praout/modelisation/modelis2.html
72 Samuel Rochet
2.3 Choix d’un langage et d’un outil de modélisation
Le langage UML
UML définit un système au travers de vues qui décrivent le système selon des considéra-
tions particulières appelées points de vue. La combinaison de toutes les vues est représentative
du système complet. La vue « 4+1 » proposée par Kruchten [Kru95] est la plus couramment
utilisée. Elle regroupe une vue des cas d’utilisation, une vue logique, une vue d’implémen-
tation, une vue des processus et une vue de déploiement pour représenter l’architecture d’un
système.
Treize diagrammes, dont la liste est donnée au tableau 2.3, permettent de décrire le contenu
des vues. Ces diagrammes se décomposent en deux catégories : les diagrammes statiques et
les diagrammes comportementaux. Un même diagramme peut appartenir simultanément à
plusieurs vues.
Samuel Rochet 73
2.3 Choix d’un langage et d’un outil de modélisation
UML n’étant pas une méthode, il est nécessaire de lui associer des processus d’élaboration
des modèles tel que UP ou ses dérivés (RUP, EUP, XUP, AUP, 2TUP, EssUP. . .) qui précisent
quels diagrammes employer et à quelles étapes du développement.
Le langage SysML
Par rapport à UML, SysML offre les avantages suivants pour la spécification de sys-
tèmes [Par07] :
– La sémantique, proche du domaine de l’ingénierie système, est plus adaptée que celle
proposée par UML.
– SysML est plus réduit et donc plus facile à apprendre.
– Les tables d’allocation introduites par SysML facilitent la validation et la vérification et
l’analyse de couverture.
Étonnamment, un autre avantage listé par [Par07] est la conformité des modèles SysML à
l’IEEE-Std-1471-2000 (IEEE Recommended Practice for Architectural Description of Software-
Intensive Systems), norme orientée logiciel et non pas système.
Concrètement, les différences entre SysML et UML viennent des diagrammes que ces lan-
gages proposent. Sept des treize diagramme UML sont utilisés, deux nouveaux diagrammes
sont introduits et les tables d’allocation dérivées des diagrammes SysML apparaissent. Les
diagrammes respectifs de UML et SysML sont représentés au tableau 2.4.
74 Samuel Rochet
2.3 Choix d’un langage et d’un outil de modélisation
TAB . 2.4: Comparaison des diagrammes SysML et UML : Lorsque l’un des diagrammes n’existe pas
dans un langage, il est marqué par le symbole ⊘.
Samuel Rochet 75
2.3 Choix d’un langage et d’un outil de modélisation
Il est important d’avoir à l’esprit que l’on ne cherche pas à disposer d’un modèle du sys-
tème orienté conception comme c’est généralement le cas. Les éléments système que nous
cherchons à représenter doivent permettre de suivre les évolutions du système dans ses repré-
sentations et sa structure sans pour autant entrer dans une description technique. Par exemple,
du point de vue du suivi de projet, il importe de savoir qu’une solution logique du système
est définie. En revanche, les modèles de solution logique qui vont la décrire d’un point de vue
comportemental (e.g. cas d’utilisation SysML) ne sont pas nécessaires.
Nous avons choisi comme langage de modélisation des normes d’ingénierie système
le langage UML complété par des profils SPEM. Les raisons principales de ce choix sont la
conservation d’une sémantique dédiée pour chacun des deux aspects du modèle et la facilité
de représentation des interactions système/processus.
76 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
Les stéréotypes SPEM viennent compléter les concepts objets d’UML en introduisant les
notions d’activité, de rôles, de produit de travail, de processus et de cycle de vie essentiels à
la représentation des processus d’IS. La sémantique des composants des processus est donc
définie par SPEM. La solution que nous avons choisie permet de travailler sur un modèle
consistant dans lequel les éléments système et processus sont liés.
Le choix d’UML plutôt que de SysML est lié à une raison pratique. Il n’existe pas de profil
SPEM pour SysML. L’utilisation d’UML n’est cependant pas pénalisante car, comme on l’a
vu précédemment, on ne cherche pas un modèle exhaustif du système mais un modèle utile
au suivi de l’état du système dans son cycle de vie.
Samuel Rochet 77
Samuel Rochet
(a) Diagramme d’activité de l’exigence de représentation (b) Diagramme d’activité du processus de définition de la solution
physique de la solution. Une vue détaillée de ce diagramme
est donnée aux figures 6 et 7 en annexes.
2.4 Application à la modélisation de l’EIA-632
F IG . 2.7: Modèles de processus de l’EIA-632. Trois exemples de processus sont donnés, un pour chaque étage de la décomposition de l’EIA-632 en
groupes, processus et exigences. Dans cet exemple, on remarque l’invocation des processus de niveau inférieur par des actions composites.
78
Les objets représentent les résultats attendus des processus.
2.4 Application à la modélisation de l’EIA-632
TAB . 2.5: Correspondances des éléments de processus de l’EIA-632 en UML et en profils SPEM.
Tous ces éléments sont intégrés dans le modèle par des diagrammes d’objets.
Dans le cadre d’une description des concepts liés à la structure de système, on pourrait
se contenter de les représenter comme des objets. Ces éléments sont cependant issus des pro-
cessus de l’EIA-632 et sont à considérer comme des produits de travail des processus. Pour
représenter cela, le stéréotype SPEM work product est associé aux éléments qui sont des ré-
sultats attendus de l’exécution des processus de l’EIA-632.
Ces concepts seront repris brièvement ci–dessous. Les figures 2.8 et 2.9 montrent deux
exemples de diagrammes d’objets de modélisation de la structure de système.
Samuel Rochet 79
2.4 Application à la modélisation de l’EIA-632
finaux. Les produits contributeurs sont utilisés pour réaliser les fonctions du système asso-
ciées aux processus (développer, produire, tester, déployer et supporter les produits finaux),
pour entraîner les opérateurs et l’équipe de maintenance des produits finaux et pour retirer ou
pour mettre à disposition les produits.
Conformément à l’EIA-632, les produits contributeurs ne sont pas liés à un produit final
mais à une fonction associée au système.
Le concept de système forme la base d’une structure plus large : le bloc de construction.
Ce concept sert de cadre de référence à l’application des processus de l’EIA-632.
Il est utilisé pour affiner la décomposition du système en précisant les notions de produit
final et de produit contributeur et en associant des rôles aux blocs de construction dans le
cadre de leur utilisation dans les processus de l’EIA-632.
Un seul bloc de construction est rarement suffisant pour décrire complètement la solution
correspondant aux exigences du client et des autres parties intéressées. Un produit peut de-
mander un développement plus poussé que celui qui lui est attribué dans le cadre d’un bloc de
construction unique.
Notre modèle considère deux types de produit final4 :
Composite_End_Product : Un produit final constitué d’au moins deux sous–systèmes (source
de blocs de construction de couche inférieur dans la structure du système).
Implemented/Existing/Acquired_End_Product : Un produit final non décomposable qui :
1. sera implémenté en tant que produit final unitaire ;
2. dont les exigences sont satisfaites par l’utilisation d’un produit existant ;
3. ou, que le produit final soit fourni.
4
L’EIA-632 ne fait pas de distinction explicite entre ces deux types de produits finaux. Dans la définition d’un
bloc de construction donnée page 47 de la norme, un produit final est constitué de deux sous–systèmes ou plus.
Cette définition est en contradiction avec le chapitre 6.2. dans lequel un nouveau bloc de construction est associé
à chaque sous–système à moins que le produit final ne puisse être implémenté, ne soit existant ou ne puisse être
acquis auprès de fournisseurs. Considérer uniquement des produits finaux composites entraînerait une infinité de
blocs de construction dans la structure de système. C’est pourquoi deux types de produits finaux sont introduits
dans le modèle en contradiction apparente avec la définition donnée des blocs de construction.
80 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
Le modèle de la figure 2.8, dérivé de la structure d’un bloc de construction (figure 1.9), in-
tègre la notion de structure de système. Ce modèle illustre que les sous–systèmes d’un produit
final composite seront développés au sein d’un bloc de construction. Une généralisation des
sous–systèmes en système est réalisée pour permettre que ces sous–systèmes soient considérés
comme des systèmes à part entière au sein des blocs de construction qui leur seront associés.
Les différents types d’exigences et leurs relations au sein d’un bloc de construction sont
donnés par le modèle de la figure 2.9. Ce dernier reprend les relations exprimées sur le
schéma G.1 en annexe de l’EIA-632 qui trace les différents stades au cours desquels les exi-
gences du client et des parties intéressées vont être transformées en spécifications de solution
de conception.
Samuel Rochet 81
2.4 Application à la modélisation de l’EIA-632
F IG . 2.8: Concept de structure du système. Un sous–système est un type de système dont le dévelop-
pement est associé à un bloc de construction. Le système de ce bloc de construction est
identique au sous–système considéré.
82 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
F IG . 2.9: Relations entre les exigences. Représentation synthétique des relations entre exigences. Le
passage d’un type d’exigence à un autre sera dicté par les modèles des processus de concep-
tion système.
Samuel Rochet 83
2.4 Application à la modélisation de l’EIA-632
D’après l’EIA-632, les phases du cycle de vie d’un produit sont organisées de la manière
suivante :
phase de conception :
– définition du pré–système ;
phases de création :
– définition du système ;
– conception des sous–systèmes ;
– conception détaillée ;
phase de réalisation :
– intégration, test et évaluation du produit final.
84 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
Le tableau 2.6 ci–dessous donne la description de chacune des activités liées aux phases.
Il précise également les processus actifs au cours de chacune des phases.
Samuel Rochet 85
2.4 Application à la modélisation de l’EIA-632
86 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
L’organisation des processus et les interactions qu’ils rencontrent avec la structure du sys-
tème sont représentées comme des activités appliquées aux blocs de construction. Le modèle
de la figure 2.10 représente le cycle de vie d’un système. Les figures 1, 2, 3, 4 et 5 en annexe
donnent chacune la vue détaillée de l’une des phases du cycle de vie.
On voit sur les modèles des phases de cycle de vie du système la construction successive
des différentes couches de blocs de construction. Les deux premières phases de définition du
pré–système et de définition du système s’attachent à définir le bloc de construction de la
couche supérieure du projet. La conception des sous-systèmes va ensuite permettre la défini-
tion des blocs de construction de la seconde couche associée aux sous–systèmes et aux pro-
Samuel Rochet 87
2.4 Application à la modélisation de l’EIA-632
F IG . 2.10: Concept de cycle de vie d’ingénierie. Modèle complet du cycle de vie selon l’EIA-632. Les
représentations détaillées de chacune des phases : figure 1 pour la phase de pré–définition
du système, figure 2 pour la phase de définition du système, figure 3 pour la phase de
conception des sous–systèmes, figure 4 pour la phase de conception détaillée et figure 5
pour la phase d’intégration, test et évaluation du produit final sont données en annexes.
88 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
duits contributeurs. Ce procédé de définition des blocs de construction est répété de manière
récursive à chaque bloc de construction au cours de la phase de conception détaillée jusqu’à
ce que tous les produits contributeurs et tous les produits finaux des couches les plus basses
soient considérés comme unitaires. Ces quatre phases coordonnent les activités de développe-
ment descendantes. L’aspect ascendant de la réalisation est entièrement réalisé par la dernière
phase d’intégration, test et évaluation du produit final (figure 5 en annexe). Les produits des
couches inférieures sont validés puis associés pour être livrés aux blocs de construction de la
couche supérieure. Les produits livrés sont alors re–validés et ré–associés jusqu’à satisfaction
des exigences du bloc de construction de la couche supérieure.
Le cycle de vie est représenté de manière synthétique à la figure 2.11.
Les processus de l’EIA-632 appliqués aux blocs de construction varient donc en fonction
du cycle de vie d’ingénierie. La liste des processus invoqués en fonction des cycles de vie est
donnée au tableau 2.7.
A partir de ce tableau, on peut dissocier les groupes de l’EIA-632 en : groupes de type
« processus », groupes de type « paquetage » et groupe d’acquisition et de fourniture.
groupe de type « processus » : Tous les processus appartenant à ces groupes sont invoqués
au même moment dans les phases du cycle de vie. L’ordre des processus est soit donné
dans l’EIA-632 soit déduit du flux des produits de travail. Ces groupes sont donc eux–
mêmes des processus à part entière. Ce type de groupe comprend :
– la gestion technique (figure 2.12) ;
– la conception système (figure 2.7(c)) ;
– l’évaluation technique (figure 2.13).
groupe de type « paquetage » : Les deux processus du groupe de réalisation du produit ne
sont pas invoqués au même instant (voir tableau 2.7). La phase d’intégration, de test
et d’évaluation des produits finaux invoque d’abord le processus d’implémentation, de-
mande une évaluation technique puis enfin invoque le processus de transition vers l’uti-
lisation. Un seul appel ne peut être fait au groupe. On ne peut donc pas le définir comme
un processus. Ce groupe a un rôle strictement structurant vis–à–vis des processus.
le groupe acquisition & fourniture : Ce groupe inclut deux processus très distincts pour les-
quels elle joue un rôle structurant similaire à celui joué par le groupe de réalisation. A
ce titre, il peut être lui–aussi considéré comme étant de type « paquetage ». Il inclut :
Samuel Rochet 89
2.4 Application à la modélisation de l’EIA-632
F IG . 2.11: Vue synthétique du cycle de vie du système. Le système est obtenu par application de pro-
cessus selon 5 phases. Les quatre premières sont descendantes et conduisent à la définition
du système et la spécification des sous–systèmes alors que la dernière est ascendante et
conduit à l’agrégation des composants, à leur test et à la validation par rapport aux spéci-
fications initiales. Le cycle de vie s’applique sur le système et ses sous–systèmes.
90 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
Samuel Rochet 91
2.4 Application à la modélisation de l’EIA-632
92 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
Le tableau 2.9 résume les principaux éléments du modèle. L’intégration du cycle de vie
demande d’intégrer des différences au niveau des processus de l’EIA–632.
Samuel Rochet 93
2.4 Application à la modélisation de l’EIA-632
F IG . 2.12: Groupe de gestion technique.
94 Samuel Rochet
Samuel Rochet
TAB . 2.9: Tableau récapitulatif des principaux processus de l’EIA-632. Le rang représente l’ordre
d’invocation. Supply process invoque les processus de rang 2 correspondant aux phases du
cycle de vie qui vont invoquer à leur tour les processus de rang 3. Dans le cas de groupes
de type paquetage, aucun processus n’est associé. Les appels à P1, P2, P8 et P9 se font
directement.
96 Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
On distingue, dans les groupes de l’EIA-632, ceux qui jouent un rôle de processus de ceux
qui jouent un rôle uniquement structurant (Acquisition & Supply et Product Realization). La
représentation des premiers se fait par des diagrammes d’activité (figures 2.12, 2.7(c) et 2.13)
alors que les seconds sont des paquetages.
Cette distinction se retrouve dans les processus. S’ils appartiennent à un groupe de type
« processus », les éléments d’entrée et de sortie seront des éléments de bloc de construction.
En revanche, s’ils appartiennent à un groupe de type « paquetage », ils travailleront sur les
blocs de construction eux–mêmes.
Samuel Rochet 97
Samuel Rochet
2.4 Application à la modélisation de l’EIA-632
F IG . 2.14: Processus de vérification du système. Des vues détaillées de ce modèle sont données en annexes aux figures 10 et 11.
98
2.4 Application à la modélisation de l’EIA-632
F IG . 2.15: Exigence 31 – vérification du produit final. Des vues détaillées de ce modèle sont données
en annexes aux figures 12 et 13.
Samuel Rochet 99
2.5 Conclusion
2. Une correction d’un ou plusieurs éléments précédemment définis est nécessaire. Dans
ce cas, le processus de vérification du système est ré–invoqué. C’est la récursivité de ce
processus qui va permettre de s’assurer de la cohérence.
La validité du flot de données est donc obtenue via la définition de processus récursifs.
L’utilisation de tels processus se retrouve souvent lors des étapes de validation au cours
desquelles des éléments sont susceptibles d’être modifiés. Le tableau 2.8 permet de retracer
les dépendances entre processus et de retrouver les processus récursifs.
Le flot de données de l’EIA-632 est donc valide vis–à–vis de la cohérence des données
entre–elles. Il est dommage qu’un tel comportement ne soit pas mis en avant dans le standard.
Le coté récursif des processus n’est décrit que de manière indirecte et le rôle spécifique de ce
type de processus est complètement occulté.
2.5 Conclusion
Dans ce chapitre, nous nous sommes attachés à montrer que les concepts portés par les
normes d’ingénierie système pouvaient être formalisés. Pour cela, nos deux principales contri-
butions sont :
– d’avoir choisi un langage de représentation adapté aux particularités des normes d’in-
génierie système,
– d’avoir réalisé un modèle complet de l’EIA-632 sur la base de ce langage.
L’utilisation d’un formalisme adapté permet de représenter à la fois les processus et les concepts
de structure de système et donne les moyens de coordonner le tout autour du cycle de vie du
système.
Le travail de modélisation de l’EIA-632 a mis en évidence des comportements jusque là
restés implicites dans le standard. Il montre que le simple fait de formaliser les processus
facilite leur compréhension et peut être un support de communication à la description de
comportements complexes.
Dans le cadre de la mise en œuvre des processus d’ingénierie système, il est essentiel
de disposer de modèles décrivant les interactions des processus avec le système qu’ils déve-
loppent. De tels modèles peuvent non seulement servir aux industriels pour le suivi de leurs
projets mais aussi, être à la base d’une vérification formelle des normes d’IS.
Theodore Roosevelt
3.1 Introduction
L’originalité et l’intérêt de la démarche d’IS tient à l’ambition de donner un caractère uni-
versel aux recommandations qu’elle propose de mettre en œuvre. Ces normes IS décrivent des
processus génériques pouvant être appliqués quel que soit le contexte. En pratique, il faudra
donc adapter les méthodes, procédures et outils en fonction du projet, de l’entreprise et de
son environnement. Il faudra prendre en compte l’environnement du projet (figure 1.2). Cette
adaptation, nécessaire, est sans doute la difficulté principale à l’application des recommanda-
tions des normes d’IS.
Les processus décrits par les différentes normes d’ingénierie système ne sont pas accom-
pagnés de méthodes et d’outils qui permettent de les mettre en place en s’assurant de la confor-
mité des processus des projets par rapport aux standards.
101
3.2 Notre démarche de modélisation
Notre proposition ici est d’aider les acteurs de l’ingénierie système, en mettant à leur dis-
position des outils reposant sur la modélisation des processus d’ingénierie système permettant
de mettre en place et de valider les processus des projets.
Dans le chapitre précédent, nous avons vu comment pouvaient être formalisées les normes
d’IS. Nous allons voir, dans ce chapitre, comment, sur la base du modèle de la norme,
les adaptations nécessaires à l’application des recommandations dans un contexte donné
peuvent être faites.
Nous montrerons qu’un projet peut reposer sur un modèle respectant à la fois les recom-
mandations générales d’ingénierie système et les contraintes ou recommandations de son mé-
tier (comme illustré à la figure 3.1).
Nous présenterons la démarche de modélisation qui servira de base à l’adaptation des
normes d’IS à leur contexte d’application. Les éléments de ce processus seront ensuite pré-
sentés un à un : les spécificités liées au contexte d’application appelées spécificités métier, le
modèle de ces spécificités ou modèle métier et, enfin, l’élément ultime de cette démarche, le
modèle de projet.
F IG . 3.1: Conformité des modèles de projets aux processus d’IS et aux métiers. Les projets, et par
extension leurs modèles, doivent être en conformité par rapport aux processus décrits par
les normes d’ingénierie système tout en étant applicables à un métier particulier.
ou du projet, se situent tous au niveau M1 de la pyramide (figure 3.2) et sont tous exprimés
dans le même métamodèle. Les spécificités sont introduites progressivement dans ces modèles
jusqu’à obtention du modèle de projet qui servira de référence pour la conduite et le suivi du
projet réel.
D’une part, les chefs de projet disposent d’une description de processus proche de leur
préoccupations. Ils n’ont plus à adapter eux–mêmes les processus génériques des standards.
Les processus sont plus facilement mis en application et les déviations ou adaptations des re-
commandations maîtrisées et formalisées.
D’autre part, comme on le verra en 3.4.4, il devient possible de formaliser le fait que
les adaptations des recommandations sont différentes pour chaque couche de développement.
Chaque fournisseur d’un produit contributeur ou d’un sous–système est probablement d’un
métier différent de celui qui développe le système principal. En permettant d’intégrer les spé-
cificités de chacun dans un même référentiel, on facilite la coopération des différents acteurs
du projet.
F IG . 3.2: Situation des modèles de standard, métier et projet dans la pyramide du MDE. Les trois types de modèle sont situés au même niveau
conceptuel dans la pyramide du MDE. Ils sont tous créés en utilisant le métamodèle présenté au chapitre 2. Chaque modèle est construit à
partir des informations contenues dans le précédent par rapport auquel il peut être validé.
105
3.2 Notre démarche de modélisation
Avoir le même métier suppose pour deux entreprises de partager des activités communes,
d’avoir le même domaine d’activité. Il serait cependant plus approprié de parler de production
de produits ou de services similaires, les activités étant induites des objectifs de production.
Dans le langage courant, on parle d’ailleurs des métiers de l’aéronautique, de l’automobile, de
la téléphonie, etc. Partant du constat que c’est bien le produit (ou service) final qui va désigner
le métier et qu’il induit des techniques, un savoir–faire ou des procédures spécifiques, nous
définirons un métier comme :
Définition 14 : Métier
L’ensemble des spécificités techniques ou non liées à la réalisation d’un produit ou
d’un service.
Une liste définitive de métiers ne peut être fixée à partir de cette définition. Les évolu-
tions des besoins et des technologies font qu’en permanence, on voit apparaître de nouveaux
produits ou services alors que d’autres disparaissent. Il convient alors de s’adapter à ces mo-
difications et de suivre les évolutions lorsqu’elles surviennent.
La définition 14 dépend de la vision que l’on a des produits ou des services. Dans ce
cadre, doit–on considérer la production de deux voitures, l’une routière et l’autre sportive,
comme relevant du même métier ou de métiers différents ? En d’autres termes, s’agit–il de
produits distincts ou de deux produits similaires ? En fonction du degré d’abstraction choisi
deux réponses sont acceptables :
1. Il s’agit bien du même type de produit à quelques options près et leurs réalisations
relèvent du même métier ;
2. Les techniques mises en œuvre pour réaliser ces deux types de voiture sont sensiblement
différentes. On ne peut les considérer comme des produits identiques. En conséquence
il s’agit de métiers différents.
Pour répondre à ce problème nous avons choisi de nous référer à la classification des normes
de l’AFNOR. Cette classification, donnée au tableau 3.1, nous servira de référence.
Nous avons choisi cette classification pour pouvoir valider notre démarche car elle a l’avan-
tage de ne pas être trop spécifique sans pour autant être trop simpliste. De plus, elle permet
de retrouver facilement quelles seront les spécificités relatives à chaque métier en fonction
des normes qui lui seront associées. Elle respecte aussi les recommandations des standards
qui préconisent de compléter leurs processus par les spécificités métier dont les normes mé-
tier font partie. En choisissant cette échelle de modélisation, on favorise l’identification des
impacts du métier sur les processus généraux. Enfin, elle reste cohérente avec les visions de
l’environnement du projet ou de l’entreprise données par les normes d’IS (figure 1.7) dans
lesquelles les références aux normes ou aux standards sont très fortes.
Pour les besoins d’un projet particulier, il reste cependant possible de choisir une référence
différente.
# Intitulé # Intitulé
01 généralités. terminologie. normalisation. 03 services. organisation de l’entreprise.
documentation gestion et qualité. administration. trans-
port. sociologie
07 mathématiques. sciences naturelles 11 technologies de la santé
13 environnement et protection de la santé. 17 métrologie et mesurage. phénomènes
sécurité physiques
19 essais 21 systèmes et composants mécaniques à
usage général
23 fluidique et composants à usage général 25 techniques de fabrication
27 ingénierie de l’énergie et de la transmis- 29 électrotechnique
sion de la chaleur
31 électronique 33 télécommunications. techniques audio et
vidéo
35 technologies de l’information. machines 37 technologie de l’image
de bureau
39 mécanique de précision. bijouterie 43 véhicules routiers
45 chemins de fer 47 construction navale et structures mari-
times
49 aéronautique et espace 53 matériel de manutention des matériaux
55 emballage et distribution des marchan- 59 industrie textile et technologie du cuir
dises
61 industrie du vêtement 65 agriculture
67 technologie alimentaire 71 génie chimique
73 mines et minerais 75 industrie du pétrole et technologies asso-
ciées
77 métallurgie 79 technologie du bois
81 industries du verre et de la céramique 83 industries des élastomères et des plas-
tiques
85 technologie du papier 87 industries des peintures et des couleurs
91 bâtiment et matériaux de construction 93 génie civil
95 génie militaire 97 équipement ménager et commercial loi-
sirs. sports
99 (sans titre)
insérés comme des pratiques ou un vocabulaire spécifique. Cependant, notre objectif ici est de
voir ce que peut être une caractéristique liée à un métier et comment elle peut interagir avec
les processus standards plutôt que de faire un modèle précis des métiers étudiés.
Le rôle et la place des normes sont très diversifiés selon les métiers. Dans de nombreux
domaines, comme l’automobile, les normes sont principalement des contraintes sur le produit.
Pour d’autres, par contre, elles peuvent être indispensables à l’introduction d’une technologie.
C’est le cas dans le domaine des communications ou de l’aéronautique.
Dans les deux cas, faire de sorte d’imposer des techniques ou des processus déjà maîtrisés
par l’entreprise dans une norme est un enjeu stratégique, les concurrents doivent alors rattra-
per leur retard sous peine d’être coupés du marché.
Pour donner une idée pertinente de ce que peut être un métier, nous avons choisi d’analyser
un métier de taille restreinte avec de fortes contraintes normatives : le métier des EPI (Équi-
pements de Protection Individuelle).
Il existe trois catégories d’EPI reportées au tableau 3.2. Selon la gravité du risque pris
par l’utilisateur on considère les EPI de catégorie 1, dont l’utilisation entraîne des risques
mineurs (petits chocs mécaniques, rayonnement solaire), les EPI de catégorie 2, dont l’uti-
lisation entraîne des risques graves, et les EPI de catégorie 3, dont l’utilisation entraîne des
risques majeurs ou mortels.
Les exigences s’appliquant aux EPI peuvent être classées de la façon suivante [PET] :
– exigences techniques ;
– exigences de marquage ;
– exigences d’informations de l’utilisateur ;
– obligation des distributeurs ;
– exigences de vérification et de maintenance.
Exigences techniques
L’EPI doit satisfaire aux exigences essentielles de sécurité et de santé. Il est conçu et
fabriqué pour assurer le plus haut niveau de protection possible en respectant l’ergonomie et
le confort de l’utilisateur. La conformité aux normes européennes est un moyen de vérifier
que les équipements répondent à des exigences techniques définies. Ce n’est cependant pas le
seul car :
– Il n’existe pas de normes pour tous les produits visés par la règlementation EPI,
– Le fabricant peut s’écarter de la norme s’il dispose d’une solution technique plus ap-
propriée pour répondre à des situations particulières et aux exigences règlementaires.
L’application des normes européennes n’est pas obligatoire.
Exigences de contrôle
Les exigences associées à chaque type d’EPI sont reportées au tableau 3.2. Selon le type
d’EPI, et donc selon les risques encourus par l’utilisateur, les contrôles seront plus ou moins
restrictifs. Ils peuvent aller d’une auto–certification par le fabricant à un examen de type et
une garantie qualité CE.
TAB . 3.2: Types d’EPI et exigences de contrôle associées en fonction des risques entraînés.
Exigences de marquage
Tous les EPI doivent porter le marquage CE, les 2 derniers chiffres de l’année de fabrica-
tion, le numéro de série et le nom du fabricant.
Le marquage CE indique qu’un produit répond aux exigences de la directive européenne
89/686/CEE. Pour les EPI de catégorie 3, le marquage du numéro d’identification du labo-
ratoire qui assure le contrôle qualité est également obligatoire.
Ce marquage est à différencier du marquage propre à la société pour identifier ses produits et
conserver une traçabilité.
Tous les EPI doivent être accompagnés d’une notice technique du fabricant précisant en
particulier :
– les instructions d’emploi, de stockage, de nettoyage, d’entretien et de révision,
– les performances et les examens techniques,
– les instructions de compatibilité avec d’autres produits,
– les limites d’utilisation,
– les dates et délais de péremption,
– une fiche descriptive de suivi (nom et adresse du fabricant, N° de série, année de fa-
brication, date d’achat, date de première mise en service, nom de l’utilisateur, espace
commentaires).
Le distributeur doit au minimum veiller à la conformité des EPI qu’il propose au consom-
mateur : présence du marquage CE et de la notice technique qu’il ne doit en aucun cas déso-
lidariser du produit.
L’arrêté du 19 mars 1993 (qui fait référence à la directive 89-656 relative à l’utilisation
des EPI dans le cadre des vérifications périodiques) impose que tout EPI utilisé soit soumis à
des vérification périodiques au moins tous les 12 mois.
par article contrôlé : le modèle, le numéro de série, l’année de fabrication, la date d’achat, la
date de première utilisation, le nom de l’utilisateur si l’EPI est attribué nominativement.
L’identification et la modélisation d’un métier se fait donc en deux étapes. Dans un premier
temps, il convient de lister les normes qui seront en vigueur. Cette première étape peut être
rendue difficile si le nombre de normes est important ou/et si certaines d’entre–elles sont
contradictoires. La seconde est de représenter les impacts de ces normes sur le modèle des
processus générique (figure 3.4).
F IG . 3.4: Illustration de l’impact des normes sur le modèle générique. La modélisation d’un mé-
tier demande d’intégrer des spécificités provenant de plusieurs normes distinctes. Chacune
d’entre–elles peut potentiellement impacter tous les types d’éléments du modèle générique.
En pratique, la première de ces étapes est faite naturellement par les industriels. Recen-
ser et appliquer les contraintes légales ou règlementaires auxquelles ils sont soumis n’a rien
d’inhabituel. On note même, dans certains cas, qu’un travail de formalisation des normes est
effectué [Bla00]. Dans la section suivante, on supposera que la liste des normes à appliquer
au processus est connue. On s’attardera plus particulièrement sur le second point concernant
les méthodes et moyens de modélisation des impacts des normes.
F IG . 3.5: Passage du modèle de standard au modèle métier. Cette étape passe par la transformation
du modèle de standard écrit en SPEM en modèle métier lui aussi rédigé en SPEM. La trans-
formation permet d’ajouter les spécificités du métier au modèle générique de l’EIA–632.
Dans certains cas cependant, le domaine impacté est clairement identifié par la norme. Pour
s’en convaincre, il suffit d’observer la cartographie des documents en support des normes
ISO 9000 et 2000 donnée à la figure 3.6. Citons, pour exemples, les normes FD X50-176 [AFN05]
« management des processus », FD X50-189 [AFN04] « lignes directrices pour l’intégration
des systèmes de management », FD X50-128 [AFN03a] « lignes directrices pour le processus
achat et approvisionnement », FD X50-127 [AFN02] « maîtrise du processus de conception
et développement » ou FD X50-179 [AFN00] « guide pour l’identification des exigences des
clients » qui sont toutes facilement assimilables à un des processus de l’EIA-632. La modéli-
sation du métier est alors facilitée dans la mesure où les éléments à intégrer sont limités à un
sous–ensemble du standard.
De la même manière, l’intégration des normes d’IS complémentaires vue à la section 1.4.4
est facilitée par une portée limitée de ces normes. Une exception existe toutefois : les normes
spécifiques à un domaine pour lesquelles l’ensemble des processus sont touchés. Par contre,
elles peuvent être considérées comme l’expression de spécificités métier déjà introduites dans
une norme générale.
La première étape de modélisation consiste à lister toutes les normes ou autres spécificités
métier, se référant à ce type de produit. C’est un travail dont la synthèse a déjà été présentée à
la section 3.3.2.2. En résumé et de manière simplifiée, la fabrication d’un EPI est soumise à :
– à une auto–certification par le fabricant ;
– à un test du produit par un laboratoire indépendant ;
– au contrôle annuel du produit et de la production ;
– à un marquage spécifique du produit ;
– à la production d’une notice spécifique.
Nous avons suffisamment d’éléments rappelés dans le paragraphe précédent pour illus-
trer comment ces éléments peuvent être intégrés dans le modèle de processus générique
de l’EIA-632 présenté au chapitre 2 :
auto–certification par le fabricant : Cette spécificité peut être décomposée en deux partie :
118
F IG . 3.6: Cartographie des documents français en support des normes ISO 9000 :2000. Source AFNOR [AFN04, AFN03a].
3.4 La construction d’un modèle de processus métier
1. les exigences, essentiellement techniques, fixées par les normes, sont ajoutées de
manière systématique aux exigences du produit par le biais d’une modification
du « processus de définition des exigences ». Le tableau 9 en annexe donne un
exemple de telles exigences ;
2. les processus sont modifiés pour intégrer l’auto–certification. On modifiera parti-
culièrement le « Processus de vérification des exigences système » comprenant les
processus de « vérification de la solution de conception » et de « vérification du
produit final ». Les normes fixent en effet certains éléments du plan de vérification
en imposant des points de vérification précis (exemple tableau 10 en annexe).
test du produit par un laboratoire indépendant : Une nouvelle tâche est ajoutée dans le
« processus de vérification du produit final ». Elle sera sous la responsabilité d’un nouvel
acteur, le laboratoire.
contrôle annuel du produit et de la production : Cette exigence demande d’introduire les
points qui seront contrôlés annuellement comme exigences sur le processus lui–même.
Le « processus de contrôle » est à modifier en conséquence.
marquage spécifique du produit : Encore une fois, il s’agit principalement de fixer des exi-
gences sur le produit par le biais d’une modification du « processus de définition des
exigences ».
production d’une notice spécifique : Cette dernière spécificité est plus délicate à modéli-
ser. D’un point de vue du modèle métier, il s’agit de l’introduire comme une exigence
du système. Cependant celle–ci entraînera systématiquement le déclenchement d’un
processus de conception du produit contributeur « notice ». Elle sera alors représentée
par un bloc de construction spécifique.
En pratique, comme illustré à la figure 3.7, nous proposons que le passage au mo-
dèle métier se fasse en plusieurs passes pour intégrer les éléments provenant de sources
différentes.
F IG . 3.7: Construction incrémentale du modèle métier. Les spécificités issues des normes du métier
sont insérées une à une à partir du modèle générique. Après chaque intégration, un modèle
intermédiaire est obtenu contenant les spécificités d’une nouvelle norme et les spécificités
des normes déjà intégrées. Le modèle métier est obtenu par la modélisation des spécificités
de toutes les normes.
L’opération de suppression est délibérément exclue de la liste des opérations. Nous consi-
dérons que les processus génériques décrits par les normes d’ingénierie système doivent être
pris comme référence et qu’ils sont supports d’une bonne gestion de projet. Permettre la sup-
(b) Requirement 33, End Product Validation dans le modèle de métier des EPI.
F IG . 3.8: Illustration des opérations de passage du modèle de standard au modèle métier. Exemple de
la validation du produit final.
pression de ces éléments reviendrait à modifier cette référence et empêcherait tout travail de
validation des processus de projet par rapport aux processus de référence.
La suppression peut aussi concerner des éléments issus de normes et intégrés par la suite
dans le modèle générique. Là encore, cette opération n’est pas permise car :
– elle peut être source d’erreur,
– elle permettrait d’intégrer dans un même modèle des normes contradictoires.
Les éléments modélisés ont été intégrés pour répondre à une certaine norme métier. Permettre
de les retirer lors de la modélisation d’une autre norme reviendrait soit à les enlever par erreur
soit à les effacer pour cause de conflit avec la norme en cours de modélisation. Dans ce dernier
cas, il serait erroné de croire disposer d’un modèle intégrant les deux normes. En cas de conflit,
un choix doit être fait de manière à pouvoir modéliser et surtout suivre une seule des normes
contradictoires.
Bien entendu, lors de l’édition des spécificités d’une norme, il est possible de revenir sur
des erreurs de modélisation. Les suppressions sont gelées seulement une fois l’édition de la
norme terminée.
Une solution est d’employer le modèle métier au niveau des blocs de construction. En
associant un métier à un bloc de construction on dispose d’un moyen de modélisation
simple et en cohérence avec les recommandations de l’EIA-632. On rappelle qu’un bloc de
construction est défini comme : « La représentation du cadre conceptuel d’un système utilisé
pour organiser les exigences, le travail, et les autres informations associées à l’ingénierie
système. Un élément dans la décomposition structurelle du système ». Il est donc logique de
lui associer les éléments issus du métier. D’autre part, étant liée à la décomposition structu-
relle du système, cette association reste cohérente avec notre définition des métiers qui sont
fortement liés à un produit.
Reste à traiter le cas de la répercussion des spécificités métiers sur des sous–systèmes.
C’est le cas lorsque des sous–systèmes dépendent d’éléments liés à un système particulier.
Par exemple, l’assurance qualité en automobile va fixer des contraintes spécifiques sur les
composants qui ne seraient pas présentes s’ils n’étaient pas intégrés dans un véhicule.
Dans ce cas, notre recommandation est de maintenir un lien simple entre le bloc de
construction de l’élément pris comme système à part entière et le métier qui lui est lié. Les
éléments issus du niveau supérieur peuvent être transmis via les spécifications du système
pour ses sous–systèmes.
Ces choix de représentation permettent de conserver des liens simples entre produits
et processus. Ils ne sont, en un sens, que l’application des recommandations de l’EIA-632
puisque pour employer les modèles métiers nous les rattachons aux concepts définis dans le
standard. Notre démarche étant de permettre une spécialisation des processus décrits tout en
conservant et en respectant la cohérence des processus généraux.
à chaque système tout en conservant un comportement cohérent par rapport aux recomman-
dations génériques.
En pratique, il s’agit, pour nous, de mettre à disposition des outils qui permettront de :
1. représenter les processus du projet en cours ;
2. valider ces processus par rapport
– aux objectifs du projet,
– aux contraintes spécifiques du projet,
– aux règles de bonne conduite du projet identifiées au travers des modèles de standards
et de métier,
F IG . 3.9: Impact des spécificités sur le cycle de vie. D’un point de vue système, le déroulement global
du cycle de vie du système est conservé. En revanche, chaque processus employé est spéci-
fique au métier considéré. Sur l’ensemble du projet, le comportement global est guidé par
les recommandation d’IS avec des adaptations pour chaque système ou sous–système.
Notre proposition repose sur des étapes de modélisation successives des processus consti-
tutifs du projet. Des trois modèles nécessaires (standard, métier et projet), le modèle de projet
est celui qui est le plus proche du projet tel qu’il sera mené. Il intègre les spécificités du projet
et sert de référence à son déroulement. Il faut cependant garder à l’esprit qu’il s’agit d’un mo-
dèle de projet et non du projet lui–même. Il représente un déroulement prédictif du projet dans
lequel sont pris en compte les règles expertes issues des modèles de standard et de métier.
Le projet proprement dit doit être considéré comme une instance du modèle de projet. Au
fur et à mesure du déroulement du projet, celle–ci sera complétée jusqu’à représenter, à sa
clôture, le déroulement intégral du projet (figure 3.10).
Les instances du projet intègrent les réalisations effectives du projet. Entre chaque ver-
sion, de nouveaux éléments sont ajoutés et des ajustements sont faits. Chacune des instances
est réalisée en conformité avec les contraintes et les règles de bonne conduite identifiées pré-
cédemment.
Le rôle du modèle de projet est double. D’une part, il doit permettre d’instancier les élé-
ments représentés i.e. de conduire le projet. D’autre part, il doit permettre une validation du
projet, c’est–à–dire, vérifier que les règles de bonne conduite et les contraintes identifiées pré-
cédemment sont bien respectées.
F IG . 3.10: Évolution des instances du modèle de projet. Le modèle de projet sert de référence à la
conduite du projet. Il intègre les éléments issus des modèles de standard et de métier ainsi
que les objectifs et contraintes spécifiques au projet. En fonction de l’avancement du pro-
jet, les instances du projet évoluent jusqu’à représenter tout l’historique du projet de son
lancement à sa clôture.
Dans la pratique, on constate que les évolutions du projet se font à travers une représen-
tation du produit commune aux fonctions de l’entreprise. Chacune des fonctions (conception,
méthodes, qualité, etc.) a son propre point de vue sur le produit mais il est essentiel que tous
les partenaires partagent une vision commune du produit. Cette représentation du produit peut
être informelle ou, dans le cas de projets disposant de plus de moyens, être formalisée. Dans
le cas d’une formalisation, le modèle du produit peut être organisé selon une description fonc-
tionnelle et/ou organique. Cette représentation du produit commune aux différentes fonctions
de l’entreprise va évoluer au cours du projet et devenir de plus en plus proche du produit qui
sera finalement délivré. Il est de la responsabilité de chaque fonction de l’entreprise de s’adap-
ter à ces évolutions pour fournir un service adapté à la vision actuelle du produit.
L’utilisation d’un modèle commun (de produit et/ou de processus) permet de planifier
régulièrement des revues dans lesquelles sont impliqués l’ensemble des acteurs du projet. Au
cours de ces revues, les évolutions prévues (et donc à terme le produit ou ses processus) sont
présentées et soumises à (d’âpres) discussions. L’utilisation de revues pour le suivi de projet
n’est pas nouveau. L’aspect novateur réside plutôt dans la formalisation des éléments abordés
et des décisions prises au cours de la revue. Clairement, l’utilisation d’un modèle de projet ne
se substitue pas à la concertation et à une communication directe entre les acteurs du projet,
qui restent indispensables. L’utilisation du modèle de projet doit être considérée comme
une aide dans la gestion du projet qui permet de s’assurer d’une certaine conformité
face aux recommandations des standards de l’ingénierie système ainsi que du respect de
règles expertes issues du métier.
règles de fonctionnement internes et propres à l’entreprise. Ce sont ces pratiques que l’on
cherche à intégrer dans le modèle de projet.
Cette décomposition en modèle métier et modèle projet permet, à des acteurs précis,
de représenter leurs pratiques dans le contexte, plus général, du projet. On peut alors, sur
la base du modèle de projet, confirmer ou remettre en cause ces pratiques en considérant leur
intégration globale.
Dans un premier temps, les spécificités du projet sont donc progressivement introduites
dans des modèles intermédiaires jusqu’à obtention du modèle de projet (figure 3.11).
F IG . 3.11: Passage du modèle de métier au modèle de projet. Comme lors du passage vers le modèle
métier, cette étape passe par la transformation d’un modèle de référence, ici le modèle
métier, vers un modèle spécialisé, ici le modèle de projet. Lors de l’opération de transfor-
mation, les spécificités du projet sont introduites dans le modèle. Le passage au modèle de
projet a aussi pour objectif de préparer le suivi effectif du projet.
Le modèle de projet diffère aussi du modèle métier par sa nature applicative. C’est sur la
base du modèle de projet que se fera le suivi du projet et c’est pourquoi, au lancement d’un
projet, les intervenants doivent disposer :
– des objectifs et contraintes du projet en termes d’exigences,
On voit ici qu’il est nécessaire de disposer d’exigences formalisées avant de commencer
la modélisation. Un premier traitement des exigences a donc été réalisé avant la modélisation
du projet.
Le début effectif du projet, qui va comprendre entres autres des étapes de définition de la
cible et des moyens alloués au projet, est donc dissocié de la modélisation du projet dans ses
toutes premières phases. On ne peut modéliser un projet que sous réserve d’avoir au préalable
formalisé les concepts qui le constitueront, c’est pourquoi la modélisation des projets ne peut
se faire de manière précoce et doit résulter d’un travail de compréhension du projet, de ses
objectifs et de ses contraintes.
les exigences du projet : ce sont des exigences non–fonctionnelles qui décrivent plus le pro-
cessus de développement que le système lui–même. Par exemple :
– les délais,
– le coût,
– certains produits contributeurs (par exemple les manuels).
Ces exigences, une fois identifiées, seront introduites dans le modèle comme les exigences
initiales du projet et liées au bloc de construction de la couche supérieure. L’application des
processus d’IS consistera alors à transformer ces exigences initiales en solutions logiques,
solutions physiques puis, enfin, système.
Une des questions principales posées par l’utilisation des modèles de projet est celle de
leur validité et leur vérification. La section 4.2 sera d’ailleurs entièrement consacrée à cette
question.
contributeur (sous la responsabilité de l’équipe 2) étant inclus dans celui du produit princi-
pal (équipe 1) il est difficile d’établir des responsabilités simples vis–à–vis des modèles. Si
l’équipe 1 est nommée responsable du modèle de projet du produit contributeur, elle va em-
piéter sur le domaine de l’équipe 2. Inversement si l’équipe 2 est responsable, elle va modifier
indirectement le modèle du produit principal sous la responsabilité de l’équipe 1.
3.6 Conclusion
Les propositions de ce chapitre explicitent la démarche de spécialisation du modèle géné-
rique vers le modèle projet. Cette démarche est une démarche d’enrichissement pas à pas du
modèle générique à partir des normes métiers puis des choix projets. Nous avons aussi, mis en
évidence les opérations d’ajout, de spécialisation et d’affinage valables pour les deux étapes
de la spécialisation : métier et projet.
Pour résumer, notre conception du problème repose sur les éléments suivants :
– maîtriser les processus décrits par les normes d’ingénierie système permet de répondre
à de nombreux problèmes actuels,
– pour maîtriser ces processus, il est nécessaire de modéliser les projets de l’entreprise,
– cette modélisation est possible grâce à des modèles formalisés spécifiques au métier du
projet,
– ces modèles spécifiques peuvent être construits à partir du modèle générique d’une
norme d’IS qui permet de s’assurer de la conformité au standard et ainsi de contrôler
l’évolution du projet.
En définissant une démarche de construction du modèle de projet nous fournissons :
– une méthode d’application pratique des normes d’IS,
– un moyen de les adapter aux différents niveaux du projet,
– un moyen de faciliter la certification de la conformité des processus du projet par rapport
au standard,
– la possibilité de définir des éléments de modélisation réutilisables sur des projets simi-
laires.
Nous rendons ainsi opérables les processus décrits dans les grandes normes d’ingénierie sys-
tème. Nous espérons par ce biais donner les moyens aux entreprises de mieux suivre et organi-
ser leurs projets en diminuant les risques d’erreurs liées aux interconnexions entre processus.
René Descartes
4.1 Introduction
Dans les chapitres précédents, nous avons montré :
– que la formalisation des normes d’ingénierie système est possible,
– que les processus qu’elles décrivent peuvent être adaptés à leur contexte d’application
par une spécialisation des modèles.
En faisant cela, nous avons défini une démarche d’ingénierie originale qui répond aux manques
de formalisation actuels dans l’organisation des projets.
Il s’agit maintenant d’organiser des réflexions conjointes à cette démarche pour la rendre
pleinement opérationnelle. Pour qu’elle soit, un jour, appliquée avec succès dans le monde
industriel, il est nécessaire de venir la compléter par des outils et par des réflexions qui favo-
riseront sa mise en œuvre.
137
4.2 Validation et vérification des modèles de processus
Dans cette optique, nous avons organisé nos réflexions autour de trois questions majeures :
– la question de la validité des modèles : comment s’assurer de la cohérence de ce que
l’on modélise ?
– la question de la mise en application : qu’arrive–t–il lors du passage d’un modèle abstrait
de processus à sa mise en œuvre concrète ?
– la question des améliorations possibles : peut–on faire évoluer la méthode vers une
réelle ingénierie système dirigée par les modèles ?
Chacun de ces axes sera abordé dans ce chapitre. La première section sera consacrée à la
validité des modèles : validité des modèles en tant qu’entités propres et validité des relations
inter–modèles. La seconde section illustrera l’application de cette méthodologie dans le cadre
d’un projet universitaire. Il illustrera comment peut être mise en œuvre l’activité d’ingénierie
système et les avantages de cette méthodologie sur le suivi de projet. Enfin, la dernière section
donnera des pistes d’amélioration de la méthodologie pour la faire tendre vers une ingénierie
système guidée par les modèles. Nous montrerons que cette méthodologie peut être employée
non seulement en vue d’un suivi de projet mais qu’elle peut aussi être utilisée dans les phases
préliminaires des projets. Elle peut servir de base à une identification précoce des besoins en
langages de modélisation, en transformations de langages et être à la base du développement
d’outils support du projet.
Dans le cadre de nos travaux, nous nous sommes limités à l’étude de la validation de
modèles avec pour objectifs :
La construction d’un modèle est un processus délicat : des erreurs ou des inconsistances
peuvent être introduites lors de sa construction et éventuellement se reporter dans le mo-
dèle suivant. L’introduction d’une erreur est d’autant plus facile que les éditeurs actuels ne
permettent ni de s’assurer de la sémantique du modèle, ni même de sa conformité au méta–
modèle.
Il est tout à fait possible de construire un modèle ne respectant pas son méta–modèle.
Cette conformité au méta–modèle est un premier point de la validation. Or, même conforme
à son méta–modèle, un modèle peut être incohérent et donner représentation incomplète ou
absurde. Dans le cas de SPEM, le modèle d’une seule activité utilisant et produisant le même
produit de travail est incohérent. Soit le produit de travail existe déjà et il n’est pas nécessaire
de réaliser l’activité. Soit l’activité ne pourra jamais être réalisée en l’absence du produit de
travail. En revanche, un tel modèle modèle est bien conforme au SPEM !
On complète donc la validation de la conformité au métamodèle par une vérification de
propriétés qui assureront la cohérence du modèle.
On a vu dans la section 2.2.2 que l’IDM repose sur la relation de conformité d’un modèle
à son méta–modèle.
En pratique cependant, garantir cette conformité n’a rien d’évident. Les éditeurs actuels
n’incluent généralement pas une vérification exhaustive de la conformité des modèles créés.
C’est d’autant plus vrai dans le cas de SPEM dont l’OMG a défini la syntaxe abstraite mais
dont personne n’a défini de syntaxe concrète. Ce méta–modèle est couvert par peu d’éditeurs
et, lorsqu’il l’est, est considéré en tant que profil UML et non comme méta–modèle à part
entière.
Déduire la conformité d’un modèle à son méta-modèle se fait en vérifiant les propriétés
énoncées dans le méta–modèle. Celles–ci peuvent être déduites du méta–modèle par analyse
des diagrammes et des contraintes OCL qui le composent ou ajoutées aux méta–modèles,
comme dans [SV06] pour UML et [Com05, CCCC06b] pour SPEM, pour améliorer la cohé-
rence des modèles exprimés.
La figure 4.1 illustre comment des règles peuvent être déduites des diagrammes du méta–
modèle. On peut identifier, par exemple, la règle suivante : « un processus ne peut être gou-
verné que par un cycle de vie maximum ».
Ces règles sont complétées par des contraintes OCL comme, par exemple, la contrainte
ci–dessous qui exprime qu’un cycle de vie contient uniquement des phases.
context L i f e c y c l e inv :
s e l f . subWork−> f o r a l l ( ph | ph . o c l I s K i n d O f ( P h a s e ) )
La conformité au méta–modèle vérifie qu’un modèle est correctement écrit sans s’intéres-
ser à la cohérence de ce qu’il exprime. En général, la cohérence d’un modèle est vérifiée en
s’assurant de la présence de propriétés dans le modèle. Ces propriétés sont exprimées sous
forme de règles de cohérence.
Combemale [CCCC06a] identifie quatre types de propriétés pouvant être définies pour des
processus :
propriétés structurelles : elles permettent de structurer sémantiquement le procédé.
Exemple : « La réalisation d’une activité ne peut pas être assistée par le rôle qui en a
la responsabilité » ;
propriétés de causalité : elles expriment la temporalité et donc la dynamique sans toutefois
quantifier le temps.
Exemple : « Pour chaque itération, les activités liées aux exigences doivent être réali-
sées avant celles liées à la conception » ;
propriétés temps réel : elles offrent une temporalité quantifiée au sein du procédé.
Exemple : « Le temps compris entre la fin de rédaction du cahier des charges et la
livraison du premier prototype ne peut excéder 3 mois » ;
propriétés opérationnelles : elles permettent l’expression de la sémantique opérationnelle
au sein du modèle de procédé.
Exemple : « Au démarrage d’une phase, chacune des (instances des) activités doit être
affectée à (une instance d’) un rôle ».
Limitations
Lors de la validation d’un modèle de processus, on doit prendre en compte les limitations
suivantes :
1. on ne peut pas changer le point de vue pris par le méta–modèle, i.e. le modifier pour
faire apparaître de nouvelles propriétés ;
2. on ne peut valider que le modèle du processus et non pas le processus qui sera effecti-
vement réalisé.
Dans le cas des processus, la validation est plus délicate que dans le cas des logiciels. Pour
ces derniers, les modèles sont très proches du code et l’essentiel des informations nécessaires
sont présentes dans un modèle. Dans le cas des processus, les instances sont plus éloignées
du modèle. Le piège serait de vouloir descendre au niveau de la planification des tâches pour
laquelle le méta–modèle n’est pas adapté. Il serait nécessaire d’ajouter de nouvelle propriétés
telles que dates de début, dates de fin, ressources consommées, etc. Il faut donc se contenter
de la vision haut niveau du méta–modèle.
Une autre particularité des processus est que l’on ne peut vérifier leurs propriétés qu’une
fois qu’ils sont achevés. Par exemple, comment certifier a priori que les propriétés temps réel
seront bien respectées ? Les contraintes exprimées dans le modèle de processus ne sont que
des indications quant à la manière de mener le projet à bien. Un projet étant soumis à des
aléas, rien ne peut certifier que les contraintes ne seront pas violées et que le déroulement du
projet sera en tout point identique à celui prévu.
Il est important de distinguer la validation du modèle de processus et la validation du
processus lui–même. Prenons l’exemple de la propriété de causalité exprimée ci–dessus. La
figure 4.2 donne trois modèles pour lesquels cette propriété doit être vérifiée. Dans le cas de
la figure 4.2(a), la propriété est vérifiée sur le modèle du fait de la relation de précédence entre
les actions. La relation devrait être vérifiée dans le processus correspondant.
Sur la figure 4.2(b), la relation de précédence est inversée : la propriété n’est donc pas
vérifiée pour le modèle et ne devrait pas non plus l’être dans le processus. Dans le cas de la
figure 4.2(c), aucun ordre de réalisation n’est précisé : la propriété n’est donc pas vérifiée dans
le modèle car il n’exprime pas l’obligation pour les activités liées aux exigences d’être réali-
sées avant celles liées à la conception. En revanche, on ne peut se prononcer sur la présence
ou non de cette propriété dans le processus car l’ordre de réalisation est a priori indéterminé.
Une validation exhaustive d’un modèle de processus demanderait de pouvoir intégrer dans
les règles des éléments provenant des trois couches suivantes : méta–modèle, modèle et ins-
tances. Or les instances sont justement indéterminées avant exécution du processus. On se
F IG . 4.2: Exemples de modèles pour la vérification de propriété de causalité. Les activités notées E
sont liées aux exigences et les activités notées C sont liées à la conception.
contentera donc de travailler avec des règles construites à partir d’éléments du modèle et du
méta–modèle.
Même en se limitant à la validation des modèles, sans pousser jusqu’à la validation des
processus eux–mêmes, une démarche de validation est riche.
Contrairement à la conception de systèmes, pour laquelle l’aspect temporel est essentiel,
on ne s’intéresse guère aux dates effectives de réalisation des activités. La philosophie de l’IS
est plus orientée autour de l’obtention d’une cohérence des processus. Ce sont les propriétés
garantissant cette cohérence et le bon déroulement d’un projet que nous rechercherons dans
les modèles.
Prenons par exemple, le concept de vérification qui est au centre de l’IS. Dans les proces-
sus d’IS, des étapes de vérification sont régulièrement introduites et permettent de revenir, si
besoin est, sur des étapes du processus. Une bonne propriété d’un modèle de processus d’IS
pourrait être : « il doit être possible de revenir sur chacune des étapes du processus ». No-
tons que cette propriété est à l’opposée de ce qui peut être exprimé pour un système car elle
demande d’introduire des cycles.
Sur l’exemple 4.3(a) de la figure 4.3, cette propriété n’est pas vérifiée. Une fois passée
l’étape de spécification il n’est plus possible d’y revenir. En revanche, sur le modèle 4.3(b) il
est possible de remettre en cause des spécifications avant de recommencer la conception.
(a) Propriété d’accessibilité pour la validation non vé- (b) Propriété d’accessibilité pour la validation véri-
rifiée fiée
– D’une part en vérifiant qu’il correspond bien à son méta–modèle, i.e. qu’il est bien
exprimé.
– D’autre part en vérifiant que des propriétés définies par l’utilisateur sont bien présentes
dans le modèle, i.e. qu’il exprime bien ce que l’on désire.
L’utilisation de propriétés dans les processus, qu’il s’agisse des processus d’IS ou de processus
d’entreprise, n’a pas été explorée. Il serait intéressant de pousser cette démarche en l’appli-
quant notamment à la correction ou à la rédaction des normes d’IS ou des grands processus
d’entreprise.
On a vu, dans la section 3.4.3, que le nombre d’opérations permises pour passer d’un
modèle à l’autre était limité, cette limitation est due à la nécessité de conserver une cohé-
rence entre les modèles. Les propriétés inter–modèles vont s’assurer du respect de ces règles
élémentaires. Leur rôle ne s’arrête cependant pas là ; elles permettent aussi de vérifier des
La figure 4.4 illustre une propriété simple entre modèles : « Toutes les activités du modèle
original doivent être présentes dans le modèle modifié ». Dans cet exemple, on observe que
l’activité deux du modèle initial n’est plus présente dans le modèle modifié et donc que le
modèle modifié n’est pas conforme à nos attentes.
La figure 4.5 illustre une propriété plus complexe. Sur cette figure, le diagramme 4.5(a)
représente les processus avant transformation et les diagrammes 4.5(b) et 4.5(d) l’état de ce
processus après transformation. Ils sont identiques dans les deux cas de figure présentés. Dans
chacun d’entre eux, les opérations élémentaires ont été remplacées par des activités. L’ordre
de réalisation reste inchangé sur ce diagramme. On constate cependant que le comportement
global peut être affecté par les activités qui ont été affinées. Dans le premier cas, l’activité 1
sur le diagramme 4.5(c) se compose uniquement d’opérations élémentaires. Le comportement
global est donc inchangé. En revanche, sur le diagramme 4.5(e), on constate que des appels
aux activités 2 et 3 sont effectués. En conséquence, non seulement ces activités se dérouleront
en parallèle au lieu de se succéder, mais elles seront effectuées deux fois car elles font encore
partie du processus principal.
Une règle empêchant un tel comportement peut être : « les CallBehavior ne peuvent être
faits que pour les subWork du parentWork du WorkDefinition considéré ». En d’autres termes,
on limite les appels aux processus de même niveau ou de niveaux inférieurs.
(d) Processus dérivé (cas 2) (e) Activité affinée de manière incorrecte (cas 2)
F IG . 4.5: Exemple de modification du comportement global par affinage des activités. On observe
deux cas de processus issus du même processus original. Dans le premier cas, l’activité 1
se compose uniquement de « step » et ne vient pas modifier le déroulement prévu. Dans
le second cas, elle appelle les activités 2 et 3 qui ne sont plus réalisées en série mais en
parallèle puis ré–appliquées une fois l’activité 1 terminée.
en effet difficile de réaliser cette activité manuellement étant donné le nombre de règles et la
complexité des modèles manipulés. Dans cette section, nous montrerons comment formaliser
ces règles de cohérence et les vérifier de manière automatique.
Les activités orientées validation de modèles sont essentiellement liées à UML. C’est au-
tour de ce langage que se focalise l’essentiel des activités de recherche dans ce domaine.
Nous présenterons, dans un premier temps, le principe de la vérification des modèles UML
puis nous montrerons comment nous avons adapté l’une de ces techniques à la vérification de
modèles de processus.
Les diagrammes de la figure 4.6 illustrent les principes de la vérification des modèles
UML. Le formalisme UML étant graphique, il est nécessaire de convertir les modèles UML en
modèles formels basés sur un langage formel. A ce stade, on distingue l’encodage des modèles
et la transformation de modèles (diagramme 4.6(a)). Lors d’un encodage, l’intégralité des
informations sont transmises au modèle formel alors qu’une transformation peut être source
d’une perte d’information.
Une fois formalisé, il est possible d’appliquer des contraintes formelles sur le modèle.
Ces contraintes formelles sont une formalisation des règles exprimées dans les sections pré-
cédentes. Comme on l’a vu, on distingue deux types de règles de cohérences : les règles de
cohérence induites par le méta–modèle et les règles de cohérence exprimées par le langage
formel. Cette distinction est représentée figure 4.6(b).
Si de nombreuse approches ont été développées et testées pour les modèles UML (che-
cking, monitoring, construction ou analyse [HS04]) celles destinées à la vérification des pro-
cessus sont beaucoup plus réduites. Si le processus est pris en compte, c’est généralement pour
mieux valider le modèle UML qu’il génère ; la représentation du processus de développement
guide la validation [BBLC+ 03, LMO05].
En ce qui concerne la validation des modèles de processus même, il faut se rapporter aux
travaux de Benoît Combemale [Com05, CCCC06a, CCCC06b] qui définit certains types de
propriétés des processus et explore quelques pistes de validation.
En ce qui nous concerne, nous avons choisi d’adapter une technique de vérification de
modèles UML à la vérification de modèles de processus. Nous nous sommes inspirés des
travaux de Hugues Malgouyres sur la vérification de la cohérence [Mal06, MM06].
Ses travaux reposent sur l’utilisation de la programmation logique comme langage for-
mel utilisé lors de la validation. L’originalité de son approche est de transformer le méta–
modèle UML en faits et règles logiques avant d’inclure dans la base de faits les faits et règles
correspondants au modèle à vérifier. L’intérêt de son approche est que son principe peut être
étendu à d’autres méta–modèles. En introduisant le méta–modèle SPEM, ou plus précisément
le méta–modèle UML avec son profile SPEM, en lieu et place du méta–modèle UML on dis-
pose d’un outil de validation logique de modèles de processus. La documentation utilisateur
de cet outil est donnée dans les annexes de ce mémoire.
La figure 4.7 illustre les principes de la vérification d’un modèle de processus et d’une
vérification inter–processus. Dans le cas de la vérification d’un processus, représentée fi-
gure 4.7(a), on distingue quatre étapes :
1. transformation du méta–modèle SPEM et création de la base de faits ;
2. ajout à la base des faits du modèle à vérifier ;
3. rédaction des règles de cohérence en programmation logique ;
4. lancement du moteur d’inférence pour le diagnostic.
Toutes ces étapes sont automatisées à l’exception de la troisième qui nécessite l’intervention
de l’utilisateur. La création de la base de faits à partir du modèle et du méta–modèle se fait en
fournissant les fichiers correspondants à un programme dédié et le diagnostic est obtenu en
invoquant le moteur XSB [XSB07, SSW+ 06a, SSW+ 06b].
Dans le cas d’une vérification inter–processus, la structure générale est conservée mais
l’étape 2′ est introduite (figure 4.7(b)). En fait, dans ce cas de figure, les deux modèles sont
introduits successivement dans la base de faits en précisant pour chaque élément s’il provient
du modèle 1 ou du modèle 2. Comme dans le cas précédent, l’utilisateur va rédiger des règles
de cohérence qui porteront, cette fois, sur les relations existant entre les modèles concernés.
La formalisation des règles de cohérence se fait en exprimant en XSB Prolog les règles
en langage naturel identifiées jusqu’alors. D’un point de vue pratique, il est souvent plus
intéressant de détecter la présence d’incohérences dans les modèles plutôt que de lister tous
les éléments valides.
Si l’on prend comme exemples les règles de cohérence exprimées précédemment.
1. « Il doit être possible de revenir sur chacune des étapes du processus. »
2. « Toutes les activités du modèle original doivent être présentes dans le modèle modifié. »
3. « Les CallBehavior ne peuvent être faits que pour les subWork du parentWork du Work-
Definition considéré. »
On peut en déduire des règles d’incohérence à partir desquelles seront identifiés les éléments
non–conformes. Dans notre cas, on obtient les règles ci–dessous.
1. « Une activité A est non–vérifiable si elle peut atteindre une activité B alors que cette
activité B ne peut l’atteindre. »
2. « Une activité est manquante si elle est présente dans le modèle original et n’est pas
présente dans le modèle modifié. »
3. « Un travail réalise un CallBehavior incorrect si le travail appelé n’est pas un de ses
sous–travaux. »
Le tableau 4.1 donne les codes correspondants à ces deux règles. Dans ces exemples, tous les
prédicats utilisés ont été générés automatiquement à l’exception des prédicats « inModel » et
« reach ». Ils ont été déduits de l’analyse du méta–modèle lors de l’étape 1 (figure 4.7) de
la vérification de propriétés et permettent de retrouver les éléments correspondants aux faits
donnés par les modèles (étapes 2 et 2′ ). Les prédicats « inModel » et « reach »quant à eux sont
utilisés pour simplifier l’écriture du code et correspondent à des prédicats complémentaires
écrits sur la base des prédicats générés automatiquement. Dans ces exemples, « inModel » est
vrai si l’élément est inclus dans le modèle et « reach » est vrai s’il existe un chemin entre les
deux activités.
Les objectifs de cette application sont d’illustrer comment la méthode que nous proposons
peut être mise en place et quels sont ses apports. Nous ne chercherons pas à mettre en avant
les transformations nécessaires à l’adaptation aux métiers et aux projets. Ces adaptations ainsi
que leurs intégration dans les modèles ayant déjà été présentées dans ce mémoire. L’objectif
ici est plutôt de montrer comment l’application des processus va se répercuter dans un projet.
Cette étude s’est déroulée dans le cadre d’un module d’ouverture de l’INSA de Toulouse
intitulé « Conception d’un modèle réduit en matériaux composites ».
Un module d’ouverture est un enseignement ouvert aux étudiants de toutes spécialités qui
souhaitent découvrir une matière sans pour autant se spécialiser dans celle–ci. Ces modules
ont pour finalité de consolider la culture générale des étudiants et de leur permettre d’acquérir
des compétences tout en restant accessibles à toutes les filières.
Le module dans lequel nous intervenons propose à 24 étudiants, divisés en 4 groupes, de
construire en 40 heures un modèle réduit de voilier télécommandé de classe 1 m. L’objectif
pédagogique de cet enseignement est de donner une initiation par l’exemple de l’ingénierie
système.
On attend des étudiants qu’ils livrent à la fin du module 4 bateaux complets constitués
chacun d’une coque, d’appendice et de gréement. Des rapports techniques et des plans sont
demandés tout au long du projet.
Pour arriver à ce résultat, les étudiants sont amenés à résoudre des problèmes d’analyse
du besoin, d’analyse fonctionnelle, d’intégration multi-technologie, de collaborations dans un
contexte de partenaires multiples, etc. Ils sont aidés par des introductions à la navigation et
aux règles de course à la voile et conseillés au cours de leur projet.
La modélisation et le suivi des processus tels que définis dans cette thèse ne sont pas faits
par les étudiants mais par les intervenants. Le temps de travail des étudiants ne leur permettrait
pas de mener cette étude de bout en bout. De nombreuses tâches sont préparées ou faites par
les intervenants pour permettre la réalisation des bateaux dans la limite de 40 h de travail par
étudiant. Les techniques décrites dans cette thèse sont donc employées par les intervenants
pour les aider dans leur encadrement des équipes d’étudiants.
L’objectif pédagogique du module est de donner une illustration par l’exemple de l’IS.
Pour cela, nous avons choisi de nous appuyer sur les recommandations de l’EIA-632. Pour
illustrer ses concepts tout en intégrant les spécificités du projet, une spécialisation des proces-
sus est faite au travers des modèles de standard, de métier et de projet.
Modèle de standard
Modèle métier
Modèle de projet
On considère que les spécificités du projet par rapport au métier viennent du fait :
– que l’on cherche à réaliser quatre bateaux en parallèle ;
– que l’on se place dans le cadre d’un module d’ouverture.
Les contraintes d’enseignement font qu’il est nécessaire de prendre en compte des contraintes
de temps (40h par étudiant), de ressources ou d’approvisionnement spécifiques. Ces contraintes
entraînent des changements dans le séquencement de la construction du voilier. Pour la construc-
tion d’un seul bateau sans contraintes de temps, comme c’est généralement le cas pour les
modélistes, les éléments du bateau sont réalisés un à un et les matériaux acquis au fur et à
mesure sans contraintes d’approvisionnement. Dans le cadre d’un module d’ouverture, il est
nécessaire d’acheter les matériaux à l’avance pour terminer la construction dans les temps. Le
partage des ressources entre les différentes équipes oblige aussi à modifier l’ordre de réalisa-
tion. Les éléments sont construits en fonction de la disponibilité des ressources et non plus
selon un ordre d’assemblage dicté par l’architecture du système.
Cependant, du point de vue du modèle de projet, ces contraintes sont vues comme des
exigences et n’entraînent pas de changements significatifs dans le modèle de projet. En re-
vanche, le déroulement du projet est affecté par des contraintes différentes. Si deux projets
avec des contraintes distinctes ont des modèles identiques, leurs instances seront, par contre,
différentes.
Comme pour le modèle de métier, les adaptations sont limitées et le modèle de projet reste
proche du modèle initial.
Les adaptations des modèles de métier et de projet par rapport au modèle de standard
sont limitées. Cependant, dans la mesure où l’on cherche à voir comment les processus d’IS
s’appliquent, il est intéressant de travailler avec des processus proches des recommandations
initiales.
L’application de ces processus à un projet a permis :
1. de suivre l’avancement du projet sur la base d’une formalisation de ses processus ;
2. de mettre en avant le fonctionnement des processus de l’EIA-632.
Suivi du projet
L’ingénierie du système est facilitée par l’utilisation d’un modèle référent. La formalisa-
tion des processus aide dans le suivi du projet et sa structuration.
Pour chaque phase du cycle de vie, un rapport résumant les solutions choisies et les véri-
fications effectuées est demandé aux étudiants. On voit, au travers de l’évolution de la repré-
sentation du système, apparaître les différentes couches des blocs de construction. Cette évo-
lution est présentée à la figure 4.8. Elle montre l’état de la structure d’un voilier aux phases de
pré–définition du système, définition du système, conception des sous–systèmes et conception
détaillée.
Pour simplifier la représentation, on considère que les quatre bateaux sont identiques.
Les schémas représentent une structure du système étendue puisqu’elle inclut les produits
contributeurs en plus des produits dédiés aux fonctions opérationnelles du système. On peut y
trouver des produits contributeurs de réalisation (moules, planches à gabarit, machine à laize),
de mise à disposition (ber ou caisse à voile), de test (bac à jauge) et de formation (règles de
course).
On constate que la structure définie lors de la définition du pré–système est identique à
celle de la définition du système. Si la structure est identique, la connaissance du système
s’est affinée entre les deux phases et passe du concept à un début de définition technique.
Par la suite, on voit apparaître les éléments correspondants aux blocs de construction de la
seconde couche puis de la troisième couche ou inférieure. La figure 4.9 montre la décomposi-
tion obtenue avant intégration, test et validation des produits finaux.
Exemple du passe–pont Cet exemple illustre le cas dans lequel la définition d’un sous–
système va amener à revoir non seulement les spécifications du système dont il dépend mais
(c) PBS du voilier après conception des sous–systèmes (d) PBS du voilier après conception détaillée
F IG . 4.8: Évolution du PBS du voilier au cours du cycle de vie d’ingénierie. Les PBS représentés sont étendus et incluent les composants du système
aussi bien que les produits contributeurs. Dans les deux cas, on distingue les éléments sur lesquels seront ré–appliqués les processus
d’ingénierie des éléments unitaires implémentés, existants ou acquis.
158
Samuel Rochet
Il peut arriver que le moule de puits de mât réalisé par les étudiants soit trop court. Dans ce
cas, le pont, qui vient effleurer le puits de mât, va être abaissé par rapport à ce qui était prévu.
Pour éviter un écart trop important entre le pont et la baume, la position de la baume doit
être abaissée. La hauteur de voile étant fixée par la jauge, la seule solution pour compenser la
différence de hauteur est de scier le mât.
En résumé, le processus d’intégration, test et évaluation permet de modifier les spécifica-
tions d’un sous–système pour rattraper les défaillances d’un autre sous–système.
Ce fonctionnement n’est bien entendu pas systématique et la plupart du temps l’élément
défaillant est remplacé. Cependant, dans certains cas, il est plus intéressant de modifier des
spécifications que de modifier ou reconstruire un élément.
Application de l’EIA-632
Ce comportement correspond bien à l’analyse qui a été faite de l’EIA-632 et a déjà été
identifiée à la section 2.4.4. En revanche, l’application des processus à un projet a permis
d’identifier un défaut dans le concept de système proposé par l’EIA-632.
On peut remarquer sur la structure de système de la figure 4.9 que deux types de produits
contributeurs sont employés :
produit contributeur classique : attaché à un élément du système ;
produit contributeur à usage multiple : attaché à plusieurs éléments du système.
F IG . 4.10: Concept de structure de système pour systèmes à usages multiples. La multiplicité des rela-
tions entre produit final et sous–systèmes passe à 2..∗ , 1..∗ (originalement à 2..∗ , 1 dans
la figure 2.8) pour permettre l’ingénierie de produits destinés à plusieurs produits finaux.
4.4.1 Contexte
Les techniques d’ingénierie de modèles, traditionnellement liées au seul domaine informa-
tique, sont maintenant étendues au domaine des systèmes. Les industriels ont compris que le
développement de systèmes, qui nécessite l’utilisation de langages de modélisation multiples
doit être encadré. Il est nécessaire de lier les modèles de manière à conserver leur cohérence
et permettre leur validation. Des processus de développement doivent alors reposer sur des
opérations de transformation de modèles guidées par les processus de conception.
Le projet TOPCASED [FG05, CLCF+ 05, Gau06] (Toolkit in OPensource for Critical Ap-
plication & SystEms Development) est le projet le plus actif actuellement. Il regroupe de
nombreux industriels dont Airbus, Astrium, le CNES, Siemens VDO, Thales ou Freescale
avec des PME et des laboratoires de la région toulousaine. Son objectif est le développement
d’un ensemble d’outils open source de génie système et logiciel. Ce projet doit permettre de
créer, de vérifier et de transformer l’ensemble des modèles intervenant dans le développement
d’un système.
Les langages envisagés s’adressent aux processus de développement du système, à son
architecture ou à son fonctionnement. On peut citer par exemple :
– Scade/LUSTRE ; – HOOD ;
– MatLab/Simulink ; – UML ;
– ESTEREL ; – SysML ;
– SDL ; – AADL ;
– l’analyse structurée ; – EAST-ADL ;
– des architectures temps réel – langages expérimentaux ;
(ARINC653, bare hardware) ; – autres.
– machines de Mealy ;
Pour notre part, nous nous contenterons de mettre en avant le rôle des processus de pro-
jet sur les modèles manipulés. Nous montrerons notamment qu’un modèle des processus
de projet peut aider à l’identification des modèles requis pour le développement d’un
système ainsi qu’à l’identification des transformations entre ces modèles.
4.4.2 Problématique
L’environnement de développement TOPCASED doit permettre la manipulation de mo-
dèles associés à des éléments du système tout au long des étapes de son développement.
L’utilisation pratique d’un tel environnement demande :
– de connaître les éléments constitutifs du système ;
En supposant qu’elles soient disponibles, ces informations peuvent être reportées sur un ta-
bleau équivalent au tableau 4.2.
Il ne serait pas possible de créer toutes les transformations ou même d’intégrer tous les
langages existants. D’autre part, il est inutile de proposer des opérations de transformations
de modèles si celles–ci n’ont aucun sens. Par exemple, dans le cas du développement d’un
composant électronique un passage de SysML/UML vers VHDL puis vers FPGA est cohérent.
En revanche, il est difficile d’envisager un passage direct de SysML/UML en FPGA.
Les langages et les transformations traités par l’environnement de développement doivent
donc être étudiés soigneusement. En effet, chaque intégration de langage ou de transforma-
tion demande un effort de développement. En outre, l’absence d’un langage ou d’une trans-
formation dans l’environnement remet en cause la cohérence du développement. La chaine de
modèles serait brisée.
Identifier les langages qui seront manipulés et les transformations de modèles nécessaires
pose les difficultés suivantes :
– Comment identifier a priori les composants du système alors qu’ils sont déterminés au
cours du projet ?
– Comment en déduire les langages adaptés ?
– Quelles sont les opérations de transformation nécessaires ?
Par la suite, nous verrons comment la formalisation des processus du projet peut aider à
identifier de manière précoce les langages et les transformations nécessaires.
Au cours du développement d’un système, plusieurs langages peuvent être utilisés pour
décrire les modèles du système. Ces modèles sont utilisés pour décrire le système et ses exi-
gences vis–à–vis de ses produits contributeurs ou sous–systèmes. Chaque modèle décrit un
point de vue particulier du système.
A chacun de ces stades, le système est représenté par plusieurs modèles qui vont se com-
pléter pour couvrir entièrement le besoin de représentation du système. [Gui07] identifie les
axes suivants dans le recouvrement des modèles :
multi–domaines : les modèles sont différents selon le domaine considéré (électronique, mé-
canique, achats. . .) ;
multi–échelles : des langages sont adaptés à la modélisation d’éléments dans une échelle
donnée de temps, de dimension, etc. ;
descriptif/prédictifs : modèles dédiés à la communication ou à la simulation ;
multi–abstractions : l’expression de points de vues spécifiques sur le système ou mise en
relief de certaines propriétés demande des langages spécifiques.
Un même système est donc représenté par plusieurs modèles utilisés en fonction de la
phase du cycle de vie et des besoins de modélisation en un instant donné.
Les modèles associés aux descriptions du système peuvent évoluer selon la phase du cycle
de vie. Par exemple, on peut utiliser un langage pour décrire la solution logique en phase de
pré–conception, puis utiliser un second langage pour décrire plus en détail cette même solu-
tion dans la phase de conception. L’ensemble des modèles associé à une description évolue
donc avec le cycle de vie du système.
La liste des langages est déduite des modèles utilisés lors du développement. Les transforma-
tions entre langages sont déduites par l’étude des relations entre modèles. Ces relations sont
dictées par l’enchaînement des activités de conception représentées dans le modèle de proces-
sus. D’une part, chaque modèle est lié à une représentation du système ou à une exigence (fi-
gure 4.12). D’autre part, les relations entre représentation système, représentation logique,
représentation de solution physique, représentation de solution de conception et exigences
sont connues (figure 2.9). Les besoins de transformation de modèle peuvent être obtenus par
l’étude des relations entre ces éléments.
F IG . 4.12: Langages et système. Au cours de son développement, un système passe par plusieurs repré-
sentations : solution logique, solution physique et solution de conception. Un ou plusieurs
modèles spécifiques sont associés à chacune de ces représentations ainsi qu’aux exigences
du système. Ces modèles sont exprimés dans des langages dédiés.
On sait, par exemple, que la solution physique est source de la solution de conception.
L’environnement de développement doit donc permettre la transformation des langages de
description de la solution physique en langages de description de la solution de conception.
Les langages utilisés aux différents stades du développement peuvent être identiques. On
peut utiliser, par exemple, le ou les mêmes langages pour la description de la solution physique
et pour la solution de conception mais à des niveaux de détails différents.
Dans le cas d’une spécification par modèle, les modèles de spécification (bloc de construc-
tion supérieur) et d’exigence client (bloc de construction inférieur) représentent le même objet.
Il s’agit donc du même langage. En revanche, il est possible que l’équipe de développement
du sous–système utilise d’autres formalismes lors de son traitement des exigences (exigences
client dans un formalisme et exigences techniques dans un autre).
Le modèle de spécification d’un sous–système peut être un sous–ensemble du modèle de
solution de conception.
Jusqu’à présent, les processus de transformation de modèles n’avaient fait l’objet que
d’études limitées à un métier particulier (électronique [Gui07], systèmes embarqués temps
réel [SV07], etc.) et pour des cycles de développement figés. La formalisation des processus
d’IS, couplée à la formalisation de la structure du système permet de lier fortement modèles
et processus de développement.
Plus que cela, dans la mesure où notre proposition est d’adapter les représentations aux
besoins métier et projet, le choix des processus de développement et des langages est laissé
libre. C’est un premier pas vers une réflexion globale sur les relations et interconnexions
entre systèmes et processus. De plus, les adaptations étant locales aux blocs de construction,
4.4 Extension : identification précoce des besoins pour une conception système orientée modèles
F IG . 4.13: Modèles associés à un système dans un bloc de construction. Un système doit être modélisé successivement par ses exigences, dans une
solution logique, une solution physique puis une solution de conception. L’environnement de développement du projet doit permettre la
transformation entre langages d’expression d’une représentation à l’autre.
Les spécifications d’un système étant considérées comme des exigences client dans les blocs de construction de rang inférieur, les modèles
de spécification deviennent modèles d’exigences dans la couche inférieure. Des transformations entre blocs de construction de couches
différentes sont identifiées par ce lien.
Pour un déroulement de projet optimal, des opérations de transformations de modèles doivent être possibles pour chacune des flèches
171
représentées.
4.4 Extension : identification précoce des besoins pour une conception système orientée modèles
l’identification des langages est adaptée selon les systèmes ou les sous–systèmes considé-
rés (figure 4.14). A terme, on devrait pouvoir assurer d’une cohérence globale des processus
et des systèmes.
L’identification des langages utilisés et des transformations peut se faire à partir d’une
modélisation du projet. Malheureusement disposer d’un modèle complet du projet lors des
phases amont n’est pas toujours possible. Nous verrons dans cette section comment modéliser
au plus tôt les informations des projets de manière à anticiper au maximum sur le développe-
ment des opérations de transformations de modèles.
Notre hypothèse ici est qu’il faut adapter la procédure d’identification en fonction du type
de conception rencontré par le projet. D’après [Var05] , on peut considérer trois types de
conception qui diffèrent selon les sources de connaissance disponibles (tableau 4.3). On re-
cense ainsi la conception routinière, la conception innovante et la conception créative.
Éléments Langages
du système Langage 1 Langage 2 Langage 3 Langage 4
Élément 1 ✘ ✘ ➠ L3
Élément 2 ✘
Élément 3 ✘ ➠ L2
Élément 4 ✘ ➠ L4
Élément 5 ✘
Élément 6 ✘
TAB . 4.2: Tableau illustratif du fonctionnement d’un atelier de manipulation de modèles. Chaque élé-
ment d’un système peut être représenté dans un ou plusieurs langages. Le symbole ✘ montre
que l’élément ou un point de vue sur cet élément peut être exprimé par le langage corres-
pondant. Dans le cas où des opérations de transformations de langages sont nécessaires,
le symbole ➠ X est utilisé. Il indique qu’un modèle dans le langage correspondant doit
pouvoir être transformé en un modèle du langage X. Dans cet exemple, les éléments 1 et 3
vont être associés à des modèles exprimés en langage 1. Des transformations de modèles du
langage 2 vers les langages 3 et 4 seront utilisées.
Type de Connaissance
conception de l’objectif du domaine de la démarche
Routinière oui oui oui
Innovante oui oui non
Créative oui non non
F IG . 4.14: Langages et cycle de vie du système. L’identification des langages et des opérations de
transformations de langages se déduit de l’étude du cycle de vie du système. L’étude des
modèles de représentation du système permet de dresser la liste des langages à utiliser. Les
interactions entre langages sont déduites de l’enchainement des phases du cycle de vie et
du séquencement des processus dans les phases du cycle de vie. Cette identification couvre
le bloc de construction du plus haut niveau jusqu’aux blocs de construction les plus bas.
Dans le cadre de notre problématique, chaque type de conception sera traité différemment.
ce bloc de construction terminée, les patrons des blocs de construction de couches inférieures
sont déterminés.
Le concepteur ne dispose plus d’une connaissance exhaustive en début de projet mais
d’une connaissance limitée à un bloc de construction et disponible juste avant le lancement de
ses processus.
4.4 Extension : identification précoce des besoins pour une conception système orientée modèles
F IG . 4.15: Patrons utilisé selon le type de conception. En conception routinière le patron couvre l’ensemble du projet.
En conception innovante un patron couvre uniquement les processus associés à un bloc de construction. Une fois la conception de bloc de
construction terminée, de nouveau patrons sont utilisés pour les blocs de construction de couche inférieure.
En conception créative, la faible connaissance du projet empêche l’emploi de patrons.
177
4.5 Conclusion
4.5 Conclusion
Ce chapitre est venu compléter les travaux théoriques présentés jusqu’alors selon trois
axes.
Dans la première section, nous avons non seulement donné à l’utilisateur les moyens de
s’assurer de la cohérence des modèles qu’il manipule mais aussi les moyens de s’assurer que
des règles de cohérence entre modèles distincts sont bien respectées. Le développement d’une
telle méthode et d’un outil de validation est l’une des contributions de nos travaux. La validité
des modèles de processus étant une thématique peu traitée et la validité des relations inter–
modèles, dans le cas des processus, n’ayant jusqu’alors pas été envisagée.
Dans la seconde section, nous nous sommes intéressés à l’application de notre méthodo-
logie à un projet concret. Cette application a permis de démontrer la pertinence de l’approche
tout en venant l’enrichir. On a pu notamment confronter notre approche aux problématiques
posées par le suivi d’un projet.
Enfin, dans la troisième section, nous avons proposé une extension de la démarche en
introduisant une notion de modèle de système propre au MDE. Nous montrons ainsi que
disposer d’une représentation conjointe des processus et de la structure du système permet
le développement de nouveaux modes de conception. L’adaptation que nous proposons peut
être à la base d’une application des concepts défendus par la démarche d’ingénierie système
guidée par les modèles.
Les systèmes conçus par l’Homme et fabriqués industriellement sont de plus en plus com-
plexes. Leur développement a donné lieu à l’émergence d’une discipline nouvelle : l’ingénie-
rie système qui a pour ambition d’élaborer les méthodes et les outils nécessaires à ces déve-
loppements. Des efforts de plus de cinquante ans ont permis d’élaborer de nombreuses normes
et recommandations donnant lieu à des outils de conception et de vérification. L’analyse que
nous faisons dans le chapitre 1 de notre présentation est que, si l’inventaire des besoins est par-
faitement rassemblé et si les processus à employer sont bien identifiés, la mise en œuvre reste
encore ouverte à l’improvisation. Notre idée est donc de profiter des acquis et de proposer une
méthodologie nouvelle basée sur :
– la formalisation d’un processus générique,
– une démarche d’adaptation aux spécificités métiers et projets,
– le développement d’outils pour la validation des processus formalisés et leurs mises en
œuvre effective.
Pour développer notre méthodologie, nous avons choisi de l’appliquer à un standard de
référence de l’ingénierie système : l’EIA-632. Notre première étape a été, partant des recom-
mandations textuelles de cette norme, de choisir un langage de modélisation, SPEM/UML, et
de construire un modèle formel de l’EIA-632. Ce modèle ainsi que la démarche de modéli-
sation qui a conduit à sa création sont présentés au chapitre 2 de cette thèse. Cette démarche
n’est cependant pas limitée à l’EIA-632 et, dans le cas où un autre des standards de l’ingénie-
rie système (IEEE 1220 ou l’ISO 15288) est employé comme référant, elle peut être utilisée
de la même manière pour construire un modèle générique des processus du projet quel que
soit le processus de référence considéré.
Si les processus génériques décrits dans les normes d’ingénierie système sont à la base de
la conduite et du suivi du projet, on sait, par les recommandations des normes elles–mêmes,
qu’il est nécessaire d’adapter ces processus à l’environnement du projet. Cette étape d’adapta-
tion, pourtant indispensable en pratique à l’application des processus, se fait actuellement de
manière désordonnée et incontrôlée. La seconde de nos contributions a été de montrer, au cha-
181
pitre 3, que cette spécialisation des processus pouvait être, elle aussi, formalisée. Nous avons
choisi de réaliser cette spécialisation en deux étapes : spécialisation au métier, puis spéciali-
sation au projet. La définition d’une démarche de formalisation innovante, reposant sur
les concepts de l’ingénierie des modèles, dans laquelle les recommandations normatives
se voient spécialisées à des domaines d’activité et à des projets précis conformément à la
philosophie d’application de l’ingénierie système, est le cœur de nos travaux. Grâce à elle,
nous avons montré qu’il est possible de maîtriser de bout en bout l’application des processus
de l’ingénierie système en disposant, au final, de processus adaptés à un cadre d’application
tout en respectant les règles de bonnes pratiques définies dans les normes d’ingénierie sys-
tème.
Notre processus de formalisation et de spécialisation des recommandations des normes de
l’ingénierie système étant défini, nous avons, dans le dernier chapitre de cette thèse, tenté de
renforcer notre démarche pour la rendre pleinement opérationnelle :
– Nous avons donné à l’utilisateur des moyens et des outils originaux de validation de
modèles de processus et de transformations de modèles mises en jeux dans notre dé-
marche de formalisation/spécialisation. On s’est notamment intéressé à la question de
la conservation des propriétés lors des opérations de spécialisation des processus.
– Nous avons montré comment peut se faire la mise en œuvre de processus tels que nous
les proposons. Pour cela, nous avons illustré la mise en application des processus de
l’EIA-632 dans le cadre d’un projet de conception didactique.
– Enfin, nous avons montré que la formalisation des processus est une première étape
indispensable à la mise en place d’une démarche d’ingénierie système guidée par les
modèles. En cela, nous nous rapprochons de projets tels que TOPCASED qui tendent à
la création de plates–formes de développement intégralement orientées modèles.
D’un point de vue scientifique, nos travaux ont donné lieu à de nombreuses avancées de la
discipline d’ingénierie système.
Nous avons montré qu’une formalisation des recommandations de l’ingénierie système est
possible. Cette formalisation a de nombreux avantages, dans la rédaction et dans l’application
des normes. Accompagner systématiquement un standard de son modèle :
– permet une rédaction des recommandations sur la base d’un modèle et non plus à partir
d’un document textuel,
– évite les problèmes d’interprétation et garantit une communication efficace des concepts,
– facilite la mise en application des processus décrits,
– et, pour peu qu’elles soient elles–aussi formalisées, assure la compatibilité de normes
complémentaires avec les normes générales.
Pour cela, nous avons choisi un langage de description de processus en SPEM/UML qui
permet la représentation des concepts majeurs de l’ingénierie système tels que ses proces-
sus, le concept de cycle de vie ou encore la structure récursive de système et ses blocs de
constructions.
Sur la base de ce langage, nous avons construit un modèle complet de l’EIA-632 à partir
duquel ont été mis en évidence des comportements implicites ou cachés.
Plusieurs limitations sont cependant à prendre en compte dans l’application de notre dé-
marche.
Premièrement, il ne faut pas perdre de vue que l’objectif premier d’un projet est de réaliser
un système conforme à ses exigences dans le respect des coûts, des délais et des contraintes
fixées par le cahier des charges. Si l’application de bonnes pratiques peut aider à atteindre cet
objectif, elle ne garantit pas d’y arriver à coup sûr. En se basant sur de bonnes pratiques, notre
proposition agit de même : si elle favorise la réussite d’un projet par son action structurante,
elle ne peut garantir sa réussite.
D’autre part, si l’application de notre méthode permet de détecter des conflits entre recom-
mandations, la résolution de ces conflits est en revanche laissée libre. Dans le cas d’un conflit,
187
BIBLIOGRAPHIE
[BB01] Terry A. Bahill and Clarck Briggs. The systems engineering started in the
middle process : A consensus of systems engineers and project managers. Sys-
tems Engineering, 4(2) :156–167, 2001.
[BBLC+ 03] Pierre Bazex, Jean-Paul Bodeveix, Christophe Le Camus, Thierry Millan, and
Christian Percebois. Vérification de modèles UML fondée sur OCL. In INFOR-
SID, Nancy, 03/06/03-06/06/03, pages 185–200, http ://praxinsa.insa-lyon.fr,
juin 2003. Inforsid (actes électroniques).
[BCC+ 00] Loyd Baker, Paul Clemente, Bob Cohen, Larry Permenter, Byron Purves, and
Pete Salmon. Foundational concepts for model driven system design. white
paper, INCOSE Model Driven System Design Interest Group, 2000.
[Béz05] Jean Bézivin. On the unification power of models. Software and System Mode-
ling, 4(2) :171–188, 2005.
[BLWvH05] G.Maarten Bonnema, Ilanit F. Lutters-Weustink, and Fred J.A.M. van Houten.
Introducing systems engineering to industrial design engineering students with
hands-on experience. In 18th International Conference on Systems Enginee-
ring, pages 408–413, 16-18 August 2005.
[BRJ00] Grady Booch, James Rumbaugh, and Ivar Jacobson. Guide de l’utilisateur
UML. Eyrolles, 3 mars 2000.
[BY02] Yaneer Bar-Yam. Large scale engineering and evolutionary change : Useful
concepts for implementation of forcenet. Technical report, New England Com-
plex Systems Institute, 2 September 2002.
[BY03] Yaneer Bar-Yam. When systems engineering fails-toward complex systems en-
gineering. In IEEE International Conference on Systems, Man and Cybernetics,
volume 2, pages 2021 – 2028, 5-8 October 2003.
[BYAB+ 04] Yaneer Bar-Yam, Mary Ann Allison, Ron Batdorf, Hao Chen, Hòa Generazio,
Harcharanjit Singh, and Steve Tucker. The characteristics and emerging be-
haviors of system-of-systems. Technical report, NECSI : Complex Physical,
Biological and Social Systems Project, January 7 2004.
[Béz04] Jean Bézivin. Sur les principes de base de l’ingénierie des modèles. L’Objet,
10(4) :145–157, 2004. Colloque en l’honneur de J.-F. Perrot.
[Cap03] F. J. Caple, George. The route to the intelligent systems engineering enterprise.
In DASC’03 The 22nd Digital Avionics Systems Conference, volume 2, pages
6.B.3.1– 6.B.3.10, 12-16 October 2003.
[CCCC06a] Benoit Combemale, Alain Caplain, Xavier Crégut, and Bernard Coulette. Vers
une vérification d’un procédé de développement modélisé en SPEM. In Forma-
lisation des Activités Concurrentes, Toulouse, France, 23/03/06-24/03/06 2006.
[CCCC06b] Benoit Combemale, Xavier Crégut, Alain Caplain, and Bernard Coulette. Mo-
délisation rigoureuse en SPEM de procédé de développement. In Conférence
sur les Langages et Modèles à Objets, pages 135–150, Nîmes, France, 22 mars
2006. Hermès Science Publications.
[Cha99] Frederic Chambolle. Un modèle produit piloté par les processus d’élaboration :
Application au secteur automobile dans l’environnement STEP. PhD thesis,
Centrale Paris, 1999.
[Cla02] Siobhàn Clarke. Extending standard uml with model composition semantics.
Sci. Comput. Program., 44(1) :71–100, 2002.
[CLCF+ 05] Agusti Canals, Christophe Le Camus, Marion Féau, Guillaume Jolly, Vincent
Bonnafous, and Petre Bazavan. Une utilisation opérationnelle d’ATL : l’in-
tégration de la transformation de modèles dans le projet TOPCASED. Génie
Logiciel, 73 :21–26, 2005.
[DOD07c] DOD. Dod architecture framework version 1.5, volume iii : Architec-
ture data description, 23 April 2007. http ://www.defenselink.mil/cio-
nii/docs/DoDAF_Volume_III.pdf.
[Dor06] Teresa Doran. IEEE 1220 : For Practical Systems Engineering. Computer,
39(5) :92–94, May 2006.
[EMW06] Bill Esler, Keith Mason, and Ann Williams. L’initiative SPEEDS
de l’union européenne vise à atteindre une position leader mondial en
[FM99] Kevin Forsberg and Harold Mooz. System engineering for faster, cheaper, bet-
ter. In Proceedings of the ninth annual international symposium of the INCOSE,
1999. http ://www.incose.org/sfbac/welcome/fcb-csm.pdf.
[Fri03] Sanford A. Friedenthal. UML for systems engineering request for proposal.
Technical report, OMG, March 2003.
[GFD05] Tudor Girba, Jean-Marie Favre, and Stéphane Ducasse. Using meta-model
transformation to model software evolution. Electr. Notes Theor. Comput. Sci.,
137(3) :57–64, 2005.
[Gla06] Robert L. Glass. The standish report : does it really describe a software crisis ?
Commun. ACM, 49(8) :15–16, 2006.
[HH04] P. Hastono and S.A. Huss. Automatic generation of executable models from
structured approach real-time specifications. In Proceedings The 25th IEEE
International Real-Time Systems Symposium (RTSS), Lisbon, Portugal, 5-8 De-
cember 2004.
[IST07] IST Sixth Framework Programme. Projet modelplex, 2007. Site web
http ://www.modelplex-ist.org/.
[JB02] Julian Johnson and Jozsef Bedocs. System engineering conceptual model. In
OMG Technical Meeting, SE Domain Special Interest Group (SE DSIG), IN-
COSE International Workshop, January 2002. initial conceptual model.
[JD07] P. A. "Trisha" Jansma and Mary Ellen Derro. If you want good systems engi-
neers, sometimes you have to grow your own ! In IEEE Aerospace Conference,
pages 1–15, 3-10 March 2007.
[JMS02] Natalia Juristo, Ana M. Moreno, and Andrés Silva. Is the european industry
moving toward solving requirements engineering problems ? IEEE Software,
19(2) :70–77, Nov/Dec 2002.
[Kru95] Philippe Kruchten. The 4+1 view model of architecture. IEEE Software,
12(6) :42–50, 1995.
[Lab04] Michel Labrousse. Proposition d’un modèle conceptuel unifié pour la gestion
dynamique des connaissances d’entreprise. PhD thesis, Centrale Nantes, 2004.
[LFM00] Howard Lykins, Sanford Friedenthal, and Abraham Meilich. Adapting UML
for an Object Oriented Systems Engineering Method (OOSEM). In Procee-
dings of the 2000 INCOSE Symposium, 2000.
[LMO05] Hervé Leblanc, Thierry Millan, and Ileana Ober. Démarche de développement
orienté modèles : de la vérification de modèles à l’outillage de la démarche .
In Sébastien Gérard, Jean-Marie Favre, Pierre-Alain Müller, and Xavier Blanc,
editors, Ingénierie Dirigée par les Modèles , Paris, 30/06/05-01/07/05, pages
125–140. CEA List - ISBN 2-7261-1284-6, juin 2005.
[Mar98a] James N. Martin. Evolution of eia 632 from an interim standard to a full stan-
dard. In INCOSE 1998 Symposium, 1998.
[Mar98b] James N. Martin. Overview of the EIA 632 Standard – Processes for Enginee-
ring a System, 1998.
[MHLH05] Chantal Morley, Jean Hugues, Bernard Leblanc, and Olivier Hugues. Processus
Métiers et systèmes d’information : Evaluation, modélisation, mise en œuvre.
InfoPro. Dunod, mars 2005.
[MJS05] M. Messaadia, M.H.El Jamal, and A.E.K Sahraoui. On systems engineering de-
ployment and requirements evolution. In 18th International Conference on Sys-
tems Engineering (ICEng’05), pages 427–433, Las Vegas (USA), 16–18 Août
2005.
[MM06] Hugues Malgouyres and Gilles Motet. A UML model consistency verification
approach based on meta-modeling formalization. In Hisham Haddad, editor,
Proceedings of the 2006 ACM Symposium on Applied Computing (SAC), pages
1804–1809, Dijon, France, April 23–27 2006. ACM.
[MVDS05] Tom Mens and Ragnhild Van Der Straeten. On the use of formal techniques to
support model evolution. In Sébastien Gérard, Jean-Marie Favre, Pierre-Alain
Muller, and Xavier Blanc, editors, IDM05, Actes des 1ères Journées sur l’In-
génierie Dirigée par les Modèles, 2005. http ://idm.imag.fr/idm05/actes.pdf.
[oEE99] IEEE (Institute of Electrical and Electronics Engineers). IEEE 1220 Standard
for application and Management of the Systems Engineering Process, Janvier
1999.
[Oli95] David W. Oliver. Systems engineering and software engineering, contrasts and
synergism. In Proceedings of the 1995 International Symposium and Workshop
on Systems Engineering of Computer Based Systems, pages 125–132, 1995.
[Oli03] David W. Oliver. System engineering conceptual model (draft 12). http ://sy-
seng.omg.org/SE_Conceptual%20Model/SE_Conceptual_Model.htm, March
2003.
[OMG06a] OMG. Business process modeling notation specification, February 2006. Final
adopted specification.
[OMG06b] OMG. SysML Specification v. 1.0, May 2006. Final Adopted Specification.
[oT06] Georgia Institute of Technology, editor. Frontiers in Design & Simulation Re-
search, March 2006.
[oT07] Georgia Institute of Technology, editor. Frontiers in Design & Simulation Re-
search, May 2007.
[Pen97] Jean Michel Penalva. La modélisation par les systèmes en situation complexes.
PhD thesis, Université Paris 11, 1997.
[PMI96] PMI Standrds Committee. A Guide to the Project Management Body of Know-
ledge (PMBOK® Guide). Project Management Institute, 1996. Third Edition.
[RO03] Jog Roj and Martin Owen. Bpmn and business process management. Technical
report, Popkin Software, September 2003.
[RR01b] J. Ralyté and C. Rolland. An assembly process model for method engineering.
In Proceedings of the 13th CAISE’01, Interlaken, Switzerland, 2001.
[SC07] Avi Soffer and Shalom Cohen. Alleviating complexity of modeling in system
engineering tools. In ICSEM ’07 International Conference on Systems Engi-
neering and Modeling, pages 110–117, 20-23 March 2007.
[SGE+ 04] Greg Straw, Geri Georg, Song Eunjee, Sudipto Ghosh, Robert France, and
James M. Bieman. Model composition directives. Lecture notes in compu-
ter science, 3273 :84–97, 2004.
[SRB+ 06] Silvers, Julia Rutherford, Bowdin, A. J. Glenn, O’Toole, J. William, Nelson,
and Kathleen Beard. Towards an international event management body of
knowledge (embok). Event Management, 9(4) :185–198, January 2006.
[SSW+ 06a] Konstantinos Sagonas, Terrance Swift, David S. Warren, Juliana Freire, Prasad
Rao, Baoqiu Cui, Ernie Johnson, Luis de Castro, Rui F. Marques, Steve Daw-
son, and Michael Kifer. The XSB System Version 3.0 Volume 1 : Programmer’s
Manual. Technical report, XSB, July 2006.
[SSW+ 06b] Konstantinos Sagonas, Terrance Swift, David S. Warren, Juliana Freire, Prasad
Rao, Baoqiu Cui, Ernie Johnson, Luis de Castro, Rui F. Marques, Steve Daw-
son, and Michael Kifer. The XSB System Version 3.0 Volume 2 : Libraries,
Interfaces and Packages. Technical report, XSB, July 2006.
[Sta94] Standish Group. The chaos report. Technical report, Standish Group
International, 1994. www.standishgroup.com/sample_ research/PDFpages/-
Chaos1994.pdf.
[Sta01] Standish Group. Extreme chaos. the 2001 update to the chaos report. Technical
report, Standish Group International, 2001.
[SV06] Jean-Pierre Seuma Vidal. Maîtrise de la cohérence des modèles UML d’ap-
plications critiques. PhD thesis, Institut National des Sciences Appliquées de
Toulouse, Laboratoire d’Etude des Systèmes Informatiques et Automatiques,
19 Juin 2006.
[SV07] Alberto L. Sangiovanni-Vincentelli. Quo vadis sld : Reasoning about trends and
challenges of system-level design. Proceedings of the IEEE, 95(3) :467–506,
March 2007.
[TMHS06] Caroll Thronesbery, Jane T. Malin, Kritina Holden, and Danielle P. Smith.
Tools to support human factors and systems engineering interactions during
early analysis. In IEEE Aerospace Conference, pages 1–9, 4-11 March 2006.
[VdBH+ 04] S Voget, G. de Boer, P. Heidl, F. Adis, and Virnich U. Analysis of vehicle wide
software concepts within the European funding project ITEA-EAST/EEA. In
VDI conference AUTORAG, Waldorf-Wiesloch, Germany, March 2004.
[WW03] David Watt and Keith Willey. The project management - systems engineering
dichotomy. In Engineering Management Conference, 2003. IEMC ’03. Ma-
naging Technologically Driven Organizations : The Human Side of Innovation
and Change, pages 306–310, Canberra, Australia, 2003.
[YS06] A. Yahiaoui and A.E.K. Sahraoui. A systems engineering environment for in-
tegrated building design. In European Systems Engineering Conference 2006,
Edinburgh (GB), 18-20 Septembre 2006.
A
AFIS Association Française d’Ingénierie Système
AFNOR Association Française de NORmalisation
ANSI American National Standards Institute
AUP Agile Unified Process
B
BPEL Business Process Execution Language for Web Services eq. à BPEL4WS
BPEL4WS Business Process Execution Language for Web Services eq. à BPEL
BPM Business Process Management
BPMI Business Process Management Initiative
BPML Business Process Modeling Language
BPMN Business Process Model Notation
C
CWM Common Warehouse Metamodel
D
DOD Department Of Defense
DoDAF Department of Defense Architecture Framework
DOMINO DOMaINes et prOcessus méthodologique
DSL Domain-Specific Language
DTD Document Type Definition
201
EPI Équipement de Protection Individuel
EIA Electronic Industries Alliance
EssUP Enssential unified process
EUP Enterprise Unified Process
I
IDM Ingénierie Dirigée par les Modèles eq. à MDE
IEEE Institute of Electrical and Electronics Engineers
INCOSE INternational COuncil on Systems Engineering
IS Ingénierie Système
ISAF International SAiling Federation
L
LATTIS Laboratoire Toulousain de Technologie et d’Ingénierie
des Systèmes
M
MBSEM Model-Based System Engineering Methodology
MDA Model Driven Architecture
MDE Model Driven Engineering eq. à IDM
MDSD Model Driven System Design
MoDAF UK Ministry of Defence Architectural Framework
MOF Meta-Object Facility
N
NASA National Aeronautics and Space Administration
NAT Nato Architecture Framework
NCOSE National COuncil on System Engineering
O
OASIS Organization for the Advancement of Structured Infor-
mation Standards
OCL Object Constraint Language
OMG Object Management Group
OOSEM Object-Oriented System Engineering Method
P
PBS Product Breakdown Structure
Q
QVT Query/View/Transformation
R
RUP Rational Unified Process
RUP SE Rational Unified Process for System Engineering
S
SDP Structure de découpage du projet voir WBS
SPEEDS SPEculative and Exploratory Design in Systems engi-
neering
SPEM Software Process Engineering Metamodel
SysML Systems Modeling Language
U
UML Unified Modeling Language
UP Unified Process
UPDM UML Profile for DoDAF/MoDAF
V
V&V Validation et Vérification
W
WBS Work Breakdown Structure voir SDP
WfMC Workflow Management Coalition
W3C World Wide Web Consortium
X
XML eXtensible Markup Language
XPDL XML Process Definition Language
2
2TUP Two Tracks Unified Process
A É
Activité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Équipement de Protection Individuel (EPI)
110
B
Bloc de construction . . . . . . . . . . . . . . . . . 40
I
Ingénierie Dirigée par les Modèles (IDM)
60
Ingénierie Système guidée par les Modèles
16
Ingénierie Système . . . . . . . . . . . . . . . . . . . . 6
M
Méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Méthodologie . . . . . . . . . . . . . . . . . . . . . . . 12
Métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
N
Norme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
O
Outil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
P
Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Procédure d’entreprise (ou processus d’en-
treprise) . . . . . . . . . . . . . . . . . . . . . 24
S
Système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Système (selon EIA-632) . . . . . . . . . . . . . 35
205
LISTE DES DÉFINITIONS
A
Activité [Wik07] (définition 1)
Ensemble distinct d’actions identifiées, organisé selon un processus logique, observable en
tant que tel. Il peut désigner aussi une ou plusieurs tâches exécutées par un ou plusieurs
employés à l’intérieur d’un processus.
B
Bloc de construction (définition 12)
Il est un élément dans la décomposition structurelle du système. Il conduit à une représenta-
tion du cadre conceptuel du système projeté utilisé pour organiser les exigences, le travail,
et les autres informations associées à l’ingénierie système.
E
Équipement de Protection Individuel (EPI) (définition 15)
Dispositif de protection individuelle préservant une personne d’un risque menaçant sa sé-
curité. Cette définition est étendue aux dispositifs associés de façon solidaire ainsi qu’aux
composants interchangeables.
I
Ingénierie Dirigée par les Modèles (IDM) (définition 13)
L’Ingénierie dirigée par les modèles renvoie à l’utilisation systématique de modèles comme
artéfacts de conception primaires dans le cycle de vie. L’IDM est un domaine de l’informa-
tique qui met à disposition des outils, des concepts et des langages pour créer et transformer
ces modèles.
Ingénierie Système (IS) [Tho93] (définition 2)
207
L’ingénierie système est une approche et des moyens interdisciplinaires permettant la réa-
lisation et le déploiement de systèmes réussis. Elle peut être vue comme l’application de
techniques d’ingénierie à l’ingénierie des systèmes, aussi bien que comme l’application
d’une approche systématisée aux efforts d’ingénierie.
Systems Engineering is an interdisciplinary approach and means for enabling the reali-
zation and deployment of successful systems. It can be viewed as the application of engi-
neering techniques to the engineering of systems, as well as the application of a systems
approach to engineering efforts.
Ingénierie Système guidée par les Modèles (définition 8)
L’Ingénierie système guidée par les modèles est une démarche qui propose l’extension des
principes de l’IDM à l’ingénierie des systèmes. Il s’agit de considérer l’ensemble des par-
ties du systèmes comme des modèles et non plus uniquement ses composants logiciels.
Dans ce contexte, les opérations de transformation de modèles sont guidées par les proces-
sus de l’ingénierie système.
M
Méthode [Est07] (définition 5)
Une méthode est attachée aux techniques de réalisation d’une tâche. Elle définit le « com-
ment faire » de chaque tâche (dans ce contexte méthode, technique, pratique et procédure
sont souvent interchangeables). A tous niveaux, les tâches de processus sont réalisées en
utilisant des méthodes. Cependant, chaque méthode est aussi, elle–même, un processus
avec sa séquence de tâches à réaliser selon des méthodes particulières. En d’autres mots, le
« comment » d’un niveau d’abstraction devient le « quoi » du niveau inférieur.
Méthodologie [Est07] (définition 7)
Une méthodologie est définie comme une collection de processus, de méthodes et d’outils
reliés. Une méthodologie est essentiellement une « recette » et peut être comprise comme
l’application de processus, méthodes et outils relatifs à une classe de problèmes qui ont
quelque chose en commun.
Métier (définition 14)
L’ensemble des spécificités techniques ou non liées à la réalisation d’un produit ou d’un
service.
N
Norme [ISO04] (définition 9)
O
Outil [Est07] (définition 6)
Un outil est attaché à une méthode particulière, pour augmenter l’efficacité de réalisation
de la tâche. Le rôle d’un outil est de faciliter le « comment ».
P
Partie intéressées (ou partie prenante) [Mer01] (d’après[Fre84])
Une partie prenante est un individu ou un groupe d’individus qui peut affecter ou être
affecté par la réalisation des objectifs organisationnels.
Processus [Est07] (définition 4)
Un processus est une séquence logique de tâches réalisées pour atteindre un objectif parti-
culier. Un processus définit ce qui est à faire sans préciser le « comment faire ». La struc-
ture d’un processus peut se présenter sous différents niveaux d’agrégation pour permettre
les analyses et répondre aux différents besoins d’aide à la décision.
Procédure d’entreprise (ou processus d’entreprise) [Jou07] (définition 10)
Une procédure d’entreprise est une procédure qui systématise l’organisation et la politique
d’une entreprise dans le but d’atteindre certains des objectifs de cette entreprise.
S
Système [SC95] (définition 3)
Un système est un ensemble de composants interdépendants qui interagissent entre eux de
façon organisée vers un but commun. Les composants d’un système peuvent être divers
et se composer de personnes, d’organismes, de procédures, de logiciels, d’équipements ou
d’installations.
A system is a set of interrelated components which interact with one another in an organi-
zed fashion toward a common purpose. The components of a system may be quite diverse,
consisting of persons, organisations, procedures, software, equipement or facilities.
Système (selon EIA-632) (définition 11)
Agrégation de produits finaux et de produits contributeurs dans un but donné.
211
TABLE DES FIGURES
3.1 Conformité des modèles de projets aux processus d’IS et aux métiers . . . . . 103
3.2 Situation des modèles de standard, métier et projet dans la pyramide du MDE 105
3.3 Modes de construction du modèle de projet . . . . . . . . . . . . . . . . . . 106
3.4 Illustration de l’impact des normes sur le modèle générique. . . . . . . . . . 115
3.5 Passage du modèle de standard au modèle métier. . . . . . . . . . . . . . . . 116
3.6 Cartographie des documents français en support des normes ISO 9000 :2000. 118
3.7 Construction incrémentale du modèle métier. . . . . . . . . . . . . . . . . . 120
3.8 Illustration des opérations de passage du modèle de standard au modèle métier. 122
3.9 Impact des spécificités sur le cycle de vie . . . . . . . . . . . . . . . . . . . 126
3.10 Évolution des instances du modèle de projet . . . . . . . . . . . . . . . . . . 128
3.11 Passage du modèle de métier au modèle de projet. . . . . . . . . . . . . . . . 130
3.12 Illustration des problèmes de représentation et de responsabilité. . . . . . . . 134
215
LISTE DES TABLEAUX
217
Processus SIMILAR Processus de conception système de l’EIA-632
S Poser le problème Processus de définition des exigences (4.3.1)
Processus de définition de la solution (4.3.2)
I Étudier les alternatives
Exigences 17 a & b, 18 c & d, 22 et 23
M Modéliser le système Représentations logiques de la solution (exigence 17)
I Intégrer Identifier et définir les interfaces (exigence 17b2)
L Lancer le système Réalisation du produit (4.4)
A Évaluer la performance processus de vérification du produit (4.5.3)
R Re–évaluer De nombreuses tâches itératives (4.3 note 5)
234
Samuel Rochet
TAB . 9: Exemple d’exigences fixées par les normes pour les EPI de type corde semi–statiques [PET].
Normes
caractéristiques EN 341 classe A
Test statique
Traction 12kN/3mn
Force de retenue pour la charge d’uti- F < 120N
lisation maximale
Essai énergie de descente 100 descentes de 100 m avec une masse de 75 kg. Éva-
luation de température du descendeur.
test dynamique chute de 60 cm, 4 m de corde au dessus du descendeur,
charge d’utilisation maxi (> 100kg)
Test de fonctionnement faire la hauteur de descente maximale avec les charges
maxi et mini. On doit pouvoir maintenir la vitesse de
descente entre 0.5 et 2 m/s.
TAB . 10: Exemple de plan de vérification fixé par des normes pour EPI de type descendeur.