Académique Documents
Professionnel Documents
Culture Documents
Analyse Génération
Modélisation Validation de
du
de code
système
modèle (automatisée)
(
1-Exposer des arguments pour justifier, auprès de votre équipe de développeurs, le recours, dans le cadre de ce projet de contrôle du processus de compensation, à
une méthode formelle.
2-En choisissant la méthode vdmSl, proposer un cycle de développement en 4 étapes:
-étape 1: Proposer une analyse du système de pilotage des compensations.
-étape 2: Construire un modèle VdmSl pour ce système.
-étape 3: Valider le modèle VdmSl construit.
-étape 4: Générer, en partant de ce modèle validé, le code source (C++ ou Java) l’application cible.
1-Exposer des arguments pour justifier, auprès de votre équipe de
développeurs, le recours, dans le cadre de ce projet de contrôle du
processus de compensation, à une méthode formelle.
Argument 1:
Argument 3:
Construction Validation
Analyse du modèle
Génération
Orientée-modèle d’un modèle VdmSl de code
(ASM) vdmSl (fortement automatisée)
(automatisée)
Plan d’analyse
and
rng validerPar subset registreGaranties
and
registreAppels subset dom validerPar
and
registreConfirmations subset dom validerPar
2- Quel est l’état initial ?
pre
operation in set registreOperations
and garantie in set registreGaranties
and operation not in set dom validerPar
and garantie not in set rng validerPar
MACHINE SystemeCompensation
TYPES
OPERATION ; GARANTIE / types nécessaires
/ aspect statique du système
VARIABLES
/ variables d’état de la MA
registreOperations : set of OPERATION
registreGaranties : set of GARANTIE
registreAppels: set of OPERATION
registreConfirmations: set of OPERATION
validerPar : inmap OPERATION to GARANTIE
INVARIANT
dom validerPar subset registreOperations
and
rng validerPar subset registreGaranties
and
registreAppels subset dom validerPar
and
registreConfirmations subset dom validerPar
INITIALISATION
/ déterminer l’état initial du système
initialiser ETAT
post initialiser ==
registreOperations = registreOperations0,
and registreGaranties = registreGaranties0
and registreAppels = {},
and registreConfirmations = registreConfirmations0
and validerPar = validerPar0
OPERATIONS
/ opérations de modification de l’état
enregistrer: OPERATION ==> ETAT
pre
operation in set registreOperations
and garantie in set registreGaranties
and operation not in set dom validerPar
and garantie not in set rng validerPar
FIN systemeCompensation
2: Modèle VdmSl du système
types
--type des OPERATIONS
OPERATION =
<Op1>|<Op2>|<Op3>|<Op4>|<Op5>|<Op6>|<Op7>|<Op8>|<Op9>|<Op10>|<Op11
>|<Op12>;
)
pre operation in set registreAppels
post
operation not in set dom validerPar
--6-confirmer la bonne fin d’exécution d’une opération: l’acheteur s’acquitte du
--montant auprès du vendeur et se voit restituer le dépôt de garantie
end controleCompensations
étape 3: Validation du modèle VdmSl
values
op1:OPERATION = <Op1>;
op2:OPERATION = <Op2>;
op3:OPERATION = <Op3>;
op4:OPERATION = <Op4>;
op5:OPERATION = <Op5>;
op6:OPERATION = <Op6>;
op7:OPERATION = <Op7>;
op8:OPERATION = <Op8>;
op9:OPERATION = <Op9>;
op10:OPERATION = <Op10>;
op11:OPERATION = <Op11>;
op12:OPERATION = <Op12>;
gr1:GARANTIE = <G1>;
gr2:GARANTIE = <G2>;
gr3:GARANTIE = <G3>;
gr4:GARANTIE = <G4>;
gr5:GARANTIE = <G5>;
gr6:GARANTIE = <G6>;
gr7:GARANTIE = <G7>;
gr8:GARANTIE = <G8>;
gr9:GARANTIE = <G9>;
gr10:GARANTIE = <G10>;
gr11:GARANTIE = <G11>;
gr12:GARANTIE = <G12>;
end controleCompensations
étape 4: Génération de code
On actionne le générateur Vdm/C++ ou Java(Overture) pour générer le
code source en C++. Ou Java.