|
@@ -8,31 +8,20 @@ A B {
|
|
|
{Contains} Success success {}
|
|
|
{Contains} Query match {
|
|
|
LHS {
|
|
|
- Pre_ReachabilityGraph/State {
|
|
|
- label = "1"
|
|
|
- }
|
|
|
- }
|
|
|
- NAC {
|
|
|
- Pre_ReachabilityGraph/State pre_1 {
|
|
|
- label = "1"
|
|
|
- }
|
|
|
- Pre_Query/Place pre_2 {
|
|
|
+ Pre_Query/Place {
|
|
|
label = "2"
|
|
|
}
|
|
|
Pre_ReachabilityGraph/Place pre_3 {
|
|
|
label = "3"
|
|
|
}
|
|
|
- Pre_ReachabilityGraph/Contains (pre_1, pre_3) {
|
|
|
- label = "5"
|
|
|
- }
|
|
|
|
|
|
constraint = $
|
|
|
Boolean function constraint(host_model : Element, mapping : Element):
|
|
|
Boolean names_match
|
|
|
- Boolean tokens_mismatch
|
|
|
+ Boolean tokens_match
|
|
|
names_match = value_eq(read_attribute(host_model, mapping["2"], "name"), read_attribute(host_model, mapping["3"], "name"))
|
|
|
- tokens_mismatch = value_neq(read_attribute(host_model, mapping["2"], "tokens"), read_attribute(host_model, mapping["3"], "tokens"))
|
|
|
- return bool_and(names_match, tokens_mismatch)!
|
|
|
+ tokens_match = value_eq(read_attribute(host_model, mapping["2"], "tokens"), read_attribute(host_model, mapping["3"], "tokens"))
|
|
|
+ return bool_and(names_match, tokens_match)!
|
|
|
$
|
|
|
}
|
|
|
}
|