Przeglądaj źródła

changed default value in MoTif Positionable to an actual list

Simon Van Mierlo 9 lat temu
rodzic
commit
c0dc35ea10

BIN
doc/_build/doctrees/environment.pickle


BIN
doc/_build/doctrees/modelling_transformation.doctree


+ 2 - 1
doc/_build/html/_sources/modelling_transformation.txt

@@ -97,7 +97,7 @@ The MoTif Scheduling Language
 
 Rules are scheduled using a scheduling language. We use *MoTif*, which exposes a number of primitives, or *steps*. A schedule consists of a number of steps starting at the *Start* pseudostep and ending in either a *EndSuccess* or *EndFail* pseudostep. Each step is connected to two other steps with a *success* or a *fail* link. Depending on the type of step, the referenced rule(s) are executed in a particular way. The steps exposed by MoTif are:
 
-.. image: img/MoTif_toolbar.png
+.. image:: img/MoTif_toolbar.png
 
 #. **ARule**: Atomic rule. Executes the rule for one match found. If no matches are found, it fails.
 #. **QRule**: A query. Succeeds if the LHS matches and the NACs do not match. The RHS of the rule is ignored.
@@ -110,6 +110,7 @@ Rules are scheduled using a scheduling language. We use *MoTif*, which exposes a
 #. **EndFail**: The end of the schedule (indicating failure). Can occur more than once, but the schedule ends when one of them is reached.
 #. **Sequence**: Executes the referenced transformation until it fails.
 #. **BRule**: Allows for other steps to be nested. Executes (non-deterministically) one of the succeeding child steps.
+#. **CRule**: Nested transformation. The referenced transformation schedule is executed once.
 #. **BSRule**: Executes (non-deterministically) one of the succeeding child steps until none of them succeeds.
 #. Unused.
 #. Unused.

Plik diff jest za duży
+ 2 - 0
doc/_build/html/modelling_transformation.html


Plik diff jest za duży
+ 1 - 1
doc/_build/html/searchindex.js


+ 2 - 1
doc/modelling_transformation.rst

@@ -97,7 +97,7 @@ The MoTif Scheduling Language
 
 Rules are scheduled using a scheduling language. We use *MoTif*, which exposes a number of primitives, or *steps*. A schedule consists of a number of steps starting at the *Start* pseudostep and ending in either a *EndSuccess* or *EndFail* pseudostep. Each step is connected to two other steps with a *success* or a *fail* link. Depending on the type of step, the referenced rule(s) are executed in a particular way. The steps exposed by MoTif are:
 
-.. image: img/MoTif_toolbar.png
+.. image:: img/MoTif_toolbar.png
 
 #. **ARule**: Atomic rule. Executes the rule for one match found. If no matches are found, it fails.
 #. **QRule**: A query. Succeeds if the LHS matches and the NACs do not match. The RHS of the rule is ignored.
@@ -110,6 +110,7 @@ Rules are scheduled using a scheduling language. We use *MoTif*, which exposes a
 #. **EndFail**: The end of the schedule (indicating failure). Can occur more than once, but the schedule ends when one of them is reached.
 #. **Sequence**: Executes the referenced transformation until it fails.
 #. **BRule**: Allows for other steps to be nested. Executes (non-deterministically) one of the succeeding child steps.
+#. **CRule**: Nested transformation. The referenced transformation schedule is executed once.
 #. **BSRule**: Executes (non-deterministically) one of the succeeding child steps until none of them succeeds.
 #. Unused.
 #. Unused.

+ 96 - 24
users/(default)/Formalisms/__Transformations__/Transformation/MoTif.metamodel

@@ -14,7 +14,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"AtomicRuleBlock": [
@@ -31,7 +34,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"CompositeRuleBlock": [
@@ -48,7 +54,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"QRule": [
@@ -70,7 +79,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"ARule": [
@@ -92,7 +104,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"FRule": [
@@ -119,7 +134,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"SRule": [
@@ -146,7 +164,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"Sequence": [
@@ -168,7 +189,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"CRule": [
@@ -190,7 +214,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"BRule": [
@@ -207,7 +234,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"BSRule": [
@@ -229,7 +259,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"LRule": [
@@ -256,7 +289,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"LQSRule": [
@@ -283,28 +319,40 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"TrafoElement": [
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"Start": [
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"EndSuccess": [
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"ImplicitOrderCompositeRuleBlock": [
@@ -321,7 +369,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"ExplicitOrderCompositeRuleBlock": [
@@ -343,14 +394,20 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"EndFail": [
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"success": [],
@@ -384,7 +441,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"LSRule": [
@@ -411,14 +471,20 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"Positionable": [
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"CQRule2": [
@@ -445,7 +511,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		],
 		"CQRule3": [
@@ -477,7 +546,10 @@
 			{
 				"name": "position",
 				"type": "list<int>",
-				"default": "[0,0]"
+				"default": [
+					0,
+					0
+				]
 			}
 		]
 	},

+ 118 - 118
users/(default)/Formalisms/__Transformations__/Transformation/MoTif.pattern.metamodel

@@ -19,7 +19,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "name",
@@ -56,7 +56,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "name",
@@ -93,7 +93,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "name",
@@ -130,7 +130,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "query",
@@ -172,7 +172,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "rule",
@@ -214,7 +214,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -261,7 +261,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -308,7 +308,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "ref",
@@ -350,7 +350,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "ref",
@@ -392,7 +392,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "name",
@@ -429,7 +429,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -471,7 +471,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -518,7 +518,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -565,7 +565,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "position",
@@ -592,7 +592,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "position",
@@ -619,7 +619,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "position",
@@ -646,7 +646,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "name",
@@ -683,7 +683,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "ref",
@@ -725,7 +725,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "position",
@@ -752,7 +752,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__pfail": [
@@ -774,7 +774,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__psub-rule": [
@@ -796,7 +796,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__pinitial": [
@@ -818,7 +818,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__pbase": [
@@ -840,7 +840,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__ploop": [
@@ -862,7 +862,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__pbranch": [
@@ -884,7 +884,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			}
 		],
 		"__pLFRule": [
@@ -906,7 +906,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -953,7 +953,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "maxIterations",
@@ -1000,7 +1000,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "position",
@@ -1027,7 +1027,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "innerQuery",
@@ -1074,7 +1074,7 @@
 			{
 				"name": "__pMatchSubtypes",
 				"type": "boolean",
-				"default": false
+				"default": true
 			},
 			{
 				"name": "secondInnerQuery",
@@ -2687,25 +2687,25 @@
 				"max": "1"
 			},
 			{
-				"dir": "in",
+				"dir": "out",
 				"type": "__pSequence",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "out",
+				"dir": "in",
 				"type": "__pSequence",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "in",
+				"dir": "out",
 				"type": "__pCRule",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "out",
+				"dir": "in",
 				"type": "__pCRule",
 				"min": 0,
 				"max": "1"
@@ -3053,13 +3053,13 @@
 				"max": "1"
 			},
 			{
-				"dir": "in",
+				"dir": "out",
 				"type": "__pLQSRule",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "out",
+				"dir": "in",
 				"type": "__pLQSRule",
 				"min": 0,
 				"max": "1"
@@ -3077,25 +3077,25 @@
 				"max": "1"
 			},
 			{
-				"dir": "in",
+				"dir": "out",
 				"type": "__pLFRule",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "out",
+				"dir": "in",
 				"type": "__pLFRule",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "in",
+				"dir": "out",
 				"type": "__pLSRule",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "out",
+				"dir": "in",
 				"type": "__pLSRule",
 				"min": 0,
 				"max": "1"
@@ -3181,13 +3181,13 @@
 				"max": "1"
 			},
 			{
-				"dir": "in",
+				"dir": "out",
 				"type": "__pBSRule",
 				"min": 0,
 				"max": "1"
 			},
 			{
-				"dir": "out",
+				"dir": "in",
 				"type": "__pBSRule",
 				"min": 0,
 				"max": "1"
@@ -5739,88 +5739,88 @@
 	},
 	"types2parentTypes": {
 		"__pRuleBlock": [
-			"__pTrafoElement",
-			"__pPositionable"
+			"__pPositionable",
+			"__pTrafoElement"
 		],
 		"__pAtomicRuleBlock": [
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock"
 		],
 		"__pCompositeRuleBlock": [
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock"
 		],
 		"__pQRule": [
-			"__pAtomicRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pAtomicRuleBlock"
 		],
 		"__pARule": [
-			"__pAtomicRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pAtomicRuleBlock"
 		],
 		"__pFRule": [
-			"__pARule",
-			"__pAtomicRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pAtomicRuleBlock",
+			"__pARule"
 		],
 		"__pSRule": [
-			"__pARule",
-			"__pAtomicRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pAtomicRuleBlock",
+			"__pARule"
 		],
 		"__pSequence": [
-			"__pExplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pExplicitOrderCompositeRuleBlock"
 		],
 		"__pCRule": [
-			"__pExplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pExplicitOrderCompositeRuleBlock"
 		],
 		"__pBRule": [
-			"__pImplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pImplicitOrderCompositeRuleBlock"
 		],
 		"__pBSRule": [
-			"__pBRule",
-			"__pImplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pImplicitOrderCompositeRuleBlock",
+			"__pBRule"
 		],
 		"__pLRule": [
-			"__pImplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pImplicitOrderCompositeRuleBlock"
 		],
 		"__pLQSRule": [
-			"__pLRule",
-			"__pImplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pImplicitOrderCompositeRuleBlock",
+			"__pLRule"
 		],
 		"__pTrafoElement": [
 			"__pPositionable"
@@ -5829,24 +5829,24 @@
 			"__pPositionable"
 		],
 		"__pEndSuccess": [
-			"__pTrafoElement",
-			"__pPositionable"
+			"__pPositionable",
+			"__pTrafoElement"
 		],
 		"__pImplicitOrderCompositeRuleBlock": [
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock"
 		],
 		"__pExplicitOrderCompositeRuleBlock": [
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock"
 		],
 		"__pEndFail": [
-			"__pTrafoElement",
-			"__pPositionable"
+			"__pPositionable",
+			"__pTrafoElement"
 		],
 		"__psuccess": [],
 		"__pfail": [],
@@ -5856,36 +5856,36 @@
 		"__ploop": [],
 		"__pbranch": [],
 		"__pLFRule": [
-			"__pLRule",
-			"__pImplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pImplicitOrderCompositeRuleBlock",
+			"__pLRule"
 		],
 		"__pLSRule": [
-			"__pLRule",
-			"__pImplicitOrderCompositeRuleBlock",
-			"__pCompositeRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pCompositeRuleBlock",
+			"__pImplicitOrderCompositeRuleBlock",
+			"__pLRule"
 		],
 		"__pPositionable": [],
 		"__pCQRule2": [
-			"__pQRule",
-			"__pAtomicRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pAtomicRuleBlock",
+			"__pQRule"
 		],
 		"__pCQRule3": [
-			"__pCQRule2",
-			"__pQRule",
-			"__pAtomicRuleBlock",
-			"__pRuleBlock",
+			"__pPositionable",
 			"__pTrafoElement",
-			"__pPositionable"
+			"__pRuleBlock",
+			"__pAtomicRuleBlock",
+			"__pQRule",
+			"__pCQRule2"
 		]
 	}
 }

+ 4 - 1
users/(default)/Formalisms/__Transformations__/Transformation/MoTifMM.model

@@ -14120,7 +14120,10 @@
 						{
 							"name": "position",
 							"type": "list<int>",
-							"default": "[0,0]"
+							"default": [
+								0,
+								0
+							]
 						}
 					]
 				},