Add conformance checking example
This commit is contained in:
parent
b69efc9af0
commit
17bff66e8e
8 changed files with 227 additions and 16 deletions
|
|
@ -1,139 +0,0 @@
|
|||
package "DSL Meta-Model" {
|
||||
class "Bear" as 00000000_0000_0000_0000_00000000046d {
|
||||
}
|
||||
abstract class "Animal" as 00000000_0000_0000_0000_000000000474 {
|
||||
}
|
||||
class "Man" as 00000000_0000_0000_0000_000000000491 {
|
||||
weight : Integer
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_000000000474 <|-- 00000000_0000_0000_0000_000000000491
|
||||
00000000_0000_0000_0000_000000000474 <|-- 00000000_0000_0000_0000_00000000046d
|
||||
|
||||
00000000_0000_0000_0000_000000000491 " " --> "1 .. *" 00000000_0000_0000_0000_000000000474 : afraidOf
|
||||
}
|
||||
package "Int Meta-Model" {
|
||||
class "Integer" as 00000000_0000_0000_0000_000000000094 {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
package "RAMified DSL Meta-Model" {
|
||||
class "RAM_Bear" as 00000000_0000_0000_0000_0000000005bb {
|
||||
}
|
||||
class "RAM_Animal" as 00000000_0000_0000_0000_0000000005c5 {
|
||||
}
|
||||
class "RAM_Man" as 00000000_0000_0000_0000_0000000005cf {
|
||||
RAM_weight : ActionCode
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_0000000005c5 <|-- 00000000_0000_0000_0000_0000000005cf
|
||||
00000000_0000_0000_0000_0000000005c5 <|-- 00000000_0000_0000_0000_0000000005bb
|
||||
|
||||
00000000_0000_0000_0000_0000000005cf " " --> "0 .. *" 00000000_0000_0000_0000_0000000005c5 : RAM_afraidOf
|
||||
}
|
||||
package "RAMified Int Meta-Model" {
|
||||
class "RAM_Integer" as 00000000_0000_0000_0000_00000000064c {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
00000000_0000_0000_0000_0000000005bb ..> 00000000_0000_0000_0000_00000000046d #line:green;text:green : RAMifies
|
||||
00000000_0000_0000_0000_0000000005c5 ..> 00000000_0000_0000_0000_000000000474 #line:green;text:green : RAMifies
|
||||
00000000_0000_0000_0000_0000000005cf ..> 00000000_0000_0000_0000_000000000491 #line:green;text:green : RAMifies
|
||||
00000000_0000_0000_0000_0000000005cf::RAM_weight ..> 00000000_0000_0000_0000_000000000491::weight #line:green;text:green : RAMifies
|
||||
00000000_0000_0000_0000_00000000064c ..> 00000000_0000_0000_0000_000000000094 #line:green;text:green : RAMifies
|
||||
package "LHS" {
|
||||
map "scaryAnimal : RAM_Animal" as 00000000_0000_0000_0000_00000000068a {
|
||||
}
|
||||
map "man : RAM_Man" as 00000000_0000_0000_0000_00000000066d {
|
||||
RAM_weight => `v > 60`
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_00000000066d -> 00000000_0000_0000_0000_00000000068a : :RAM_afraidOf
|
||||
}
|
||||
00000000_0000_0000_0000_00000000068a ..> 00000000_0000_0000_0000_0000000005c5 #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_00000000066d ..> 00000000_0000_0000_0000_0000000005cf #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_00000000066d::RAM_weight ..> 00000000_0000_0000_0000_0000000005cf::RAM_weight #line:blue;text:blue : instanceOf
|
||||
|
||||
package "RHS" {
|
||||
map "man : RAM_Man" as 00000000_0000_0000_0000_000000000699 {
|
||||
RAM_weight => `v + 5`
|
||||
}
|
||||
map "bill : RAM_Man" as 00000000_0000_0000_0000_0000000006b6 {
|
||||
RAM_weight => `100`
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_0000000006b6 -> 00000000_0000_0000_0000_000000000699 : :RAM_afraidOf
|
||||
}
|
||||
00000000_0000_0000_0000_000000000699 ..> 00000000_0000_0000_0000_0000000005cf #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000699::RAM_weight ..> 00000000_0000_0000_0000_0000000005cf::RAM_weight #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_0000000006b6 ..> 00000000_0000_0000_0000_0000000005cf #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_0000000006b6::RAM_weight ..> 00000000_0000_0000_0000_0000000005cf::RAM_weight #line:blue;text:blue : instanceOf
|
||||
|
||||
package "Model (before rewrite)" {
|
||||
map "bear2 : Bear" as 00000000_0000_0000_0000_000000000597 {
|
||||
}
|
||||
map "bear1 : Bear" as 00000000_0000_0000_0000_000000000590 {
|
||||
}
|
||||
map "george : Man" as 00000000_0000_0000_0000_000000000573 {
|
||||
weight => 80
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_000000000573 -> 00000000_0000_0000_0000_000000000590 : :afraidOf
|
||||
00000000_0000_0000_0000_000000000573 -> 00000000_0000_0000_0000_000000000597 : :afraidOf
|
||||
}
|
||||
00000000_0000_0000_0000_000000000597 ..> 00000000_0000_0000_0000_00000000046d #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000590 ..> 00000000_0000_0000_0000_00000000046d #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000573 ..> 00000000_0000_0000_0000_000000000491 #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000573::weight ..> 00000000_0000_0000_0000_000000000491::weight #line:blue;text:blue : instanceOf
|
||||
|
||||
00000000_0000_0000_0000_00000000068a ..> 00000000_0000_0000_0000_000000000590 #line:red;line.dotted;text:red : matchedWith
|
||||
00000000_0000_0000_0000_00000000066d ..> 00000000_0000_0000_0000_000000000573 #line:red;line.dotted;text:red : matchedWith
|
||||
00000000_0000_0000_0000_00000000066d::RAM_weight ..> 00000000_0000_0000_0000_000000000573::weight #line:red;line.dotted;text:red : matchedWith
|
||||
package "Model (after rewrite 0)" {
|
||||
map "bear2 : Bear" as 00000000_0000_0000_0000_0000000006db {
|
||||
}
|
||||
map "george : Man" as 00000000_0000_0000_0000_0000000006e9 {
|
||||
weight => 85
|
||||
}
|
||||
map "bill0 : Man" as 00000000_0000_0000_0000_000000000723 {
|
||||
weight => 100
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_000000000723 -> 00000000_0000_0000_0000_0000000006e9 : :afraidOf
|
||||
00000000_0000_0000_0000_0000000006e9 -> 00000000_0000_0000_0000_0000000006db : :afraidOf
|
||||
}
|
||||
00000000_0000_0000_0000_000000000699 ..> 00000000_0000_0000_0000_0000000006e9 #line:red;line.dotted;text:red : matchedWith
|
||||
00000000_0000_0000_0000_000000000699::RAM_weight ..> 00000000_0000_0000_0000_0000000006e9::weight #line:red;line.dotted;text:red : matchedWith
|
||||
00000000_0000_0000_0000_0000000006b6 ..> 00000000_0000_0000_0000_000000000723 #line:red;line.dotted;text:red : matchedWith
|
||||
00000000_0000_0000_0000_0000000006db ..> 00000000_0000_0000_0000_00000000046d #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_0000000006e9 ..> 00000000_0000_0000_0000_000000000491 #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_0000000006e9::weight ..> 00000000_0000_0000_0000_000000000491::weight #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000723 ..> 00000000_0000_0000_0000_000000000491 #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000723::weight ..> 00000000_0000_0000_0000_000000000491::weight #line:blue;text:blue : instanceOf
|
||||
|
||||
00000000_0000_0000_0000_00000000068a ..> 00000000_0000_0000_0000_000000000597 #line:orange;line.dotted;text:orange : matchedWith
|
||||
00000000_0000_0000_0000_00000000066d ..> 00000000_0000_0000_0000_000000000573 #line:orange;line.dotted;text:orange : matchedWith
|
||||
00000000_0000_0000_0000_00000000066d::RAM_weight ..> 00000000_0000_0000_0000_000000000573::weight #line:orange;line.dotted;text:orange : matchedWith
|
||||
package "Model (after rewrite 1)" {
|
||||
map "bear1 : Bear" as 00000000_0000_0000_0000_000000000747 {
|
||||
}
|
||||
map "george : Man" as 00000000_0000_0000_0000_00000000074e {
|
||||
weight => 85
|
||||
}
|
||||
map "bill0 : Man" as 00000000_0000_0000_0000_000000000788 {
|
||||
weight => 100
|
||||
}
|
||||
|
||||
00000000_0000_0000_0000_000000000788 -> 00000000_0000_0000_0000_00000000074e : :afraidOf
|
||||
00000000_0000_0000_0000_00000000074e -> 00000000_0000_0000_0000_000000000747 : :afraidOf
|
||||
}
|
||||
00000000_0000_0000_0000_000000000699 ..> 00000000_0000_0000_0000_00000000074e #line:orange;line.dotted;text:orange : matchedWith
|
||||
00000000_0000_0000_0000_000000000699::RAM_weight ..> 00000000_0000_0000_0000_00000000074e::weight #line:orange;line.dotted;text:orange : matchedWith
|
||||
00000000_0000_0000_0000_0000000006b6 ..> 00000000_0000_0000_0000_000000000788 #line:orange;line.dotted;text:orange : matchedWith
|
||||
00000000_0000_0000_0000_000000000747 ..> 00000000_0000_0000_0000_00000000046d #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_00000000074e ..> 00000000_0000_0000_0000_000000000491 #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_00000000074e::weight ..> 00000000_0000_0000_0000_000000000491::weight #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000788 ..> 00000000_0000_0000_0000_000000000491 #line:blue;text:blue : instanceOf
|
||||
00000000_0000_0000_0000_000000000788::weight ..> 00000000_0000_0000_0000_000000000491::weight #line:blue;text:blue : instanceOf
|
||||
Loading…
Add table
Add a link
Reference in a new issue