{ "types": { "GlobalConstraintIcon": [ { "name": "typename", "type": "string", "default": "GlobalConstraintIcon" }, { "name": "position", "type": "list", "default": [ 426, 126 ] }, { "name": "orientation", "type": "double", "default": 0 }, { "name": "scale", "type": "list", "default": [ 1, 1 ] }, { "name": "mapper", "type": "code", "default": "" }, { "name": "parser", "type": "code", "default": "" }, { "name": "$contents", "type": "map", "default": { "nodes": { "11": { "textContent": { "type": "string", "value": "CONSTRAINT" }, "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": [] } }, { "name": "$asuri", "type": "string", "default": "-1" } ], "GlobalActionIcon": [ { "name": "typename", "type": "string", "default": "GlobalActionIcon" }, { "name": "position", "type": "list", "default": [ 677, 151 ] }, { "name": "orientation", "type": "double", "default": 0 }, { "name": "scale", "type": "list", "default": [ 1, 1 ] }, { "name": "mapper", "type": "code", "default": "" }, { "name": "parser", "type": "code", "default": "" }, { "name": "$contents", "type": "map", "default": { "nodes": { "13": { "textContent": { "type": "string", "value": "ACTION" }, "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": [] } }, { "name": "$asuri", "type": "string", "default": "-1" } ], "AssociationLink": [ { "name": "link-style", "type": "map", "default": { "stroke": "#000000", "stroke-dasharray": "", "stroke-opacity": 1, "stroke-width": 2 } }, { "name": "arrowHead", "type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)", "default": "custom" }, { "name": "arrowTail", "type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)", "default": "arrow-black" }, { "name": "typename", "type": "string", "default": "AssociationLink" }, { "name": "position", "type": "list", "default": [ 122, 398 ] }, { "name": "orientation", "type": "double", "default": 0 }, { "name": "scale", "type": "list", "default": [ 1, 1 ] }, { "name": "mapper", "type": "code", "default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */" }, { "name": "parser", "type": "code", "default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */" }, { "name": "$contents", "type": "map", "default": { "nodes": { "71": { "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": "({'textContent':getAttr('name')})" }, "parser": { "type": "code", "value": "({'name':getAttr('textContent')})" }, "$type": "/Formalisms/__LanguageSyntax__/ConcreteSyntax/ConcreteSyntax/Text", "position": { "type": "list", "value": [ 0, 0 ] }, "orientation": { "type": "double", "value": 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, 0 ] }, "orientation": { "type": "double", "value": 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, 0 ] }, "orientation": { "type": "double", "value": 0 }, "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, 0 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -8 } } } }, "edges": [] } }, { "name": "$asuri", "type": "string", "default": "-1" }, { "name": "$segments", "type": "map>", "default": {} } ], "InheritanceLink": [ { "name": "link-style", "type": "map", "default": { "stroke": "#000000", "stroke-dasharray": "", "stroke-opacity": 1, "stroke-width": 2 } }, { "name": "arrowHead", "type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)", "default": "custom" }, { "name": "arrowTail", "type": "ENUM(circle-black,circle-black-large,circle-white,circle-white-large,diamond-black,diamond-black-large,diamond-white,diamond-white-large,triangle-black,triangle-black-large,triangle-white,triangle-white-large,arrow-black,arrow-black-large,arrow-empty,arrow-empty-large,custom)", "default": "arrow-black" }, { "name": "typename", "type": "string", "default": "InheritanceLink" }, { "name": "position", "type": "list", "default": [ 472, 398 ] }, { "name": "orientation", "type": "double", "default": 0 }, { "name": "scale", "type": "list", "default": [ 1, 1 ] }, { "name": "mapper", "type": "code", "default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */" }, { "name": "parser", "type": "code", "default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */" }, { "name": "$contents", "type": "map", "default": { "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, 0 ] }, "orientation": { "type": "double", "value": 0 }, "scale": { "type": "list", "value": [ 1, 1 ] }, "$linkDecoratorInfo": { "type": "map", "value": { "xratio": 1, "yoffset": -10 } } } }, "edges": [] } }, { "name": "$asuri", "type": "string", "default": "-1" }, { "name": "$segments", "type": "map>", "default": {} } ], "ClassIcon": [ { "name": "typename", "type": "string", "default": "ClassIcon" }, { "name": "position", "type": "list", "default": [ 85, 83 ] }, { "name": "orientation", "type": "double", "default": 0 }, { "name": "scale", "type": "list", "default": [ 1, 1 ] }, { "name": "mapper", "type": "code", "default": "/* specify code that evaluates to an associative array of the form {...,csattr:val,...} */" }, { "name": "parser", "type": "code", "default": "/* specify code that evaluates to an associative array of the form {...,attr:val,...} */" }, { "name": "$contents", "type": "map", "default": { "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": "" }, "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": "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" } ] } }, { "name": "$asuri", "type": "string", "default": "-1" } ] }, "constraints": [], "actions": [], "cardinalities": { "GlobalConstraintIcon": [], "GlobalActionIcon": [], "AssociationLink": [], "InheritanceLink": [], "ClassIcon": [] }, "legalConnections": {}, "connectorTypes": {}, "types2parentTypes": { "GlobalConstraintIcon": [], "GlobalActionIcon": [], "AssociationLink": [], "InheritanceLink": [], "ClassIcon": [] } }