{ "csm": { "nodes": { "0": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 463, 243 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "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,...} */" }, "$contents": { "type": "map", "value": { "nodes": { "96": { "width": { "type": "double", "value": 200 }, "height": { "type": "double", "value": 125 }, "cornerRadius": { "type": "double", "value": 0 }, "style": { "type": "map", "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", "value": [ 4, 3 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "97": { "segments": { "type": "string", "value": "m0,0l197,0" }, "style": { "type": "map", "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", "value": [ 6, 36 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "98": { "textContent": { "type": "string", "value": "Place" }, "style": { "type": "map", "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", "value": [ 8, 8 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "99": { "textContent": { "type": "string", "value": "+ tokens : int\n+ pname : string = P_" }, "style": { "type": "map", "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'];\n if (attr['default'])\n s += ' = ' + 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", "value": [ 10, 41 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "100": { "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain", "position": { "type": "list", "value": [ 68.5, 36.5 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "link-style": { "type": "map", "value": { "stroke": "#00ffff", "stroke-dasharray": "", "stroke-opacity": 0.1, "stroke-width": 1 } } }, "101": { "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain", "position": { "type": "list", "value": [ 12.5, 27 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "link-style": { "type": "map", "value": { "stroke": "#00ffff", "stroke-dasharray": "", "stroke-opacity": 0.1, "stroke-width": 1 } } }, "102": { "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain", "position": { "type": "list", "value": [ 53.75, 20 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "link-style": { "type": "map", "value": { "stroke": "#00ffff", "stroke-dasharray": "", "stroke-opacity": 0.1, "stroke-width": 1 } } } }, "edges": [ { "src": "96", "dest": "100" }, { "src": "100", "dest": "98" }, { "src": "96", "dest": "101" }, { "src": "101", "dest": "99" }, { "src": "96", "dest": "102" }, { "src": "102", "dest": "97" } ] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/0.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "1": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 868, 256 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "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,...} */" }, "$contents": { "type": "map", "value": { "nodes": { "96": { "width": { "type": "double", "value": 200 }, "height": { "type": "double", "value": 125 }, "cornerRadius": { "type": "double", "value": 0 }, "style": { "type": "map", "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", "value": [ 4, 3 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "97": { "segments": { "type": "string", "value": "m0,0l197,0" }, "style": { "type": "map", "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", "value": [ 6, 36 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "98": { "textContent": { "type": "string", "value": "Transition" }, "style": { "type": "map", "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", "value": [ 8, 8 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "99": { "textContent": { "type": "string", "value": "+ tname : string = T_" }, "style": { "type": "map", "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'];\n if (attr['default'])\n s += ' = ' + 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", "value": [ 10, 41 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } }, "100": { "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain", "position": { "type": "list", "value": [ 68.5, 36.5 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "link-style": { "type": "map", "value": { "stroke": "#00ffff", "stroke-dasharray": "", "stroke-opacity": 0.1, "stroke-width": 1 } } }, "101": { "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain", "position": { "type": "list", "value": [ 12.5, 27 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "link-style": { "type": "map", "value": { "stroke": "#00ffff", "stroke-dasharray": "", "stroke-opacity": 0.1, "stroke-width": 1 } } }, "102": { "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Contain", "position": { "type": "list", "value": [ 53.75, 20 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "link-style": { "type": "map", "value": { "stroke": "#00ffff", "stroke-dasharray": "", "stroke-opacity": 0.1, "stroke-width": 1 } } } }, "edges": [ { "src": "96", "dest": "100" }, { "src": "100", "dest": "98" }, { "src": "96", "dest": "101" }, { "src": "101", "dest": "99" }, { "src": "96", "dest": "102" }, { "src": "102", "dest": "97" } ] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class/1.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "2": { "link-style": { "type": "map", "value": { "stroke": "#000000", "stroke-dasharray": "", "stroke-opacity": 1, "stroke-width": 2 } }, "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)", "value": "custom" }, "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)", "value": "arrow-black" }, "typename": { "type": "string", "value": "AssociationLink" }, "position": { "type": "list", "value": [ 758.3503305532607, 188.84077133522356 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "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,...} */" }, "$contents": { "type": "map", "value": { "nodes": { "71": { "textContent": { "type": "string", "value": "PlaceToTransition" }, "style": { "type": "map", "value": { "font-size": "20px", "font-style": "normal", "font-weight": "normal", "line-height": "100%", "letter-spacing": "0px", "word-spacing": "0px", "fill": "#000000", "fill-opacity": "1", "stroke": "none", "font-family": "Sans" } }, "mapper": { "type": "code", "value": "({'textContent':getAttr('name')})" }, "parser": { "type": "code", "value": "({'name':getAttr('textContent')})" }, "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text", "position": { "type": "list", "value": [ "0;-46.89098184176953,0%", "0;-9.127806269453544,0%" ] }, "orientation": { "type": "double", "value": "0;-40.955514425818905" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.3803680981595092, "yoffset": -28.5 } } }, "74": { "textContent": { "type": "string", "value": "*" }, "style": { "type": "map", "value": { "font-size": "20px", "font-style": "normal", "font-weight": "normal", "line-height": "100%", "letter-spacing": "0px", "word-spacing": "0px", "fill": "#000000", "fill-opacity": "1", "stroke": "none", "font-family": "Sans" } }, "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", "value": [ "0;146.45028455232534,86.51400014650137%", "0;46.17665920231744,50.15304356318925%" ] }, "orientation": { "type": "double", "value": "0;30.10130456559972" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -33.5 } } }, "77": { "textContent": { "type": "string", "value": "*" }, "style": { "type": "map", "value": { "font-size": "20px", "font-style": "normal", "font-weight": "normal", "line-height": "100%", "letter-spacing": "0px", "word-spacing": "0px", "fill": "#000000", "fill-opacity": "1", "stroke": "none", "font-family": "Sans" } }, "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", "value": [ "0;-129.36187093870217,0%", "0;55.83010273561146,0%" ] }, "orientation": { "type": "double", "value": "0;-40.955514425818905" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.03067484662576687, "yoffset": -33.5 } } }, "140": { "segments": { "type": "string", "value": "m0,0 l20,8 l-20,8" }, "style": { "type": "map", "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", "value": [ "0;133.6612584437121,86.51400014650137%", "0;68.23772923967528,50.15304356318925%" ] }, "orientation": { "type": "double", "value": "0;30.10130456559972" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/2.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/0.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/2.instance": "M644,276L750,184L758.3503305532607,188.84077133522356", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/2.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/1.instance": "M758.3304980614527,188.8292742385232L887.9993455119177,263.99962058661896" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink" }, "3": { "link-style": { "type": "map", "value": { "stroke": "#000000", "stroke-dasharray": "", "stroke-opacity": 1, "stroke-width": 2 } }, "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)", "value": "custom" }, "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)", "value": "arrow-black" }, "typename": { "type": "string", "value": "AssociationLink" }, "position": { "type": "list", "value": [ 763.2767963799034, 429.8082623764881 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "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,...} */" }, "$contents": { "type": "map", "value": { "nodes": { "71": { "textContent": { "type": "string", "value": "TransitionToPlace" }, "style": { "type": "map", "value": { "font-size": "20px", "font-style": "normal", "font-weight": "normal", "line-height": "100%", "letter-spacing": "0px", "word-spacing": "0px", "fill": "#000000", "fill-opacity": "1", "stroke": "none", "font-family": "Sans" } }, "mapper": { "type": "code", "value": "({'textContent':getAttr('name')})" }, "parser": { "type": "code", "value": "({'name':getAttr('textContent')})" }, "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text", "position": { "type": "list", "value": [ "0;41.87136157455495,0%", "0;12.354732786786542,0%" ] }, "orientation": { "type": "double", "value": "0;155.68408026794683" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.3803680981595092, "yoffset": -28.5 } } }, "74": { "textContent": { "type": "string", "value": "*" }, "style": { "type": "map", "value": { "font-size": "20px", "font-style": "normal", "font-weight": "normal", "line-height": "100%", "letter-spacing": "0px", "word-spacing": "0px", "fill": "#000000", "fill-opacity": "1", "stroke": "none", "font-family": "Sans" } }, "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", "value": [ "0;-135.12523823637423,-84.62328400897503%", "0;-35.45895684362023,-53.281326968613975%" ] }, "orientation": { "type": "double", "value": "0;-147.80426606528673" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -33.5 } } }, "77": { "textContent": { "type": "string", "value": "*" }, "style": { "type": "map", "value": { "font-size": "20px", "font-style": "normal", "font-weight": "normal", "line-height": "100%", "letter-spacing": "0px", "word-spacing": "0px", "fill": "#000000", "fill-opacity": "1", "stroke": "none", "font-family": "Sans" } }, "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", "value": [ "0;131.80877085945156,0%", "0;-22.7969179293857,0%" ] }, "orientation": { "type": "double", "value": "0;155.68408026794683" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.03067484662576687, "yoffset": -33.5 } } }, "140": { "segments": { "type": "string", "value": "m0,0 l20,8 l-20,8" }, "style": { "type": "map", "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", "value": [ "0;-121.53849985937768,-84.62328400897503%", "0;-57.0378942659089,-53.281326968613975%" ] }, "orientation": { "type": "double", "value": "0;-147.80426606528673" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/3.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/1.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/3.instance": "M889,373L763.2767963799034,429.8082623764881", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/3.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/0.instance": "M763.2767963799034,429.8082623764881L754,434L646.0008026780149,366.0005053898612" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink" } }, "edges": [], "metamodels": [ "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons" ] }, "asm": { "nodes": { "0": { "name": { "type": "string", "value": "Place" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "tokens", "type": "int", "default": 0 }, { "name": "pname", "type": "string", "default": "P_" } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [] }, "abstract": { "type": "boolean", "value": false }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class" }, "1": { "name": { "type": "string", "value": "Transition" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "tname", "type": "string", "default": "T_" } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [] }, "abstract": { "type": "boolean", "value": false }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class" }, "2": { "name": { "type": "string", "value": "PlaceToTransition" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "weight", "type": "int", "default": 1 } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [] }, "linktype": { "type": "ENUM(visual,containment)", "value": "visual" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association" }, "3": { "name": { "type": "string", "value": "TransitionToPlace" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "weight", "type": "int", "default": 1 } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [] }, "linktype": { "type": "ENUM(visual,containment)", "value": "visual" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association" } }, "edges": [ { "src": "0", "dest": "2" }, { "src": "2", "dest": "1" }, { "src": "1", "dest": "3" }, { "src": "3", "dest": "0" } ], "metamodels": [ "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram" ] } }