{
	"types": {
		"BasicStateIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "BasicStateIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					75,
					125
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": ""
			},
			{
				"name": "parser",
				"type": "code",
				"default": ""
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"4": {
							"r": {
								"type": "double",
								"value": 20
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#20B2AA",
									"fill": "#E6E6FA",
									"fill-opacity": 0.75,
									"stroke-width": 2
								}
							},
							"mapper": {
								"type": "code",
								"value": "var style = { \"stroke\": \"#20B2AA\",\n\t\t    \"fill\": \"#E6E6FA\",\n\t\t    \"fill-opacity\": 0.75,\n   \t\t    \"stroke-width\": 2};\n\nif( getAttr('isStart') )\n\tstyle['stroke-width'] = 4;\n\nif( getAttr('isCurrent') )\n\tstyle['fill'] = 'green';\n\n({'style' : style})"
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Circle",
							"position": {
								"type": "list<double>",
								"value": [
									3,
									3
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"5": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px",
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('name')})"
							},
							"parser": {
								"type": "code",
								"value": "({'name':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									2,
									44
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"6": {
							"distance": {
								"type": "double",
								"value": 10
							},
							"alignment": {
								"type": "ENUM(\"right\",\"left\",\"center\")",
								"value": "\"center\""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Below",
							"position": {
								"type": "list<double>",
								"value": [
									32.99899850809555,
									45.99899850809561
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ff00",
									"stroke-dasharray": "",
									"stroke-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "classic-wide-long"
								}
							}
						}
					},
					"edges": [
						{
							"src": "5",
							"dest": "6"
						},
						{
							"src": "6",
							"dest": "4"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"CompositeStateIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "CompositeStateIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					325,
					151
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": ""
			},
			{
				"name": "parser",
				"type": "code",
				"default": ""
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"10": {
							"width": {
								"type": "double",
								"value": 400
							},
							"height": {
								"type": "double",
								"value": 400
							},
							"cornerRadius": {
								"type": "double",
								"value": 20
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "blue",
									"fill": "#ffffff",
									"fill-opacity": 0.01,
									"stroke-width": 2
								}
							},
							"mapper": {
								"type": "code",
								"value": "var style = { \"stroke\": \"blue\",\n\t\t    \"fill\": \"#ffffff\",\n\t\t    \"fill-opacity\": 0.01,\n   \t\t    \"stroke-width\": 2};\n\nif( getAttr('isStart') )\n\tstyle['stroke'] = 'green';\n\n({'style' : style})"
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									2,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"11": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px",
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('name')})"
							},
							"parser": {
								"type": "code",
								"value": "({'name':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									11,
									404
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"12": {
							"distance": {
								"type": "double",
								"value": 10
							},
							"alignment": {
								"type": "ENUM(\"right\",\"left\",\"center\")",
								"value": "\"center\""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Below",
							"position": {
								"type": "list<double>",
								"value": [
									77.06940657361247,
									379.3658354276615
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ff00",
									"stroke-dasharray": "",
									"stroke-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "classic-wide-long"
								}
							}
						}
					},
					"edges": [
						{
							"src": "11",
							"dest": "12"
						},
						{
							"src": "12",
							"dest": "10"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"OrthogonalComponentIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "OrthogonalComponentIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					800,
					150
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": ""
			},
			{
				"name": "parser",
				"type": "code",
				"default": ""
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"18": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px",
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('name')})"
							},
							"parser": {
								"type": "code",
								"value": "({'name':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									9,
									203
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"20": {
							"width": {
								"type": "double",
								"value": 300
							},
							"height": {
								"type": "double",
								"value": 200
							},
							"cornerRadius": {
								"type": "double",
								"value": 20
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "gray",
									"fill": "#ffffff",
									"fill-opacity": 0.01,
									"stroke-width": 2,
									"stroke-dasharray": "- "
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									2,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"21": {
							"distance": {
								"type": "double",
								"value": 10
							},
							"alignment": {
								"type": "ENUM(\"right\",\"left\",\"center\")",
								"value": "\"center\""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Below",
							"position": {
								"type": "list<double>",
								"value": [
									77.06940657361247,
									379.3658354276615
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ff00",
									"stroke-dasharray": "",
									"stroke-opacity": 1,
									"arrow-start": "none",
									"arrow-end": "classic-wide-long"
								}
							}
						}
					},
					"edges": [
						{
							"src": "18",
							"dest": "21"
						},
						{
							"src": "21",
							"dest": "20"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"HistoryStateIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "HistoryStateIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					73,
					347
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"28": {
							"r": {
								"type": "double",
								"value": 25
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "blue",
									"stroke-dasharray": "",
									"fill": "blue",
									"fill-opacity": 0.75,
									"font-size": "20px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Circle",
							"position": {
								"type": "list<double>",
								"value": [
									1.9480458933757916,
									3
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									0.30351398,
									0.30351398
								]
							}
						},
						"31": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "if (getAttr('type') == \"deep\") {\n    ({'textContent':getAttr('name')+\"*\"})\n}\nelse {\n    ({'textContent':getAttr('name')})\n}"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									11,
									18
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"containLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#ffff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.75,
					"stroke-width": 1
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "containLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					417,
					744
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"containOCLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#ffff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.75,
					"stroke-width": 1
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "containOCLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					726,
					745
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"ocContainLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#ffff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.75,
					"stroke-width": 1
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "ocContainLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					1024,
					746
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"includesLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#ffff00",
					"stroke-dasharray": "",
					"stroke-opacity": 0.75,
					"stroke-width": 1
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "includesLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					417,
					942
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"transitionLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#000000",
					"stroke-dasharray": "",
					"stroke-opacity": 1,
					"stroke-width": 1
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "transitionLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					726,
					934
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"16": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px",
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('display')})"
							},
							"parser": {
								"type": "code",
								"value": "({'display':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 0.44785276073619634,
									"yoffset": -16.5
								}
							}
						},
						"281": {
							"segments": {
								"type": "string",
								"value": "m0,0 l10,4 l-10,4"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#000000",
									"fill-opacity": 0,
									"stroke-width": 1,
									"opacity": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 1,
									"yoffset": -4
								}
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"AssociationLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#000000",
					"stroke-dasharray": "",
					"stroke-opacity": 1,
					"stroke-width": 2
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "AssociationLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					509,
					1157
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\nvar arrowHead = 'custom';\nif (getAttr('linktype') == 'containment')\n    arrowHead = 'diamond-black-large';\n({\"arrowHead\": arrowHead})"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"67": {
							"textContent": {
								"type": "string",
								"value": "*"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"font-size": "18px",
									"font-style": "normal",
									"font-weight": "normal",
									"line-height": "100%",
									"text-align": "left",
									"letter-spacing": "0px",
									"word-spacing": "0px",
									"fill": "#000000",
									"fill-opacity": "1",
									"stroke": "none",
									"": ""
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\nvar clazz = getNeighbors('>'),\n    mult = '';\nif (clazz.length > 0) {\n    clazz = clazz[0];\n    var cardinalities = getAttr('cardinalities', clazz), card;\n    for (i = 0; i < cardinalities.length; i++) {\n        if (cardinalities[i]['type'] == getAttr('name') && cardinalities[i]['dir'] == 'in') {\n            card = cardinalities[i];\n            break;\n        }\n    }\n    if (card) {\n        var min = card['min'],\n            max = card['max'];\n        if (min == '')\n            min = '0';\n        if (max == '' || max == 'Infinity')\n            max = '*';\n        if (min == '0' && max == '*')\n            mult = '*';\n        else if (min == max)\n            mult = max;\n        else mult = min + '..' + max;\n    }\n}\nif (mult == '')\n    mult = '*';\n({'textContent': mult})"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 0.049079754601226995,
									"yoffset": -17.5
								}
							}
						},
						"68": {
							"textContent": {
								"type": "string",
								"value": "*"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"font-size": "18px",
									"font-style": "normal",
									"font-weight": "normal",
									"line-height": "100%",
									"text-align": "right",
									"letter-spacing": "0px",
									"word-spacing": "0px",
									"fill": "#000000",
									"fill-opacity": "1",
									"stroke": "none",
									"": ""
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\nvar clazz = getNeighbors('<'),\n    mult = '';\nif (clazz.length > 0) {\n    clazz = clazz[0];\n    var cardinalities = getAttr('cardinalities', clazz), card;\n    for (i = 0; i < cardinalities.length; i++) {\n        if (cardinalities[i]['type'] == getAttr('name') && cardinalities[i]['dir'] == 'out') {\n            card = cardinalities[i];\n            break;\n        }\n    }\n    if (card) {\n        var min = card['min'],\n            max = card['max'];\n        if (min == '')\n            min = '0';\n        if (max == '' || max == 'Infinity')\n            max = '*';\n        if (min == '0' && max == '*')\n            mult = '*';\n        else if (min == max)\n            mult = max;\n        else mult = min + '..' + max;\n    }\n}\nif (mult == '')\n    mult = '*';\n({'textContent': mult})"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 1.0245398773006136,
									"yoffset": -17.5
								}
							}
						},
						"69": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"font-size": "13px",
									"font-style": "normal",
									"font-weight": "normal",
									"line-height": "100%",
									"text-align": "center",
									"letter-spacing": "0px",
									"word-spacing": "0px",
									"fill": "#000000",
									"fill-opacity": "1",
									"stroke": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "({'textContent':getAttr('name')})"
							},
							"parser": {
								"type": "code",
								"value": "({'name':getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 0.2147239263803681,
									"yoffset": -20.5
								}
							}
						},
						"140": {
							"segments": {
								"type": "string",
								"value": "m0,0 l20,8 l-20,8"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#000000",
									"fill-opacity": 0,
									"stroke-width": 1,
									"opacity": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 1,
									"yoffset": -8
								}
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"InheritanceLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#000000",
					"stroke-dasharray": "",
					"stroke-opacity": 1,
					"stroke-width": 2
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "InheritanceLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					869,
					1157
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"164": {
							"segments": {
								"type": "string",
								"value": "m0,0 l20,10 l-20,10 z"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#ffffff",
									"opacity": 1,
									"stroke-width": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 1,
									"yoffset": -10
								}
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"ClassIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "ClassIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					390,
					1388
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"75": {
							"textContent": {
								"type": "string",
								"value": "T..."
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"font-size": "14px",
									"font-style": "normal",
									"font-weight": "bold",
									"line-height": "100%",
									"letter-spacing": "0px",
									"word-spacing": "0px",
									"fill": "#000000",
									"fill-opacity": "1",
									"stroke": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "var filenames = getAttr('attributes').map(\n            function(attr)\n            {\n                var s = '+ '+attr['name'] + ' : ' + attr['type'] + ' = ' + attr['default'];\n                return s;\n            });\n\n({'textContent': filenames.join('\\n')})"
							},
							"parser": {
								"type": "code",
								"value": ""
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									10,
									41
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"77": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"font-size": "18px",
									"font-style": "normal",
									"font-weight": "bold",
									"line-height": "100%",
									"letter-spacing": "0px",
									"word-spacing": "0px",
									"fill": "#000000",
									"fill-opacity": "1",
									"stroke": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "var style = \n{\n   \"font-size\": \"18px\",\n   \"font-style\": \"normal\",\n   \"font-weight\": \"bold\",\n   \"line-height\": \"100%\",\n   \"letter-spacing\": \"0px\",\n   \"word-spacing\": \"0px\",\n   \"fill\": \"#000000\",\n   \"fill-opacity\": \"1\",\n   \"stroke\": \"none\",\n       \"font-style\": (getAttr('abstract') ? 'italic' : 'normal')\n};\n\n({'textContent': getAttr('name'), 'style':style})\n\n\n"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */\n({'name': getAttr('textContent')})"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									8,
									8
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"80": {
							"segments": {
								"type": "string",
								"value": "m0,0l197,0"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "20px",
									"stroke-width": 2,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									6,
									36
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"81": {
							"width": {
								"type": "double",
								"value": 200
							},
							"height": {
								"type": "double",
								"value": 125
							},
							"cornerRadius": {
								"type": "double",
								"value": 0
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"stroke-width": 2
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									4,
									3
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"83": {
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
							"position": {
								"type": "list<double>",
								"value": [
									12.5,
									27
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ffff",
									"stroke-dasharray": "",
									"stroke-opacity": 0.1,
									"stroke-width": 1
								}
							}
						},
						"84": {
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
							"position": {
								"type": "list<double>",
								"value": [
									53.75,
									20
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ffff",
									"stroke-dasharray": "",
									"stroke-opacity": 0.1,
									"stroke-width": 1
								}
							}
						},
						"85": {
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
							"position": {
								"type": "list<double>",
								"value": [
									68.5,
									36.5
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ffff",
									"stroke-dasharray": "",
									"stroke-opacity": 0.1,
									"stroke-width": 1
								}
							}
						}
					},
					"edges": [
						{
							"src": "81",
							"dest": "83"
						},
						{
							"src": "83",
							"dest": "75"
						},
						{
							"src": "81",
							"dest": "84"
						},
						{
							"src": "84",
							"dest": "80"
						},
						{
							"src": "81",
							"dest": "85"
						},
						{
							"src": "85",
							"dest": "77"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		],
		"behaviourLink": [
			{
				"name": "link-style",
				"type": "map<string,string>",
				"default": {
					"stroke": "#000000",
					"stroke-dasharray": "-",
					"stroke-opacity": 1,
					"stroke-width": 1
				}
			},
			{
				"name": "arrowHead",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "custom"
			},
			{
				"name": "arrowTail",
				"type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)",
				"default": "arrow-black"
			},
			{
				"name": "typename",
				"type": "string",
				"default": "behaviourLink"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					73,
					1607
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"92": {
							"textContent": {
								"type": "string",
								"value": "<<behaviour>>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#ffffff",
									"fill-opacity": 0.75,
									"font-size": "13px",
									"stroke-width": 1,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 0.34355828220858897,
									"yoffset": -16.5
								}
							}
						},
						"281": {
							"segments": {
								"type": "string",
								"value": "m0,0 l10,4 l-10,4"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"fill": "#000000",
									"fill-opacity": 0,
									"stroke-width": 1,
									"opacity": 1
								}
							},
							"mapper": {
								"type": "code",
								"value": ""
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Path",
							"position": {
								"type": "list<double>",
								"value": [
									0,
									0
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"$linkDecoratorInfo": {
								"type": "map<string,double>",
								"value": {
									"xratio": 1,
									"yoffset": -4
								}
							}
						}
					},
					"edges": []
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			},
			{
				"name": "$segments",
				"type": "map<string,list<string>>",
				"default": {}
			}
		],
		"SimulationInstanceIcon": [
			{
				"name": "typename",
				"type": "string",
				"default": "SimulationInstanceIcon"
			},
			{
				"name": "position",
				"type": "list<double>",
				"default": [
					75,
					550
				]
			},
			{
				"name": "orientation",
				"type": "double",
				"default": 0
			},
			{
				"name": "scale",
				"type": "list<double>",
				"default": [
					1,
					1
				]
			},
			{
				"name": "mapper",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
			},
			{
				"name": "parser",
				"type": "code",
				"default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
			},
			{
				"name": "$contents",
				"type": "map<string,*>",
				"default": {
					"nodes": {
						"95": {
							"width": {
								"type": "double",
								"value": 200
							},
							"height": {
								"type": "double",
								"value": 50
							},
							"cornerRadius": {
								"type": "double",
								"value": 0
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#000000",
									"stroke-dasharray": "",
									"fill": "#2BAFD4",
									"fill-opacity": 0.5,
									"font-size": "20px",
									"stroke-width": 3,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Rectangle",
							"position": {
								"type": "list<double>",
								"value": [
									6,
									5
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"96": {
							"textContent": {
								"type": "string",
								"value": "<coded>"
							},
							"style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#ffffff",
									"stroke-dasharray": "",
									"fill": "#000000",
									"fill-opacity": 1,
									"font-size": "20px",
									"stroke-width": 0,
									"arrow-start": "none",
									"arrow-end": "none"
								}
							},
							"mapper": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */\n({'textContent': getAttr('simulation_time').toFixed(2)})"
							},
							"parser": {
								"type": "code",
								"value": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */"
							},
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text",
							"position": {
								"type": "list<double>",
								"value": [
									14,
									18
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							}
						},
						"97": {
							"$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain",
							"position": {
								"type": "list<double>",
								"value": [
									21.31768296950213,
									13.063635584495046
								]
							},
							"orientation": {
								"type": "double",
								"value": 0
							},
							"scale": {
								"type": "list<double>",
								"value": [
									1,
									1
								]
							},
							"link-style": {
								"type": "map<string,string>",
								"value": {
									"stroke": "#00ffff",
									"stroke-dasharray": "",
									"stroke-opacity": 0.1,
									"stroke-width": 1
								}
							}
						}
					},
					"edges": [
						{
							"src": "95",
							"dest": "97"
						},
						{
							"src": "97",
							"dest": "96"
						}
					]
				}
			},
			{
				"name": "$asuri",
				"type": "string",
				"default": "-1"
			}
		]
	},
	"constraints": [],
	"actions": [],
	"cardinalities": {
		"BasicStateIcon": [],
		"CompositeStateIcon": [],
		"OrthogonalComponentIcon": [],
		"HistoryStateIcon": [],
		"containLink": [],
		"containOCLink": [],
		"ocContainLink": [],
		"includesLink": [],
		"transitionLink": [],
		"AssociationLink": [],
		"InheritanceLink": [],
		"ClassIcon": [],
		"behaviourLink": [],
		"SimulationInstanceIcon": []
	},
	"legalConnections": {},
	"connectorTypes": {},
	"types2parentTypes": {
		"BasicStateIcon": [],
		"CompositeStateIcon": [],
		"OrthogonalComponentIcon": [],
		"HistoryStateIcon": [],
		"containLink": [],
		"containOCLink": [],
		"ocContainLink": [],
		"includesLink": [],
		"transitionLink": [],
		"AssociationLink": [],
		"InheritanceLink": [],
		"ClassIcon": [],
		"behaviourLink": [],
		"SimulationInstanceIcon": []
	}
}