{
	"types": {
		"__pStep": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pRule": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "filename",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pTransformation": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "filename",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pExhaust": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "filenames",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pExhaustRandom": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "filenames",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pOnSuccess": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			}
		],
		"__pOnNotApplicable": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			}
		],
		"__pOnFailure": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			}
		],
		"__pRuntimeConfiguration": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "options",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pBreakpoint": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "enabled",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "ignoreCount",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "condition",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pBreaks": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			}
		],
		"__pOpenModel": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "action",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "pathToModel",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "pathToFormalism",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pWriteModel": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "action",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "pathToModel",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "pathToFormalism",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pPauseTransformation": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		],
		"__pResumeTransformation": [
			{
				"name": "__pLabel",
				"type": "string",
				"default": ""
			},
			{
				"name": "__pMatchSubtypes",
				"type": "boolean",
				"default": false
			},
			{
				"name": "isStart",
				"type": "code",
				"default": "\"[PYTHON]\"\n\"Example:\t result = True\"\n\"Example:\t result = getAttr()\"\n\n\"[JAVASCRIPT]\"\n\"Example:\t true\"\n\"Example:\t getAttr()\""
			}
		]
	},
	"constraints": [
		{
			"name": "noAbstractInstances",
			"event": "pre-create",
			"code": "/* comment next line to enable this constraint */\nthrow \"IgnoredConstraint\"\nfalse",
			"targetType": "Step"
		},
		{
			"name": "1-start",
			"event": "",
			"targetType": "*",
			"code": "/* comment next line to enable this constraint */\nthrow \"IgnoredConstraint\"\nvar mm        = \"/Formalisms/__Transformations__/Transformation/Transformation/\",\n    fulltypes = [mm+\"Rule\",mm+\"Transformation\",mm+\"Exhaust\",mm+\"ExhaustRandom\"],\n    steps     = getAllNodes(fulltypes);\n\nsteps.filter(function(s) {return getAttr(\"isStart\",s);}).length == 1;"
		},
		{
			"name": "max1-runtimeConfig",
			"event": "",
			"targetType": "*",
			"code": "/* comment next line to enable this constraint */\nthrow \"IgnoredConstraint\"\ngetAllNodes([\"/Formalisms/__Transformations__/Transformation/Transformation/RuntimeConfiguration\"]).length <= 1;\n"
		}
	],
	"actions": [
		{
			"name": "distinctPLabels",
			"event": "post-create",
			"code": "if( getAttr(\"__pLabel\") == \"\" )\n{\n\tvar pLabels = getAllNodes().\n\t\t\t\t\t\t\tfilter( function(n) {return hasAttr(\"__pLabel\",n);} ).\n\t\t\t\t\t\t\t\tmap( function(n) {return getAttr(\"__pLabel\",n);} ),\n\t\t i\t\t\t= \"0\";\n\n\twhile( _utils.contains(pLabels,i) )\n\t\ti = String(parseInt(i)+1);\n\tsetAttr(\"__pLabel\",i);\n}",
			"targetType": "*"
		}
	],
	"cardinalities": {
		"__pStep": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pRule": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pTransformation": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pExhaust": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pExhaustRandom": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pOnSuccess": [
			{
				"dir": "in",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			}
		],
		"__pOnNotApplicable": [
			{
				"dir": "in",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			}
		],
		"__pOnFailure": [
			{
				"dir": "in",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			}
		],
		"__pRuntimeConfiguration": [],
		"__pBreakpoint": [
			{
				"dir": "out",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pBreaks": [
			{
				"dir": "out",
				"type": "__pStep",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "in",
				"type": "__pBreakpoint",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pRule",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaust",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pExhaustRandom",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pOpenModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pWriteModel",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pPauseTransformation",
				"min": 0,
				"max": "1"
			},
			{
				"dir": "out",
				"type": "__pResumeTransformation",
				"min": 0,
				"max": "1"
			}
		],
		"__pOpenModel": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pWriteModel": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pPauseTransformation": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		],
		"__pResumeTransformation": [
			{
				"dir": "out",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnFailure",
				"min": 0,
				"max": 1
			},
			{
				"dir": "out",
				"type": "__pOnSuccess",
				"min": 0,
				"max": 1
			},
			{
				"dir": "in",
				"type": "__pOnSuccess",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnNotApplicable",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pOnFailure",
				"min": 0,
				"max": "Infinity"
			},
			{
				"dir": "in",
				"type": "__pBreaks",
				"min": 0,
				"max": "Infinity"
			}
		]
	},
	"legalConnections": {
		"__pStep": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pRule": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pTransformation": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pExhaust": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pExhaustRandom": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pBreakpoint": {
			"__pStep": [
				"__pBreaks"
			],
			"__pRule": [
				"__pBreaks"
			],
			"__pTransformation": [
				"__pBreaks"
			],
			"__pExhaust": [
				"__pBreaks"
			],
			"__pExhaustRandom": [
				"__pBreaks"
			],
			"__pOpenModel": [
				"__pBreaks"
			],
			"__pWriteModel": [
				"__pBreaks"
			],
			"__pPauseTransformation": [
				"__pBreaks"
			],
			"__pResumeTransformation": [
				"__pBreaks"
			]
		},
		"__pOpenModel": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pWriteModel": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pPauseTransformation": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		},
		"__pResumeTransformation": {
			"__pStep": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pRule": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaust": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pExhaustRandom": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pOpenModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pWriteModel": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pPauseTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			],
			"__pResumeTransformation": [
				"__pOnNotApplicable",
				"__pOnFailure",
				"__pOnSuccess"
			]
		}
	},
	"connectorTypes": {
		"__pOnSuccess": "visual",
		"__pOnNotApplicable": "visual",
		"__pOnFailure": "visual",
		"__pBreaks": "visual"
	},
	"types2parentTypes": {
		"__pStep": [],
		"__pRule": [
			"__pStep"
		],
		"__pTransformation": [
			"__pStep"
		],
		"__pExhaust": [
			"__pStep"
		],
		"__pExhaustRandom": [
			"__pStep"
		],
		"__pOnSuccess": [],
		"__pOnNotApplicable": [],
		"__pOnFailure": [],
		"__p1-start": [],
		"__pRuntimeConfiguration": [],
		"__pmax1-runtimeConfig": [],
		"__pBreakpoint": [],
		"__pBreaks": [],
		"__pOpenModel": [
			"__pStep"
		],
		"__pWriteModel": [
			"__pStep"
		],
		"__pPauseTransformation": [
			"__pStep"
		],
		"__pResumeTransformation": [
			"__pStep"
		]
	}
}