retex nexter mbse a - omgwiki.org
TRANSCRIPT
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 1
AFIS CT MBSE - RETEX NEXTER R. Boutemy 16/05/2014
ChefPelotonChefPeloton
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
XLE_RA
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
ChefPelotonChefPeloton
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
XLE_RA
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
Chef«IdealObjectType»
1
1
Tireur«IdealObjectType»
1
1
1
1XLE_SA_b1
«IdealObjectType»
1
1
1
1
1
1
1 1
ChefPelotonChefPeloton
1 11 1
XLE_RA
Chef«IdealObjectType»
1
1
Tireur«IdealObjectType»
1
1
1
1XLE_SA_b1
«IdealObjectType»
1
1
1
1
1
1
1 1
ChefPelotonChefPeloton
1 11 1
XLE_RA
ChefPelotonChefPeloton
1 1
XLE_SA_b2Chef
1 11 1
1 11 1
1
1
Tireur
11
1
1
11
MOBTypeA
1 1
1 1
1 1
1 1
1 11 1
MOBTypeB
1 11 1
MVTypeA
1
1
1
1
1
1
1
1
1
1
1
11
1
MVTypeB
1
1
11
1
1
Arme::Arme120
XLE_SA_b1
XLE_RA
ChefPelotonChefPeloton
1 1
XLE_SA_b2Chef
1 11 1
1 11 1
1
1
Tireur
11
1
1
11
MOBTypeA
1 1
1 1
1 1
1 1
1 11 1
MOBTypeB
1 11 1
MVTypeA
1
1
1
1
1
1
1
1
1
1
1
11
1
MVTypeB
1
1
11
1
1
Arme::Arme120
XLE_SA_b1
XLE_RA
Testeu r
itsCDT:CDT1
aDistTelemetree:intaCorrectionEnGis:intaCorrectionEnSit:intaSynchASSETA1:RhpBo...aSynchAMAACQ1:RhpB...aSynchAMAACQ2:RhpB...aSynchAMAACQ3:RhpB...aSynchASSMOD1:RhpB...aSynchVTIMOD1:RhpBo...
iToMODpToMODiToACQpToACQiToETApToETA
iToCDTpToCDTiFromCDT
pFr omCDT
itsMDC:MDC1
iToMDCpToMDC
iFromMDCpFromMDC
itsBCC:BCC1
iToBCCpToBCCiFromBCCpFr omBCC
itsARC:ARC1
iToARCpToARC
iFromARC
pFromARC
itsAMA:AMA1
iToMDFpToMD FiToAMA
pToAMAiFromAMA
pFromAMA
itsMDT:MDT1
iToDTOpToDTOiToDTM
pToDTM
iToMDTpToMDT
iFromMDTpFromMDT
itsVTI:VTI1
aSynchCDTVTI6: RhpBo. ..aSynchCDTVTI5: RhpBo. ..
iToVTLpToVTL
iToVTIpToVTI
iFromVTIpF romVTI
itsASS:ASS1
iToASSpToASS
iFromASSpFromASS
itsDigibus:Digibus1
i ToVTIpToVTI
iToMDTpToMDT
iToMDC
pToMDC
iToCDTpToCDT
iToBCCpToBCC
i ToASSpToASS
iToARC
pToARC
i ToAMApToAMA
iFromVTIpFromVTI
iFromMDTpFromMDT
iFromMDCpFromMDC
i From CDTpFromCDT
iFromBCCpFromBCC
iFromASSpFromASS
iFromARCpFromARC
iFromAMApFromAMA
iToVTL
pToVTL
iToMDFpToMDF
iToDTOpToDTOiToDTM
pToDTM
iToMODpToMOD
iToETA
pToETA
iToACQpToACQ
Testeu r
itsCDT:CDT1
aDistTelemetree:intaCorrectionEnGis:intaCorrectionEnSit:intaSynchASSETA1:RhpBo...aSynchAMAACQ1:RhpB...aSynchAMAACQ2:RhpB...aSynchAMAACQ3:RhpB...aSynchASSMOD1:RhpB...aSynchVTIMOD1:RhpBo...
iToMODpToMODiToACQpToACQiToETApToETA
iToCDTpToCDTiFromCDT
pFr omCDT
itsMDC:MDC1
iToMDCpToMDC
iFromMDCpFromMDC
itsBCC:BCC1
iToBCCpToBCCiFromBCCpFr omBCC
itsARC:ARC1
iToARCpToARC
iFromARC
pFromARC
itsAMA:AMA1
iToMDFpToMD FiToAMA
pToAMAiFromAMA
pFromAMA
itsMDT:MDT1
iToDTOpToDTOiToDTM
pToDTM
iToMDTpToMDT
iFromMDTpFromMDT
itsVTI:VTI1
aSynchCDTVTI6: RhpBo. ..aSynchCDTVTI5: RhpBo. ..
iToVTLpToVTL
iToVTIpToVTI
iFromVTIpF romVTI
itsASS:ASS1
iToASSpToASS
iFromASSpFromASS
itsDigibus:Digibus1
i ToVTIpToVTI
iToMDTpToMDT
iToMDC
pToMDC
iToCDTpToCDT
iToBCCpToBCC
i ToASSpToASS
iToARC
pToARC
i ToAMApToAMA
iFromVTIpFromVTI
iFromMDTpFromMDT
iFromMDCpFromMDC
i From CDTpFromCDT
iFromBCCpFromBCC
iFromASSpFromASS
iFromARCpFromARC
iFromAMApFromAMA
iToVTL
pToVTL
iToMDFpToMDF
iToDTOpToDTOiToDTM
pToDTM
iToMODpToMOD
iToETA
pToETA
iToACQpToACQ
:ChefPeloton
Surveilles(unSecteur = 3)
:XLE_RA
Surveilles(unSecteur = 3)
Surveiller(Secteur = 3)
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
:ChefPeloton
Surveilles(unSecteur = 3)
:XLE_RA
Surveilles(unSecteur = 3)
Surveiller(Secteur = 3)
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 2
NEXTER SYSTEMS
Concepteur et fournisseur de systèmes de défense terrestre auprès des armées de TerreFournisseur de systèmes d’armes aux armées de l’Air et à la MarineAvec une offre de services pour leur maintien opérationnel sur le long terme
Filiale cœur de métier du groupe GIAT INDUSTRIES SA
3 sites principaux: Versailles, Bourges, Roanne1733 personnesChiffre d’affaire 2013: 780M€3 ans de Carnet de commandes
Produits emblématiques
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 3
Architecte système à Nexter
Mission et rôleResponsable de la cohérence fonctionnelleParticipe à l’Innovation au sein de l’équipe produitRéalise les activités d’ingénierie des exigences (capture, traçabilité, justification)
Principales activitésInnoverAnalyser le besoinRéaliser l’ingénierie des exigencesDévelopper le modèle système en SysMLSpécifier le systèmeValider le fonctionnel et intervenir aux essais du produit
Analyse du besoin
Intégration et vérification par essais système
Conception
Validation
Développement Tests unitaires
NEXTER
Fournisseurs
Client
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 4
Produit
Famille de
produit Equipements sur étagères
IHMsoptimisés masquant
la complexité
Modularité
Sûreté de
fonctionnement
Fiabilité
Equipe pluridisciplinaire
Turn over des
équipes
Design to cost
Délais de développ
ement réduits
Pourquoi modéliser en architecture système?
Durée de vie du produit: 50 ans
Avec refonte à mi-vie
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 5
Pourquoi modéliser en architecture système?Les écueils à contrer:
Ecueils Détection Impacts délais et coûts
Besoin client non satisfait Sur le prototype ++++Solution Fonctionnelle en écart avec le
besoinlors des tests fonctionnels sur banc +++
spécifications incomplètes ou mal rédigées Lors du développement ++Mauvaise capitalisation lors des demandes d’évolutions +++
� Des temps de développement trop longs:� Vérifications sur banc des équipements développés� Vérification du fonctionnel sur banc système� Prise en compte des évolutions
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 6
Modélisation Système : Sécuriser et optimiser les développements
ModéliserDécrire le fonctionnement du système sans ambiguïtéMinimiser les interfaces entre les composantsVérifier la complétude des spécifications fonctionnelles
SimulerVérifier que le fonctionnement spécifié est conforme à l’attenduVérifier l’adéquation du fonctionnement et des Interfaces Hommes Systèmes sur un démonstrateur
SpécifierAlimenter les cahiers des charges des constituants du système
ValiderAlimenter les procédures de tests de vérifications fonctionnelles du systèmeUtiliser le modèle pour piloter les tests fonctionnels sur banc
MaintenirFaciliter les reprises de conception
CapitaliserRéutiliser les modèles déjà développés sur les nouveaux projets
•Spécificatio•n
•Tests fonctionnels
•Spécificatio•n
•Spécifications
Chef«Ide alObje ctType »
1
1
Ti reur«Ide alObje ctType »
1
1
1
1XLE_SA_b1«Id ealObj ectType »
1
1
1
1
1
1
1 1
ChefPelotonChefPeloton
1 11 1
XLE_RA
Chef«Ide alObje ctType »
1
1
Ti reur«Ide alObje ctType »
1
1
1
1XLE_SA_b1«Id ealObj ectType »
1
1
1
1
1
1
1 1
ChefPelotonChefPeloton
1 11 1
XLE_RA
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 7
Mise en place
� Un langage de modélisation
Langage graphique extension de l’UML, basé sur différents types de diagrammes
� Un coaching en modélisation pour accompagner Nexter dans la mise en place des outils et méthodes
� Une méthode de modélisation/simulation intégrée au processus d’ingénierie Système de Nexter Systems
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 8
Principaux Diagrammes utilisés
Observer
Agresser
Operateur_vhOperateur_vhEnvironnement_vhEnvironnement_vh
ENI_vhENI_vh
Diagramme de cas d’utilisation Diagrammes de séquences
E2_Vehicule
1
E1_Chassis
1
E1_T ourelle
1
11
1
11
Diagrammes de blocs
MonSysteme
:BoitierDistributionElec1
pCAN
pOp
:MFD1
pOpFonct_GestionModesSyspCAN
:FilCAN1
pCAN_BDE
pCAN_CCS
pCAN_MFD
itsCCS:CCS1
pCAN
pOp_MFD
pOp_BDE
Diagramme de structure Diagramme d’états transitions
ST_AUCUN_RALLIEMENT
rST[checkFin_ralliement() == true]
ST_RALLIEMENT_EN_COURS
rST[checkFin_ralliement() == true]
rST[checkFin_ralliement() == false]rST[checkFin_ralliement() == false]
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 9
Sécurisation de la conceptionC
once
ptio
n du
sys
tèm
e
RDL
RDP
RLA Ingénierie Système Modélisation système
Ana
lyse
du
beso
in
du s
ystè
me
Analyse SystèmeUC, SD déclinés
Analyse Fonctionnelle Interne
Modélisation
Vérification
système
Conception fonctionnelle et organique
Modélisation
Vérification
Conception SystèmeUC, SD déclinés, organes,
échanges fonctionnels
Organe 1 Organe 2 Organe 3
système
Analyse Fonctionnelle Externe
Analyse du besoinPar les UC et les SD
Modélisation
Consolidation
Observer
Agresser
Operateur_vhOperateur_vhEnvironnement_vhEnvironnement_vh
ENI_vhENI_vh
Spécification des équipements
Extractions documentaires
Spécification des tests fonctionnels
Alimentation
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 10
Modélisation Système dans le cycle de développement
Conception
Développement
Analyse et
du besoin
Analyse et clarificationdu besoin
Validation
Intégration vérification
Modélisation systèmeVérification (simulation)
Spécification
Réalisation des Démonstrateurs Système (LIVe)
Documents
•Spécificatio
•n
•Tests fonctionnels
Production des scénarios de Tests fonctionnels
PasControle ControleEnPositioncmdeUtilisesPosConsigne
cmdeNutilisesPlusPosConsigne
cmdeUtilisesPosConsigne
cmdeNutilisesPlusPosConsigne
cmdeUtilisesVitConsigne ControleEnVitessecmdeUtilisesVitConsigne
cmdeNutilisesPlusVitConsigne
cmdeUtilisesVitConsigne
cmdeUtilisesPosConsigne
cmdeNutilisesPlusVitConsigne
cmdeUtilisesVitConsigne
cmdeUtilisesPosConsigne
Pilotage des Tests fonctionnels
par le modèle (HIL)
Modélisation hardware et logicielle
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 11
Tâches et outils
Tâches
Gérer les tests
TestConductor
WORDEXCEL
Extraire la documentation
ReporterPlus
Modéliser
Simuler
System Designer
DOORS
Tracer les exigences
Gateway
SVN
TRAC
Gérer la configuration
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 12
Produits NEXTER modélisés en SYSML
Démonstrateur tourelle 40M
VBCI
Leclerc
TITUS
Tourelleau ARX20
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 13
Conclusion
Retour d’expérience
- Des gains sur tout le cycle de développement
Perspectives
Vers le « model centric »…
- Des difficultés
16/05/2014 – DIS/DAP/ASFD/R.Boutemy 14
ChefPelotonChefPeloton
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
XLE_RA
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
ChefPelotonChefPeloton
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
XLE_RA
1 1itsChefPeloton itsXLE_RA
1 1itsChefPeloton itsXLE_RA
Chef«IdealObjectType»
1
1
Tireur«IdealObjectType»
1
1
1
1XLE_SA_b1
«IdealObjectType»
1
1
1
1
1
1
1 1
ChefPelotonChefPeloton
1 11 1
XLE_RA
Chef«IdealObjectType»
1
1
Tireur«IdealObjectType»
1
1
1
1XLE_SA_b1
«IdealObjectType»
1
1
1
1
1
1
1 1
ChefPelotonChefPeloton
1 11 1
XLE_RA
ChefPelotonChefPeloton
1 1
XLE_SA_b2Chef
1 11 1
1 11 1
1
1
Tireur
11
1
1
11
MOBTypeA
1 1
1 1
1 1
1 1
1 11 1
MOBTypeB
1 11 1
MVTypeA
1
1
1
1
1
1
1
1
1
1
1
11 1
MVTypeB
1
1
1 1
1
1
Arme::Arme120
XLE_SA_b1
XLE_RA
ChefPelotonChefPeloton
1 1
XLE_SA_b2Chef
1 11 1
1 11 1
1
1
Tireur
11
1
1
11
MOBTypeA
1 1
1 1
1 1
1 1
1 11 1
MOBTypeB
1 11 1
MVTypeA
1
1
1
1
1
1
1
1
1
1
1
11 1
MVTypeB
1
1
1 1
1
1
Arme::Arme120
XLE_SA_b1
XLE_RA
Testeur
itsCDT:CDT1
aDistTelemetree:intaCorrectionEnGis:intaCorrectionEnSit:intaSynchASSETA1:RhpBo...aSynchAMAACQ1:RhpB...aSynchAMAACQ2:RhpB...aSynchAMAACQ3:RhpB...aSynchASSMOD1:RhpB...aSynchVTIMOD1:RhpBo...
iToMODpToMODiToACQpToACQiToETApToETA
iToCDTpToCDTiFromCDT
pFromCDT
itsMDC:MDC1
iToMDCpToMDC
iFromMDCpFromMDC
itsBCC:BCC1
iToBCCpToBCCiFromBCCpFromBCC
itsARC:ARC1
iToARCpToARC
iFromARC
pF romARC
itsAMA:AMA1
iToMDFpToMDFiToAMA
pToAMAiFromAMA
pFromAMA
itsMDT:MDT1
iToDTOpToDTOiToDTM
pToDTM
iToMDTpToMDT
iFromMDTpFromMDT
itsVTI:VTI1
aSynchCDTVTI6:RhpBo...aSynchCDTVTI5:RhpBo...
iToVTLpToVTL
iToVTIpToVTI
iFromVTIpFromVTI
itsASS:ASS1
iToASSpToASS
iFromASS
pFromASS
itsDigibus:Digibus1
iToVTIpToVTI
iToMDTpToMDT
iToMDCpToMDC
iToCDTpToCDT
iToBCCpToBCC
iToASSpToASS
iToARC
pToARC
iToAMA
pToAMA
iFromVTIpFromVTI
iFromMDTpFromMDT
iFromMDCpFromMDC
iFromCDTpFromCDT
iFromBCCpFromBCC
iFromASSpFromASS
iFromARCpFromARC
iFromAMApFromAMA
iToVTL
pToVTL
iToMDFpToMDF
iToDTOpToDTOiToDTM
pToDTM
iToMODpToMOD
iToETApToETA
iToACQpToACQ
Testeur
itsCDT:CDT1
aDistTelemetree:intaCorrectionEnGis:intaCorrectionEnSit:intaSynchASSETA1:RhpBo...aSynchAMAACQ1:RhpB...aSynchAMAACQ2:RhpB...aSynchAMAACQ3:RhpB...aSynchASSMOD1:RhpB...aSynchVTIMOD1:RhpBo...
iToMODpToMODiToACQpToACQiToETApToETA
iToCDTpToCDTiFromCDT
pFromCDT
itsMDC:MDC1
iToMDCpToMDC
iFromMDCpFromMDC
itsBCC:BCC1
iToBCCpToBCCiFromBCCpFromBCC
itsARC:ARC1
iToARCpToARC
iFromARC
pF romARC
itsAMA:AMA1
iToMDFpToMDFiToAMA
pToAMAiFromAMA
pFromAMA
itsMDT:MDT1
iToDTOpToDTOiToDTM
pToDTM
iToMDTpToMDT
iFromMDTpFromMDT
itsVTI:VTI1
aSynchCDTVTI6:RhpBo...aSynchCDTVTI5:RhpBo...
iToVTLpToVTL
iToVTIpToVTI
iFromVTIpFromVTI
itsASS:ASS1
iToASSpToASS
iFromASS
pFromASS
itsDigibus:Digibus1
iToVTIpToVTI
iToMDTpToMDT
iToMDCpToMDC
iToCDTpToCDT
iToBCCpToBCC
iToASSpToASS
iToARC
pToARC
iToAMA
pToAMA
iFromVTIpFromVTI
iFromMDTpFromMDT
iFromMDCpFromMDC
iFromCDTpFromCDT
iFromBCCpFromBCC
iFromASSpFromASS
iFromARCpFromARC
iFromAMApFromAMA
iToVTL
pToVTL
iToMDFpToMDF
iToDTOpToDTOiToDTM
pToDTM
iToMODpToMOD
iToETApToETA
iToACQpToACQ
:ChefPeloton
Surveilles(unSecteur = 3)
:XLE_RA
Surveilles(unSecteur = 3)
Surveiller(Secteur = 3)
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
:ChefPeloton
Surveilles(unSecteur = 3)
:XLE_RA
Surveilles(unSecteur = 3)
Surveiller(Secteur = 3)
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()
Detecter()
Reconnaitre()
Identifier()
Viser()
Tirer()
infosCdPCibleDetruite()