Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
FORMOD:unoutil d'ingénierie desexigencesbasé surlafédération demodèles
RégineLaleauUniversitéParis-EstCréteil
Journées du GDR GPL – GT Ingénierie des exigencesJuin 2019
Contexte:ProjetFORMOSEProjetANR2014-2019
Objectif:Définiruneméthoded'ingénieriedesexigencespourdessystèmescomplexescritiques,orientéemodèlesetformelle,supportéeparunenvironnementopen-source.
– Unlangagedemodélisation:• Exigencesfonctionnelles etnon-fonctionnelles (sûretéetperformance)
• Modélisationdudomaine• Multi-vues(langagenaturel,graphiqueetformelle)
– Unframework pourvérifierformellementlesexigences:combinaisond'outilsformelsexistants (prouveurs,model-checkers …)
Domained'application:systèmesdetransport(ferroviaire,aéronautique)
SysML/KAOS
Event-B
2FORMOD : un outil d'IE basé sur la fédération de modèles
AperçudelaméthodeFORMOSE
3FORMOD : un outil d'IE basé sur la fédération de modèles
Plandel'exposé
• LelangagedemodélisationdesbutsSysML/KAOS
• D'unmodèledebutsversunmodèleEvent-B
• Principesdel'outilFORMOD
• Conclusion
4FORMOD : un outil d'IE basé sur la fédération de modèles
LelangagedemodélisationdesbutsSysML/KAOS
Modèlede butsde SysML/KAOS :• Définicommeuneextensiondumodèled'exigencesdeSysML avec
desconceptsdelaméthodeKAOS.• HiérarchiederaffinementsAND/OR
But AND-refined :touslessous-butsdoiventêtresatisfaitspourquelebutparentlesoit
But OR-refined :satisfactiond'undessous-butssuffisantpourlasatisfactiondubutparent
Leprocessusderaffinementcessequandchaquesous-butestassignableàunagent
5FORMOD : un outil d'IE basé sur la fédération de modèles
Exemple:modèledebutsd'uncomposantdelocalisation
6FORMOD : un outil d'IE basé sur la fédération de modèles
Event– B:conceptsdebase
Modélisationd'unsystème:
• Unensembledevariables pourdécrirel'état
• Unensembled'événements pourdécrirelecomportement
• Unprocessusderaffinement pourlaconstructionincrémentaledelaspécification.
EventE=SELECTG(v)THENS(v)END
7FORMOD : un outil d'IE basé sur la fédération de modèles
Lasémantique desmodèles etdesraffinements est donnée pardesobligationsdepreuve.
Supporté pardesoutils industriels (AtelierB,ProB,plateforme Rodin,…)
DeSysML/KAOSversEvent-B
Objectif : exprimer un modèle de buts avec Event-B pour utiliser les outils de vérification.
EvG= Select G-GuardThen G-PostConditionEnd
Un but SysML/KAOS: Une propriété doitêtre vérifiée Un but = un événement
Sa propriété = post-condition.
Goal GIf [G-CurrentCondition] Then sooner or later [G-TargetCondition]
8FORMOD : un outil d'IE basé sur la fédération de modèles
Exemple:composantlocalisation– événementabstrait
Goal G: LocalizeVehicleInformalDef: The Cycab/vehicle must be localized.
SYSTEM R1_skeletonSEES …VARIABLES …INVARIANT …INITIALISATION …
EVENTSLocalizeVehicle =Select Grd_LocalizeVehicleThen Act_LocalizeVehicle //TheCycab/vehicle mustbe localized.
END
9FORMOD : un outil d'IE basé sur la fédération de modèles
HiérarchiedebutsetraffinementEvent-B
Comment le vérifier ?
ModèleEvent-B
AbstractModel
1st Model
If [G-CurrentCondition] Then sooner or later [G-TargetCondition]
If [G1-CurrentCondition]Then [G1-TargetCondition]
Modèle debutsSysML/KAOS
GoalG1
GoalG
If [G2-CurrentCondition]Then [G2-TargetCondition]
GoalG2
Refines
+ obligations depreuve
EvG = Select G-GuardThen G-PostConditionEnd
EvG1 = Select G1-GuardThen G1-PostConditionEnd
EvG2 = Select G2-GuardThen G2-PostConditionEnd
10FORMOD : un outil d'IE basé sur la fédération de modèles
Cequej'aiprésenté…
•ModélisationdesexigencesfonctionnellesavecunmodèledebutsSysML/KAOS
• ReprésentationavecunmodèleEvent-B
Commentsynchroniserlesdeuxmodèles?
11FORMOD : un outil d'IE basé sur la fédération de modèles
Fédérationdemodèles
Framework de fédération
SysML/KAOS Event-B
Word
ModèledeFédération
…
Intégration de modèles hérérogènes en les conservant dans leurparadigme respectif pour faciliter leur synchronisation et éviter lesredondances.
12FORMOD : un outil d'IE basé sur la fédération de modèles
Frameworkdefédération
SysML/KAOS Event-B
Word…
SysML/KAOSmetamodel
Event-BmetamodelFederation
model
13FORMOD : un outil d'IE basé sur la fédération de modèles
TechnologyAdaptor
Meta-modèleSysML/KAOS(extrait)
14FORMOD : un outil d'IE basé sur la fédération de modèles
Meta-modèleEvent-B (extrait)
15FORMOD : un outil d'IE basé sur la fédération de modèles
ModèledeFédération
Goal
+TypeGoal+CurrentCondition+TargetCondition+nameReq
Event
+Name
Action
+Label
Guard
+LabelGoalEventLink1 1 1 1
AbstractGoal
Contains
AndRelationship
ProofObligation
BasicPOAdditionalPO
RefinementPOLink
1
1
1
1
16FORMOD : un outil d'IE basé sur la fédération de modèles
Principedelafédération
• Des procédures de Synchronisation sont définies dans
les classes du modèle de fédération et des meta-
modèles de SysML/KAOS et Event-B.
• Une modification dans le modèle de buts déclenche
une méthode dans le modèle de fédération qui va
entraîner une mise à jour dans la spécification Event-
B, et réciproquement.
17FORMOD : un outil d'IE basé sur la fédération de modèles
OutilOpenflexo
OpenFlexo
Choreography guidedby the process
Editing / Viewing Tool 2
Editing / Viewing Tool 1
Editing / Viewing Tool 3Atelier B
Any other needed toolWord, Doors, etc.
UPPAAL
Internal tools developed with OpenFlexo
External tools
Internal connection through the OpenFlexo operational modelExternal connection, either by ad hoc plugin or web service
18FORMOD : un outil d'IE basé sur la fédération de modèles
OutilFORMOD
FORMOD : un outil d'IE basé sur la fédération de modèles 19
Conclusion
Combinerméthodesformellesetsemi-formellesestutilepourlespremièresphasesdeconceptiondesystèmes.
Mais,lemettreenapplicationresteencoreproblématique.
Lafédérationdemodèlespeutêtreunesolutionmaisestplusdifficileàimplémenter quelesautresmodèlesdecombinaisons.
20FORMOD : un outil d'IE basé sur la fédération de modèles
Travauxencours
• Prendreencomptelesexigencesnonfonctionnelles• Réutiliserlespreuvessilesexigenceschangent?
• Testsurdesétudesdecasdenospartenairesindustriels.
• Lienavecl'architecturedessystèmes• …
21FORMOD : un outil d'IE basé sur la fédération de modèles