From c5f03cec1a3e807d154d3f280f1c54a0700bc1a1 Mon Sep 17 00:00:00 2001 From: Guillotin Damien Date: Thu, 9 Dec 2021 18:43:05 +0100 Subject: [PATCH] feat: un peu plus de ocl --- .../fr.n7.petrinet.examples/src-gen/jeu.net | 2 +- workspace/fr.n7.game.xtext/model/Game.ocl | 25 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/runtime-workspace/fr.n7.petrinet.examples/src-gen/jeu.net b/runtime-workspace/fr.n7.petrinet.examples/src-gen/jeu.net index b58edc6..0789a49 100644 --- a/runtime-workspace/fr.n7.petrinet.examples/src-gen/jeu.net +++ b/runtime-workspace/fr.n7.petrinet.examples/src-gen/jeu.net @@ -12,4 +12,4 @@ tr chemin_win lieu_Enigme*1 -> lieu_Succes*1 tr chemin_loose lieu_Enigme*1 -> lieu_Echec*1 tr interaction_Parler lieu_Enigme*1 -> personne_Sphinx*1 tr action_Reponse_1 personne_Sphinx*1 -> lieu_Enigme*1 -tr action_Reponse_2 personne_Sphinx*1 -> lieu_Enigme*1 +tr action_Reponse_2 personne_Sphinx*0 -> lieu_Enigme*1 diff --git a/workspace/fr.n7.game.xtext/model/Game.ocl b/workspace/fr.n7.game.xtext/model/Game.ocl index 3faa3e4..442f271 100644 --- a/workspace/fr.n7.game.xtext/model/Game.ocl +++ b/workspace/fr.n7.game.xtext/model/Game.ocl @@ -9,6 +9,29 @@ context Objet inv negativeQuantity: self.taille >= 0 context Nom -inv CorrectNom: self.nom.matches('[a-zA-Z]([a-zA-Z0-9]|_)*') +inv CorrectNom: self.nom.matches('[a-zA-Z]([a-zA-Z0-9]|_)*') + +context Jeu +inv NomLieuUnique: + Lieu.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) +inv NomCheminUnique: + Chemin.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) +inv NomObjetUnique: + Objet.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) +inv NomConnaissanceUnique: + Connaissance.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) +inv NomPersonneUnique: + Personne.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) +inv NomInteractionUnique: + Interaction.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) +inv NomActionUnique: + Action.allInstances() + ->forAll(x, y | x.nom.nom <> y.nom.nom) endpackage