From 71108d462c2695d917e87acea6f49d3f2954c6f4 Mon Sep 17 00:00:00 2001 From: ArenBabikian Date: Sun, 8 Sep 2019 16:12:55 -0400 Subject: VAMPIRE: Implement wf constraint handling --- .../domains/transima/fam/FamPatterns.vql | 79 +++++++++++----------- 1 file changed, 40 insertions(+), 39 deletions(-) (limited to 'Domains/Examples/ModelGenExampleFAM_plugin/src/hu/bme/mit/inf/dslreasoner/domains/transima/fam/FamPatterns.vql') diff --git a/Domains/Examples/ModelGenExampleFAM_plugin/src/hu/bme/mit/inf/dslreasoner/domains/transima/fam/FamPatterns.vql b/Domains/Examples/ModelGenExampleFAM_plugin/src/hu/bme/mit/inf/dslreasoner/domains/transima/fam/FamPatterns.vql index f0e48d42..15f70963 100644 --- a/Domains/Examples/ModelGenExampleFAM_plugin/src/hu/bme/mit/inf/dslreasoner/domains/transima/fam/FamPatterns.vql +++ b/Domains/Examples/ModelGenExampleFAM_plugin/src/hu/bme/mit/inf/dslreasoner/domains/transima/fam/FamPatterns.vql @@ -11,45 +11,46 @@ pattern terminatorAndInformation(T : FAMTerminator, I : InformationLink) = { FunctionalInput.terminator(In,T); } -@QueryBasedFeature -pattern type(This : Function, Target : FunctionType) = { - find rootElements(_Model, This); - Target == FunctionType::Root; -} or { - neg find parent(_Child, This); - neg find rootElements(_Model, This); - Target == FunctionType::Leaf; -} or { - find parent(This, _Par); - find parent(_Child, This); - Target == FunctionType::Intermediate; -} - -pattern rootElements(Model: FunctionalArchitectureModel, Root : Function) = { - FunctionalArchitectureModel.rootElements(Model, Root); -} - -pattern parent(Func : Function, Par : Function) = { - Function.parent(Func, Par); -} - -@QueryBasedFeature -pattern model(This:FunctionalElement, Target: FunctionalArchitectureModel) { - FunctionalElement(This); - FunctionalArchitectureModel(Target); -} - -pattern hasRoot(F : Function) { - find rootElements(_Model, F); -} -pattern hasInt(F : Function) { - neg find parent(_Child, F); - neg find rootElements(_Model, F); -} -pattern hasLeaf(F : Function) { - find parent(F, _Par); - find parent(_Child, F); -} +//@QueryBasedFeature +//pattern type(This : Function, Target : FunctionType) = { +// find rootElements(_Model, This); +// Target == FunctionType::Root; +//} or { +// neg find parent(_Child, This); +// neg find rootElements(_Model, This); +// Target == FunctionType::Leaf; +//} or { +// find parent(This, _Par); +// find parent(_Child, This); +// Target == FunctionType::Intermediate; +//} +// +////@Constraint +//pattern rootElements(Model: FunctionalArchitectureModel, Root : Function) = { +// FunctionalArchitectureModel.rootElements(Model, Root); +//} +// +//pattern parent(Func : Function, Par : Function) = { +// Function.parent(Func, Par); +//} +// +//@QueryBasedFeature +//pattern model(This:FunctionalElement, Target: FunctionalArchitectureModel) { +// FunctionalElement(This); +// FunctionalArchitectureModel(Target); +//} +// +//pattern hasRoot(F : Function) { +// find rootElements(_Model, F); +//} +//pattern hasInt(F : Function) { +// neg find parent(_Child, F); +// neg find rootElements(_Model, F); +//} +//pattern hasLeaf(F : Function) { +// find parent(F, _Par); +// find parent(_Child, F); +//} /* @Constraint(message="noRoot", severity="error", key={fam}) pattern noRoot(fam: FunctionalArchitectureModel) { -- cgit v1.2.3-54-g00ecf