aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
diff options
context:
space:
mode:
authorLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-08-13 18:11:24 -0400
committerLibravatar 20001LastOrder <boqi.chen@mail.mcgill.ca>2019-08-13 18:11:24 -0400
commita64e889b0af396d79cd71daf46e171f67fc8b444 (patch)
treed8041b1a0483d235c29a2ebe81d219a0fdf42631 /Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
parentchange exploration value function (diff)
downloadVIATRA-Generator-a64e889b0af396d79cd71daf46e171f67fc8b444.tar.gz
VIATRA-Generator-a64e889b0af396d79cd71daf46e171f67fc8b444.tar.zst
VIATRA-Generator-a64e889b0af396d79cd71daf46e171f67fc8b444.zip
comment out constraint for Synchronizations
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql177
1 files changed, 88 insertions, 89 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
index f4bfa3c1..82b908b3 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/queries/hu/bme/mit/inf/dslreasoner/partialsnapshot_mavo/yakindu/patterns.vql
@@ -1,5 +1,4 @@
1package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu 1package hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu
2
3import epackage "hu.bme.mit.inf.yakindumm" 2import epackage "hu.bme.mit.inf.yakindumm"
4 3
5///////// 4/////////
@@ -92,63 +91,63 @@ pattern choiceHasNoIncoming(c: Choice) {
92// Synchronization 91// Synchronization
93///////// 92/////////
94 93
95@Constraint(severity="error", message="error", key = {s}) 94//@Constraint(severity="error", message="error", key = {s})
96pattern synchHasNoOutgoing(s : Synchronization) { 95//pattern synchHasNoOutgoing(s : Synchronization) {
97 neg find transition(_, s, _); 96// neg find transition(_, s, _);
98} 97//}
99 98//
100@Constraint(severity="error", message="error", key = {s}) 99//@Constraint(severity="error", message="error", key = {s})
101pattern synchHasNoIncoming(s : Synchronization) { 100//pattern synchHasNoIncoming(s : Synchronization) {
102 neg find transition(_, _, s); 101// neg find transition(_, _, s);
103} 102//}
104 103//
105@Constraint(severity="error", message="error", key = {s}) 104//@Constraint(severity="error", message="error", key = {s})
106pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) { 105//pattern SynchronizedIncomingInSameRegion(s : Synchronization, v1 : Vertex, v2 : Vertex) {
107 find transition(t1, v1, s); 106// find transition(t1, v1, s);
108 find transition(t2, v2, s); 107// find transition(t2, v2, s);
109 t1!=t2; 108// t1!=t2;
110 Region.vertices(r, v1); 109// Region.vertices(r, v1);
111 Region.vertices(r, v2); 110// Region.vertices(r, v2);
112} or { 111//} or {
113 find transition(t1, s, v1); 112// find transition(t1, s, v1);
114 find transition(t2, s, v2); 113// find transition(t2, s, v2);
115 t1!=t2; 114// t1!=t2;
116 Region.vertices(r, v1); 115// Region.vertices(r, v1);
117 Region.vertices(r, v2); 116// Region.vertices(r, v2);
118} 117//}
119 118//
120@Constraint(severity="error", message="error", key = {s}) 119//@Constraint(severity="error", message="error", key = {s})
121pattern notSynchronizingStates(s : Synchronization) { 120//pattern notSynchronizingStates(s : Synchronization) {
122 neg find hasMultipleOutgoingTrainsition(s); 121// neg find hasMultipleOutgoingTrainsition(s);
123 neg find hasMultipleIncomingTrainsition(s); 122// neg find hasMultipleIncomingTrainsition(s);
124} 123//}
125
126pattern hasMultipleOutgoingTrainsition(v : Synchronization) {
127 find transition(_, v, trg1);
128 find transition(_, v, trg2);
129 trg1 != trg2;
130}
131
132pattern hasMultipleIncomingTrainsition(v : Synchronization) {
133 find transition(_, src1, v);
134 find transition(_, src2, v);
135 src1 != src2;
136}
137 124
138@Constraint(severity="error", message="error", key = {s}) 125//pattern hasMultipleOutgoingTrainsition(v : Synchronization) {
139pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) { 126// find transition(_, v, trg1);
140 find transition(_, v1, s); 127// find transition(_, v, trg2);
141 find transition(_, v2, s); 128// trg1 != trg2;
142 CompositeElement.regions.vertices(r1, v1); 129//}
143 CompositeElement.regions.vertices(r2, v2); 130//
144 r1 != r2; 131//pattern hasMultipleIncomingTrainsition(v : Synchronization) {
145} or { 132// find transition(_, src1, v);
146 find transition(_, s, v1); 133// find transition(_, src2, v);
147 find transition(_, s, v2); 134// src1 != src2;
148 CompositeElement.regions.vertices(r1, v1); 135//}
149 CompositeElement.regions.vertices(r2, v2); 136//
150 r1 != r2; 137//@Constraint(severity="error", message="error", key = {s})
151} 138//pattern SynchronizedRegionsAreNotSiblings(s : Synchronization, v1 : Vertex, v2 : Vertex) {
139// find transition(_, v1, s);
140// find transition(_, v2, s);
141// CompositeElement.regions.vertices(r1, v1);
142// CompositeElement.regions.vertices(r2, v2);
143// r1 != r2;
144//} or {
145// find transition(_, s, v1);
146// find transition(_, s, v2);
147// CompositeElement.regions.vertices(r1, v1);
148// CompositeElement.regions.vertices(r2, v2);
149// r1 != r2;
150//}
152 151
153/////////////////////////////// 152///////////////////////////////
154// Extra 153// Extra
@@ -166,16 +165,16 @@ pattern child(parent: CompositeElement, child: Vertex) {
166 CompositeElement.regions.vertices(parent, child); 165 CompositeElement.regions.vertices(parent, child);
167} 166}
168 167
169@Constraint(severity="error", message="error", key = {s}) 168//@Constraint(severity="error", message="error", key = {s})
170pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Vertex) { 169//pattern SynchronizedRegionDoesNotHaveMultipleRegions(s : Synchronization, v : Vertex) {
171 find transition(_, v, s); 170// find transition(_, v, s);
172 find child(c,v); 171// find child(c,v);
173 neg find hasMultipleRegions(c); 172// neg find hasMultipleRegions(c);
174} or { 173//} or {
175 find transition(_, s, v); 174// find transition(_, s, v);
176 find child(c,v); 175// find child(c,v);
177 neg find hasMultipleRegions(c); 176// neg find hasMultipleRegions(c);
178} 177//}
179 178
180 179
181pattern hasMultipleRegions(composite: CompositeElement) { 180pattern hasMultipleRegions(composite: CompositeElement) {
@@ -187,32 +186,32 @@ pattern hasMultipleRegions(composite: CompositeElement) {
187/** 186/**
188 * Simplifying model generation 187 * Simplifying model generation
189 */ 188 */
190@Constraint(severity="error", message="error", key = {s}) 189//@Constraint(severity="error", message="error", key = {s})
191pattern synchThree(s: Synchronization) { 190//pattern synchThree(s: Synchronization) {
192 Transition.target(t1,s); 191// Transition.target(t1,s);
193 Transition.target(t2,s); 192// Transition.target(t2,s);
194 Transition.target(t3,s); 193// Transition.target(t3,s);
195 t1!=t2; 194// t1!=t2;
196 t2!=t3; 195// t2!=t3;
197 t1!=t3; 196// t1!=t3;
198} or { 197//} or {
199 Transition.source(t1,s); 198// Transition.source(t1,s);
200 Transition.source(t2,s); 199// Transition.source(t2,s);
201 Transition.source(t3,s); 200// Transition.source(t3,s);
202 t1!=t2; 201// t1!=t2;
203 t2!=t3; 202// t2!=t3;
204 t1!=t3; 203// t1!=t3;
205} 204//}
206 205
207/** 206/**
208 * Simplifying model generation 207 * Simplifying model generation
209 */ 208 */
210@Constraint(severity="error", message="error", key = {s1,s2}) 209//@Constraint(severity="error", message="error", key = {s1,s2})
211pattern twoSynch(s1 : Synchronization, s2 : Synchronization) { 210//pattern twoSynch(s1 : Synchronization, s2 : Synchronization) {
212 Synchronization(s1); 211// Synchronization(s1);
213 Synchronization(s2); 212// Synchronization(s2);
214 s1 != s2; 213// s1 != s2;
215} 214//}
216 215
217/** 216/**
218 * Model generation task: at least one synch 217 * Model generation task: at least one synch