{ "csm": { "nodes": { "29": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 236, 203 ] }, "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": "State" }, "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": "+ name : string\n+ initial : boolean\n+ current : boolean" }, "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/13.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "30": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 627, 497 ] }, "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": "Interrupt" }, "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": "+ at : int\n+ event : string = E" }, "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/16.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "31": { "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": [ 527.3127594312485, 233.2016332703214 ] }, "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": "TimedTransition" }, "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;-11.858771701187152,0%", "0;-41.701633270321395,0%" ] }, "orientation": { "type": "double", "value": "0;0" }, "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'] == '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;-75.98147108769024,0%", "0;-38.701633270321395,0%" ] }, "orientation": { "type": "double", "value": "0;0" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.06134969325153374, "yoffset": -25.5 } } }, "77": { "textContent": { "type": "string", "value": "0..1" }, "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;-87.31275943124854,-100%", "0;36.298366729678605,1.2246467991473532e-14%" ] }, "orientation": { "type": "double", "value": "0;180" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1.0245398773006136, "yoffset": -23.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;-87.31275943124854,-100%", "0;20.798366729678605,1.2246467991473532e-14%" ] }, "orientation": { "type": "double", "value": "0;180" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/19.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/29.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/31.instance": "M439,220L527,220L527,233", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/31.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/29.instance": "M527,233L527,246L464,246L440,246" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink" }, "32": { "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": [ 524.2597932111449, 297.11661247637056 ] }, "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": "InterruptTransition" }, "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;-3.903964990285999,0%", "0;-42.61661247637056,0%" ] }, "orientation": { "type": "double", "value": "0;0" }, "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'] == '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;-69.62175640132898,0%", "0;-39.61661247637056,0%" ] }, "orientation": { "type": "double", "value": "0;0" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.06134969325153374, "yoffset": -25.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'] == '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;-85.25979321114494,-100%", "0;48.38338752362944,1.2246467991473532e-14%" ] }, "orientation": { "type": "double", "value": "0;180" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1.0245398773006136, "yoffset": -23.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;-85.25979321114494,-100%", "0;32.88338752362944,1.2246467991473532e-14%" ] }, "orientation": { "type": "double", "value": "0;180" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/20.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/29.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/32.instance": "M442,283L524,283L524,297", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/32.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/29.instance": "M524,297L524,322L439,322" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink" }, "33": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 987, 203.18049999999994 ] }, "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": "Time" }, "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": "+ clock : int" }, "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/21.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "34": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 725, 203 ] }, "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": "AbstractInterrupt" }, "style": { "type": "map", "value": { "font-size": "18px", "font-style": "italic", "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": "+ current : boolean" }, "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/22.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "35": { "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": [ 764.0966941268182, 376.3847108487938 ] }, "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": "Next" }, "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;-28.596694126818193,0%", "0;58.71344866040863,0%" ] }, "orientation": { "type": "double", "value": "0;-90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.3803680981595092, "yoffset": -28.5 } } }, "74": { "textContent": { "type": "string", "value": "0..1" }, "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;-25.596694126818193,0%", "0;112.30854068494853,0%" ] }, "orientation": { "type": "double", "value": "0;-90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.06134969325153374, "yoffset": -25.5 } } }, "77": { "textContent": { "type": "string", "value": "0..1" }, "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;-23.596694126818193,6.123233995736766e-15%", "0;-45.384710848793816,-100%" ] }, "orientation": { "type": "double", "value": "0;-90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1.0245398773006136, "yoffset": -23.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;-8.096694126818193,6.123233995736766e-15%", "0;-45.384710848793816,-100%" ] }, "orientation": { "type": "double", "value": "0;-90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/23.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/30.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/35.instance": "M764,499L764,376", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/35.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/34.instance": "M764,376L764,331" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink" }, "36": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 856, 496 ] }, "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": "End" }, "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": "" }, "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/24.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "37": { "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": "InheritanceLink" }, "position": { "type": "list", "value": [ 797.5749998647917, 372.3691862823399 ] }, "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": { "164": { "segments": { "type": "string", "value": "m0,0 l20,10 l-20,10 z" }, "style": { "type": "map", "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", "value": [ "0;-10.574999864791721,6.123233995736766e-15%", "0;-41.36918628233991,-100%" ] }, "orientation": { "type": "double", "value": "0;-90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -10 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance/25.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/30.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/37.instance": "M797,500L797,372", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/37.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/34.instance": "M797,372L797,331" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink" }, "38": { "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": "InheritanceLink" }, "position": { "type": "list", "value": [ 892.4159342012896, 372.87472547643154 ] }, "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": { "164": { "segments": { "type": "string", "value": "m0,0 l20,10 l-20,10 z" }, "style": { "type": "map", "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", "value": [ "0;-10.415934201289588,6.123233995736766e-15%", "0;-40.874725476431536,-100%" ] }, "orientation": { "type": "double", "value": "0;-90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -10 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance/26.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/36.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/38.instance": "M892,499L892,372", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink/38.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/34.instance": "M892,372L892,332" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/InheritanceLink" }, "39": { "typename": { "type": "string", "value": "ClassIcon" }, "position": { "type": "list", "value": [ 238, 497.2672713745117 ] }, "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": "Visualisation" }, "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": "+ red : boolean\n+ yellow : boolean\n+ green : boolean" }, "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/27.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon" }, "40": { "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": [ 331.5, 410.0034713745117 ] }, "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": "VisualisedBy" }, "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;28,0%", "0;-17.623103276352197,0%" ] }, "orientation": { "type": "double", "value": "0;90" }, "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'] == '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;25,0%", "0;-69.94212168126018,0%" ] }, "orientation": { "type": "double", "value": "0;90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 0.06134969325153374, "yoffset": -25.5 } } }, "77": { "textContent": { "type": "string", "value": "1" }, "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;23,6.123233995736766e-15%", "0;83.99652862548828,100%" ] }, "orientation": { "type": "double", "value": "0;90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1.0245398773006136, "yoffset": -23.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;7.5,6.123233995736766e-15%", "0;83.99652862548828,100%" ] }, "orientation": { "type": "double", "value": "0;90" }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Association/28.instance" }, "$segments": { "type": "map>", "value": { "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/29.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/40.instance": "M331,330L331,410", "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink/40.instance--/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/ClassIcon/39.instance": "M331,410L331,494" } }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/AssociationLink" }, "41": { "typename": { "type": "string", "value": "GlobalConstraintIcon" }, "position": { "type": "list", "value": [ 1308, 489 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "mapper": { "type": "code", "value": "" }, "parser": { "type": "code", "value": "" }, "$contents": { "type": "map", "value": { "nodes": { "11": { "textContent": { "type": "string", "value": "check one-time-instance on validate" }, "style": { "type": "map", "value": { "stroke": "#00ff70", "stroke-dasharray": "", "fill": "#00ff70", "fill-opacity": 0.75, "font-size": "20px", "stroke-width": 1, "arrow-start": "none", "arrow-end": "none" } }, "mapper": { "type": "code", "value": "({'textContent' : 'check '+getAttr('name')+' on '+(getAttr('event') || 'validate')})\n" }, "parser": { "type": "code", "value": "" }, "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text", "position": { "type": "list", "value": [ 0, -1 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/GlobalConstraint/29.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/GlobalConstraintIcon" }, "43": { "typename": { "type": "string", "value": "GlobalActionIcon" }, "position": { "type": "list", "value": [ 1354, 299 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "mapper": { "type": "code", "value": "" }, "parser": { "type": "code", "value": "" }, "$contents": { "type": "map", "value": { "nodes": { "13": { "textContent": { "type": "string", "value": "do set-clock on post-create" }, "style": { "type": "map", "value": { "stroke": "#af00ff", "stroke-dasharray": "", "fill": "#af00ff", "fill-opacity": 0.75, "font-size": "20px", "stroke-width": 1, "arrow-start": "none", "arrow-end": "none" } }, "mapper": { "type": "code", "value": "({'textContent' : 'do '+getAttr('name')+' on '+getAttr('event')})\n" }, "parser": { "type": "code", "value": "" }, "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text", "position": { "type": "list", "value": [ 0, 1 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] } } }, "edges": [] } }, "$asuri": { "type": "string", "value": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/GlobalAction/31.instance" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons/GlobalActionIcon" } }, "edges": [], "metamodels": [ "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram.umlIcons" ] }, "asm": { "nodes": { "13": { "name": { "type": "string", "value": "State" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "name", "type": "string", "default": "" }, { "name": "initial", "type": "boolean", "default": false }, { "name": "current", "type": "boolean", "default": false } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [ { "dir": "out", "type": "TimedTransition", "min": 0, "max": 1 }, { "dir": "out", "type": "VisualisedBy", "min": 1, "max": 1 } ] }, "abstract": { "type": "boolean", "value": false }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class" }, "16": { "name": { "type": "string", "value": "Interrupt" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "at", "type": "int", "default": 0 }, { "name": "event", "type": "string", "default": "E" } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [ { "dir": "out", "type": "Next", "min": "0", "max": "1" } ] }, "abstract": { "type": "boolean", "value": false }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class" }, "19": { "name": { "type": "string", "value": "TimedTransition" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "after", "type": "int", "default": 0 } ] }, "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" }, "20": { "name": { "type": "string", "value": "InterruptTransition" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "interrupt", "type": "string", "default": "E" } ] }, "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" }, "21": { "name": { "type": "string", "value": "Time" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "clock", "type": "int", "default": 0 } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [ { "name": "max-one-instance", "event": "pre-create", "code": "getAllNodes(['/Formalisms/TrafficLight/TrafficLight/Time']).length == 0" } ] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [ { "name": "set-clock", "event": "post-create", "code": "setAttr('clock', 1)" } ] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [] }, "abstract": { "type": "boolean", "value": false }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class" }, "22": { "name": { "type": "string", "value": "AbstractInterrupt" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "current", "type": "boolean", "default": false } ] }, "constraints": { "type": "list<$EVENT_HANDLER>", "value": [] }, "actions": { "type": "list<$EVENT_HANDLER>", "value": [] }, "cardinalities": { "type": "list<$CARDINALITY>", "value": [ { "dir": "in", "type": "Next", "min": "0", "max": "1" } ] }, "abstract": { "type": "boolean", "value": true }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Class" }, "23": { "name": { "type": "string", "value": "Next" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [] }, "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" }, "24": { "name": { "type": "string", "value": "End" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [] }, "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" }, "25": { "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance" }, "26": { "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/Inheritance" }, "27": { "name": { "type": "string", "value": "Visualisation" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [ { "name": "red", "type": "boolean", "default": false }, { "name": "yellow", "type": "boolean", "default": false }, { "name": "green", "type": "boolean", "default": false } ] }, "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" }, "28": { "name": { "type": "string", "value": "VisualisedBy" }, "attributes": { "type": "list<$ATTRIBUTE>", "value": [] }, "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" }, "29": { "name": { "type": "string", "value": "one-time-instance" }, "event": { "type": "$EVENT", "value": "" }, "code": { "type": "code", "value": "var time_instances = getAllNodes(['/Formalisms/TrafficLight/TrafficLight/Time']);\ntime_instances.length == 1" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/GlobalConstraint" }, "31": { "name": { "type": "string", "value": "set-clock" }, "event": { "type": "$EVENT", "value": "post-create" }, "code": { "type": "code", "value": "var instances = getAllNodes(['/Formalisms/TrafficLight/TrafficLight/Time']);\nconsole.log(instances.length);\nif (instances.length) {\n setAttr('clock', 0, instances[0]);\n}" }, "$type": "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram/GlobalAction" } }, "edges": [ { "src": "13", "dest": "19" }, { "src": "19", "dest": "13" }, { "src": "13", "dest": "20" }, { "src": "20", "dest": "13" }, { "src": "16", "dest": "23" }, { "src": "23", "dest": "22" }, { "src": "16", "dest": "25" }, { "src": "25", "dest": "22" }, { "src": "24", "dest": "26" }, { "src": "26", "dest": "22" }, { "src": "13", "dest": "28" }, { "src": "28", "dest": "27" } ], "metamodels": [ "/Formalisms/__LanguageSyntax__/SimpleClassDiagram/SimpleClassDiagram" ] } }