From 49e27f16f80bf3f12ff73bf876b82cb7460f6283 Mon Sep 17 00:00:00 2001 From: Jawad EL HIDRAOUI Date: Mon, 24 Jan 2022 14:34:17 +0100 Subject: [PATCH 001/149] No path required during attach --- src/Python/init_CustomJS.py | 51 ++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/src/Python/init_CustomJS.py b/src/Python/init_CustomJS.py index 79f8ec2..7edbfde 100644 --- a/src/Python/init_CustomJS.py +++ b/src/Python/init_CustomJS.py @@ -1,10 +1,37 @@ +import inspect, os + #Your path to the repository JS_Graph_Sage -path_To_Project_Repo = 'Mes Documents/Git' -def _update_JS_Repo(path) : - global path_To_Project_Repo - if path != "1" : - path_To_Project_Repo = str(path) +def getPathRepo() : + filename = inspect.getframeinfo(inspect.currentframe()).filename #get the name of this file + path = filename + + for i in range (4) : + path = os.path.dirname(os.path.abspath(path)) #get the path from this file + + return str(path) + +def attachFiles(path) : + directory = path+'/JS_Graph_Sage/src/Python/' + print(directory) + try: + print('Loading files...') + for i in os.listdir(directory): + if i != 'init_CustomJS.py': + attach(directory + i) + print(i + ' loaded') + #attach(path + 'JS_Graph_Sage/src/Python/customJsGraph.py') + #attach(path + '/update.py') + #attach(path + '/tests.py') + #attach(path + '/websocket_server.py') + #attach(path + '/connection.py') + #attach(path + '/request_handler.py') + #print('Files succesfully loaded') + except: + print('Files not found') + +pathRepo = getPathRepo() +attachFiles(pathRepo) # #Your path to the repository where you'll save the JSON version of the graphs (for example JS_Graph_Sage/obj) # path_To_JSON_Repo = 'Mes Documents/Git/JS_Graph_Sage/obj/' @@ -17,18 +44,6 @@ def _update_JS_Repo(path) : # global JSON_name # JSON_name = name - - -_update_JS_Repo(input('Please enter the path to the repository containing the project : ')) - # _update_JSON_Repo(path_To_Project_Repo+'/JS_Graph_Sage/obj/') -try: - attach(path_To_Project_Repo+'/JS_Graph_Sage/src/Python/customJsGraph.py') - attach(path_To_Project_Repo+'/JS_Graph_Sage/src/Python/update.py') - attach(path_To_Project_Repo+'/JS_Graph_Sage/src/Python/tests.py') - attach(path_To_Project_Repo+'/JS_Graph_Sage/src/Python/websocket_server.py') - attach(path_To_Project_Repo+'/JS_Graph_Sage/src/Python/connection.py') - attach(path_To_Project_Repo+'/JS_Graph_Sage/src/Python/request_handler.py') -except: - print('Files not found') + From 017f5aa2cb84bebd76e84030062071891a9e2ace Mon Sep 17 00:00:00 2001 From: Jawad EL HIDRAOUI Date: Mon, 24 Jan 2022 14:44:35 +0100 Subject: [PATCH 002/149] Other files added --- src/Python/customJsGraph.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Python/customJsGraph.py b/src/Python/customJsGraph.py index aa1de36..15fcdaf 100644 --- a/src/Python/customJsGraph.py +++ b/src/Python/customJsGraph.py @@ -3,12 +3,13 @@ from sage.plot.colors import rainbow import os +#Setup the html page for d3js and for hosting the graph def gen_html_code(JSONgraph): try : - js_code_file = open(path_To_Project_Repo+"/JS_Graph_Sage/src/HTML/base_html.html", 'r') + js_code_file = open(pathRepo+"/JS_Graph_Sage/src/HTML/base_html.html", 'r') #Open the html page which will host the graph except : - print("Repository "+path_To_Project_Repo+" not found, update it with _update_JS_Repo(path)") + print("Repository "+pathRepo+" not found, update it with _update_JS_Repo(path)") sys.exit(1) js_code = js_code_file.read().replace("// GRAPH_DATA_HEREEEEEEEEEEE", JSONgraph) js_code_file.close() @@ -25,9 +26,9 @@ def gen_html_code(JSONgraph): # Writes the temporary .html file try : - filename = path_To_Project_Repo+'/JS_Graph_Sage/obj/result.html' + filename = pathRepo + '/JS_Graph_Sage/obj/result.html' except : - print("Repository "+path_To_Project_Repo+" not found, update it with _update_JS_Repo(path)") + print("Repository " + pathRepo + " not found, update it with _update_JS_Repo(path)") sys.exit(1) f = open(filename, 'w') f.write(js_code) @@ -228,7 +229,7 @@ def ConstructGraphFromJSONObject(JSONObject): # return ConstructGraphFromJSONString(string) - + # def GetBackJSON(pathRepo=path_To_JSON_Repo, # nameJSON=JSON_name): From b9dad9d0ce881676621bdc38a39601d0fc697ca1 Mon Sep 17 00:00:00 2001 From: sea-gull-diana <67862638+sea-gull-diana@users.noreply.github.com> Date: Mon, 24 Jan 2022 14:54:16 +0100 Subject: [PATCH 003/149] Creation de CompteRendu.md --- CompteRendu.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 CompteRendu.md diff --git a/CompteRendu.md b/CompteRendu.md new file mode 100644 index 0000000..e375f0a --- /dev/null +++ b/CompteRendu.md @@ -0,0 +1,10 @@ +# Manipulation interactive des graphes avec Sage +Le logiciel SageMath, est un logiciel connu libre et open-source de calcul mathématiques très populaire auprès des scientifiques. Il contient une grande partie implémentée concernant les graphes et leurs algorithmes (le backend programmé en Python). En revanche le frontend est actuellement assez limité et l'utilisateur doit presque entièrement passer par la ligne de commandes. On peut visualiser les graphes en différents formats, et notamment sur un navigateur sous forme d'objets graphiques avec la librairie Javascript d3js, mais on ne peut pas les manipuler "à la main". L'an dernier une équipe d'étudiants de l'IUT avait produit une solution pour résoudre ce problème et permettre une manipulation interactive des graphes à travers un navigateur. Leur solution est ici : https://github.com/NaokimTheFirst/JS_Graph_Sage + +Le but du projet est de terminer le travail en enrichissant cette solution. Il s'agit d'ajouter des nouvelles fonctionnalités interactives de manipulations des dessins et les intégrer au projet SageMath. Une possibilité serait de programmer des déroulements d'algos de Sage existants sur un navigateur. Technos : Python (avec SageMath), Javascript, Git. + +### Tuteur : Valicov + +#### 24/01/2022 - 2e rdv avec tuteur +- Creation d'un fork : https://github.com/Dalwaj/JS_Graph_Sage +- Pull des modifications pour 'attach' par Jawad From c84dbd2182a75202678f4ed5f0af90fdcbe618b5 Mon Sep 17 00:00:00 2001 From: sea-gull-diana <67862638+sea-gull-diana@users.noreply.github.com> Date: Mon, 24 Jan 2022 15:08:22 +0100 Subject: [PATCH 004/149] CompteRendu --- CompteRendu.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CompteRendu.md b/CompteRendu.md index e375f0a..11a563c 100644 --- a/CompteRendu.md +++ b/CompteRendu.md @@ -8,3 +8,4 @@ Le but du projet est de terminer le travail en enrichissant cette solution. Il s #### 24/01/2022 - 2e rdv avec tuteur - Creation d'un fork : https://github.com/Dalwaj/JS_Graph_Sage - Pull des modifications pour 'attach' par Jawad +- A faire : Diagramme de classes (+ sequences), ajouter les fonctionnalités à l'interface graphique (afficher nombre de sommets, déplacer la partie du graph sélectionnée...) From 85a27347b4a0ba64213b31ec02253a98ceedda1e Mon Sep 17 00:00:00 2001 From: sea-gull-diana <67862638+sea-gull-diana@users.noreply.github.com> Date: Fri, 28 Jan 2022 20:00:45 +0100 Subject: [PATCH 005/149] Diagrammes de sequence --- UMLdiagrammes.mdj | 9028 ++++++++++++++++++++++++++++++++++++++++++ src/JS/graph_d3js.js | 2 +- 2 files changed, 9029 insertions(+), 1 deletion(-) create mode 100644 UMLdiagrammes.mdj diff --git a/UMLdiagrammes.mdj b/UMLdiagrammes.mdj new file mode 100644 index 0000000..a7e951f --- /dev/null +++ b/UMLdiagrammes.mdj @@ -0,0 +1,9028 @@ +{ + "_type": "Project", + "_id": "AAAAAAFF+h6SjaM2Hec=", + "name": "Untitled", + "ownedElements": [ + { + "_type": "UMLModel", + "_id": "AAAAAAFF+qBWK6M3Z8Y=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Model", + "ownedElements": [ + { + "_type": "UMLClassDiagram", + "_id": "AAAAAAFF+qBtyKM79qY=", + "_parent": { + "$ref": "AAAAAAFF+qBWK6M3Z8Y=" + }, + "name": "Main", + "defaultDiagram": true + } + ] + }, + { + "_type": "UMLCollaboration", + "_id": "AAAAAAF+oJlAyvBZPgM=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Collaboration1", + "ownedElements": [ + { + "_type": "UMLInteraction", + "_id": "AAAAAAF+oJlAy/BaxOk=", + "_parent": { + "$ref": "AAAAAAF+oJlAyvBZPgM=" + }, + "name": "Interaction1", + "ownedElements": [ + { + "_type": "UMLSequenceDiagram", + "_id": "AAAAAAF+oJlAzPBbyNc=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "UpdateGraph", + "ownedViews": [ + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+oJlAzfBc1Gc=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oJlAzfBdxbc=", + "_parent": { + "$ref": "AAAAAAF+oJlAzfBc1Gc=" + }, + "font": "Arial;13;0", + "left": 32.72998046875, + "top": 13, + "width": 79.05078125, + "height": 13, + "text": "UpdateGraph" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJlAzvBeffU=", + "_parent": { + "$ref": "AAAAAAF+oJlAzfBc1Gc=" + }, + "font": "Arial;13;1", + "left": 13, + "top": 13, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 8, + "top": 8, + "width": 609, + "height": 513, + "nameLabel": { + "$ref": "AAAAAAF+oJlAzfBdxbc=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oJlAzvBeffU=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+oJn4SvBrSSQ=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+oJn4S/BsMtA=", + "_parent": { + "$ref": "AAAAAAF+oJn4SvBrSSQ=" + }, + "model": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oJn4S/BttUI=", + "_parent": { + "$ref": "AAAAAAF+oJn4S/BsMtA=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJn4S/BuAwA=", + "_parent": { + "$ref": "AAAAAAF+oJn4S/BsMtA=" + }, + "font": "Arial;13;1", + "left": 93, + "top": 47, + "width": 124.14990234375, + "height": 13, + "text": "JS_GRAPH_SAGE" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJn4S/BvqTQ=", + "_parent": { + "$ref": "AAAAAAF+oJn4S/BsMtA=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJn4S/BwQ6s=", + "_parent": { + "$ref": "AAAAAAF+oJn4S/BsMtA=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 88, + "top": 40, + "width": 134.14990234375, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+oJn4S/BttUI=" + }, + "nameLabel": { + "$ref": "AAAAAAF+oJn4S/BuAwA=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+oJn4S/BvqTQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oJn4S/BwQ6s=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+oJn4S/BxkPc=", + "_parent": { + "$ref": "AAAAAAF+oJn4SvBrSSQ=" + }, + "model": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "font": "Arial;13;0", + "left": 155, + "top": 80, + "width": 1, + "height": 410 + } + ], + "font": "Arial;13;0", + "left": 88, + "top": 40, + "width": 134.14990234375, + "height": 450, + "nameCompartment": { + "$ref": "AAAAAAF+oJn4S/BsMtA=" + }, + "linePart": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+oJpNfvCL/Ws=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oJpNfvCK4RA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+oJpNf/CM+fQ=", + "_parent": { + "$ref": "AAAAAAF+oJpNfvCL/Ws=" + }, + "model": { + "$ref": "AAAAAAF+oJpNfvCK4RA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oJpNf/CNg9s=", + "_parent": { + "$ref": "AAAAAAF+oJpNf/CM+fQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 64, + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJpNf/COLsI=", + "_parent": { + "$ref": "AAAAAAF+oJpNf/CM+fQ=" + }, + "font": "Arial;13;1", + "left": 461, + "top": 47, + "width": 71.40087890625, + "height": 13, + "text": "SageMath" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJpNf/CPDiE=", + "_parent": { + "$ref": "AAAAAAF+oJpNf/CM+fQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 64, + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oJpNf/CQVHE=", + "_parent": { + "$ref": "AAAAAAF+oJpNf/CM+fQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 64, + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 456, + "top": 40, + "width": 81.40087890625, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+oJpNf/CNg9s=" + }, + "nameLabel": { + "$ref": "AAAAAAF+oJpNf/COLsI=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+oJpNf/CPDiE=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oJpNf/CQVHE=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+oJpNf/CRHSI=", + "_parent": { + "$ref": "AAAAAAF+oJpNfvCL/Ws=" + }, + "model": { + "$ref": "AAAAAAF+oJpNfvCK4RA=" + }, + "font": "Arial;13;0", + "left": 497, + "top": 80, + "width": 1, + "height": 410 + } + ], + "font": "Arial;13;0", + "left": 456, + "top": 40, + "width": 81.40087890625, + "height": 450, + "nameCompartment": { + "$ref": "AAAAAAF+oJpNf/CM+fQ=" + }, + "linePart": { + "$ref": "AAAAAAF+oJpNf/CRHSI=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oL30H/DJNRQ=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oL30H/DIvw8=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oL30H/DK6W8=", + "_parent": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "model": { + "$ref": "AAAAAAF+oL30H/DIvw8=" + }, + "font": "Arial;13;0", + "left": 168, + "top": 88, + "width": 308.47705078125, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "edgePosition": 1, + "text": "ConstructGraphFromJSONObject(JSONmessage)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oL30H/DL8zA=", + "_parent": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "model": { + "$ref": "AAAAAAF+oL30H/DIvw8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 322, + "top": 73, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oL30H/DMsUo=", + "_parent": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "model": { + "$ref": "AAAAAAF+oL30H/DIvw8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 322, + "top": 108, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oL30H/DNI7U=", + "_parent": { + "$ref": "AAAAAAF+oL30H/DJNRQ=" + }, + "model": { + "$ref": "AAAAAAF+oL30H/DIvw8=" + }, + "font": "Arial;13;0", + "left": 490, + "top": 104, + "width": 14, + "height": 369 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oJpNf/CRHSI=" + }, + "tail": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "points": "155:104;490:104", + "nameLabel": { + "$ref": "AAAAAAF+oL30H/DK6W8=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oL30H/DL8zA=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oL30H/DMsUo=" + }, + "activation": { + "$ref": "AAAAAAF+oL30H/DNI7U=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+og08HflwGnc=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+og08Hflv280=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+og08Hflxcg4=", + "_parent": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "model": { + "$ref": "AAAAAAF+og08Hflv280=" + }, + "font": "Arial;13;0", + "left": 295, + "top": 188, + "width": 59.97900390625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "edgePosition": 1, + "text": "newGraph" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+og08HflyU2w=", + "_parent": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "model": { + "$ref": "AAAAAAF+og08Hflv280=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 324, + "top": 203, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+og08Hflz9uw=", + "_parent": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "model": { + "$ref": "AAAAAAF+og08Hflv280=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 325, + "top": 168, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+og08Hfl0dBo=", + "_parent": { + "$ref": "AAAAAAF+og08HflwGnc=" + }, + "model": { + "$ref": "AAAAAAF+og08Hflv280=" + }, + "font": "Arial;13;0", + "left": 148, + "top": 184, + "width": 14, + "height": 292 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "tail": { + "$ref": "AAAAAAF+oJpNf/CRHSI=" + }, + "points": "490:184;161:184", + "nameLabel": { + "$ref": "AAAAAAF+og08Hflxcg4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+og08HflyU2w=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+og08Hflz9uw=" + }, + "activation": { + "$ref": "AAAAAAF+og08Hfl0dBo=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oQF40PD4GYI=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oQF40PD3VmY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oQF40PD5qiY=", + "_parent": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "model": { + "$ref": "AAAAAAF+oQF40PD3VmY=" + }, + "font": "Arial;13;0", + "left": 172, + "top": 240, + "width": 324.44140625, + "height": 13, + "alpha": 1.3787473225653182, + "distance": 146.696966567138, + "hostEdge": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "edgePosition": 1, + "text": "handle_message(JSONmessage.parameter, newGraph)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oQF40fD6v3s=", + "_parent": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "model": { + "$ref": "AAAAAAF+oQF40PD3VmY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 215, + "top": 211, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oQF40fD7Cyg=", + "_parent": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "model": { + "$ref": "AAAAAAF+oQF40PD3VmY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 181, + "top": 212, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oQF40fD85iQ=", + "_parent": { + "$ref": "AAAAAAF+oQF40PD4GYI=" + }, + "model": { + "$ref": "AAAAAAF+oQF40PD3VmY=" + }, + "font": "Arial;13;0", + "left": 155, + "top": 228, + "width": 14, + "height": 80 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "tail": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "points": "161:208;191:208;191:228;168:228", + "nameLabel": { + "$ref": "AAAAAAF+oQF40PD5qiY=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oQF40fD6v3s=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oQF40fD7Cyg=" + }, + "activation": { + "$ref": "AAAAAAF+oQF40fD85iQ=" + } + }, + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+ogtVGfj0zHM=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogtVGfj1Bqs=", + "_parent": { + "$ref": "AAAAAAF+ogtVGfj0zHM=" + }, + "font": "Arial;13;0", + "left": 160.72998046875, + "top": 333, + "width": 123.890625, + "height": 13, + "text": "update_graph_nodes" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogtVGvj28wU=", + "_parent": { + "$ref": "AAAAAAF+ogtVGfj0zHM=" + }, + "font": "Arial;13;1", + "left": 141, + "top": 333, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 136, + "top": 328, + "width": 385, + "height": 53, + "nameLabel": { + "$ref": "AAAAAAF+ogtVGfj1Bqs=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ogtVGvj28wU=" + } + }, + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+ogvahvkL4DQ=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogvahvkMUec=", + "_parent": { + "$ref": "AAAAAAF+ogvahvkL4DQ=" + }, + "font": "Arial;13;0", + "left": 160.72998046875, + "top": 413, + "width": 123.890625, + "height": 13, + "text": "update_graph_edges" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogvahvkNlwg=", + "_parent": { + "$ref": "AAAAAAF+ogvahvkL4DQ=" + }, + "font": "Arial;13;1", + "left": 141, + "top": 413, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 136, + "top": 408, + "width": 385, + "height": 53, + "nameLabel": { + "$ref": "AAAAAAF+ogvahvkMUec=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ogvahvkNlwg=" + } + }, + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+ogxH3fkkBAk=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogxH3fklcVk=", + "_parent": { + "$ref": "AAAAAAF+ogxH3fkkBAk=" + }, + "font": "Arial;13;0", + "left": 160.72998046875, + "top": 125, + "width": 195.33349609375, + "height": 13, + "text": "ConstructGraphFromJSONObject" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogxH3fkmc2g=", + "_parent": { + "$ref": "AAAAAAF+ogxH3fkkBAk=" + }, + "font": "Arial;13;1", + "left": 141, + "top": 125, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 136, + "top": 120, + "width": 377, + "height": 53, + "nameLabel": { + "$ref": "AAAAAAF+ogxH3fklcVk=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ogxH3fkmc2g=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+og3IQPmUTgo=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+og3IP/mTdRw=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+og3IQPmV48E=", + "_parent": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "model": { + "$ref": "AAAAAAF+og3IP/mTdRw=" + }, + "font": "Arial;13;0", + "left": 208, + "top": 259, + "width": 59.97900390625, + "height": 13, + "alpha": 1.5964307287462736, + "distance": 39.01281840626232, + "hostEdge": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "edgePosition": 1, + "text": "newGraph" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+og3IQPmWrFs=", + "_parent": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "model": { + "$ref": "AAAAAAF+og3IP/mTdRw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 222, + "top": 259, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+og3IQPmXD9Q=", + "_parent": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "model": { + "$ref": "AAAAAAF+og3IP/mTdRw=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 188, + "top": 260, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+og3IQPmYDMo=", + "_parent": { + "$ref": "AAAAAAF+og3IQPmUTgo=" + }, + "model": { + "$ref": "AAAAAAF+og3IP/mTdRw=" + }, + "font": "Arial;13;0", + "left": 162, + "top": 276, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "tail": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "points": "168:256;198:256;198:276;175:276", + "nameLabel": { + "$ref": "AAAAAAF+og3IQPmV48E=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+og3IQPmWrFs=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+og3IQPmXD9Q=" + }, + "activation": { + "$ref": "AAAAAAF+og3IQPmYDMo=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oQMcSvEvfEk=", + "_parent": { + "$ref": "AAAAAAF+oJlAzPBbyNc=" + }, + "model": { + "$ref": "AAAAAAF+oQMcSfEusGU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oQMcSvEwQfk=", + "_parent": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "model": { + "$ref": "AAAAAAF+oQMcSfEusGU=" + }, + "font": "Arial;13;0", + "left": 220, + "top": 288, + "width": 225.47509765625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "edgePosition": 1, + "text": "update_graph(targetGraph, newGraph)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oQMcSvExYIg=", + "_parent": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "model": { + "$ref": "AAAAAAF+oQMcSfEusGU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 332, + "top": 273, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oQMcSvEyEhg=", + "_parent": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "model": { + "$ref": "AAAAAAF+oQMcSfEusGU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 332, + "top": 308, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oQMcSvEzdxc=", + "_parent": { + "$ref": "AAAAAAF+oQMcSvEvfEk=" + }, + "model": { + "$ref": "AAAAAAF+oQMcSfEusGU=" + }, + "font": "Arial;13;0", + "left": 497, + "top": 304, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oJpNf/CRHSI=" + }, + "tail": { + "$ref": "AAAAAAF+oJn4S/BxkPc=" + }, + "points": "168:304;497:304", + "nameLabel": { + "$ref": "AAAAAAF+oQMcSvEwQfk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oQMcSvExYIg=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oQMcSvEyEhg=" + }, + "activation": { + "$ref": "AAAAAAF+oQMcSvEzdxc=" + } + } + ], + "showSequenceNumber": false + } + ], + "messages": [ + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oL30H/DIvw8=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "ConstructGraphFromJSONObject", + "source": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "target": { + "$ref": "AAAAAAF+oJpNfvCK4RA=" + }, + "arguments": "JSONmessage" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+og08Hflv280=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "newGraph", + "source": { + "$ref": "AAAAAAF+oJpNfvCK4RA=" + }, + "target": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oQF40PD3VmY=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "handle_message", + "source": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "target": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "arguments": "JSONmessage.parameter, newGraph" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+og3IP/mTdRw=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "newGraph", + "source": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "target": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oQMcSfEusGU=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "update_graph", + "source": { + "$ref": "AAAAAAF+oJn4SvBq/+o=" + }, + "target": { + "$ref": "AAAAAAF+oJpNfvCK4RA=" + }, + "arguments": "targetGraph, newGraph" + } + ], + "participants": [ + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+oJn4SvBq/+o=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "JS_GRAPH_SAGE", + "represent": { + "$ref": "AAAAAAF+oJn4SvBpX4c=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+oJpNfvCK4RA=", + "_parent": { + "$ref": "AAAAAAF+oJlAy/BaxOk=" + }, + "name": "SageMath", + "represent": { + "$ref": "AAAAAAF+oJpNfvCJttc=" + }, + "isMultiInstance": false + } + ] + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+oJn4SvBpX4c=", + "_parent": { + "$ref": "AAAAAAF+oJlAyvBZPgM=" + }, + "name": "Role1" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+oJpNfvCJttc=", + "_parent": { + "$ref": "AAAAAAF+oJlAyvBZPgM=" + }, + "name": "Role2" + } + ] + }, + { + "_type": "UMLCollaboration", + "_id": "AAAAAAF+oRaEEfG1zhI=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Collaboration2", + "ownedElements": [ + { + "_type": "UMLInteraction", + "_id": "AAAAAAF+oRaEEvG2NRI=", + "_parent": { + "$ref": "AAAAAAF+oRaEEfG1zhI=" + }, + "name": "Interaction1", + "ownedElements": [ + { + "_type": "UMLSequenceDiagram", + "_id": "AAAAAAF+oRaEEvG3TYg=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "ConstructGraphFromJSONObject", + "ownedViews": [ + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+oRaEEvG4LIo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRaEEvG50oo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG4LIo=" + }, + "font": "Arial;13;0", + "left": 32.72998046875, + "top": 13, + "width": 195.33349609375, + "height": 13, + "text": "ConstructGraphFromJSONObject" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRaEEvG6nsY=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG4LIo=" + }, + "font": "Arial;13;1", + "left": 13, + "top": 13, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 8, + "top": 8, + "width": 489, + "height": 969, + "nameLabel": { + "$ref": "AAAAAAF+oRaEEvG50oo=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oRaEEvG6nsY=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+oRiCEPHJjfE=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+oRiCEPHKoqw=", + "_parent": { + "$ref": "AAAAAAF+oRiCEPHJjfE=" + }, + "model": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRiCEPHL6t8=", + "_parent": { + "$ref": "AAAAAAF+oRiCEPHKoqw=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRiCEPHMTeU=", + "_parent": { + "$ref": "AAAAAAF+oRiCEPHKoqw=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 47, + "width": 124.14990234375, + "height": 13, + "text": "JS_GRAPH_SAGE" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRiCEPHN8Qs=", + "_parent": { + "$ref": "AAAAAAF+oRiCEPHKoqw=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRiCEPHOtpU=", + "_parent": { + "$ref": "AAAAAAF+oRiCEPHKoqw=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 40, + "width": 134.14990234375, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+oRiCEPHL6t8=" + }, + "nameLabel": { + "$ref": "AAAAAAF+oRiCEPHMTeU=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+oRiCEPHN8Qs=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oRiCEPHOtpU=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+oRiCEPHPiXw=", + "_parent": { + "$ref": "AAAAAAF+oRiCEPHJjfE=" + }, + "model": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "font": "Arial;13;0", + "left": 139, + "top": 80, + "width": 1, + "height": 891 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 40, + "width": 134.14990234375, + "height": 931, + "nameCompartment": { + "$ref": "AAAAAAF+oRiCEPHKoqw=" + }, + "linePart": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+oRjLqvHqH9E=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+oRjLq/HrRiE=", + "_parent": { + "$ref": "AAAAAAF+oRjLqvHqH9E=" + }, + "model": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRjLq/HszzM=", + "_parent": { + "$ref": "AAAAAAF+oRjLq/HrRiE=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRjLq/Htglo=", + "_parent": { + "$ref": "AAAAAAF+oRjLq/HrRiE=" + }, + "font": "Arial;13;1", + "left": 317, + "top": 47, + "width": 71.40087890625, + "height": 13, + "text": "SageMath" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRjLq/HuVTA=", + "_parent": { + "$ref": "AAAAAAF+oRjLq/HrRiE=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRjLq/HvhSE=", + "_parent": { + "$ref": "AAAAAAF+oRjLq/HrRiE=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 312, + "top": 40, + "width": 81.40087890625, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+oRjLq/HszzM=" + }, + "nameLabel": { + "$ref": "AAAAAAF+oRjLq/Htglo=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+oRjLq/HuVTA=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oRjLq/HvhSE=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+oRjLq/HwYnE=", + "_parent": { + "$ref": "AAAAAAF+oRjLqvHqH9E=" + }, + "model": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 80, + "width": 1, + "height": 891 + } + ], + "font": "Arial;13;0", + "left": 312, + "top": 40, + "width": 81.40087890625, + "height": 931, + "nameCompartment": { + "$ref": "AAAAAAF+oRjLq/HrRiE=" + }, + "linePart": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oRlq4vIMszo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRlq4fIK8Y4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRlq4vINaPA=", + "_parent": { + "$ref": "AAAAAAF+oRlq4vIMszo=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 101, + "width": 152.0107421875, + "height": 13, + "text": "opt [JSONObject.directed]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRlq4vIOARU=", + "_parent": { + "$ref": "AAAAAAF+oRlq4vIMszo=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 101, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oRlq4vIPtyE=", + "_parent": { + "$ref": "AAAAAAF+oRlq4vIMszo=" + }, + "model": { + "$ref": "AAAAAAF+oRlq4fIK8Y4=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oRlq6PIbHe8=", + "_parent": { + "$ref": "AAAAAAF+oRlq4vIPtyE=" + }, + "model": { + "$ref": "AAAAAAF+oRlq4vIL5kM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRlq6PIcrBY=", + "_parent": { + "$ref": "AAAAAAF+oRlq6PIbHe8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 134, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 119, + "width": 361, + "height": 74, + "guardLabel": { + "$ref": "AAAAAAF+oRlq6PIcrBY=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 119, + "width": 361, + "height": 74 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 96, + "width": 361, + "height": 97, + "nameLabel": { + "$ref": "AAAAAAF+oRlq4vINaPA=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oRlq4vIOARU=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oRlq4vIPtyE=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oRpOj/InhNY=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRpOjvIm0GU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRpOj/IoBM0=", + "_parent": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "model": { + "$ref": "AAAAAAF+oRpOjvIm0GU=" + }, + "font": "Arial;13;0", + "left": 203, + "top": 121, + "width": 78.74267578125, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "edgePosition": 1, + "text": "DiGraph()" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRpOj/IpptU=", + "_parent": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "model": { + "$ref": "AAAAAAF+oRpOjvIm0GU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 242, + "top": 106, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRpOj/IqB+4=", + "_parent": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "model": { + "$ref": "AAAAAAF+oRpOjvIm0GU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 242, + "top": 141, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oRpOj/Irsuk=", + "_parent": { + "$ref": "AAAAAAF+oRpOj/InhNY=" + }, + "model": { + "$ref": "AAAAAAF+oRpOjvIm0GU=" + }, + "font": "Arial;13;0", + "left": 346, + "top": 137, + "width": 14, + "height": 817 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "139:137;346:137", + "nameLabel": { + "$ref": "AAAAAAF+oRpOj/IoBM0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oRpOj/IpptU=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oRpOj/IqB+4=" + }, + "activation": { + "$ref": "AAAAAAF+oRpOj/Irsuk=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oRtS2fI/0bA=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRtS2PI97mo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRtS2fJAWu0=", + "_parent": { + "$ref": "AAAAAAF+oRtS2fI/0bA=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 205, + "width": 14.72998046875, + "height": 13, + "text": "alt" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oRtS2fJB838=", + "_parent": { + "$ref": "AAAAAAF+oRtS2fI/0bA=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 205, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oRtS2fJCjNw=", + "_parent": { + "$ref": "AAAAAAF+oRtS2fI/0bA=" + }, + "model": { + "$ref": "AAAAAAF+oRtS2PI97mo=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oRtS4/JORws=", + "_parent": { + "$ref": "AAAAAAF+oRtS2fJCjNw=" + }, + "model": { + "$ref": "AAAAAAF+oRtS2PI++Iw=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oRtS4/JPsV0=", + "_parent": { + "$ref": "AAAAAAF+oRtS4/JORws=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 238, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 223, + "width": 361, + "height": 66, + "guardLabel": { + "$ref": "AAAAAAF+oRtS4/JPsV0=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 223, + "width": 361, + "height": 66 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 200, + "width": 361, + "height": 89, + "nameLabel": { + "$ref": "AAAAAAF+oRtS2fJAWu0=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oRtS2fJB838=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oRtS2fJCjNw=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oR0fI/Kg1W0=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oR0fI/Kfx2Q=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oR0fI/Kht5A=", + "_parent": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "model": { + "$ref": "AAAAAAF+oR0fI/Kfx2Q=" + }, + "font": "Arial;13;0", + "left": 359, + "top": 128, + "width": 130.78076171875, + "height": 13, + "alpha": 2.0899413179645228, + "distance": 40.311288741492746, + "hostEdge": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "edgePosition": 1, + "text": "creerUnGraphe" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oR0fI/Kiq64=", + "_parent": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "model": { + "$ref": "AAAAAAF+oR0fI/Kfx2Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 413, + "top": 147, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oR0fI/Kji8M=", + "_parent": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "model": { + "$ref": "AAAAAAF+oR0fI/Kfx2Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 379, + "top": 148, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oR0fI/Kkbsg=", + "_parent": { + "$ref": "AAAAAAF+oR0fI/Kg1W0=" + }, + "model": { + "$ref": "AAAAAAF+oR0fI/Kfx2Q=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 164, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "points": "359:144;389:144;389:164;366:164", + "nameLabel": { + "$ref": "AAAAAAF+oR0fI/Kht5A=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oR0fI/Kiq64=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oR0fI/Kji8M=" + }, + "activation": { + "$ref": "AAAAAAF+oR0fI/Kkbsg=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oRuik/JYrIo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRuik/JXKek=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRuik/JZ1ng=", + "_parent": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "model": { + "$ref": "AAAAAAF+oRuik/JXKek=" + }, + "font": "Arial;13;0", + "left": 217, + "top": 216, + "width": 59.97900390625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "edgePosition": 1, + "text": "Graph()" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRuik/JaHZM=", + "_parent": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "model": { + "$ref": "AAAAAAF+oRuik/JXKek=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 246, + "top": 201, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRuilPJb/uE=", + "_parent": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "model": { + "$ref": "AAAAAAF+oRuik/JXKek=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 246, + "top": 236, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oRuilPJcntA=", + "_parent": { + "$ref": "AAAAAAF+oRuik/JYrIo=" + }, + "model": { + "$ref": "AAAAAAF+oRuik/JXKek=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 232, + "width": 14, + "height": 60 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "139:232;353:232", + "nameLabel": { + "$ref": "AAAAAAF+oRuik/JZ1ng=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oRuik/JaHZM=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oRuilPJb/uE=" + }, + "activation": { + "$ref": "AAAAAAF+oRuilPJcntA=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oRv++PJunOQ=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRv++PJtAic=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRv++PJvJS0=", + "_parent": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "model": { + "$ref": "AAAAAAF+oRv++PJtAic=" + }, + "font": "Arial;13;0", + "left": 347, + "top": 215, + "width": 89.59716796875, + "height": 13, + "alpha": -2.9648851436260824, + "distance": 28.442925306655784, + "hostEdge": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "edgePosition": 1, + "text": "creerUnGraphe" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRv++PJwpKM=", + "_parent": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "model": { + "$ref": "AAAAAAF+oRv++PJtAic=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 420, + "top": 243, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRv++PJxz3c=", + "_parent": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "model": { + "$ref": "AAAAAAF+oRv++PJtAic=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 386, + "top": 244, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oRv++PJyRy0=", + "_parent": { + "$ref": "AAAAAAF+oRv++PJunOQ=" + }, + "model": { + "$ref": "AAAAAAF+oRv++PJtAic=" + }, + "font": "Arial;13;0", + "left": 360, + "top": 260, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "points": "366:240;396:240;396:260;373:260", + "nameLabel": { + "$ref": "AAAAAAF+oRv++PJvJS0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oRv++PJwpKM=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oRv++PJxz3c=" + }, + "activation": { + "$ref": "AAAAAAF+oRv++PJyRy0=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oRyVfPKH6FM=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oRyVfPKGatE=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRyVffKIKKg=", + "_parent": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "model": { + "$ref": "AAAAAAF+oRyVfPKGatE=" + }, + "font": "Arial;13;0", + "left": 215, + "top": 300, + "width": 59.97900390625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "edgePosition": 1, + "text": "G" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRyVffKJ8Dc=", + "_parent": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "model": { + "$ref": "AAAAAAF+oRyVfPKGatE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 244, + "top": 315, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oRyVffKKOik=", + "_parent": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "model": { + "$ref": "AAAAAAF+oRyVfPKGatE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 245, + "top": 280, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oRyVffKLBTo=", + "_parent": { + "$ref": "AAAAAAF+oRyVfPKH6FM=" + }, + "model": { + "$ref": "AAAAAAF+oRyVfPKGatE=" + }, + "font": "Arial;13;0", + "left": 132, + "top": 296, + "width": 14, + "height": 657 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "tail": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "points": "346:296;145:296", + "nameLabel": { + "$ref": "AAAAAAF+oRyVffKIKKg=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oRyVffKJ8Dc=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oRyVffKKOik=" + }, + "activation": { + "$ref": "AAAAAAF+oRyVffKLBTo=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oR9PofLFL/Q=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oR9PofLDpNA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oR9PofLGg/8=", + "_parent": { + "$ref": "AAAAAAF+oR9PofLFL/Q=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 349, + "width": 212.732421875, + "height": 13, + "text": "loop [for node in JSONObject.nodes]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oR9PofLHR64=", + "_parent": { + "$ref": "AAAAAAF+oR9PofLFL/Q=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 349, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oR9PovLIweg=", + "_parent": { + "$ref": "AAAAAAF+oR9PofLFL/Q=" + }, + "model": { + "$ref": "AAAAAAF+oR9PofLDpNA=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oR9PrfLU2VQ=", + "_parent": { + "$ref": "AAAAAAF+oR9PovLIweg=" + }, + "model": { + "$ref": "AAAAAAF+oR9PofLES5o=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oR9PrfLVNGs=", + "_parent": { + "$ref": "AAAAAAF+oR9PrfLU2VQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 382, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 367, + "width": 361, + "height": 50, + "guardLabel": { + "$ref": "AAAAAAF+oR9PrfLVNGs=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 367, + "width": 361, + "height": 50 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 344, + "width": 361, + "height": 105, + "nameLabel": { + "$ref": "AAAAAAF+oR9PofLGg/8=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oR9PofLHR64=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oR9PovLIweg=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oSOdOPMFicE=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSOdOPMEzBY=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSOdOPMGnpE=", + "_parent": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "model": { + "$ref": "AAAAAAF+oSOdOPMEzBY=" + }, + "font": "Arial;13;0", + "left": 357, + "top": 368, + "width": 88.14990234375, + "height": 13, + "alpha": 2.736699565580611, + "distance": 30.463092423455635, + "hostEdge": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "edgePosition": 1, + "text": "ajouterSommet" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSOdOfMHdrU=", + "_parent": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "model": { + "$ref": "AAAAAAF+oSOdOPMEzBY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 413, + "top": 395, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSOdOfMI7+o=", + "_parent": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "model": { + "$ref": "AAAAAAF+oSOdOPMEzBY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 379, + "top": 396, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oSOdOfMJlLk=", + "_parent": { + "$ref": "AAAAAAF+oSOdOPMFicE=" + }, + "model": { + "$ref": "AAAAAAF+oSOdOPMEzBY=" + }, + "font": "Arial;13;0", + "left": 360, + "top": 412, + "width": 14, + "height": 35 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "points": "359:392;389:392;389:412;373:412", + "nameLabel": { + "$ref": "AAAAAAF+oSOdOPMGnpE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oSOdOfMHdrU=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oSOdOfMI7+o=" + }, + "activation": { + "$ref": "AAAAAAF+oSOdOfMJlLk=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oSDJePLkuO4=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSDJd/Lj34s=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSDJePLlBbQ=", + "_parent": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "model": { + "$ref": "AAAAAAF+oSDJd/Lj34s=" + }, + "font": "Arial;13;0", + "left": 126, + "top": 379, + "width": 246.974609375, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "edgePosition": 1, + "text": "G.add_vertex(node.get(\"name\"))" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSDJePLmsyU=", + "_parent": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "model": { + "$ref": "AAAAAAF+oSDJd/Lj34s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 364, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSDJePLn5z0=", + "_parent": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "model": { + "$ref": "AAAAAAF+oSDJd/Lj34s=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 399, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oSDJePLoV6Y=", + "_parent": { + "$ref": "AAAAAAF+oSDJePLkuO4=" + }, + "model": { + "$ref": "AAAAAAF+oSDJd/Lj34s=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 395, + "width": 14, + "height": 55 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "145:395;353:395", + "nameLabel": { + "$ref": "AAAAAAF+oSDJePLlBbQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oSDJePLmsyU=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oSDJePLn5z0=" + }, + "activation": { + "$ref": "AAAAAAF+oSDJePLoV6Y=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oSQZLvMd9zA=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSQZLvMbhcI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oSQZLvMe6V0=", + "_parent": { + "$ref": "AAAAAAF+oSQZLvMd9zA=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 485, + "width": 191.04248046875, + "height": 13, + "text": "loop [for n in JSONObject.nodes]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oSQZLvMftQE=", + "_parent": { + "$ref": "AAAAAAF+oSQZLvMd9zA=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 485, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oSQZLvMgf7c=", + "_parent": { + "$ref": "AAAAAAF+oSQZLvMd9zA=" + }, + "model": { + "$ref": "AAAAAAF+oSQZLvMbhcI=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oSQZOPMscHU=", + "_parent": { + "$ref": "AAAAAAF+oSQZLvMgf7c=" + }, + "model": { + "$ref": "AAAAAAF+oSQZLvMcIVo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oSQZOPMttjs=", + "_parent": { + "$ref": "AAAAAAF+oSQZOPMscHU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 518, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 503, + "width": 361, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+oSQZOPMttjs=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 503, + "width": 361, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 480, + "width": 361, + "height": 89, + "nameLabel": { + "$ref": "AAAAAAF+oSQZLvMe6V0=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oSQZLvMftQE=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oSQZLvMgf7c=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oSVB1/M2HGc=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSVB1vM1Jlg=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSVB1/M39CI=", + "_parent": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "model": { + "$ref": "AAAAAAF+oSVB1vM1Jlg=" + }, + "font": "Arial;13;0", + "left": 140, + "top": 504, + "width": 280.8583984375, + "height": 13, + "alpha": 1.7590168145941985, + "distance": 106.88779163215975, + "hostEdge": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "edgePosition": 1, + "text": "remplirPosdictAvecLesCoordonnesDesNodes" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSVB1/M4ECc=", + "_parent": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "model": { + "$ref": "AAAAAAF+oSVB1vM1Jlg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 199, + "top": 523, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSVB1/M5y+M=", + "_parent": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "model": { + "$ref": "AAAAAAF+oSVB1vM1Jlg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 165, + "top": 524, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oSVB1/M6Tvw=", + "_parent": { + "$ref": "AAAAAAF+oSVB1/M2HGc=" + }, + "model": { + "$ref": "AAAAAAF+oSVB1vM1Jlg=" + }, + "font": "Arial;13;0", + "left": 139, + "top": 540, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "145:520;175:520;175:540;152:540", + "nameLabel": { + "$ref": "AAAAAAF+oSVB1/M39CI=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oSVB1/M4ECc=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oSVB1/M5y+M=" + }, + "activation": { + "$ref": "AAAAAAF+oSVB1/M6Tvw=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oSdbdfNVtl4=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSdbdPNUeDU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSdbdfNWerE=", + "_parent": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "model": { + "$ref": "AAAAAAF+oSdbdPNUeDU=" + }, + "font": "Arial;13;0", + "left": 195, + "top": 584, + "width": 109.103515625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "edgePosition": 1, + "text": "G.set_pos(posdict)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSdbdfNXbqQ=", + "_parent": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "model": { + "$ref": "AAAAAAF+oSdbdPNUeDU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 569, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSdbdfNYx/A=", + "_parent": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "model": { + "$ref": "AAAAAAF+oSdbdPNUeDU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 604, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oSdbdfNZfOY=", + "_parent": { + "$ref": "AAAAAAF+oSdbdfNVtl4=" + }, + "model": { + "$ref": "AAAAAAF+oSdbdPNUeDU=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 600, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "145:600;353:600", + "nameLabel": { + "$ref": "AAAAAAF+oSdbdfNWerE=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oSdbdfNXbqQ=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oSdbdfNYx/A=" + }, + "activation": { + "$ref": "AAAAAAF+oSdbdfNZfOY=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oSiPSPNtiPk=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSiPSPNrPUE=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oSiPSPNusFQ=", + "_parent": { + "$ref": "AAAAAAF+oSiPSPNtiPk=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 637, + "width": 177.287109375, + "height": 13, + "text": "loop [for l in JSONObject.links]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oSiPSPNv69c=", + "_parent": { + "$ref": "AAAAAAF+oSiPSPNtiPk=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 637, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oSiPSfNw2K4=", + "_parent": { + "$ref": "AAAAAAF+oSiPSPNtiPk=" + }, + "model": { + "$ref": "AAAAAAF+oSiPSPNrPUE=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oSiPU/N8Ny8=", + "_parent": { + "$ref": "AAAAAAF+oSiPSfNw2K4=" + }, + "model": { + "$ref": "AAAAAAF+oSiPSPNs6gQ=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oSiPU/N9WPA=", + "_parent": { + "$ref": "AAAAAAF+oSiPU/N8Ny8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 670, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 655, + "width": 361, + "height": 82, + "guardLabel": { + "$ref": "AAAAAAF+oSiPU/N9WPA=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 655, + "width": 361, + "height": 82 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 632, + "width": 361, + "height": 105, + "nameLabel": { + "$ref": "AAAAAAF+oSiPSPNusFQ=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oSiPSPNv69c=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oSiPSfNw2K4=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oSkbhvOH/Mk=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSkbhvOGMZM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSkbhvOIRQ4=", + "_parent": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "model": { + "$ref": "AAAAAAF+oSkbhvOGMZM=" + }, + "font": "Arial;13;0", + "left": 127, + "top": 664, + "width": 244.6259765625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "edgePosition": 1, + "text": "G.add_edge(l.get(\"source\"), l.get(\"target\"))" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSkbhvOJ+SE=", + "_parent": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "model": { + "$ref": "AAAAAAF+oSkbhvOGMZM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 649, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSkbhvOKdNg=", + "_parent": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "model": { + "$ref": "AAAAAAF+oSkbhvOGMZM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 684, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oSkbhvOLsvs=", + "_parent": { + "$ref": "AAAAAAF+oSkbhvOH/Mk=" + }, + "model": { + "$ref": "AAAAAAF+oSkbhvOGMZM=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 680, + "width": 14, + "height": 87 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "145:680;353:680", + "nameLabel": { + "$ref": "AAAAAAF+oSkbhvOIRQ4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oSkbhvOJ+SE=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oSkbhvOKdNg=" + }, + "activation": { + "$ref": "AAAAAAF+oSkbhvOLsvs=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oSmvk/OfNJo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oSmvk/OeS9Q=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSmvk/OgKvs=", + "_parent": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "model": { + "$ref": "AAAAAAF+oSmvk/OeS9Q=" + }, + "font": "Arial;13;0", + "left": 372, + "top": 691, + "width": 67.919921875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "edgePosition": 1, + "text": "ajouterArret" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSmvk/Ohjmk=", + "_parent": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "model": { + "$ref": "AAAAAAF+oSmvk/OeS9Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 420, + "top": 691, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oSmvk/OiVWA=", + "_parent": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "model": { + "$ref": "AAAAAAF+oSmvk/OeS9Q=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 386, + "top": 692, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oSmvk/Oj55Q=", + "_parent": { + "$ref": "AAAAAAF+oSmvk/OfNJo=" + }, + "model": { + "$ref": "AAAAAAF+oSmvk/OeS9Q=" + }, + "font": "Arial;13;0", + "left": 360, + "top": 708, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "points": "366:688;396:688;396:708;373:708", + "nameLabel": { + "$ref": "AAAAAAF+oSmvk/OgKvs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oSmvk/Ohjmk=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oSmvk/OiVWA=" + }, + "activation": { + "$ref": "AAAAAAF+oSmvk/Oj55Q=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oVGRwvPA4qI=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oVGRwfO+idM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oVGRwvPBs88=", + "_parent": { + "$ref": "AAAAAAF+oVGRwvPA4qI=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 837, + "width": 182.35888671875, + "height": 13, + "text": "loop [for l in JSONObject.loops]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oVGRwvPCEjU=", + "_parent": { + "$ref": "AAAAAAF+oVGRwvPA4qI=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 837, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oVGRwvPD+Wk=", + "_parent": { + "$ref": "AAAAAAF+oVGRwvPA4qI=" + }, + "model": { + "$ref": "AAAAAAF+oVGRwfO+idM=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oVGRzvPPtZE=", + "_parent": { + "$ref": "AAAAAAF+oVGRwvPD+Wk=" + }, + "model": { + "$ref": "AAAAAAF+oVGRwvO/VNM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oVGRzvPQfpU=", + "_parent": { + "$ref": "AAAAAAF+oVGRzvPPtZE=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 870, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 855, + "width": 361, + "height": 58, + "guardLabel": { + "$ref": "AAAAAAF+oVGRzvPQfpU=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 855, + "width": 361, + "height": 58 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 832, + "width": 361, + "height": 121, + "nameLabel": { + "$ref": "AAAAAAF+oVGRwvPBs88=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oVGRwvPCEjU=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oVGRwvPD+Wk=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oV6Y/PQqu68=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oV6Y/PQo+rw=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oV6Y/PQrPHo=", + "_parent": { + "$ref": "AAAAAAF+oV6Y/PQqu68=" + }, + "font": "Arial;13;0", + "left": 103.9599609375, + "top": 757, + "width": 177.66796875, + "height": 13, + "text": "opt [len(JSONObject.loops)>0]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oV6Y/PQsHac=", + "_parent": { + "$ref": "AAAAAAF+oV6Y/PQqu68=" + }, + "font": "Arial;13;1", + "left": 77, + "top": 757, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oV6Y/fQtmYk=", + "_parent": { + "$ref": "AAAAAAF+oV6Y/PQqu68=" + }, + "model": { + "$ref": "AAAAAAF+oV6Y/PQo+rw=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oV6ZCfQ5t7A=", + "_parent": { + "$ref": "AAAAAAF+oV6Y/fQtmYk=" + }, + "model": { + "$ref": "AAAAAAF+oV6Y/PQpiKE=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oV6ZCfQ6qcc=", + "_parent": { + "$ref": "AAAAAAF+oV6ZCfQ5t7A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 92, + "top": 790, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 775, + "width": 361, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+oV6ZCfQ6qcc=" + } + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 775, + "width": 361, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 72, + "top": 752, + "width": 361, + "height": 74, + "nameLabel": { + "$ref": "AAAAAAF+oV6Y/PQrPHo=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oV6Y/PQsHac=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oV6Y/fQtmYk=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oWAs2PRETPo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oWAs1/RDYeQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWAs2PRF6yg=", + "_parent": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "model": { + "$ref": "AAAAAAF+oWAs1/RDYeQ=" + }, + "font": "Arial;13;0", + "left": 191, + "top": 784, + "width": 116.56201171875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "edgePosition": 1, + "text": "G.allow_loops(True)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWAs2PRG16g=", + "_parent": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "model": { + "$ref": "AAAAAAF+oWAs1/RDYeQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 769, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWAs2PRHiWs=", + "_parent": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "model": { + "$ref": "AAAAAAF+oWAs1/RDYeQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 804, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oWAs2PRIIe8=", + "_parent": { + "$ref": "AAAAAAF+oWAs2PRETPo=" + }, + "model": { + "$ref": "AAAAAAF+oWAs1/RDYeQ=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 800, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "145:800;353:800", + "nameLabel": { + "$ref": "AAAAAAF+oWAs2PRF6yg=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oWAs2PRG16g=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oWAs2PRHiWs=" + }, + "activation": { + "$ref": "AAAAAAF+oWAs2PRIIe8=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oVJYNfPdjl4=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oVJYNfPcdcQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oVJYNfPedIs=", + "_parent": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "model": { + "$ref": "AAAAAAF+oVJYNfPcdcQ=" + }, + "font": "Arial;13;0", + "left": 135, + "top": 872, + "width": 241.01416015625, + "height": 13, + "alpha": 1.2490452723983378, + "distance": 18.973665961010276, + "hostEdge": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "edgePosition": 1, + "text": "G.add_edge(l.get(\"source\"),l.get(\"target\"))" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oVJYNfPfuAs=", + "_parent": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "model": { + "$ref": "AAAAAAF+oVJYNfPcdcQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 865, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oVJYNfPg9Do=", + "_parent": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "model": { + "$ref": "AAAAAAF+oVJYNfPcdcQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 249, + "top": 900, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oVJYNfPhqHg=", + "_parent": { + "$ref": "AAAAAAF+oVJYNfPdjl4=" + }, + "model": { + "$ref": "AAAAAAF+oVJYNfPcdcQ=" + }, + "font": "Arial;13;0", + "left": 353, + "top": 896, + "width": 14, + "height": 55 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRiCEPHPiXw=" + }, + "points": "145:896;353:896", + "nameLabel": { + "$ref": "AAAAAAF+oVJYNfPedIs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oVJYNfPfuAs=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oVJYNfPg9Do=" + }, + "activation": { + "$ref": "AAAAAAF+oVJYNfPhqHg=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oWCRi/Rc/7E=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG3TYg=" + }, + "model": { + "$ref": "AAAAAAF+oWCRi/Rb1VA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWCRi/Rdw2M=", + "_parent": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "model": { + "$ref": "AAAAAAF+oWCRi/Rb1VA=" + }, + "font": "Arial;13;0", + "left": 372, + "top": 899, + "width": 67.919921875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "edgePosition": 1, + "text": "ajouterArret" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWCRi/ReUnk=", + "_parent": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "model": { + "$ref": "AAAAAAF+oWCRi/Rb1VA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 420, + "top": 899, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWCRi/Rf348=", + "_parent": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "model": { + "$ref": "AAAAAAF+oWCRi/Rb1VA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 386, + "top": 900, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oWCRi/RgsF0=", + "_parent": { + "$ref": "AAAAAAF+oWCRi/Rc/7E=" + }, + "model": { + "$ref": "AAAAAAF+oWCRi/Rb1VA=" + }, + "font": "Arial;13;0", + "left": 360, + "top": 916, + "width": 14, + "height": 32 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "tail": { + "$ref": "AAAAAAF+oRjLq/HwYnE=" + }, + "points": "366:896;396:896;396:916;373:916", + "nameLabel": { + "$ref": "AAAAAAF+oWCRi/Rdw2M=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oWCRi/ReUnk=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oWCRi/Rf348=" + }, + "activation": { + "$ref": "AAAAAAF+oWCRi/RgsF0=" + } + } + ], + "showSequenceNumber": false + } + ], + "messages": [ + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oRpOjvIm0GU=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "DiGraph()", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oR0fI/Kfx2Q=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "creerUnGraphe", + "source": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oRuik/JXKek=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "Graph()", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oRv++PJtAic=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "creerUnGraphe", + "source": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oRyVfPKGatE=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "G", + "source": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "target": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oSOdOPMEzBY=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "ajouterSommet", + "source": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oSDJd/Lj34s=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "G.add_vertex(node.get(\"name\"))", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oSVB1vM1Jlg=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "remplirPosdictAvecLesCoordonnesDesNodes", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oSdbdPNUeDU=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "G.set_pos(posdict)", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oSkbhvOGMZM=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "G.add_edge(l.get(\"source\"), l.get(\"target\"))", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oSmvk/OeS9Q=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "ajouterArret", + "source": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oWAs1/RDYeQ=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "G.allow_loops", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "arguments": "True" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oVJYNfPcdcQ=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "G.add_edge(l.get(\"source\"),l.get(\"target\"))", + "source": { + "$ref": "AAAAAAF+oRiCEPHIhvA=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oWCRi/Rb1VA=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "ajouterArret", + "source": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + }, + "target": { + "$ref": "AAAAAAF+oRjLqvHpalM=" + } + } + ], + "participants": [ + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+oRiCEPHIhvA=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "JS_GRAPH_SAGE", + "represent": { + "$ref": "AAAAAAF+oRiCEPHHc6o=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+oRjLqvHpalM=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "SageMath", + "represent": { + "$ref": "AAAAAAF+oRjLqvHolvs=" + }, + "isMultiInstance": false + } + ], + "fragments": [ + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oRlq4fIK8Y4=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "opt [JSONObject.directed]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oRlq4vIL5kM=", + "_parent": { + "$ref": "AAAAAAF+oRlq4fIK8Y4=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oRtS2PI97mo=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "alt", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oRtS2PI++Iw=", + "_parent": { + "$ref": "AAAAAAF+oRtS2PI97mo=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oR9PofLDpNA=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "loop [for node in JSONObject.nodes]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oR9PofLES5o=", + "_parent": { + "$ref": "AAAAAAF+oR9PofLDpNA=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oSQZLvMbhcI=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "loop [for n in JSONObject.nodes]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oSQZLvMcIVo=", + "_parent": { + "$ref": "AAAAAAF+oSQZLvMbhcI=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oSiPSPNrPUE=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "loop [for l in JSONObject.links]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oSiPSPNs6gQ=", + "_parent": { + "$ref": "AAAAAAF+oSiPSPNrPUE=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oVGRwfO+idM=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "loop [for l in JSONObject.loops]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oVGRwvO/VNM=", + "_parent": { + "$ref": "AAAAAAF+oVGRwfO+idM=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oV6Y/PQo+rw=", + "_parent": { + "$ref": "AAAAAAF+oRaEEvG2NRI=" + }, + "name": "opt [len(JSONObject.loops)>0]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oV6Y/PQpiKE=", + "_parent": { + "$ref": "AAAAAAF+oV6Y/PQo+rw=" + }, + "name": "Operand1" + } + ] + } + ] + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+oRiCEPHHc6o=", + "_parent": { + "$ref": "AAAAAAF+oRaEEfG1zhI=" + }, + "name": "Role1" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+oRjLqvHolvs=", + "_parent": { + "$ref": "AAAAAAF+oRaEEfG1zhI=" + }, + "name": "Role2" + } + ] + }, + { + "_type": "UMLCollaboration", + "_id": "AAAAAAF+oWEcbvRzxis=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Collaboration3", + "ownedElements": [ + { + "_type": "UMLInteraction", + "_id": "AAAAAAF+oWEcbvR0HcQ=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvRzxis=" + }, + "name": "Interaction1", + "ownedElements": [ + { + "_type": "UMLSequenceDiagram", + "_id": "AAAAAAF+oWEcb/R1Xfo=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "update_graph_nodes", + "ownedViews": [ + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+oWEcb/R28Yw=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oWEcb/R3dus=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R28Yw=" + }, + "font": "Arial;13;0", + "left": 32.72998046875, + "top": 21, + "width": 123.890625, + "height": 13, + "text": "update_graph_nodes" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWEcb/R4S9A=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R28Yw=" + }, + "font": "Arial;13;1", + "left": 13, + "top": 21, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 8, + "top": 16, + "width": 537, + "height": 665, + "nameLabel": { + "$ref": "AAAAAAF+oWEcb/R3dus=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oWEcb/R4S9A=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+oWJjv/SHEas=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+oWJjwPSIEp4=", + "_parent": { + "$ref": "AAAAAAF+oWJjv/SHEas=" + }, + "model": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oWJjwPSJcO8=", + "_parent": { + "$ref": "AAAAAAF+oWJjwPSIEp4=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWJjwPSKftM=", + "_parent": { + "$ref": "AAAAAAF+oWJjwPSIEp4=" + }, + "font": "Arial;13;1", + "left": 109, + "top": 47, + "width": 124.14990234375, + "height": 13, + "text": "JS_GRAPH_SAGE" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWJjwPSLbmI=", + "_parent": { + "$ref": "AAAAAAF+oWJjwPSIEp4=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWJjwPSMBAo=", + "_parent": { + "$ref": "AAAAAAF+oWJjwPSIEp4=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 40, + "width": 134.14990234375, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+oWJjwPSJcO8=" + }, + "nameLabel": { + "$ref": "AAAAAAF+oWJjwPSKftM=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+oWJjwPSLbmI=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oWJjwPSMBAo=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+oWJjwPSNvO8=", + "_parent": { + "$ref": "AAAAAAF+oWJjv/SHEas=" + }, + "model": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "font": "Arial;13;0", + "left": 171, + "top": 80, + "width": 1, + "height": 575 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 40, + "width": 134.14990234375, + "height": 615, + "nameCompartment": { + "$ref": "AAAAAAF+oWJjwPSIEp4=" + }, + "linePart": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+oWK0MvSoRHg=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+oWK0MvSp0vI=", + "_parent": { + "$ref": "AAAAAAF+oWK0MvSoRHg=" + }, + "model": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oWK0MvSqDYk=", + "_parent": { + "$ref": "AAAAAAF+oWK0MvSp0vI=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWK0MvSr79k=", + "_parent": { + "$ref": "AAAAAAF+oWK0MvSp0vI=" + }, + "font": "Arial;13;1", + "left": 405, + "top": 47, + "width": 71.40087890625, + "height": 13, + "text": "SageMath" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWK0MvSsaFA=", + "_parent": { + "$ref": "AAAAAAF+oWK0MvSp0vI=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oWK0MvStqjo=", + "_parent": { + "$ref": "AAAAAAF+oWK0MvSp0vI=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 400, + "top": 40, + "width": 81.40087890625, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+oWK0MvSqDYk=" + }, + "nameLabel": { + "$ref": "AAAAAAF+oWK0MvSr79k=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+oWK0MvSsaFA=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oWK0MvStqjo=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+oWK0MvSubsA=", + "_parent": { + "$ref": "AAAAAAF+oWK0MvSoRHg=" + }, + "model": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "font": "Arial;13;0", + "left": 441, + "top": 80, + "width": 1, + "height": 575 + } + ], + "font": "Arial;13;0", + "left": 400, + "top": 40, + "width": 81.40087890625, + "height": 615, + "nameCompartment": { + "$ref": "AAAAAAF+oWK0MvSp0vI=" + }, + "linePart": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oWLnEvTHImg=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oWLnEvTG8bc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWLnEvTIlQ0=", + "_parent": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "model": { + "$ref": "AAAAAAF+oWLnEvTG8bc=" + }, + "font": "Arial;13;0", + "left": 230, + "top": 128, + "width": 145.93896484375, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "edgePosition": 1, + "text": "gold.get_vertices().keys()" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWLnEvTJiz4=", + "_parent": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "model": { + "$ref": "AAAAAAF+oWLnEvTG8bc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 302, + "top": 113, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oWLnEvTK1Jg=", + "_parent": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "model": { + "$ref": "AAAAAAF+oWLnEvTG8bc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 302, + "top": 148, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oWLnEvTLBnU=", + "_parent": { + "$ref": "AAAAAAF+oWLnEvTHImg=" + }, + "model": { + "$ref": "AAAAAAF+oWLnEvTG8bc=" + }, + "font": "Arial;13;0", + "left": 434, + "top": 144, + "width": 14, + "height": 497 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "tail": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + }, + "points": "171:144;434:144", + "nameLabel": { + "$ref": "AAAAAAF+oWLnEvTIlQ0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oWLnEvTJiz4=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oWLnEvTK1Jg=" + }, + "activation": { + "$ref": "AAAAAAF+oWLnEvTLBnU=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oW4tJvTgpik=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oW4tJvTeyJc=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oW4tJvThGms=", + "_parent": { + "$ref": "AAAAAAF+oW4tJvTgpik=" + }, + "font": "Arial;13;0", + "left": 127.9599609375, + "top": 101, + "width": 267.9951171875, + "height": 13, + "text": "opt [gold.get_vertices() != gnew.get_vertices()]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oW4tJvTiZfw=", + "_parent": { + "$ref": "AAAAAAF+oW4tJvTgpik=" + }, + "font": "Arial;13;1", + "left": 101, + "top": 101, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oW4tJvTjvGg=", + "_parent": { + "$ref": "AAAAAAF+oW4tJvTgpik=" + }, + "model": { + "$ref": "AAAAAAF+oW4tJvTeyJc=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oW4tL/Tva7g=", + "_parent": { + "$ref": "AAAAAAF+oW4tJvTjvGg=" + }, + "model": { + "$ref": "AAAAAAF+oW4tJvTfVuw=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oW4tL/TwDpk=", + "_parent": { + "$ref": "AAAAAAF+oW4tL/Tva7g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 116, + "top": 134, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 96, + "top": 119, + "width": 393, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+oW4tL/TwDpk=" + } + } + ], + "font": "Arial;13;0", + "left": 96, + "top": 119, + "width": 393, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 96, + "top": 96, + "width": 393, + "height": 465, + "nameLabel": { + "$ref": "AAAAAAF+oW4tJvThGms=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oW4tJvTiZfw=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oW4tJvTjvGg=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oW9s7vUARRo=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oW9s7fT/j0M=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oW9s7vUBJEs=", + "_parent": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "model": { + "$ref": "AAAAAAF+oW9s7fT/j0M=" + }, + "font": "Arial;13;0", + "left": 275, + "top": 164, + "width": 59.97900390625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "edgePosition": 1, + "text": "vert_old" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oW9s7vUCFS0=", + "_parent": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "model": { + "$ref": "AAAAAAF+oW9s7fT/j0M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 304, + "top": 179, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oW9s7vUD04s=", + "_parent": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "model": { + "$ref": "AAAAAAF+oW9s7fT/j0M=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 305, + "top": 144, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oW9s7vUEU94=", + "_parent": { + "$ref": "AAAAAAF+oW9s7vUARRo=" + }, + "model": { + "$ref": "AAAAAAF+oW9s7fT/j0M=" + }, + "font": "Arial;13;0", + "left": 164, + "top": 160, + "width": 14, + "height": 465 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + }, + "tail": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "points": "434:160;177:160", + "nameLabel": { + "$ref": "AAAAAAF+oW9s7vUBJEs=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oW9s7vUCFS0=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oW9s7vUD04s=" + }, + "activation": { + "$ref": "AAAAAAF+oW9s7vUEU94=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oW+hVPUXArs=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oW+hU/UWkSQ=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oW+hVPUY4d4=", + "_parent": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "model": { + "$ref": "AAAAAAF+oW+hU/UWkSQ=" + }, + "font": "Arial;13;0", + "left": 234, + "top": 194, + "width": 151.7216796875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "edgePosition": 1, + "text": "gnew.get_vertices().keys()" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oW+hVPUZ0eo=", + "_parent": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "model": { + "$ref": "AAAAAAF+oW+hU/UWkSQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 309, + "top": 179, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oW+hVPUahas=", + "_parent": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "model": { + "$ref": "AAAAAAF+oW+hU/UWkSQ=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 309, + "top": 214, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oW+hVPUbqHA=", + "_parent": { + "$ref": "AAAAAAF+oW+hVPUXArs=" + }, + "model": { + "$ref": "AAAAAAF+oW+hU/UWkSQ=" + }, + "font": "Arial;13;0", + "left": 441, + "top": 210, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "tail": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + }, + "points": "177:210;441:210", + "nameLabel": { + "$ref": "AAAAAAF+oW+hVPUY4d4=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oW+hVPUZ0eo=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oW+hVPUahas=" + }, + "activation": { + "$ref": "AAAAAAF+oW+hVPUbqHA=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oXAUTfUt7DA=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXAUTPUse7I=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXAUTfUuQ4s=", + "_parent": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "model": { + "$ref": "AAAAAAF+oXAUTPUse7I=" + }, + "font": "Arial;13;0", + "left": 282, + "top": 228, + "width": 59.97900390625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "edgePosition": 1, + "text": "vert_new" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXAUTfUvYpA=", + "_parent": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "model": { + "$ref": "AAAAAAF+oXAUTPUse7I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 311, + "top": 243, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXAUTfUwasQ=", + "_parent": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "model": { + "$ref": "AAAAAAF+oXAUTPUse7I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 312, + "top": 208, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oXAUTfUxFqU=", + "_parent": { + "$ref": "AAAAAAF+oXAUTfUt7DA=" + }, + "model": { + "$ref": "AAAAAAF+oXAUTPUse7I=" + }, + "font": "Arial;13;0", + "left": 171, + "top": 224, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + }, + "tail": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "points": "441:224;184:224", + "nameLabel": { + "$ref": "AAAAAAF+oXAUTfUuQ4s=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oXAUTfUvYpA=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oXAUTfUwasQ=" + }, + "activation": { + "$ref": "AAAAAAF+oXAUTfUxFqU=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oXDl5vVFVdI=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXDl5vVDrJ0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXDl5vVGAgg=", + "_parent": { + "$ref": "AAAAAAF+oXDl5vVFVdI=" + }, + "font": "Arial;13;0", + "left": 135.9599609375, + "top": 285, + "width": 126.01708984375, + "height": 13, + "text": "loop [for n in vert_old]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oXDl5vVHzlE=", + "_parent": { + "$ref": "AAAAAAF+oXDl5vVFVdI=" + }, + "font": "Arial;13;1", + "left": 109, + "top": 285, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oXDl5vVIL+8=", + "_parent": { + "$ref": "AAAAAAF+oXDl5vVFVdI=" + }, + "model": { + "$ref": "AAAAAAF+oXDl5vVDrJ0=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oXDl7/VU5q4=", + "_parent": { + "$ref": "AAAAAAF+oXDl5vVIL+8=" + }, + "model": { + "$ref": "AAAAAAF+oXDl5vVEqTw=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXDl7/VVA9w=", + "_parent": { + "$ref": "AAAAAAF+oXDl7/VU5q4=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 124, + "top": 318, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 303, + "width": 377, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+oXDl7/VVA9w=" + } + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 303, + "width": 377, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 280, + "width": 377, + "height": 137, + "nameLabel": { + "$ref": "AAAAAAF+oXDl5vVGAgg=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oXDl5vVHzlE=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oXDl5vVIL+8=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oXFTFPVf6Gg=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXFTFPVdC70=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXFTFPVg+DY=", + "_parent": { + "$ref": "AAAAAAF+oXFTFPVf6Gg=" + }, + "font": "Arial;13;0", + "left": 143.9599609375, + "top": 317, + "width": 128.91162109375, + "height": 13, + "text": "opt [n not in vert_new]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oXFTFPVhLx4=", + "_parent": { + "$ref": "AAAAAAF+oXFTFPVf6Gg=" + }, + "font": "Arial;13;1", + "left": 117, + "top": 317, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oXFTFPVi+xs=", + "_parent": { + "$ref": "AAAAAAF+oXFTFPVf6Gg=" + }, + "model": { + "$ref": "AAAAAAF+oXFTFPVdC70=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oXFTGvVuzlY=", + "_parent": { + "$ref": "AAAAAAF+oXFTFPVi+xs=" + }, + "model": { + "$ref": "AAAAAAF+oXFTFPVejP0=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXFTG/VvO8w=", + "_parent": { + "$ref": "AAAAAAF+oXFTGvVuzlY=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 132, + "top": 350, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 335, + "width": 361, + "height": 74, + "guardLabel": { + "$ref": "AAAAAAF+oXFTG/VvO8w=" + } + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 335, + "width": 361, + "height": 74 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 312, + "width": 361, + "height": 97, + "nameLabel": { + "$ref": "AAAAAAF+oXFTFPVg+DY=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oXFTFPVhLx4=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oXFTFPVi+xs=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oXHYffV3DNk=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXHYffV2Bxo=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXHYffV4gfk=", + "_parent": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "model": { + "$ref": "AAAAAAF+oXHYffV2Bxo=" + }, + "font": "Arial;13;0", + "left": 248, + "top": 344, + "width": 122.12890625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "edgePosition": 1, + "text": "gold.delete_vertex(n)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXHYffV5qkM=", + "_parent": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "model": { + "$ref": "AAAAAAF+oXHYffV2Bxo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 309, + "top": 329, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXHYffV6Ix4=", + "_parent": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "model": { + "$ref": "AAAAAAF+oXHYffV2Bxo=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 309, + "top": 364, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oXHYffV7D4I=", + "_parent": { + "$ref": "AAAAAAF+oXHYffV3DNk=" + }, + "model": { + "$ref": "AAAAAAF+oXHYffV2Bxo=" + }, + "font": "Arial;13;0", + "left": 441, + "top": 360, + "width": 14, + "height": 55 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "tail": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + }, + "points": "177:360;441:360", + "nameLabel": { + "$ref": "AAAAAAF+oXHYffV4gfk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oXHYffV5qkM=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oXHYffV6Ix4=" + }, + "activation": { + "$ref": "AAAAAAF+oXHYffV7D4I=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oXLiPfWSExM=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXLiPfWQLsA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXLiPfWTKBk=", + "_parent": { + "$ref": "AAAAAAF+oXLiPfWSExM=" + }, + "font": "Arial;13;0", + "left": 135.9599609375, + "top": 429, + "width": 132.51708984375, + "height": 13, + "text": "loop [for n in vert_new]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oXLiPfWUTsk=", + "_parent": { + "$ref": "AAAAAAF+oXLiPfWSExM=" + }, + "font": "Arial;13;1", + "left": 109, + "top": 429, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oXLiPvWVdpY=", + "_parent": { + "$ref": "AAAAAAF+oXLiPfWSExM=" + }, + "model": { + "$ref": "AAAAAAF+oXLiPfWQLsA=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oXLiSfWhHCM=", + "_parent": { + "$ref": "AAAAAAF+oXLiPvWVdpY=" + }, + "model": { + "$ref": "AAAAAAF+oXLiPfWREV8=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXLiSfWitwQ=", + "_parent": { + "$ref": "AAAAAAF+oXLiSfWhHCM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 124, + "top": 462, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 447, + "width": 377, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+oXLiSfWitwQ=" + } + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 447, + "width": 377, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 424, + "width": 377, + "height": 121, + "nameLabel": { + "$ref": "AAAAAAF+oXLiPfWTKBk=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oXLiPfWUTsk=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oXLiPvWVdpY=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+oXOCN/WsYMM=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXOCNvWq0RU=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXOCN/WtCLQ=", + "_parent": { + "$ref": "AAAAAAF+oXOCN/WsYMM=" + }, + "font": "Arial;13;0", + "left": 143.9599609375, + "top": 461, + "width": 122.41162109375, + "height": 13, + "text": "opt [n not in vert_old]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+oXOCN/Wui18=", + "_parent": { + "$ref": "AAAAAAF+oXOCN/WsYMM=" + }, + "font": "Arial;13;1", + "left": 117, + "top": 461, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+oXOCN/Wv730=", + "_parent": { + "$ref": "AAAAAAF+oXOCN/WsYMM=" + }, + "model": { + "$ref": "AAAAAAF+oXOCNvWq0RU=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+oXOCRPW7Ny0=", + "_parent": { + "$ref": "AAAAAAF+oXOCN/Wv730=" + }, + "model": { + "$ref": "AAAAAAF+oXOCN/Wr2W4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+oXOCRPW84Hw=", + "_parent": { + "$ref": "AAAAAAF+oXOCRPW7Ny0=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 132, + "top": 494, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 479, + "width": 361, + "height": 58, + "guardLabel": { + "$ref": "AAAAAAF+oXOCRPW84Hw=" + } + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 479, + "width": 361, + "height": 58 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 456, + "width": 361, + "height": 81, + "nameLabel": { + "$ref": "AAAAAAF+oXOCN/WtCLQ=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+oXOCN/Wui18=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+oXOCN/Wv730=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oXUgPfXdnr0=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXUgPfXcXoc=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXUgPvXes18=", + "_parent": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "model": { + "$ref": "AAAAAAF+oXUgPfXcXoc=" + }, + "font": "Arial;13;0", + "left": 414, + "top": 343, + "width": 106.1962890625, + "height": 13, + "alpha": -2.4370998796234096, + "distance": 26.248809496813376, + "hostEdge": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "edgePosition": 1, + "text": "supprimerSommet" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXUgPvXfnLc=", + "_parent": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "model": { + "$ref": "AAAAAAF+oXUgPfXcXoc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 508, + "top": 363, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXUgPvXgBTE=", + "_parent": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "model": { + "$ref": "AAAAAAF+oXUgPfXcXoc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 474, + "top": 364, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oXUgPvXheEM=", + "_parent": { + "$ref": "AAAAAAF+oXUgPfXdnr0=" + }, + "model": { + "$ref": "AAAAAAF+oXUgPfXcXoc=" + }, + "font": "Arial;13;0", + "left": 448, + "top": 380, + "width": 14, + "height": 32 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "tail": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "points": "454:360;484:360;484:380;461:380", + "nameLabel": { + "$ref": "AAAAAAF+oXUgPvXes18=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oXUgPvXfnLc=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oXUgPvXgBTE=" + }, + "activation": { + "$ref": "AAAAAAF+oXUgPvXheEM=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oXQiTPXF9UI=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXQiS/XEE/A=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXQiTPXG0Pk=", + "_parent": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "model": { + "$ref": "AAAAAAF+oXQiS/XEE/A=" + }, + "font": "Arial;13;0", + "left": 255, + "top": 480, + "width": 108.39892578125, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "edgePosition": 1, + "text": "gold.add_vertex(n)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXQiTPXHPoE=", + "_parent": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "model": { + "$ref": "AAAAAAF+oXQiS/XEE/A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 309, + "top": 465, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXQiTPXInNE=", + "_parent": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "model": { + "$ref": "AAAAAAF+oXQiS/XEE/A=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 309, + "top": 500, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oXQiTPXJFto=", + "_parent": { + "$ref": "AAAAAAF+oXQiTPXF9UI=" + }, + "model": { + "$ref": "AAAAAAF+oXQiS/XEE/A=" + }, + "font": "Arial;13;0", + "left": 441, + "top": 496, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "tail": { + "$ref": "AAAAAAF+oWJjwPSNvO8=" + }, + "points": "177:496;441:496", + "nameLabel": { + "$ref": "AAAAAAF+oXQiTPXG0Pk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oXQiTPXHPoE=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oXQiTPXInNE=" + }, + "activation": { + "$ref": "AAAAAAF+oXQiTPXJFto=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oXWWTfX10E8=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+oXWWTPX0fKk=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXWWTfX2qjw=", + "_parent": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "model": { + "$ref": "AAAAAAF+oXWWTPX0fKk=" + }, + "font": "Arial;13;0", + "left": 430, + "top": 479, + "width": 88.14990234375, + "height": 13, + "alpha": -2.7985700299112075, + "distance": 29.732137494637012, + "hostEdge": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "edgePosition": 1, + "text": "ajouterSommet" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXWWTfX3bwY=", + "_parent": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "model": { + "$ref": "AAAAAAF+oXWWTPX0fKk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 508, + "top": 507, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oXWWTfX4Mok=", + "_parent": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "model": { + "$ref": "AAAAAAF+oXWWTPX0fKk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 474, + "top": 508, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oXWWTfX5Hg4=", + "_parent": { + "$ref": "AAAAAAF+oXWWTfX10E8=" + }, + "model": { + "$ref": "AAAAAAF+oXWWTPX0fKk=" + }, + "font": "Arial;13;0", + "left": 448, + "top": 524, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "tail": { + "$ref": "AAAAAAF+oWK0MvSubsA=" + }, + "points": "454:504;484:504;484:524;461:524", + "nameLabel": { + "$ref": "AAAAAAF+oXWWTfX2qjw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oXWWTfX3bwY=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oXWWTfX4Mok=" + }, + "activation": { + "$ref": "AAAAAAF+oXWWTfX5Hg4=" + } + }, + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+ogcnZvjJrtQ=", + "_parent": { + "$ref": "AAAAAAF+oWEcb/R1Xfo=" + }, + "model": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogcnZvjKomY=", + "_parent": { + "$ref": "AAAAAAF+ogcnZvjJrtQ=" + }, + "font": "Arial;13;0", + "left": 120.72998046875, + "top": 573, + "width": 139.77880859375, + "height": 13, + "text": "update_graph_positions" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogcnZvjLn+E=", + "_parent": { + "$ref": "AAAAAAF+ogcnZvjJrtQ=" + }, + "font": "Arial;13;1", + "left": 101, + "top": 573, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 96, + "top": 568, + "width": 393, + "height": 53, + "nameLabel": { + "$ref": "AAAAAAF+ogcnZvjKomY=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ogcnZvjLn+E=" + } + } + ], + "showSequenceNumber": false + } + ], + "messages": [ + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oWLnEvTG8bc=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "gold.get_vertices().keys()", + "source": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "target": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oW9s7fT/j0M=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "vert_old", + "source": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "target": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oW+hU/UWkSQ=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "gnew.get_vertices().keys()", + "source": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "target": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oXAUTPUse7I=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "vert_new", + "source": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "target": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oXHYffV2Bxo=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "gold.delete_vertex(n)", + "source": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "target": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oXUgPfXcXoc=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "supprimerSommet", + "source": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "target": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oXQiS/XEE/A=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "gold.add_vertex(n)", + "source": { + "$ref": "AAAAAAF+oWJjv/SGDtU=" + }, + "target": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oXWWTPX0fKk=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "ajouterSommet", + "source": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + }, + "target": { + "$ref": "AAAAAAF+oWK0MvSnd8A=" + } + } + ], + "participants": [ + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+oWJjv/SGDtU=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "JS_GRAPH_SAGE", + "represent": { + "$ref": "AAAAAAF+oWJjv/SFOV0=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+oWK0MvSnd8A=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "SageMath", + "represent": { + "$ref": "AAAAAAF+oWK0MvSmkO8=" + }, + "isMultiInstance": false + } + ], + "fragments": [ + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oW4tJvTeyJc=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "opt [gold.get_vertices() != gnew.get_vertices()]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oW4tJvTfVuw=", + "_parent": { + "$ref": "AAAAAAF+oW4tJvTeyJc=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oXDl5vVDrJ0=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "loop [for n in vert_old]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oXDl5vVEqTw=", + "_parent": { + "$ref": "AAAAAAF+oXDl5vVDrJ0=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oXFTFPVdC70=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "opt [n not in vert_new]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oXFTFPVejP0=", + "_parent": { + "$ref": "AAAAAAF+oXFTFPVdC70=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oXLiPfWQLsA=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "loop [for n in vert_new]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oXLiPfWREV8=", + "_parent": { + "$ref": "AAAAAAF+oXLiPfWQLsA=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+oXOCNvWq0RU=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvR0HcQ=" + }, + "name": "opt [n not in vert_old]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+oXOCN/Wr2W4=", + "_parent": { + "$ref": "AAAAAAF+oXOCNvWq0RU=" + }, + "name": "Operand1" + } + ] + } + ] + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+oWJjv/SFOV0=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvRzxis=" + }, + "name": "Role1" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+oWK0MvSmkO8=", + "_parent": { + "$ref": "AAAAAAF+oWEcbvRzxis=" + }, + "name": "Role2" + } + ] + }, + { + "_type": "UMLCollaboration", + "_id": "AAAAAAF+ofMEzfYqeiw=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Collaboration4", + "ownedElements": [ + { + "_type": "UMLInteraction", + "_id": "AAAAAAF+ofMEz/Yrr20=", + "_parent": { + "$ref": "AAAAAAF+ofMEzfYqeiw=" + }, + "name": "Interaction1", + "ownedElements": [ + { + "_type": "UMLSequenceDiagram", + "_id": "AAAAAAF+ofMEz/YsKrg=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "update_graph_edges", + "ownedViews": [ + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+ofME0PYt1Tc=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofME0PYuKk8=", + "_parent": { + "$ref": "AAAAAAF+ofME0PYt1Tc=" + }, + "font": "Arial;13;0", + "left": 168.72998046875, + "top": 5, + "width": 123.890625, + "height": 13, + "text": "update_graph_edges" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofME0PYvvtU=", + "_parent": { + "$ref": "AAAAAAF+ofME0PYt1Tc=" + }, + "font": "Arial;13;1", + "left": 149, + "top": 5, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 144, + "width": 692, + "height": 769, + "nameLabel": { + "$ref": "AAAAAAF+ofME0PYuKk8=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ofME0PYvvtU=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+ofNuGPY8sBg=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+ofNuGfY9+zE=", + "_parent": { + "$ref": "AAAAAAF+ofNuGPY8sBg=" + }, + "model": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofNuGfY+MRg=", + "_parent": { + "$ref": "AAAAAAF+ofNuGfY9+zE=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofNuGfY/+fE=", + "_parent": { + "$ref": "AAAAAAF+ofNuGfY9+zE=" + }, + "font": "Arial;13;1", + "left": 117, + "top": 47, + "width": 124.14990234375, + "height": 13, + "text": "JS_GRAPH_SAGE" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofNuGfZAgv8=", + "_parent": { + "$ref": "AAAAAAF+ofNuGfY9+zE=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofNuGfZB3vA=", + "_parent": { + "$ref": "AAAAAAF+ofNuGfY9+zE=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 40, + "width": 134.14990234375, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofNuGfY+MRg=" + }, + "nameLabel": { + "$ref": "AAAAAAF+ofNuGfY/+fE=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+ofNuGfZAgv8=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofNuGfZB3vA=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+ofNuGfZCqt8=", + "_parent": { + "$ref": "AAAAAAF+ofNuGPY8sBg=" + }, + "model": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "font": "Arial;13;0", + "left": 179, + "top": 80, + "width": 1, + "height": 647 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 40, + "width": 134.14990234375, + "height": 687, + "nameCompartment": { + "$ref": "AAAAAAF+ofNuGfY9+zE=" + }, + "linePart": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+ofPJJfZc8b4=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+ofPJJfZd03I=", + "_parent": { + "$ref": "AAAAAAF+ofPJJfZc8b4=" + }, + "model": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofPJJvZe+lI=", + "_parent": { + "$ref": "AAAAAAF+ofPJJfZd03I=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofPJJvZfZhs=", + "_parent": { + "$ref": "AAAAAAF+ofPJJfZd03I=" + }, + "font": "Arial;13;1", + "left": 525, + "top": 47, + "width": 71.40087890625, + "height": 13, + "text": "SageMath" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofPJJvZgXZE=", + "_parent": { + "$ref": "AAAAAAF+ofPJJfZd03I=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofPJJvZh7BU=", + "_parent": { + "$ref": "AAAAAAF+ofPJJfZd03I=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 520, + "top": 40, + "width": 81.40087890625, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofPJJvZe+lI=" + }, + "nameLabel": { + "$ref": "AAAAAAF+ofPJJvZfZhs=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+ofPJJvZgXZE=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofPJJvZh7BU=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+ofPJJvZiqLE=", + "_parent": { + "$ref": "AAAAAAF+ofPJJfZc8b4=" + }, + "model": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "font": "Arial;13;0", + "left": 561, + "top": 80, + "width": 1, + "height": 647 + } + ], + "font": "Arial;13;0", + "left": 520, + "top": 40, + "width": 81.40087890625, + "height": 687, + "nameCompartment": { + "$ref": "AAAAAAF+ofPJJfZd03I=" + }, + "linePart": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+ofRRWPZ89NM=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofRRV/Z6X0U=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofRRWPZ9NBA=", + "_parent": { + "$ref": "AAAAAAF+ofRRWPZ89NM=" + }, + "font": "Arial;13;0", + "left": 175.9599609375, + "top": 117, + "width": 261.15869140625, + "height": 13, + "text": "opt [not __compareGraphEdges(gold, gnew)]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofRRWPZ+uYI=", + "_parent": { + "$ref": "AAAAAAF+ofRRWPZ89NM=" + }, + "font": "Arial;13;1", + "left": 149, + "top": 117, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+ofRRWPZ/JY0=", + "_parent": { + "$ref": "AAAAAAF+ofRRWPZ89NM=" + }, + "model": { + "$ref": "AAAAAAF+ofRRV/Z6X0U=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+ofRRZ/aLEfA=", + "_parent": { + "$ref": "AAAAAAF+ofRRWPZ/JY0=" + }, + "model": { + "$ref": "AAAAAAF+ofRRV/Z71nA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofRRaPaMe38=", + "_parent": { + "$ref": "AAAAAAF+ofRRZ/aLEfA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 164, + "top": 150, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 144, + "top": 135, + "width": 465, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+ofRRaPaMe38=" + } + } + ], + "font": "Arial;13;0", + "left": 144, + "top": 135, + "width": 465, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 144, + "top": 112, + "width": 465, + "height": 585, + "nameLabel": { + "$ref": "AAAAAAF+ofRRWPZ9NBA=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ofRRWPZ+uYI=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+ofRRWPZ/JY0=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ofV/afaaSoM=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofV/afaZ63g=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofV/afabKQk=", + "_parent": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "model": { + "$ref": "AAAAAAF+ofV/afaZ63g=" + }, + "font": "Arial;13;0", + "left": 321, + "top": 142, + "width": 90.33349609375, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "edgePosition": 1, + "text": "gold.edges()" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofV/afac4tg=", + "_parent": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "model": { + "$ref": "AAAAAAF+ofV/afaZ63g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 366, + "top": 127, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofV/afadpgI=", + "_parent": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "model": { + "$ref": "AAAAAAF+ofV/afaZ63g=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 366, + "top": 162, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ofV/avaeZW8=", + "_parent": { + "$ref": "AAAAAAF+ofV/afaaSoM=" + }, + "model": { + "$ref": "AAAAAAF+ofV/afaZ63g=" + }, + "font": "Arial;13;0", + "left": 554, + "top": 158, + "width": 14, + "height": 547 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "points": "179:158;554:158", + "nameLabel": { + "$ref": "AAAAAAF+ofV/afabKQk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofV/afac4tg=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofV/afadpgI=" + }, + "activation": { + "$ref": "AAAAAAF+ofV/avaeZW8=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ofXx6faxYjA=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofXx6fawDAI=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofXx6fayO8o=", + "_parent": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "model": { + "$ref": "AAAAAAF+ofXx6fawDAI=" + }, + "font": "Arial;13;0", + "left": 339, + "top": 181, + "width": 59.998046875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "edgePosition": 1, + "text": "edges_old" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofXx6faz1zA=", + "_parent": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "model": { + "$ref": "AAAAAAF+ofXx6fawDAI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 368, + "top": 196, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofXx6fa0g+I=", + "_parent": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "model": { + "$ref": "AAAAAAF+ofXx6fawDAI=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 369, + "top": 161, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ofXx6fa1a9c=", + "_parent": { + "$ref": "AAAAAAF+ofXx6faxYjA=" + }, + "model": { + "$ref": "AAAAAAF+ofXx6fawDAI=" + }, + "font": "Arial;13;0", + "left": 172, + "top": 177, + "width": 14, + "height": 536 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "tail": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "points": "554:177;185:177", + "nameLabel": { + "$ref": "AAAAAAF+ofXx6fayO8o=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofXx6faz1zA=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofXx6fa0g+I=" + }, + "activation": { + "$ref": "AAAAAAF+ofXx6fa1a9c=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ofZMdPbJ1zY=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofZMdPbIjBU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofZMdPbKOrk=", + "_parent": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "model": { + "$ref": "AAAAAAF+ofZMdPbIjBU=" + }, + "font": "Arial;13;0", + "left": 334, + "top": 200, + "width": 78.05078125, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "edgePosition": 1, + "text": "gnew.edges()" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofZMdPbLIzg=", + "_parent": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "model": { + "$ref": "AAAAAAF+ofZMdPbIjBU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 185, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofZMdPbMm30=", + "_parent": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "model": { + "$ref": "AAAAAAF+ofZMdPbIjBU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 220, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ofZMdPbNFVc=", + "_parent": { + "$ref": "AAAAAAF+ofZMdPbJ1zY=" + }, + "model": { + "$ref": "AAAAAAF+ofZMdPbIjBU=" + }, + "font": "Arial;13;0", + "left": 561, + "top": 216, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "points": "185:216;561:216", + "nameLabel": { + "$ref": "AAAAAAF+ofZMdPbKOrk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofZMdPbLIzg=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofZMdPbMm30=" + }, + "activation": { + "$ref": "AAAAAAF+ofZMdPbNFVc=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ofa8IfbfI90=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofa8IPbelhk=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofa8IfbgJyw=", + "_parent": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "model": { + "$ref": "AAAAAAF+ofa8IPbelhk=" + }, + "font": "Arial;13;0", + "left": 339, + "top": 252, + "width": 66.498046875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "edgePosition": 1, + "text": "edges_new" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofa8IfbhhOM=", + "_parent": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "model": { + "$ref": "AAAAAAF+ofa8IPbelhk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 372, + "top": 267, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofa8IfbipcY=", + "_parent": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "model": { + "$ref": "AAAAAAF+ofa8IPbelhk=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 232, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ofa8IfbjYrU=", + "_parent": { + "$ref": "AAAAAAF+ofa8IfbfI90=" + }, + "model": { + "$ref": "AAAAAAF+ofa8IPbelhk=" + }, + "font": "Arial;13;0", + "left": 179, + "top": 248, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "tail": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "points": "554:248;192:248", + "nameLabel": { + "$ref": "AAAAAAF+ofa8IfbgJyw=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofa8IfbhhOM=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofa8IfbipcY=" + }, + "activation": { + "$ref": "AAAAAAF+ofa8IfbjYrU=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+ofcxK/b2TCA=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofcxKvb0Bzo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofcxK/b3Oi4=", + "_parent": { + "$ref": "AAAAAAF+ofcxK/b2TCA=" + }, + "font": "Arial;13;0", + "left": 183.9599609375, + "top": 301, + "width": 203.35693359375, + "height": 13, + "text": "loop [for currentEdge in edges_old]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofcxK/b42Gk=", + "_parent": { + "$ref": "AAAAAAF+ofcxK/b2TCA=" + }, + "font": "Arial;13;1", + "left": 157, + "top": 301, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+ofcxK/b5xTk=", + "_parent": { + "$ref": "AAAAAAF+ofcxK/b2TCA=" + }, + "model": { + "$ref": "AAAAAAF+ofcxKvb0Bzo=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+ofcxRPcFb4w=", + "_parent": { + "$ref": "AAAAAAF+ofcxK/b5xTk=" + }, + "model": { + "$ref": "AAAAAAF+ofcxK/b17uo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofcxRfcGMq4=", + "_parent": { + "$ref": "AAAAAAF+ofcxRPcFb4w=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 172, + "top": 334, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 319, + "width": 449, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+ofcxRfcGMq4=" + } + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 319, + "width": 449, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 296, + "width": 449, + "height": 145, + "nameLabel": { + "$ref": "AAAAAAF+ofcxK/b3Oi4=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ofcxK/b42Gk=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+ofcxK/b5xTk=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+offyffcQcTU=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+offyfPcO7rk=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+offyffcRhoA=", + "_parent": { + "$ref": "AAAAAAF+offyffcQcTU=" + }, + "font": "Arial;13;0", + "left": 191.9599609375, + "top": 333, + "width": 206.25146484375, + "height": 13, + "text": "opt [currentEdge not in edges_new]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+offyffcSxi8=", + "_parent": { + "$ref": "AAAAAAF+offyffcQcTU=" + }, + "font": "Arial;13;1", + "left": 165, + "top": 333, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+offyffcThOE=", + "_parent": { + "$ref": "AAAAAAF+offyffcQcTU=" + }, + "model": { + "$ref": "AAAAAAF+offyfPcO7rk=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+offyjvcfUL8=", + "_parent": { + "$ref": "AAAAAAF+offyffcThOE=" + }, + "model": { + "$ref": "AAAAAAF+offyffcPwyo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+offyjvcgQ/g=", + "_parent": { + "$ref": "AAAAAAF+offyjvcfUL8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 180, + "top": 366, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 160, + "top": 351, + "width": 433, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+offyjvcgQ/g=" + } + } + ], + "font": "Arial;13;0", + "left": 160, + "top": 351, + "width": 433, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 160, + "top": 328, + "width": 433, + "height": 97, + "nameLabel": { + "$ref": "AAAAAAF+offyffcRhoA=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+offyffcSxi8=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+offyffcThOE=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+oflNkvdAs6c=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+oflNkvc/nDM=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oflNkvdBGnQ=", + "_parent": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "model": { + "$ref": "AAAAAAF+oflNkvc/nDM=" + }, + "font": "Arial;13;0", + "left": 568, + "top": 352, + "width": 85.96630859375, + "height": 13, + "alpha": 2.565216081504841, + "distance": 23.853720883753127, + "hostEdge": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "edgePosition": 1, + "text": "supprimerArret" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oflNlPdCWws=", + "_parent": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "model": { + "$ref": "AAAAAAF+oflNkvc/nDM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 621, + "top": 371, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+oflNlPdD4Zk=", + "_parent": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "model": { + "$ref": "AAAAAAF+oflNkvc/nDM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 587, + "top": 372, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+oflNlPdEN2w=", + "_parent": { + "$ref": "AAAAAAF+oflNkvdAs6c=" + }, + "model": { + "$ref": "AAAAAAF+oflNkvc/nDM=" + }, + "font": "Arial;13;0", + "left": 568, + "top": 388, + "width": 14, + "height": 35 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "points": "567:368;597:368;597:388;581:388", + "nameLabel": { + "$ref": "AAAAAAF+oflNkvdBGnQ=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+oflNlPdCWws=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+oflNlPdD4Zk=" + }, + "activation": { + "$ref": "AAAAAAF+oflNlPdEN2w=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ofjA4fcpsw4=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofjA4Pcosto=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofjA4fcqm4M=", + "_parent": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "model": { + "$ref": "AAAAAAF+ofjA4Pcosto=" + }, + "font": "Arial;13;0", + "left": 230, + "top": 355, + "width": 286.1904296875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "edgePosition": 1, + "text": "gold.delete_edge(currentEdge[0], currentEdge[1])" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofjA4fcrr4Q=", + "_parent": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "model": { + "$ref": "AAAAAAF+ofjA4Pcosto=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 340, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofjA4fcsLYg=", + "_parent": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "model": { + "$ref": "AAAAAAF+ofjA4Pcosto=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 375, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ofjA4fct3QQ=", + "_parent": { + "$ref": "AAAAAAF+ofjA4fcpsw4=" + }, + "model": { + "$ref": "AAAAAAF+ofjA4Pcosto=" + }, + "font": "Arial;13;0", + "left": 561, + "top": 371, + "width": 14, + "height": 55 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "points": "185:371;561:371", + "nameLabel": { + "$ref": "AAAAAAF+ofjA4fcqm4M=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofjA4fcrr4Q=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofjA4fcsLYg=" + }, + "activation": { + "$ref": "AAAAAAF+ofjA4fct3QQ=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+ofsGzfdhdK0=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofsGzPdfc+o=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofsGzfdiXmo=", + "_parent": { + "$ref": "AAAAAAF+ofsGzfdhdK0=" + }, + "font": "Arial;13;0", + "left": 183.9599609375, + "top": 453, + "width": 146.970703125, + "height": 13, + "text": "opt [gnew.allows_loops()]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ofsGzvdjiFk=", + "_parent": { + "$ref": "AAAAAAF+ofsGzfdhdK0=" + }, + "font": "Arial;13;1", + "left": 157, + "top": 453, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+ofsGzvdkimY=", + "_parent": { + "$ref": "AAAAAAF+ofsGzfdhdK0=" + }, + "model": { + "$ref": "AAAAAAF+ofsGzPdfc+o=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+ofsG6/dwir8=", + "_parent": { + "$ref": "AAAAAAF+ofsGzvdkimY=" + }, + "model": { + "$ref": "AAAAAAF+ofsGzfdgmaI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ofsG7PdxRZg=", + "_parent": { + "$ref": "AAAAAAF+ofsG6/dwir8=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 172, + "top": 486, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 471, + "width": 449, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+ofsG7PdxRZg=" + } + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 471, + "width": 449, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 448, + "width": 449, + "height": 66, + "nameLabel": { + "$ref": "AAAAAAF+ofsGzfdiXmo=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ofsGzvdjiFk=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+ofsGzvdkimY=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ofvNbfd6jpQ=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+ofvNa/d5waU=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofvNbfd7dvk=", + "_parent": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "model": { + "$ref": "AAAAAAF+ofvNa/d5waU=" + }, + "font": "Arial;13;0", + "left": 308, + "top": 473, + "width": 131.0283203125, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "edgePosition": 1, + "text": "gold.allow_loops(True)" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofvNbfd8JE8=", + "_parent": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "model": { + "$ref": "AAAAAAF+ofvNa/d5waU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 458, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ofvNbfd9O/8=", + "_parent": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "model": { + "$ref": "AAAAAAF+ofvNa/d5waU=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 493, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ofvNbfd+gQI=", + "_parent": { + "$ref": "AAAAAAF+ofvNbfd6jpQ=" + }, + "model": { + "$ref": "AAAAAAF+ofvNa/d5waU=" + }, + "font": "Arial;13;0", + "left": 561, + "top": 489, + "width": 14, + "height": 29 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "points": "185:489;561:489", + "nameLabel": { + "$ref": "AAAAAAF+ofvNbfd7dvk=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ofvNbfd8JE8=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ofvNbfd9O/8=" + }, + "activation": { + "$ref": "AAAAAAF+ofvNbfd+gQI=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+of0c6/eXShQ=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+of0c6veV/Ps=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+of0c6/eY2Cc=", + "_parent": { + "$ref": "AAAAAAF+of0c6/eXShQ=" + }, + "font": "Arial;13;0", + "left": 183.9599609375, + "top": 541, + "width": 209.85693359375, + "height": 13, + "text": "loop [for currentEdge in edges_new]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+of0c6/eZeRI=", + "_parent": { + "$ref": "AAAAAAF+of0c6/eXShQ=" + }, + "font": "Arial;13;1", + "left": 157, + "top": 541, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+of0c6/eaB+o=", + "_parent": { + "$ref": "AAAAAAF+of0c6/eXShQ=" + }, + "model": { + "$ref": "AAAAAAF+of0c6veV/Ps=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+of0c+femwrc=", + "_parent": { + "$ref": "AAAAAAF+of0c6/eaB+o=" + }, + "model": { + "$ref": "AAAAAAF+of0c6/eWM3k=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+of0c+fenfKc=", + "_parent": { + "$ref": "AAAAAAF+of0c+femwrc=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 172, + "top": 574, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 559, + "width": 449, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+of0c+fenfKc=" + } + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 559, + "width": 449, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 536, + "width": 449, + "height": 145, + "nameLabel": { + "$ref": "AAAAAAF+of0c6/eY2Cc=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+of0c6/eZeRI=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+of0c6/eaB+o=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+of3l5ve0v0I=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+of3l5feyUx8=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+of3l5ve1itw=", + "_parent": { + "$ref": "AAAAAAF+of3l5ve0v0I=" + }, + "font": "Arial;13;0", + "left": 183.9599609375, + "top": 573, + "width": 199.75146484375, + "height": 13, + "text": "opt [currentEdge not in edges_old]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+of3l5ve2Vx4=", + "_parent": { + "$ref": "AAAAAAF+of3l5ve0v0I=" + }, + "font": "Arial;13;1", + "left": 157, + "top": 573, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+of3l5ve380Q=", + "_parent": { + "$ref": "AAAAAAF+of3l5ve0v0I=" + }, + "model": { + "$ref": "AAAAAAF+of3l5feyUx8=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+of3mBPfD7UA=", + "_parent": { + "$ref": "AAAAAAF+of3l5ve380Q=" + }, + "model": { + "$ref": "AAAAAAF+of3l5vezazo=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+of3mBPfEaQI=", + "_parent": { + "$ref": "AAAAAAF+of3mBPfD7UA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 172, + "top": 606, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 591, + "width": 441, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+of3mBPfEaQI=" + } + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 591, + "width": 441, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 152, + "top": 568, + "width": 441, + "height": 97, + "nameLabel": { + "$ref": "AAAAAAF+of3l5ve1itw=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+of3l5ve2Vx4=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+of3l5ve380Q=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+of7o0Pfu8QQ=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+of7o0PftfMA=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+of7o0Pfvid0=", + "_parent": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "model": { + "$ref": "AAAAAAF+of7o0PftfMA=" + }, + "font": "Arial;13;0", + "left": 237, + "top": 592, + "width": 272.46044921875, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "edgePosition": 1, + "text": "gold.add_edge(currentEdge[0], currentEdge[1])" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+of7o0ffwcaU=", + "_parent": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "model": { + "$ref": "AAAAAAF+of7o0PftfMA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 577, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+of7o0ffxVtg=", + "_parent": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "model": { + "$ref": "AAAAAAF+of7o0PftfMA=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 373, + "top": 612, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+of7o0ffygJ8=", + "_parent": { + "$ref": "AAAAAAF+of7o0Pfu8QQ=" + }, + "model": { + "$ref": "AAAAAAF+of7o0PftfMA=" + }, + "font": "Arial;13;0", + "left": 561, + "top": 608, + "width": 14, + "height": 55 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofNuGfZCqt8=" + }, + "points": "185:608;561:608", + "nameLabel": { + "$ref": "AAAAAAF+of7o0Pfvid0=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+of7o0ffwcaU=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+of7o0ffxVtg=" + }, + "activation": { + "$ref": "AAAAAAF+of7o0ffygJ8=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+of8V8vgFaUk=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/YsKrg=" + }, + "model": { + "$ref": "AAAAAAF+of8V8vgEBjg=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+of8V8vgGEsA=", + "_parent": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "model": { + "$ref": "AAAAAAF+of8V8vgEBjg=" + }, + "font": "Arial;13;0", + "left": 568, + "top": 583, + "width": 67.919921875, + "height": 13, + "alpha": -3.034858334030204, + "distance": 28.160255680657446, + "hostEdge": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "edgePosition": 1, + "text": "ajouterArret" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+of8V8/gHR90=", + "_parent": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "model": { + "$ref": "AAAAAAF+of8V8vgEBjg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 628, + "top": 611, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+of8V8/gILIk=", + "_parent": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "model": { + "$ref": "AAAAAAF+of8V8vgEBjg=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 594, + "top": 612, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+of8V8/gJmaU=", + "_parent": { + "$ref": "AAAAAAF+of8V8vgFaUk=" + }, + "model": { + "$ref": "AAAAAAF+of8V8vgEBjg=" + }, + "font": "Arial;13;0", + "left": 568, + "top": 628, + "width": 14, + "height": 32 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "tail": { + "$ref": "AAAAAAF+ofPJJvZiqLE=" + }, + "points": "574:608;604:608;604:628;581:628", + "nameLabel": { + "$ref": "AAAAAAF+of8V8vgGEsA=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+of8V8/gHR90=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+of8V8/gILIk=" + }, + "activation": { + "$ref": "AAAAAAF+of8V8/gJmaU=" + } + } + ], + "showSequenceNumber": false + } + ], + "messages": [ + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ofV/afaZ63g=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "gold.edges()", + "source": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ofXx6fawDAI=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "edges_old", + "source": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "target": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ofZMdPbIjBU=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "gnew.edges()", + "source": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ofa8IPbelhk=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "edges_new", + "source": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "target": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+oflNkvc/nDM=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "supprimerArret", + "source": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ofjA4Pcosto=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "gold.delete_edge(currentEdge[0], currentEdge[1])", + "source": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ofvNa/d5waU=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "gold.allow_loops", + "source": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "messageSort": "asynchCall", + "arguments": "True" + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+of7o0PftfMA=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "gold.add_edge(currentEdge[0], currentEdge[1])", + "source": { + "$ref": "AAAAAAF+ofNuGPY7ZM4=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+of8V8vgEBjg=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "ajouterArret", + "source": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + }, + "target": { + "$ref": "AAAAAAF+ofPJJfZbm4k=" + } + } + ], + "participants": [ + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+ofNuGPY7ZM4=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "JS_GRAPH_SAGE", + "represent": { + "$ref": "AAAAAAF+ofNuGPY6HQg=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+ofPJJfZbm4k=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "SageMath", + "represent": { + "$ref": "AAAAAAF+ofPJJfZaF28=" + }, + "isMultiInstance": false + } + ], + "fragments": [ + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+ofRRV/Z6X0U=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "opt [not __compareGraphEdges(gold, gnew)]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+ofRRV/Z71nA=", + "_parent": { + "$ref": "AAAAAAF+ofRRV/Z6X0U=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+ofcxKvb0Bzo=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "loop [for currentEdge in edges_old]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+ofcxK/b17uo=", + "_parent": { + "$ref": "AAAAAAF+ofcxKvb0Bzo=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+offyfPcO7rk=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "opt [currentEdge not in edges_new]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+offyffcPwyo=", + "_parent": { + "$ref": "AAAAAAF+offyfPcO7rk=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+ofsGzPdfc+o=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "opt [gnew.allows_loops()]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+ofsGzfdgmaI=", + "_parent": { + "$ref": "AAAAAAF+ofsGzPdfc+o=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+of0c6veV/Ps=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "loop [for currentEdge in edges_new]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+of0c6/eWM3k=", + "_parent": { + "$ref": "AAAAAAF+of0c6veV/Ps=" + }, + "name": "Operand1" + } + ] + }, + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+of3l5feyUx8=", + "_parent": { + "$ref": "AAAAAAF+ofMEz/Yrr20=" + }, + "name": "opt [currentEdge not in edges_old]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+of3l5vezazo=", + "_parent": { + "$ref": "AAAAAAF+of3l5feyUx8=" + }, + "name": "Operand1" + } + ] + } + ] + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+ofNuGPY6HQg=", + "_parent": { + "$ref": "AAAAAAF+ofMEzfYqeiw=" + }, + "name": "Role1" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+ofPJJfZaF28=", + "_parent": { + "$ref": "AAAAAAF+ofMEzfYqeiw=" + }, + "name": "Role2" + } + ] + }, + { + "_type": "UMLCollaboration", + "_id": "AAAAAAF+ogAP/fgb6cY=", + "_parent": { + "$ref": "AAAAAAFF+h6SjaM2Hec=" + }, + "name": "Collaboration5", + "ownedElements": [ + { + "_type": "UMLInteraction", + "_id": "AAAAAAF+ogAP/fgcRSY=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgb6cY=" + }, + "name": "Interaction1", + "ownedElements": [ + { + "_type": "UMLSequenceDiagram", + "_id": "AAAAAAF+ogAP/fgdDZA=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgcRSY=" + }, + "name": "update_graph_positions", + "ownedViews": [ + { + "_type": "UMLFrameView", + "_id": "AAAAAAF+ogAP/vgeEic=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "model": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogAP/vgfyCU=", + "_parent": { + "$ref": "AAAAAAF+ogAP/vgeEic=" + }, + "font": "Arial;13;0", + "left": 32.72998046875, + "top": 13, + "width": 139.77880859375, + "height": 13, + "text": "update_graph_positions" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogAP/vgg6oA=", + "_parent": { + "$ref": "AAAAAAF+ogAP/vgeEic=" + }, + "font": "Arial;13;1", + "left": 13, + "top": 13, + "width": 14.72998046875, + "height": 13, + "text": "sd" + } + ], + "font": "Arial;13;0", + "left": 8, + "top": 8, + "width": 569, + "height": 297, + "nameLabel": { + "$ref": "AAAAAAF+ogAP/vgfyCU=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ogAP/vgg6oA=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+ogB2NPgtmv4=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "model": { + "$ref": "AAAAAAF+ogB2NPgs1h8=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+ogB2NPgusvk=", + "_parent": { + "$ref": "AAAAAAF+ogB2NPgtmv4=" + }, + "model": { + "$ref": "AAAAAAF+ogB2NPgs1h8=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogB2NfgvDQ0=", + "_parent": { + "$ref": "AAAAAAF+ogB2NPgusvk=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogB2NfgwRQ8=", + "_parent": { + "$ref": "AAAAAAF+ogB2NPgusvk=" + }, + "font": "Arial;13;1", + "left": 117, + "top": 47, + "width": 124.14990234375, + "height": 13, + "text": "JS_GRAPH_SAGE" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogB2NfgxMYg=", + "_parent": { + "$ref": "AAAAAAF+ogB2NPgusvk=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogB2NfgyRPo=", + "_parent": { + "$ref": "AAAAAAF+ogB2NPgusvk=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 40, + "width": 134.14990234375, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+ogB2NfgvDQ0=" + }, + "nameLabel": { + "$ref": "AAAAAAF+ogB2NfgwRQ8=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+ogB2NfgxMYg=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ogB2NfgyRPo=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+ogB2NfgzSig=", + "_parent": { + "$ref": "AAAAAAF+ogB2NPgtmv4=" + }, + "model": { + "$ref": "AAAAAAF+ogB2NPgs1h8=" + }, + "font": "Arial;13;0", + "left": 179, + "top": 80, + "width": 1, + "height": 160 + } + ], + "font": "Arial;13;0", + "left": 112, + "top": 40, + "width": 134.14990234375, + "height": 200, + "nameCompartment": { + "$ref": "AAAAAAF+ogB2NPgusvk=" + }, + "linePart": { + "$ref": "AAAAAAF+ogB2NfgzSig=" + } + }, + { + "_type": "UMLSeqLifelineView", + "_id": "AAAAAAF+ogCiR/hN2KQ=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "model": { + "$ref": "AAAAAAF+ogCiR/hMWaI=" + }, + "subViews": [ + { + "_type": "UMLNameCompartmentView", + "_id": "AAAAAAF+ogCiR/hOXos=", + "_parent": { + "$ref": "AAAAAAF+ogCiR/hN2KQ=" + }, + "model": { + "$ref": "AAAAAAF+ogCiR/hMWaI=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogCiR/hPepM=", + "_parent": { + "$ref": "AAAAAAF+ogCiR/hOXos=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13 + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogCiR/hQwD0=", + "_parent": { + "$ref": "AAAAAAF+ogCiR/hOXos=" + }, + "font": "Arial;13;1", + "left": 429, + "top": 47, + "width": 71.40087890625, + "height": 13, + "text": "SageMath" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogCiR/hRpBo=", + "_parent": { + "$ref": "AAAAAAF+ogCiR/hOXos=" + }, + "visible": false, + "font": "Arial;13;0", + "width": 106.20263671875, + "height": 13, + "text": "(from Interaction1)" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogCiR/hSBsw=", + "_parent": { + "$ref": "AAAAAAF+ogCiR/hOXos=" + }, + "visible": false, + "font": "Arial;13;0", + "height": 13, + "horizontalAlignment": 1 + } + ], + "font": "Arial;13;0", + "left": 424, + "top": 40, + "width": 81.40087890625, + "height": 40, + "stereotypeLabel": { + "$ref": "AAAAAAF+ogCiR/hPepM=" + }, + "nameLabel": { + "$ref": "AAAAAAF+ogCiR/hQwD0=" + }, + "namespaceLabel": { + "$ref": "AAAAAAF+ogCiR/hRpBo=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ogCiR/hSBsw=" + } + }, + { + "_type": "UMLLinePartView", + "_id": "AAAAAAF+ogCiR/hTELE=", + "_parent": { + "$ref": "AAAAAAF+ogCiR/hN2KQ=" + }, + "model": { + "$ref": "AAAAAAF+ogCiR/hMWaI=" + }, + "font": "Arial;13;0", + "left": 465, + "top": 80, + "width": 1, + "height": 160 + } + ], + "font": "Arial;13;0", + "left": 424, + "top": 40, + "width": 81.40087890625, + "height": 200, + "nameCompartment": { + "$ref": "AAAAAAF+ogCiR/hOXos=" + }, + "linePart": { + "$ref": "AAAAAAF+ogCiR/hTELE=" + } + }, + { + "_type": "UMLCombinedFragmentView", + "_id": "AAAAAAF+ogDcKPhtctg=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "model": { + "$ref": "AAAAAAF+ogDcJ/hrBuM=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogDcKPhuodM=", + "_parent": { + "$ref": "AAAAAAF+ogDcKPhtctg=" + }, + "font": "Arial;13;0", + "left": 135.9599609375, + "top": 109, + "width": 220.3369140625, + "height": 13, + "text": "opt [gnew.get_pos() != gold.get_pos()]" + }, + { + "_type": "LabelView", + "_id": "AAAAAAF+ogDcKPhvwp4=", + "_parent": { + "$ref": "AAAAAAF+ogDcKPhtctg=" + }, + "font": "Arial;13;1", + "left": 109, + "top": 109, + "width": 21.9599609375, + "height": 13, + "text": "seq" + }, + { + "_type": "UMLInteractionOperandCompartmentView", + "_id": "AAAAAAF+ogDcKPhwnWI=", + "_parent": { + "$ref": "AAAAAAF+ogDcKPhtctg=" + }, + "model": { + "$ref": "AAAAAAF+ogDcJ/hrBuM=" + }, + "subViews": [ + { + "_type": "UMLInteractionOperandView", + "_id": "AAAAAAF+ogDcN/h8WLM=", + "_parent": { + "$ref": "AAAAAAF+ogDcKPhwnWI=" + }, + "model": { + "$ref": "AAAAAAF+ogDcJ/hsxro=" + }, + "subViews": [ + { + "_type": "LabelView", + "_id": "AAAAAAF+ogDcN/h98zY=", + "_parent": { + "$ref": "AAAAAAF+ogDcN/h8WLM=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 124, + "top": 142, + "height": 13 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 127, + "width": 417, + "height": 43, + "guardLabel": { + "$ref": "AAAAAAF+ogDcN/h98zY=" + } + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 127, + "width": 417, + "height": 43 + } + ], + "font": "Arial;13;0", + "left": 104, + "top": 104, + "width": 417, + "height": 105, + "nameLabel": { + "$ref": "AAAAAAF+ogDcKPhuodM=" + }, + "frameTypeLabel": { + "$ref": "AAAAAAF+ogDcKPhvwp4=" + }, + "operandCompartment": { + "$ref": "AAAAAAF+ogDcKPhwnWI=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ogG9X/idzM4=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "model": { + "$ref": "AAAAAAF+ogG9X/ic/+I=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ogG9X/ie7Fg=", + "_parent": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "model": { + "$ref": "AAAAAAF+ogG9X/ic/+I=" + }, + "font": "Arial;13;0", + "left": 463, + "top": 136, + "width": 92.4853515625, + "height": 13, + "alpha": 2.530865353630194, + "distance": 24.413111231467404, + "hostEdge": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "edgePosition": 1, + "text": "modifierPosition" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ogG9X/ifli8=", + "_parent": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "model": { + "$ref": "AAAAAAF+ogG9X/ic/+I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 519, + "top": 155, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ogG9X/ig4Zo=", + "_parent": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "model": { + "$ref": "AAAAAAF+ogG9X/ic/+I=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 485, + "top": 156, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ogG9X/ihflU=", + "_parent": { + "$ref": "AAAAAAF+ogG9X/idzM4=" + }, + "model": { + "$ref": "AAAAAAF+ogG9X/ic/+I=" + }, + "font": "Arial;13;0", + "left": 465, + "top": 172, + "width": 14, + "height": 34 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ogCiR/hTELE=" + }, + "tail": { + "$ref": "AAAAAAF+ogCiR/hTELE=" + }, + "points": "465:152;495:152;495:172;478:172", + "nameLabel": { + "$ref": "AAAAAAF+ogG9X/ie7Fg=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ogG9X/ifli8=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ogG9X/ig4Zo=" + }, + "activation": { + "$ref": "AAAAAAF+ogG9X/ihflU=" + } + }, + { + "_type": "UMLSeqMessageView", + "_id": "AAAAAAF+ogF+QfiGAZU=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgdDZA=" + }, + "model": { + "$ref": "AAAAAAF+ogF+QPiFW1U=" + }, + "subViews": [ + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ogF+QfiH9lM=", + "_parent": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "model": { + "$ref": "AAAAAAF+ogF+QPiFW1U=" + }, + "font": "Arial;13;0", + "left": 224, + "top": 138, + "width": 189.337890625, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "edgePosition": 1, + "text": "gold.set_pos(gnew.get_pos())" + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ogF+QfiIYY0=", + "_parent": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "model": { + "$ref": "AAAAAAF+ogF+QPiFW1U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 318, + "top": 123, + "height": 13, + "alpha": 1.5707963267948966, + "distance": 25, + "hostEdge": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "edgePosition": 1 + }, + { + "_type": "EdgeLabelView", + "_id": "AAAAAAF+ogF+QfiJqsk=", + "_parent": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "model": { + "$ref": "AAAAAAF+ogF+QPiFW1U=" + }, + "visible": false, + "font": "Arial;13;0", + "left": 318, + "top": 158, + "height": 13, + "alpha": -1.5707963267948966, + "distance": 10, + "hostEdge": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "edgePosition": 1 + }, + { + "_type": "UMLActivationView", + "_id": "AAAAAAF+ogF+QfiKG5w=", + "_parent": { + "$ref": "AAAAAAF+ogF+QfiGAZU=" + }, + "model": { + "$ref": "AAAAAAF+ogF+QPiFW1U=" + }, + "font": "Arial;13;0", + "left": 458, + "top": 154, + "width": 14, + "height": 55 + } + ], + "font": "Arial;13;0", + "head": { + "$ref": "AAAAAAF+ogCiR/hTELE=" + }, + "tail": { + "$ref": "AAAAAAF+ogB2NfgzSig=" + }, + "points": "179:154;458:154", + "nameLabel": { + "$ref": "AAAAAAF+ogF+QfiH9lM=" + }, + "stereotypeLabel": { + "$ref": "AAAAAAF+ogF+QfiIYY0=" + }, + "propertyLabel": { + "$ref": "AAAAAAF+ogF+QfiJqsk=" + }, + "activation": { + "$ref": "AAAAAAF+ogF+QfiKG5w=" + } + } + ], + "showSequenceNumber": false + } + ], + "messages": [ + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ogG9X/ic/+I=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgcRSY=" + }, + "name": "modifierPosition", + "source": { + "$ref": "AAAAAAF+ogCiR/hMWaI=" + }, + "target": { + "$ref": "AAAAAAF+ogCiR/hMWaI=" + } + }, + { + "_type": "UMLMessage", + "_id": "AAAAAAF+ogF+QPiFW1U=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgcRSY=" + }, + "name": "gold.set_pos(gnew.get_pos())", + "source": { + "$ref": "AAAAAAF+ogB2NPgs1h8=" + }, + "target": { + "$ref": "AAAAAAF+ogCiR/hMWaI=" + } + } + ], + "participants": [ + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+ogB2NPgs1h8=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgcRSY=" + }, + "name": "JS_GRAPH_SAGE", + "represent": { + "$ref": "AAAAAAF+ogB2NPgrvss=" + }, + "isMultiInstance": false + }, + { + "_type": "UMLLifeline", + "_id": "AAAAAAF+ogCiR/hMWaI=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgcRSY=" + }, + "name": "SageMath", + "represent": { + "$ref": "AAAAAAF+ogCiRvhLLqI=" + }, + "isMultiInstance": false + } + ], + "fragments": [ + { + "_type": "UMLCombinedFragment", + "_id": "AAAAAAF+ogDcJ/hrBuM=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgcRSY=" + }, + "name": "opt [gnew.get_pos() != gold.get_pos()]", + "interactionOperator": "seq", + "operands": [ + { + "_type": "UMLInteractionOperand", + "_id": "AAAAAAF+ogDcJ/hsxro=", + "_parent": { + "$ref": "AAAAAAF+ogDcJ/hrBuM=" + }, + "name": "Operand1" + } + ] + } + ] + } + ], + "attributes": [ + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+ogB2NPgrvss=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgb6cY=" + }, + "name": "Role1" + }, + { + "_type": "UMLAttribute", + "_id": "AAAAAAF+ogCiRvhLLqI=", + "_parent": { + "$ref": "AAAAAAF+ogAP/fgb6cY=" + }, + "name": "Role2" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/JS/graph_d3js.js b/src/JS/graph_d3js.js index 60a6829..b58c5c3 100644 --- a/src/JS/graph_d3js.js +++ b/src/JS/graph_d3js.js @@ -8,7 +8,7 @@ var is_frozen = false; var isDirected = false; //DOM Elements / D3JS Elements -var nodes, links, loops, v_labels, e_labels, l_labels, line, svg, brush,arrows; +var nodes, links, loops, v_labels, e_labels, l_labels, line, svg, brush, arrows; var groupList = []; var currentGroupIndex = 0; var currentObject = null; From 29b0acf101f1e29233eb1b3bde6e883c3614af98 Mon Sep 17 00:00:00 2001 From: Mathis Duban Date: Wed, 2 Feb 2022 12:27:25 +0100 Subject: [PATCH 006/149] =?UTF-8?q?ajout=20nombre=20de=20nodes=20du=20grap?= =?UTF-8?q?h=20actuel=20dans=20une=20balise=20texte=20=C3=A0=20c=C3=B4t?= =?UTF-8?q?=C3=A9=20du=20bouton?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- obj/result.html | 11 +- src/CSS/graph_style.css | 4 + src/HTML/base_html.html | 5 + src/JS/graph_d3js.js | 333 +++++++++++++++++++++------------------- 4 files changed, 192 insertions(+), 161 deletions(-) diff --git a/obj/result.html b/obj/result.html index 107ebe0..e746c70 100644 --- a/obj/result.html +++ b/obj/result.html @@ -19,7 +19,7 @@
@@ -65,6 +65,11 @@ Is bipartite False + + + + +
@@ -124,10 +129,6 @@ Redo Y - - Save graph - S - On Hover : diff --git a/src/CSS/graph_style.css b/src/CSS/graph_style.css index f09e0e9..791f94a 100644 --- a/src/CSS/graph_style.css +++ b/src/CSS/graph_style.css @@ -119,4 +119,8 @@ text { marker { fill: #bbb; +} +#nombreNode{ + + } \ No newline at end of file diff --git a/src/HTML/base_html.html b/src/HTML/base_html.html index 1e30472..d85c5eb 100644 --- a/src/HTML/base_html.html +++ b/src/HTML/base_html.html @@ -65,6 +65,11 @@ Is bipartite False + + + + + diff --git a/src/JS/graph_d3js.js b/src/JS/graph_d3js.js index 60a6829..54cd454 100644 --- a/src/JS/graph_d3js.js +++ b/src/JS/graph_d3js.js @@ -1,14 +1,22 @@ //The graph properties + + var graphJSON, force, customColorScale; -var width = function() {return document.documentElement.clientWidth * 0.8}; -var height = function() {return document.documentElement.clientHeight}; -var xshift = function() {return document.getElementById("graphFrame").childNodes[3].getBoundingClientRect().left;}; +var width = function () { + return document.documentElement.clientWidth * 0.8 +}; +var height = function () { + return document.documentElement.clientHeight +}; +var xshift = function () { + return document.getElementById("graphFrame").childNodes[3].getBoundingClientRect().left; +}; var drag_in_progress = false; var is_frozen = false; var isDirected = false; //DOM Elements / D3JS Elements -var nodes, links, loops, v_labels, e_labels, l_labels, line, svg, brush,arrows; +var nodes, links, loops, v_labels, e_labels, l_labels, line, svg, brush, arrows; var groupList = []; var currentGroupIndex = 0; var currentObject = null; @@ -19,6 +27,7 @@ const cursorPosition = { y: 0 }; + const LoopType = "Loop"; const NodeType = "Node"; const EdgeType = "Edge"; @@ -71,9 +80,10 @@ window.onload = function () { InitNewGraph(); } -function InitNewGraph(graph = null) -{ - if(force){force.stop();} +function InitNewGraph(graph = null) { + if (force) { + force.stop(); + } LoadGraphData(graph); InitGraph(); InitInterface(); @@ -85,7 +95,7 @@ function InitNewGraph(graph = null) WaitGraphLoadToFreeze(2000); } -function handleMouseMove(event) { +function handleMouseMove(event) { cursorPosition.x = event.pageX - xshift(); cursorPosition.y = event.pageY; } @@ -98,17 +108,18 @@ function GetGraphFromHTML() { return graph; } + // Loads the graph data function LoadGraphData(newGraph) { graphJSON = (newGraph) ? newGraph : GetGraphFromHTML(); - + //Init group FillGroupFromGraph(graphJSON); PopulateGroupList(); } function FillGroupFromGraph(graph) { - groupList=[]; + groupList = []; graph.nodes.forEach(element => { if (!groupList.includes(element.group)) { groupList.push(element.group); @@ -187,6 +198,8 @@ function third_point_of_curved_edge(pa, pb, d) { // Applies an homothety to the points of the graph respecting the // aspect ratio, so that the graph takes the whole javascript // window and is centered + + function center_and_scale() { var minx = graphJSON.pos[0][0]; var maxx = graphJSON.pos[0][0]; @@ -221,8 +234,8 @@ function InitForce() { // Position of vertices nodes.attr("cx", function (d) { - return d.x; - }) + return d.x; + }) .attr("cy", function (d) { return d.y; }); @@ -238,9 +251,9 @@ function InitForce() { else { var p = third_point_of_curved_edge(d.source, d.target, d.curve) return line([{ - 'x': d.source.x, - 'y': d.source.y - }, + 'x': d.source.x, + 'y': d.source.y + }, { 'x': p[0], 'y': p[1] @@ -290,16 +303,15 @@ function InitForce() { }); } -function ManageAllGraphicsElements() -{ - if(svg){ +function ManageAllGraphicsElements() { + if (svg) { let oldSVG = document.getElementById("svg"); oldSVG.parentElement.removeChild(oldSVG); } // SVG window svg = d3.select("#graphFrame").append("svg") - .attr("id","svg") + .attr("id", "svg") .attr("width", width()) .attr("height", height()) .attr("pointer-events", "all") // Zoom+move management @@ -312,7 +324,7 @@ function ManageAllGraphicsElements() .attr('width', 2 * 10000) .attr('height', 2 * 10000); - + InitBrush(); ManageNodeLabels(); @@ -323,176 +335,163 @@ function ManageAllGraphicsElements() } -function InitBrush(){ +function InitBrush() { brush = svg.append("g") - .attr("class", "brush") - .call(d3.svg.brush() - .x(d3.scale.identity().domain([-100000, 100000])) - .y(d3.scale.identity().domain([-100000, 100000])) - .on("brushstart", function() { + .attr("class", "brush") + .call(d3.svg.brush() + .x(d3.scale.identity().domain([-100000, 100000])) + .y(d3.scale.identity().domain([-100000, 100000])) + .on("brushstart", function () { ResetSelection(); - }) - .on("brushend", function() { + }) + .on("brushend", function () { var extent = d3.event.target.extent(); SelectElementsInsideExtent(extent); //Remove Selection rectangle d3.event.target.clear(); d3.select(this).call(d3.event.target); - })); + })); } function SelectElementsInsideExtent(extent) { nodes.each(function (d) { - if (IsNodeInsideExtent(extent, d)) - { - SelectElement(new Element(d,NodeType)); + if (IsNodeInsideExtent(extent, d)) { + SelectElement(new Element(d, NodeType)); } }) loops.each(function (d) { - if (IsNodeInsideExtent(extent, d.source)) - { - SelectElement(new Element(d,LoopType)); + if (IsNodeInsideExtent(extent, d.source)) { + SelectElement(new Element(d, LoopType)); } }) links.each(function (d) { - if(IsEdgeInsideExtent(extent,d)){ - SelectElement(new Element(d,EdgeType)); + if (IsEdgeInsideExtent(extent, d)) { + SelectElement(new Element(d, EdgeType)); } }) } -function ConstructRectangleFromExtent(extent) -{ - topLeftCorner = new Point(extent[0][0],extent[0][1]); - topRightCorner = new Point(extent[1][0],extent[0][1]); - bottomLefttCorner = new Point(extent[0][0],extent[1][1]); - bottomRightCorner = new Point(extent[1][0],extent[1][1]); +function ConstructRectangleFromExtent(extent) { + topLeftCorner = new Point(extent[0][0], extent[0][1]); + topRightCorner = new Point(extent[1][0], extent[0][1]); + bottomLefttCorner = new Point(extent[0][0], extent[1][1]); + bottomRightCorner = new Point(extent[1][0], extent[1][1]); - topBorder = new Segment(topLeftCorner,topRightCorner); + topBorder = new Segment(topLeftCorner, topRightCorner); leftBorder = new Segment(topLeftCorner, bottomLefttCorner); rightBorder = new Segment(topRightCorner, bottomRightCorner); bottomBorder = new Segment(bottomRightCorner, bottomLefttCorner); - rectangle = [topBorder,leftBorder,rightBorder,bottomBorder]; + rectangle = [topBorder, leftBorder, rightBorder, bottomBorder]; return rectangle; } // Given three colinear points p, q, r, the function checks if // point q lies on line segment 'pr' -function onSegment( p, q, r) -{ - if (q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && - q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y)) - return true; +function onSegment(p, q, r) { + if (q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && + q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y)) + return true; - return false; -} + return false; +} // To find orientation of ordered triplet (p, q, r). // The function returns following values // 0 --> p, q and r are colinear // 1 --> Clockwise // 2 --> Counterclockwise -function orientation(p, q, r) -{ +function orientation(p, q, r) { // See https://www.geeksforgeeks.org/orientation-3-ordered-points/ // for details of below formula. - val = (q.y - p.y) * (r.x - q.x) - - (q.x - p.x) * (r.y - q.y); + val = (q.y - p.y) * (r.x - q.x) - + (q.x - p.x) * (r.y - q.y); if (val == 0) return 0; // colinear - return (val > 0)? 1: 2; // clock or counterclock wise -} + return (val > 0) ? 1 : 2; // clock or counterclock wise +} -function doSegmentIntersect(firstSegment, secondSegment) -{ - return doIntersect(firstSegment.start,firstSegment.end,secondSegment.start,secondSegment.end); +function doSegmentIntersect(firstSegment, secondSegment) { + return doIntersect(firstSegment.start, firstSegment.end, secondSegment.start, secondSegment.end); } // The main function that returns true if line segment 'p1q1' // and 'p2q2' intersect. -function doIntersect( p1, q1, p2, q2) -{ +function doIntersect(p1, q1, p2, q2) { // Find the four orientations needed for general and // special cases - o1 = orientation(p1, q1, p2); - o2 = orientation(p1, q1, q2); - o3 = orientation(p2, q2, p1); - o4 = orientation(p2, q2, q1); + o1 = orientation(p1, q1, p2); + o2 = orientation(p1, q1, q2); + o3 = orientation(p2, q2, p1); + o4 = orientation(p2, q2, q1); // General case - if (o1 != o2 && o3 != o4) - return true; + if (o1 != o2 && o3 != o4) + return true; // Special Cases // p1, q1 and p2 are colinear and p2 lies on segment p1q1 - if (o1 == 0 && onSegment(p1, p2, q1)) return true; + if (o1 == 0 && onSegment(p1, p2, q1)) return true; // p1, q1 and q2 are colinear and q2 lies on segment p1q1 - if (o2 == 0 && onSegment(p1, q2, q1)) return true; + if (o2 == 0 && onSegment(p1, q2, q1)) return true; // p2, q2 and p1 are colinear and p1 lies on segment p2q2 - if (o3 == 0 && onSegment(p2, p1, q2)) return true; + if (o3 == 0 && onSegment(p2, p1, q2)) return true; // p2, q2 and q1 are colinear and q1 lies on segment p2q2 - if (o4 == 0 && onSegment(p2, q1, q2)) return true; + if (o4 == 0 && onSegment(p2, q1, q2)) return true; return false; // Doesn't fall in any of the above cases -} +} -function IsEdgeInsideExtent(extent,edge) -{ - if (IsNodeInsideExtent(extent, edge.source) || IsNodeInsideExtent(extent, edge.target)) - { +function IsEdgeInsideExtent(extent, edge) { + if (IsNodeInsideExtent(extent, edge.source) || IsNodeInsideExtent(extent, edge.target)) { return true; - } - else - { - return DoesEdgeIntersectExtent(extent,edge); + } else { + return DoesEdgeIntersectExtent(extent, edge); } } -function DoesEdgeIntersectExtent(extent,edge) -{ +function DoesEdgeIntersectExtent(extent, edge) { rectangle = ConstructRectangleFromExtent(extent); edgeSegment = new Segment(edge.source, edge.target); doesIntersect = false; count = 0; - while(doesIntersect == false && count < rectangle.length) - { - doesIntersect = doSegmentIntersect(rectangle[count],edgeSegment); + while (doesIntersect == false && count < rectangle.length) { + doesIntersect = doSegmentIntersect(rectangle[count], edgeSegment); count += 1; } return doesIntersect; } -function IsNodeInsideExtent(extent, node){ +function IsNodeInsideExtent(extent, node) { return extent[0][0] <= node.x && node.x < extent[1][0] && extent[0][1] <= node.y && node.y < extent[1][1]; } -function ManageArrows(){ +function ManageArrows() { // Arrows, for directed graphs arrows = svg.append("svg:defs").selectAll("marker") - .data(["directed"]) - .enter().append("svg:marker") - .attr("id", String) - // viewbox is a rectangle with bottom-left corder (0,-2), width 4 and height 4 - .attr("viewBox", "0 -2 4 4") - // This formula took some time ... :-P - .attr("refX", Math.ceil(2 * Math.sqrt(graphJSON.vertex_size))) - .attr("refY", 0) - .attr("markerWidth", 4) - .attr("markerHeight", 4) - .attr("orient", "auto") - .append("svg:path") - // triangles with endpoints (0,-2), (4,0), (0,2) - .attr("d", "M0,-2L4,0L0,2"); - + .data(["directed"]) + .enter().append("svg:marker") + .attr("id", String) + // viewbox is a rectangle with bottom-left corder (0,-2), width 4 and height 4 + .attr("viewBox", "0 -2 4 4") + // This formula took some time ... :-P + .attr("refX", Math.ceil(2 * Math.sqrt(graphJSON.vertex_size))) + .attr("refY", 0) + .attr("markerWidth", 4) + .attr("markerHeight", 4) + .attr("orient", "auto") + .append("svg:path") + // triangles with endpoints (0,-2), (4,0), (0,2) + .attr("d", "M0,-2L4,0L0,2"); + DisplayArrows(); } @@ -528,7 +527,7 @@ function ManageLoops() { currentObject = null; }) .on("dblclick", function (currentData) { - SelectElement(new Element(currentData,LoopType)); + SelectElement(new Element(currentData, LoopType)); }) .style("stroke", function (d) { return d.color; @@ -572,7 +571,6 @@ function RefreshLoopLabels() { } - function ManageEdges() { // Edges links = svg.selectAll(".link") @@ -588,7 +586,7 @@ function ManageEdges() { currentObject = null; }) .on("dblclick", function (currentData) { - SelectElement(new Element(currentData,EdgeType)); + SelectElement(new Element(currentData, EdgeType)); }) .style("stroke-width", graphJSON.edge_thickness + "px"); @@ -674,7 +672,7 @@ function ManageNodes() { currentObject = null; }) .on("dblclick", function (currentData) { - SelectElement(new Element(currentData,NodeType)); + SelectElement(new Element(currentData, NodeType)); }) .call(force.drag() .on('dragstart', function (d) { @@ -683,9 +681,8 @@ function ManageNodes() { }) .on('dragend', function (d) { drag_in_progress = false; - - if(d.previousPos[0] != d.x && d.previousPos[1] != d.y) - { + + if (d.previousPos[0] != d.x && d.previousPos[1] != d.y) { let finalPos = [d.x, d.y]; var positions = new ValueRegisterer(d.previousPos, finalPos, new Element(d, NodeType)); MyManager.Execute(new MoveNodeCommand(positions)); @@ -713,13 +710,14 @@ function SetNodePosition(Pos, nodeData) { } function SetOldPosition(registeredPos) { - SetNodePosition(registeredPos.oldValue, registeredPos.element);; + SetNodePosition(registeredPos.oldValue, registeredPos.element); + ; } function RefreshNodes() { nodes.attr("name", function (d) { - return d.name; - }) + return d.name; + }) .attr("fill", function (d) { return customColorScale(groupList.indexOf(d.group)); }); @@ -729,8 +727,8 @@ function RefreshNodes() { function RefreshNodeOutline() { nodes.style("stroke", function (d) { - return (d.isSelected == true) ? "red" : "white"; - }) + return (d.isSelected == true) ? "red" : "white"; + }) .style("stroke-width", function (d) { return (d.isSelected == true) ? "3" : "2"; }) @@ -795,7 +793,9 @@ function AddNode(newNode) { //Restart the force layout with the new elements force.start(); - + var number =graphJSON.nodes.length; + number++; + return true; } @@ -821,17 +821,13 @@ function CreateNode(pos = null) { return newNode; } -function FindLowestIDAvailable(){ +function FindLowestIDAvailable() { let lowestID = Infinity; let i = 0; - while (lowestID == Infinity) - { - if(graphJSON.nodes.find(node => node.name == i) != undefined) - { + while (lowestID == Infinity) { + if (graphJSON.nodes.find(node => node.name == i) != undefined) { i++; - } - else - { + } else { lowestID = i; } } @@ -851,7 +847,7 @@ function AddLoopOnSelection() { if (selectedNodes.length > 0) { let isFirst = true; for (let i = 0; i < selectedNodes.length; i++) { - AddLoopOnNode(selectedNodes[i].data,isFirst); + AddLoopOnNode(selectedNodes[i].data, isFirst); isFirst = false; } return true; @@ -871,8 +867,7 @@ function SetGroupOfSelection() { if (selectedNodes.length > 0) { for (let i = 0; i < selectedNodes.length; i++) { - if(selectedNodes[i].data.group != groupList[currentGroupIndex]) - { + if (selectedNodes[i].data.group != groupList[currentGroupIndex]) { let vr = new ValueRegisterer(selectedNodes[i].data.group, groupList[currentGroupIndex], selectedNodes[i]); MyManager.Execute(new ChangeGroupCommand(vr, isFirst)); isFirst = false; @@ -902,6 +897,7 @@ function AddEdgesOnSelection() { isFirst = false; } } + return true; } else { CustomWarn("No nodes to add loop at on the selection"); @@ -927,7 +923,7 @@ function CreateEdge(src, dest) { "curve": 0, "source": src, "name": "", - "isSelected":selected, + "isSelected": selected, } return link; @@ -940,13 +936,13 @@ function AddLoop(newLoop) { force.start(); } -function PlaceBeforeNode(className){ +function PlaceBeforeNode(className) { elements = document.getElementsByClassName(className); let elem = elements[elements.length - 1]; let firstNode = document.getElementsByClassName("node")[0]; - firstNode.parentNode.insertBefore(elem,firstNode); + firstNode.parentNode.insertBefore(elem, firstNode); } function CreateLoop(src) { @@ -958,7 +954,7 @@ function CreateLoop(src) { "curve": 20, "source": src, "name": "", - "isSelected":selected, + "isSelected": selected, } return loop; @@ -978,28 +974,33 @@ function RemoveElementFromGraph(element, _isFirst = true) { }); MyManager.Execute(new SupprNodeCommand(element.data, false)); + + var numberNode = graphJSON.nodes.length; + + + numberNode--; + break; case EdgeType: - if(graphJSON.links.indexOf(element.data) != -1) - { + if (graphJSON.links.indexOf(element.data) != -1) { MyManager.Execute(new SupprEdgeCommand(element.data, _isFirst)); } break; case LoopType: - if(graphJSON.loops.indexOf(element.data) != -1) - { + if (graphJSON.loops.indexOf(element.data) != -1) { MyManager.Execute(new SupprLoopCommand(element.data, _isFirst)); break; } - + } } function AddNewNode() { var newNode = CreateNode(); MyManager.Execute(new AddNodeCommand(newNode)); - return true; + + return true; } function RemoveSelection() { @@ -1015,16 +1016,15 @@ function RemoveSelection() { isFirst = false; }); }); - + ManageLoops(); ManageEdges(); ManageNodes(); - + return true; - } - else { + } else { CustomWarn("Nothing to delete"); } return false; @@ -1073,6 +1073,8 @@ function RemoveNode(nodeData) { ManageNodes(); ManageNodeLabels(); force.start(); + + } function SubdivideEdge(edge, isFirst = true) { @@ -1119,7 +1121,7 @@ function InvertEdgesOnSelection() { } } -function InvertEdge(edge, isFirst = true){ +function InvertEdge(edge, isFirst = true) { let vr = new ValueRegisterer([edge.data.source, edge.data.target], [edge.data.target, edge.data.source], edge); MyManager.Execute(new InvertDirectionCommand(vr, isFirst)); } @@ -1142,7 +1144,7 @@ function PrettifyJSON() { prettyJSON.loops.forEach(loop => { loop.source = loop.target = loop.source.name; }); - + //Return the Y to correspond with Sage Plan prettyJSON.nodes.forEach(node => { node.y = -node.y; @@ -1150,8 +1152,8 @@ function PrettifyJSON() { //Shrink graph to adapt to the scale of SageMath Show() method prettyJSON.nodes.forEach(function (node) { - node.x = node.x/100; - node.y = node.y/100; + node.x = node.x / 100; + node.y = node.y / 100; }); return JSON.stringify(prettyJSON); @@ -1209,20 +1211,20 @@ function FindElementInGraph(element) { } -function UpdateGraphProperties(message = ""){ - SubmitMessage(propertiesRequestParameter,message = message); +function UpdateGraphProperties(message = "") { + SubmitMessage(propertiesRequestParameter, message = message); } -function SetNodesColoration(colorationList){ +function SetNodesColoration(colorationList) { var id = 0; colorationList.forEach(coloration => { coloration.forEach(name => { - node = graphJSON.nodes.find(function(node){ + node = graphJSON.nodes.find(function (node) { return node.name == name; }); - SetGroupElement(new ValueRegisterer(id,id,new Element(node,NodeType))); + SetGroupElement(new ValueRegisterer(id, id, new Element(node, NodeType))); }); - id ++; + id++; }); FillGroupFromGraph(graphJSON); @@ -1231,17 +1233,36 @@ function SetNodesColoration(colorationList){ } -function SetLinksColoration(colorationList){ +function SetLinksColoration(colorationList) { var id = 0; colorationList.forEach(coloration => { coloration.forEach(tuple => { - link = graphJSON.links.find(function(link){ + link = graphJSON.links.find(function (link) { return link.source.name == tuple[0] && link.target.name == tuple[1]; }); - SetGroupElement(new ValueRegisterer(id,id,new Element(link,EdgeType))); + SetGroupElement(new ValueRegisterer(id, id, new Element(link, EdgeType))); }); - id ++; + id++; }); ManageEdges(); + + +} + + +function NumberOfNodes() { + + + var nodeNumberFonction = graphJSON.nodes.length + + document.getElementById("numberOfNode").innerHTML = nodeNumberFonction + + return nodeNumberFonction + + } + + + + From a0f469057ef2353aebd2a7177d023e7fe2ac9248 Mon Sep 17 00:00:00 2001 From: Mathis Duban Date: Wed, 2 Feb 2022 16:27:06 +0100 Subject: [PATCH 007/149] ajout fonction node --- obj/result.html | 6 ++---- src/HTML/base_html.html | 4 +--- src/JS/graph_d3js.js | 45 +++++++++++++++++++---------------------- 3 files changed, 24 insertions(+), 31 deletions(-) diff --git a/obj/result.html b/obj/result.html index e746c70..e0ebb59 100644 --- a/obj/result.html +++ b/obj/result.html @@ -19,7 +19,7 @@
@@ -65,9 +65,7 @@ Is bipartite False - - - + diff --git a/src/HTML/base_html.html b/src/HTML/base_html.html index d85c5eb..114408c 100644 --- a/src/HTML/base_html.html +++ b/src/HTML/base_html.html @@ -65,9 +65,7 @@ Is bipartite False - - - + diff --git a/src/JS/graph_d3js.js b/src/JS/graph_d3js.js index 54cd454..4b33d91 100644 --- a/src/JS/graph_d3js.js +++ b/src/JS/graph_d3js.js @@ -388,8 +388,8 @@ function ConstructRectangleFromExtent(extent) { return rectangle; } -// Given three colinear points p, q, r, the function checks if -// point q lies on line segment 'pr' +// Given three colinear points p, q, r, the function checks if +// point q lies on line segment 'pr' function onSegment(p, q, r) { if (q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y)) @@ -398,18 +398,18 @@ function onSegment(p, q, r) { return false; } -// To find orientation of ordered triplet (p, q, r). -// The function returns following values -// 0 --> p, q and r are colinear -// 1 --> Clockwise -// 2 --> Counterclockwise +// To find orientation of ordered triplet (p, q, r). +// The function returns following values +// 0 --> p, q and r are colinear +// 1 --> Clockwise +// 2 --> Counterclockwise function orientation(p, q, r) { - // See https://www.geeksforgeeks.org/orientation-3-ordered-points/ - // for details of below formula. + // See https://www.geeksforgeeks.org/orientation-3-ordered-points/ + // for details of below formula. val = (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); - if (val == 0) return 0; // colinear + if (val == 0) return 0; // colinear return (val > 0) ? 1 : 2; // clock or counterclock wise } @@ -418,34 +418,34 @@ function doSegmentIntersect(firstSegment, secondSegment) { return doIntersect(firstSegment.start, firstSegment.end, secondSegment.start, secondSegment.end); } -// The main function that returns true if line segment 'p1q1' -// and 'p2q2' intersect. +// The main function that returns true if line segment 'p1q1' +// and 'p2q2' intersect. function doIntersect(p1, q1, p2, q2) { - // Find the four orientations needed for general and - // special cases + // Find the four orientations needed for general and + // special cases o1 = orientation(p1, q1, p2); o2 = orientation(p1, q1, q2); o3 = orientation(p2, q2, p1); o4 = orientation(p2, q2, q1); - // General case + // General case if (o1 != o2 && o3 != o4) return true; - // Special Cases - // p1, q1 and p2 are colinear and p2 lies on segment p1q1 + // Special Cases + // p1, q1 and p2 are colinear and p2 lies on segment p1q1 if (o1 == 0 && onSegment(p1, p2, q1)) return true; - // p1, q1 and q2 are colinear and q2 lies on segment p1q1 + // p1, q1 and q2 are colinear and q2 lies on segment p1q1 if (o2 == 0 && onSegment(p1, q2, q1)) return true; - // p2, q2 and p1 are colinear and p1 lies on segment p2q2 + // p2, q2 and p1 are colinear and p1 lies on segment p2q2 if (o3 == 0 && onSegment(p2, p1, q2)) return true; - // p2, q2 and q1 are colinear and q1 lies on segment p2q2 + // p2, q2 and q1 are colinear and q1 lies on segment p2q2 if (o4 == 0 && onSegment(p2, q1, q2)) return true; - return false; // Doesn't fall in any of the above cases + return false; // Doesn't fall in any of the above cases } function IsEdgeInsideExtent(extent, edge) { @@ -1263,6 +1263,3 @@ function NumberOfNodes() { } - - - From bdbfba906177d65e32dc262487c921757dd775a5 Mon Sep 17 00:00:00 2001 From: sea-gull-diana <67862638+sea-gull-diana@users.noreply.github.com> Date: Wed, 2 Feb 2022 16:39:54 +0100 Subject: [PATCH 008/149] Todo.md --- ToDo.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 ToDo.md diff --git a/ToDo.md b/ToDo.md new file mode 100644 index 0000000..0b1077f --- /dev/null +++ b/ToDo.md @@ -0,0 +1,12 @@ +# Choses à faire + +- [X] Changer methode d'installation et premier execution ( changer attach (c'est une importation)): ne pas demander path_to_projet_repo le charger auto sans demander : recuperer l'endroit ou on utilise sage math +- [X] Faire selection groupee +- [X] Ajouter le nb des sommets / aretes dans le menu gauche +- [] Diagrammes de séquence +- [] Ameliorer la passerelle entre la fenetre web et la boite de commande +- [] Empecher la modif de l'interface web a la ligne de commande a cahque modif ? (à clarifier) +- [] Pb retour modification du graph de la perte de donnee : des int redeveinne des chaine de charactere au retour +- [] Fonction permettant de customiser l'interface personnel +- [] Diviser la page en deux parties scrollables : partie Menu à gauche et partie Graphe à droite +- [] Zoom in / Zoom out de la partie Graphe \ No newline at end of file From 977207e3402aea6fc938e0f63dc59e726b617167 Mon Sep 17 00:00:00 2001 From: sea-gull-diana <67862638+sea-gull-diana@users.noreply.github.com> Date: Wed, 2 Feb 2022 16:51:55 +0100 Subject: [PATCH 009/149] Todo.md --- ToDo.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ToDo.md b/ToDo.md index 0b1077f..dd23268 100644 --- a/ToDo.md +++ b/ToDo.md @@ -3,10 +3,10 @@ - [X] Changer methode d'installation et premier execution ( changer attach (c'est une importation)): ne pas demander path_to_projet_repo le charger auto sans demander : recuperer l'endroit ou on utilise sage math - [X] Faire selection groupee - [X] Ajouter le nb des sommets / aretes dans le menu gauche -- [] Diagrammes de séquence -- [] Ameliorer la passerelle entre la fenetre web et la boite de commande -- [] Empecher la modif de l'interface web a la ligne de commande a cahque modif ? (à clarifier) -- [] Pb retour modification du graph de la perte de donnee : des int redeveinne des chaine de charactere au retour -- [] Fonction permettant de customiser l'interface personnel -- [] Diviser la page en deux parties scrollables : partie Menu à gauche et partie Graphe à droite -- [] Zoom in / Zoom out de la partie Graphe \ No newline at end of file +- [ ] Diagrammes de séquence +- [ ] Ameliorer la passerelle entre la fenetre web et la boite de commande +- [ ] Empecher la modif de l'interface web a la ligne de commande a cahque modif ? (à clarifier) +- [ ] Pb retour modification du graph de la perte de donnee : des int redeveinne des chaine de charactere au retour +- [ ] Fonction permettant de customiser l'interface personnel +- [ ] Diviser la page en deux parties scrollables : partie Menu à gauche et partie Graphe à droite +- [ ] Zoom in / Zoom out de la partie Graphe \ No newline at end of file From 954646665d1919856de2018289e5d9d8279fef94 Mon Sep 17 00:00:00 2001 From: Jawad EL HIDRAOUI Date: Wed, 2 Feb 2022 16:58:39 +0100 Subject: [PATCH 010/149] Move selection added --- src/JS/CommandePatern.js | 4 + src/JS/graph_d3js.js | 270 ++++++++++++++++++++++----------------- 2 files changed, 156 insertions(+), 118 deletions(-) diff --git a/src/JS/CommandePatern.js b/src/JS/CommandePatern.js index d0c3b24..ab16f5b 100644 --- a/src/JS/CommandePatern.js +++ b/src/JS/CommandePatern.js @@ -44,6 +44,10 @@ var MoveNodeCommand = function (value, firstAction = true) { return new Command(SetNewPosition, SetOldPosition, value, firstAction); }; +var MoveSelectedNodesCommand = function (tabNodes, firstAction = true) { + return new Command(SetNewSelectedNodesPosition, SetOldSelectedNodesPosition ,tabNodes, firstAction); +} + class CommandManager { constructor() { this.commandStack = []; diff --git a/src/JS/graph_d3js.js b/src/JS/graph_d3js.js index 54cd454..707e691 100644 --- a/src/JS/graph_d3js.js +++ b/src/JS/graph_d3js.js @@ -1,22 +1,14 @@ //The graph properties - - var graphJSON, force, customColorScale; -var width = function () { - return document.documentElement.clientWidth * 0.8 -}; -var height = function () { - return document.documentElement.clientHeight -}; -var xshift = function () { - return document.getElementById("graphFrame").childNodes[3].getBoundingClientRect().left; -}; +var width = function() {return document.documentElement.clientWidth * 0.8}; +var height = function() {return document.documentElement.clientHeight}; +var xshift = function() {return document.getElementById("graphFrame").childNodes[3].getBoundingClientRect().left;}; var drag_in_progress = false; var is_frozen = false; var isDirected = false; //DOM Elements / D3JS Elements -var nodes, links, loops, v_labels, e_labels, l_labels, line, svg, brush, arrows; +var nodes, links, loops, v_labels, e_labels, l_labels, line, svg, brush,arrows; var groupList = []; var currentGroupIndex = 0; var currentObject = null; @@ -27,7 +19,6 @@ const cursorPosition = { y: 0 }; - const LoopType = "Loop"; const NodeType = "Node"; const EdgeType = "Edge"; @@ -80,10 +71,9 @@ window.onload = function () { InitNewGraph(); } -function InitNewGraph(graph = null) { - if (force) { - force.stop(); - } +function InitNewGraph(graph = null) +{ + if(force){force.stop();} LoadGraphData(graph); InitGraph(); InitInterface(); @@ -108,7 +98,6 @@ function GetGraphFromHTML() { return graph; } - // Loads the graph data function LoadGraphData(newGraph) { graphJSON = (newGraph) ? newGraph : GetGraphFromHTML(); @@ -119,7 +108,7 @@ function LoadGraphData(newGraph) { } function FillGroupFromGraph(graph) { - groupList = []; + groupList=[]; graph.nodes.forEach(element => { if (!groupList.includes(element.group)) { groupList.push(element.group); @@ -174,6 +163,11 @@ function ResetSelection() { }); }); + for(let node of document.querySelectorAll('.isSelected')){ + node.setAttribute('class', 'node'); + } + + manageSelection(); RefreshNodes(); RefreshEdge(); RefreshLoops(); @@ -198,8 +192,6 @@ function third_point_of_curved_edge(pa, pb, d) { // Applies an homothety to the points of the graph respecting the // aspect ratio, so that the graph takes the whole javascript // window and is centered - - function center_and_scale() { var minx = graphJSON.pos[0][0]; var maxx = graphJSON.pos[0][0]; @@ -303,15 +295,16 @@ function InitForce() { }); } -function ManageAllGraphicsElements() { - if (svg) { +function ManageAllGraphicsElements() +{ + if(svg){ let oldSVG = document.getElementById("svg"); oldSVG.parentElement.removeChild(oldSVG); } // SVG window svg = d3.select("#graphFrame").append("svg") - .attr("id", "svg") + .attr("id","svg") .attr("width", width()) .attr("height", height()) .attr("pointer-events", "all") // Zoom+move management @@ -335,16 +328,16 @@ function ManageAllGraphicsElements() { } -function InitBrush() { +function InitBrush(){ brush = svg.append("g") .attr("class", "brush") .call(d3.svg.brush() .x(d3.scale.identity().domain([-100000, 100000])) .y(d3.scale.identity().domain([-100000, 100000])) - .on("brushstart", function () { + .on("brushstart", function() { ResetSelection(); }) - .on("brushend", function () { + .on("brushend", function() { var extent = d3.event.target.extent(); SelectElementsInsideExtent(extent); @@ -356,41 +349,45 @@ function InitBrush() { function SelectElementsInsideExtent(extent) { nodes.each(function (d) { - if (IsNodeInsideExtent(extent, d)) { - SelectElement(new Element(d, NodeType)); + if (IsNodeInsideExtent(extent, d)) + { + SelectElement(new Element(d,NodeType)); } }) loops.each(function (d) { - if (IsNodeInsideExtent(extent, d.source)) { - SelectElement(new Element(d, LoopType)); + if (IsNodeInsideExtent(extent, d.source)) + { + SelectElement(new Element(d,LoopType)); } }) links.each(function (d) { - if (IsEdgeInsideExtent(extent, d)) { - SelectElement(new Element(d, EdgeType)); + if(IsEdgeInsideExtent(extent,d)){ + SelectElement(new Element(d,EdgeType)); } }) } -function ConstructRectangleFromExtent(extent) { - topLeftCorner = new Point(extent[0][0], extent[0][1]); - topRightCorner = new Point(extent[1][0], extent[0][1]); - bottomLefttCorner = new Point(extent[0][0], extent[1][1]); - bottomRightCorner = new Point(extent[1][0], extent[1][1]); +function ConstructRectangleFromExtent(extent) +{ + topLeftCorner = new Point(extent[0][0],extent[0][1]); + topRightCorner = new Point(extent[1][0],extent[0][1]); + bottomLefttCorner = new Point(extent[0][0],extent[1][1]); + bottomRightCorner = new Point(extent[1][0],extent[1][1]); - topBorder = new Segment(topLeftCorner, topRightCorner); + topBorder = new Segment(topLeftCorner,topRightCorner); leftBorder = new Segment(topLeftCorner, bottomLefttCorner); rightBorder = new Segment(topRightCorner, bottomRightCorner); bottomBorder = new Segment(bottomRightCorner, bottomLefttCorner); - rectangle = [topBorder, leftBorder, rightBorder, bottomBorder]; + rectangle = [topBorder,leftBorder,rightBorder,bottomBorder]; return rectangle; } // Given three colinear points p, q, r, the function checks if // point q lies on line segment 'pr' -function onSegment(p, q, r) { +function onSegment( p, q, r) +{ if (q.x <= Math.max(p.x, r.x) && q.x >= Math.min(p.x, r.x) && q.y <= Math.max(p.y, r.y) && q.y >= Math.min(p.y, r.y)) return true; @@ -403,7 +400,8 @@ function onSegment(p, q, r) { // 0 --> p, q and r are colinear // 1 --> Clockwise // 2 --> Counterclockwise -function orientation(p, q, r) { +function orientation(p, q, r) +{ // See https://www.geeksforgeeks.org/orientation-3-ordered-points/ // for details of below formula. val = (q.y - p.y) * (r.x - q.x) - @@ -411,16 +409,18 @@ function orientation(p, q, r) { if (val == 0) return 0; // colinear - return (val > 0) ? 1 : 2; // clock or counterclock wise + return (val > 0)? 1: 2; // clock or counterclock wise } -function doSegmentIntersect(firstSegment, secondSegment) { - return doIntersect(firstSegment.start, firstSegment.end, secondSegment.start, secondSegment.end); +function doSegmentIntersect(firstSegment, secondSegment) +{ + return doIntersect(firstSegment.start,firstSegment.end,secondSegment.start,secondSegment.end); } // The main function that returns true if line segment 'p1q1' // and 'p2q2' intersect. -function doIntersect(p1, q1, p2, q2) { +function doIntersect( p1, q1, p2, q2) +{ // Find the four orientations needed for general and // special cases o1 = orientation(p1, q1, p2); @@ -448,33 +448,39 @@ function doIntersect(p1, q1, p2, q2) { return false; // Doesn't fall in any of the above cases } -function IsEdgeInsideExtent(extent, edge) { - if (IsNodeInsideExtent(extent, edge.source) || IsNodeInsideExtent(extent, edge.target)) { +function IsEdgeInsideExtent(extent,edge) +{ + if (IsNodeInsideExtent(extent, edge.source) || IsNodeInsideExtent(extent, edge.target)) + { return true; - } else { - return DoesEdgeIntersectExtent(extent, edge); + } + else + { + return DoesEdgeIntersectExtent(extent,edge); } } -function DoesEdgeIntersectExtent(extent, edge) { +function DoesEdgeIntersectExtent(extent,edge) +{ rectangle = ConstructRectangleFromExtent(extent); edgeSegment = new Segment(edge.source, edge.target); doesIntersect = false; count = 0; - while (doesIntersect == false && count < rectangle.length) { - doesIntersect = doSegmentIntersect(rectangle[count], edgeSegment); + while(doesIntersect == false && count < rectangle.length) + { + doesIntersect = doSegmentIntersect(rectangle[count],edgeSegment); count += 1; } return doesIntersect; } -function IsNodeInsideExtent(extent, node) { +function IsNodeInsideExtent(extent, node){ return extent[0][0] <= node.x && node.x < extent[1][0] && extent[0][1] <= node.y && node.y < extent[1][1]; } -function ManageArrows() { +function ManageArrows(){ // Arrows, for directed graphs arrows = svg.append("svg:defs").selectAll("marker") .data(["directed"]) @@ -527,7 +533,7 @@ function ManageLoops() { currentObject = null; }) .on("dblclick", function (currentData) { - SelectElement(new Element(currentData, LoopType)); + SelectElement(new Element(currentData,LoopType)); }) .style("stroke", function (d) { return d.color; @@ -571,6 +577,7 @@ function RefreshLoopLabels() { } + function ManageEdges() { // Edges links = svg.selectAll(".link") @@ -586,7 +593,7 @@ function ManageEdges() { currentObject = null; }) .on("dblclick", function (currentData) { - SelectElement(new Element(currentData, EdgeType)); + SelectElement(new Element(currentData,EdgeType)); }) .style("stroke-width", graphJSON.edge_thickness + "px"); @@ -672,7 +679,7 @@ function ManageNodes() { currentObject = null; }) .on("dblclick", function (currentData) { - SelectElement(new Element(currentData, NodeType)); + SelectElement(new Element(currentData,NodeType)); }) .call(force.drag() .on('dragstart', function (d) { @@ -682,7 +689,8 @@ function ManageNodes() { .on('dragend', function (d) { drag_in_progress = false; - if (d.previousPos[0] != d.x && d.previousPos[1] != d.y) { + if(d.previousPos[0] != d.x && d.previousPos[1] != d.y) + { let finalPos = [d.x, d.y]; var positions = new ValueRegisterer(d.previousPos, finalPos, new Element(d, NodeType)); MyManager.Execute(new MoveNodeCommand(positions)); @@ -697,10 +705,52 @@ function ManageNodes() { nodes.exit().remove(); } +function manageSelection(){ + selectedNodes = svg.selectAll('.isSelected'); + let mousePreviousPos, nodePreviousPos; + + selectedNodes.call(force.drag() + .on('dragstart', function (d) { + mousePreviousPos = [window.event.clientX, window.event.clientY]; + nodePreviousPos = [d.px, d.py]; + + drag_in_progress = true; + }) + .on('dragend', function (d) { + let tabNodes = []; + drag_in_progress = false; + + for (let circle of selectedNodes[0]){ + node = graphJSON.nodes[circle.getAttribute('name')]; + + previousPos = node != d ? [node.px, node.py] : [nodePreviousPos[0], nodePreviousPos[1]]; + + if(previousPos[0] != previousPos[0] - mousePreviousPos[0] + window.event.clientX + && previousPos[1] != previousPos[1] - mousePreviousPos[1] + window.event.clientY){ + let finalPos = [previousPos[0] + window.event.clientX - mousePreviousPos[0], previousPos[1] + window.event.clientY - mousePreviousPos[1]]; + var positions = new ValueRegisterer(previousPos, finalPos, new Element(node, NodeType)); + tabNodes.push(positions); + } + } + + MyManager.Execute(new MoveSelectedNodesCommand(tabNodes)); + UpdateGraphProperties("Node's positions changed"); + + })); + + RefreshNodes(); +} + function SetNewPosition(registeredPos) { SetNodePosition(registeredPos.newValue, registeredPos.element); } +function SetNewSelectedNodesPosition(tabNodes){ + for (let node of tabNodes){ + SetNodePosition(node.newValue, node.element); + } +} + function SetNodePosition(Pos, nodeData) { let currrentNode = FindElementInGraph(nodeData); force.stop(); @@ -710,8 +760,13 @@ function SetNodePosition(Pos, nodeData) { } function SetOldPosition(registeredPos) { - SetNodePosition(registeredPos.oldValue, registeredPos.element); - ; + SetNodePosition(registeredPos.oldValue, registeredPos.element);; +} + +function SetOldSelectedNodesPosition(tabNodes) { + for (let node of tabNodes){ + SetNodePosition(node.oldValue, node.element); + } } function RefreshNodes() { @@ -739,6 +794,8 @@ function SelectElement(element) { switch (element.type) { case NodeType: RefreshNodes(); + document.querySelectorAll('.node')[element.data.name].setAttribute('class', 'node isSelected'); + manageSelection(); break; case EdgeType: RefreshEdge(); @@ -793,8 +850,6 @@ function AddNode(newNode) { //Restart the force layout with the new elements force.start(); - var number =graphJSON.nodes.length; - number++; return true; } @@ -821,13 +876,17 @@ function CreateNode(pos = null) { return newNode; } -function FindLowestIDAvailable() { +function FindLowestIDAvailable(){ let lowestID = Infinity; let i = 0; - while (lowestID == Infinity) { - if (graphJSON.nodes.find(node => node.name == i) != undefined) { + while (lowestID == Infinity) + { + if(graphJSON.nodes.find(node => node.name == i) != undefined) + { i++; - } else { + } + else + { lowestID = i; } } @@ -847,7 +906,7 @@ function AddLoopOnSelection() { if (selectedNodes.length > 0) { let isFirst = true; for (let i = 0; i < selectedNodes.length; i++) { - AddLoopOnNode(selectedNodes[i].data, isFirst); + AddLoopOnNode(selectedNodes[i].data,isFirst); isFirst = false; } return true; @@ -867,7 +926,8 @@ function SetGroupOfSelection() { if (selectedNodes.length > 0) { for (let i = 0; i < selectedNodes.length; i++) { - if (selectedNodes[i].data.group != groupList[currentGroupIndex]) { + if(selectedNodes[i].data.group != groupList[currentGroupIndex]) + { let vr = new ValueRegisterer(selectedNodes[i].data.group, groupList[currentGroupIndex], selectedNodes[i]); MyManager.Execute(new ChangeGroupCommand(vr, isFirst)); isFirst = false; @@ -897,7 +957,6 @@ function AddEdgesOnSelection() { isFirst = false; } } - return true; } else { CustomWarn("No nodes to add loop at on the selection"); @@ -923,7 +982,7 @@ function CreateEdge(src, dest) { "curve": 0, "source": src, "name": "", - "isSelected": selected, + "isSelected":selected, } return link; @@ -936,13 +995,13 @@ function AddLoop(newLoop) { force.start(); } -function PlaceBeforeNode(className) { +function PlaceBeforeNode(className){ elements = document.getElementsByClassName(className); let elem = elements[elements.length - 1]; let firstNode = document.getElementsByClassName("node")[0]; - firstNode.parentNode.insertBefore(elem, firstNode); + firstNode.parentNode.insertBefore(elem,firstNode); } function CreateLoop(src) { @@ -954,7 +1013,7 @@ function CreateLoop(src) { "curve": 20, "source": src, "name": "", - "isSelected": selected, + "isSelected":selected, } return loop; @@ -974,20 +1033,16 @@ function RemoveElementFromGraph(element, _isFirst = true) { }); MyManager.Execute(new SupprNodeCommand(element.data, false)); - - var numberNode = graphJSON.nodes.length; - - - numberNode--; - break; case EdgeType: - if (graphJSON.links.indexOf(element.data) != -1) { + if(graphJSON.links.indexOf(element.data) != -1) + { MyManager.Execute(new SupprEdgeCommand(element.data, _isFirst)); } break; case LoopType: - if (graphJSON.loops.indexOf(element.data) != -1) { + if(graphJSON.loops.indexOf(element.data) != -1) + { MyManager.Execute(new SupprLoopCommand(element.data, _isFirst)); break; } @@ -999,7 +1054,6 @@ function RemoveElementFromGraph(element, _isFirst = true) { function AddNewNode() { var newNode = CreateNode(); MyManager.Execute(new AddNodeCommand(newNode)); - return true; } @@ -1024,7 +1078,8 @@ function RemoveSelection() { return true; - } else { + } + else { CustomWarn("Nothing to delete"); } return false; @@ -1073,8 +1128,6 @@ function RemoveNode(nodeData) { ManageNodes(); ManageNodeLabels(); force.start(); - - } function SubdivideEdge(edge, isFirst = true) { @@ -1121,7 +1174,7 @@ function InvertEdgesOnSelection() { } } -function InvertEdge(edge, isFirst = true) { +function InvertEdge(edge, isFirst = true){ let vr = new ValueRegisterer([edge.data.source, edge.data.target], [edge.data.target, edge.data.source], edge); MyManager.Execute(new InvertDirectionCommand(vr, isFirst)); } @@ -1152,8 +1205,8 @@ function PrettifyJSON() { //Shrink graph to adapt to the scale of SageMath Show() method prettyJSON.nodes.forEach(function (node) { - node.x = node.x / 100; - node.y = node.y / 100; + node.x = node.x/100; + node.y = node.y/100; }); return JSON.stringify(prettyJSON); @@ -1211,20 +1264,20 @@ function FindElementInGraph(element) { } -function UpdateGraphProperties(message = "") { - SubmitMessage(propertiesRequestParameter, message = message); +function UpdateGraphProperties(message = ""){ + SubmitMessage(propertiesRequestParameter,message = message); } -function SetNodesColoration(colorationList) { +function SetNodesColoration(colorationList){ var id = 0; colorationList.forEach(coloration => { coloration.forEach(name => { - node = graphJSON.nodes.find(function (node) { + node = graphJSON.nodes.find(function(node){ return node.name == name; }); - SetGroupElement(new ValueRegisterer(id, id, new Element(node, NodeType))); + SetGroupElement(new ValueRegisterer(id,id,new Element(node,NodeType))); }); - id++; + id ++; }); FillGroupFromGraph(graphJSON); @@ -1233,36 +1286,17 @@ function SetNodesColoration(colorationList) { } -function SetLinksColoration(colorationList) { +function SetLinksColoration(colorationList){ var id = 0; colorationList.forEach(coloration => { coloration.forEach(tuple => { - link = graphJSON.links.find(function (link) { + link = graphJSON.links.find(function(link){ return link.source.name == tuple[0] && link.target.name == tuple[1]; }); - SetGroupElement(new ValueRegisterer(id, id, new Element(link, EdgeType))); + SetGroupElement(new ValueRegisterer(id,id,new Element(link,EdgeType))); }); - id++; + id ++; }); ManageEdges(); - - } - - -function NumberOfNodes() { - - - var nodeNumberFonction = graphJSON.nodes.length - - document.getElementById("numberOfNode").innerHTML = nodeNumberFonction - - return nodeNumberFonction - - -} - - - - From 79c31739b737234b2365bfd2ea948443c34c3df1 Mon Sep 17 00:00:00 2001 From: Mathis Duban Date: Wed, 2 Feb 2022 17:23:48 +0100 Subject: [PATCH 011/149] =?UTF-8?q?ajout=20fonction=20calcul=20nombre=20d'?= =?UTF-8?q?arr=C3=AAte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- obj/result.html | 362 +++++++++++++++++----------------- src/HTML/base_html.html | 360 ++++++++++++++++----------------- src/JS/InterfaceAndMisc.js | 1 + src/JS/graph_d3js.js | 8 + src/Python/connection.py | 5 + src/Python/customJsGraph.py | 5 + src/Python/request_handler.py | 3 + 7 files changed, 389 insertions(+), 355 deletions(-) diff --git a/obj/result.html b/obj/result.html index e0ebb59..e3dca29 100644 --- a/obj/result.html +++ b/obj/result.html @@ -1,193 +1,199 @@ - - - + + + - - - - - - - - + + + + + + + + -