diff --git a/aasportal.mdx b/aasportal.mdx
index aa3ac4b5..50d603a7 100644
--- a/aasportal.mdx
+++ b/aasportal.mdx
@@ -202,8 +202,6 @@
-
-
@@ -224,17 +222,6 @@
-
-
-
-
-
-
-
-
-
-
-
@@ -289,18 +276,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -314,28 +289,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -489,16 +444,9 @@
-
-
-
-
-
-
-
@@ -512,12 +460,6 @@
-
-
-
-
-
-
@@ -567,31 +509,71 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -638,16 +620,12 @@
-
-
-
-
@@ -672,7 +650,6 @@
-
@@ -705,6 +682,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -998,9 +991,6 @@
-
-
-
@@ -1032,20 +1022,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1173,22 +1149,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1206,41 +1166,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1489,24 +1417,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1524,18 +1438,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1599,41 +1501,110 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1691,17 +1662,17 @@
1
- {"bounds": "487,157,107,70","model": "lUNC+bF3k0CvtsFIiXav0g","name": "aas-server","render": [{"bounds": "487,157,107,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "492,186,97,16","text": "<<workspace>>","type": "Text"},{"bounds": "510,202,61,16","text": "aas-server","type": "Text"}],"type": "UMLPackageView"}
- 449,101,107,70
+ {"bounds": "487,157,132,70","model": "lUNC+bF3k0CvtsFIiXav0g","name": "aas-server","render": [{"bounds": "487,157,132,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "492,183,122,19","text": "<<workspace>>","type": "Text"},{"bounds": "517,202,72,19","text": "aas-server","type": "Text"}],"type": "UMLPackageView"}
+ 449,101,132,70
- common
+ aas-core
workspace
3
- {"bounds": "297,337,107,70","model": "09ZDFMDrFUyf7OuCrLmopQ","name": "common","render": [{"bounds": "297,337,107,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "302,366,97,16","text": "<<workspace>>","type": "Text"},{"bounds": "326,382,49,16","text": "common","type": "Text"}],"type": "UMLPackageView"}
- 259,281,107,70
+ {"bounds": "297,337,132,70","model": "09ZDFMDrFUyf7OuCrLmopQ","name": "aas-core","render": [{"bounds": "297,337,132,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "302,363,122,19","text": "<<workspace>>","type": "Text"},{"bounds": "334,382,59,19","text": "aas-core","type": "Text"}],"type": "UMLPackageView"}
+ 259,281,132,70
session-use-cases
@@ -2854,16 +2825,6 @@
true
uml.onEditStereotype(view, model, text)
-
- PC, Tablet, Phone
- device
- 2
-
-
- {"border-color": "91,155,213,255","fill-color": "151,188,228,255","font-color": "0,0,0,255","gradient": false,"shadow": false}
- {"bounds": "371,36,181,80","model": "YU49xadxiUm+XA2jmjG0IA","name": "PC, Tablet, Phone","render": [{"bounds": "371,36,181,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "423,62,72,16","text": "<<device>>","type": "Text"},{"bounds": "403,78,112,16","fontStyle": "2","text": "PC, Tablet, Phone","type": "Text"}],"type": "UMLNodeView"}
- 371,36,181,80
-
aas-portal
service
@@ -2871,8 +2832,8 @@
{"fill-color": "255,255,255,255"}
- {"bounds": "371,197,166,80","model": "99kwFUgB7EqpO13lxMSpzg","name": "aas-portal","render": [{"bounds": "371,197,166,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "414,223,76,16","text": "<<service>>","type": "Text"},{"bounds": "418,239,68,16","fontStyle": "2","text": "aas-portal","type": "Text"}],"type": "UMLNodeView"}
- 371,197,166,80
+ {"bounds": "371,206,166,80","model": "99kwFUgB7EqpO13lxMSpzg","name": "aas-portal","render": [{"bounds": "371,206,166,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "414,232,76,16","text": "<<service>>","type": "Text"},{"bounds": "418,248,68,16","fontStyle": "2","text": "aas-portal","type": "Text"}],"type": "UMLNodeView"}
+ 371,206,166,80
aas-server
@@ -2975,13 +2936,13 @@
uml.onEditStereotype(view, model, text)
- {"model": "93MvxkRzIU6GeEx9uBKmyA","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "503,226,386,337,","type": "Line"},{"bounds": "386,328,16,18","path": ":/images/dummy/arrow.svg","rotate": "-1334","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 503,226,386,337,
+ {"model": "93MvxkRzIU6GeEx9uBKmyA","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "515,226,398,337,","type": "Line"},{"bounds": "398,328,16,18","path": ":/images/dummy/arrow.svg","rotate": "-1334","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 515,226,398,337,
true
false
- 437,287,36,13
+ 449,287,36,13
17
0,-15
132
@@ -2993,7 +2954,7 @@
true
false
- 419,298,95,13
+ 431,298,95,13
17
0,-30
132
@@ -3006,124 +2967,6 @@
common
5
-
- {"model": "M8ySx8TZlk6RyQIVYtyXCg","name": "","render": [{"lineWidth": "0","points": "459,115,455,197,","type": "Line"},{"bounds": "439,126,8,16","text": "*","type": "Text"},{"bounds": "441,165,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
- 459,115,455,197,
-
-
- true
- false
- 454,151,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditAssociationName(view, model, text)
-
-
- true
- false
- 440,151,95,13
- 17
- 0,-30
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- fromNameView
- true
- false
- 443,150,59,13
- 16
- 40,-15
- 132
- {fromName}
- true
- true
-
-
- fromMultiView
- true
- 439,126,8,16
- 16
- 20,15
- *
- 132
- {fromMultiplicity}
- true
- true
-
-
- toNameView
- true
- false
- 449,152,47,13
- 18
- 40,15
- 132
- {toName}
- true
- true
-
-
- toMultiView
- true
- 441,165,7,16
- 18
- 23,-12
- 1
- 132
- {toMultiplicity}
- true
- true
-
-
- true
- false
- 452,116,15,11
- 21
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {fromQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
-
- true
- false
- 448,186,15,11
- 22
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {toQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
start-use-cases
@@ -3396,17 +3239,17 @@
aas-portal
- {"bounds": "97,157,107,70","model": "r2NZ58QNZEKWlYvOGlT11g","name": "aas-portal","render": [{"bounds": "97,157,107,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "102,186,97,16","text": "<<workspace>>","type": "Text"},{"bounds": "122,202,58,16","text": "aas-portal","type": "Text"}],"type": "UMLPackageView"}
- 59,101,107,70
+ {"bounds": "97,157,132,70","model": "r2NZ58QNZEKWlYvOGlT11g","name": "aas-portal","render": [{"bounds": "97,157,132,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "102,183,122,19","text": "<<workspace>>","type": "Text"},{"bounds": "128,202,70,19","text": "aas-portal","type": "Text"}],"type": "UMLPackageView"}
+ 59,101,132,70
- {"model": "I+eWkMfw9EKIs2ZitA//lQ","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "189,226,312,337,","type": "Line"},{"bounds": "312,328,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2279","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 189,226,312,337,
+ {"model": "I+eWkMfw9EKIs2ZitA//lQ","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "201,226,324,337,","type": "Line"},{"bounds": "324,328,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2279","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 201,226,324,337,
true
false
- 243,265,36,13
+ 255,265,36,13
17
0,-15
132
@@ -3418,7 +3261,7 @@
true
false
- 224,254,95,13
+ 236,254,95,13
17
0,-30
132
@@ -3444,12 +3287,12 @@
aas-server
- node.js
+ image
17
- {"bounds": "50,325,147,80","model": "cmOEgyeti02akOoZ1BETVg","name": "aas-server","render": [{"bounds": "50,325,147,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "85,348,78,16","text": "<<node.js>>","type": "Text"},{"bounds": "88,364,72,16","fontStyle": "2","text": "aas-server","type": "Text"}],"type": "UMLArtifactView"}
- 50,325,147,80
+ {"bounds": "31,497,166,80","model": "cmOEgyeti02akOoZ1BETVg","name": "aas-server","render": [{"bounds": "31,497,166,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "79,520,71,16","text": "<<image>>","type": "Text"},{"bounds": "78,536,72,16","fontStyle": "2","text": "aas-server","type": "Text"}],"type": "UMLArtifactView"}
+ 31,497,166,80
aasportal-users
@@ -3458,38 +3301,43 @@
{"border-color": "91,155,213,255","fill-color": "255,255,255,255","font-color": "0,0,0,255","gradient": false,"shadow": false}
- {"bounds": "689,246,166,80","model": "DEyatjst4Euy6JghnVkkzw","name": "aasportal-users","render": [{"bounds": "689,246,166,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "732,272,76,16","text": "<<service>>","type": "Text"},{"bounds": "718,288,104,16","fontStyle": "2","text": "aasportal-users","type": "Text"}],"type": "UMLNodeView"}
- 689,246,166,80
+ {"bounds": "689,206,166,80","model": "DEyatjst4Euy6JghnVkkzw","name": "aasportal-users","render": [{"bounds": "689,206,166,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "732,232,76,16","text": "<<service>>","type": "Text"},{"bounds": "718,248,104,16","fontStyle": "2","text": "aasportal-users","type": "Text"}],"type": "UMLNodeView"}
+ 689,206,166,80
aas-scan-worker
node.js
22
-
- {"bounds": "50,476,166,80","model": "nRhw4pRJ1kKmCyELXdav5w","name": "aas-scan-worker","render": [{"bounds": "50,476,166,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "94,499,78,16","text": "<<node.js>>","type": "Text"},{"bounds": "78,515,111,16","fontStyle": "2","text": "aas-scan-worker","type": "Text"}],"type": "UMLArtifactView"}
- 50,476,166,80
+
+ nginx
+ image
+ 22
+
+
+ {"bounds": "31,57,166,80","model": "SvIxLoASkki055TXQB2qlA","name": "nginx","render": [{"bounds": "31,57,166,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "79,80,71,16","text": "<<image>>","type": "Text"},{"bounds": "97,96,34,16","fontStyle": "2","text": "nginx","type": "Text"}],"type": "UMLArtifactView"}
+ 31,57,166,80
-
- {"model": "VOaFYxEa+kq15XnfVi0Q4w","name": "","render": [{"lineWidth": "0","points": "130,476,126,404,","type": "Line"},{"bounds": "139,449,8,16","text": "*","type": "Text"},{"bounds": "139,415,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
- 130,476,126,404,
+
+ {"model": "dvgraY4s8EG1YRNFL4I92Q","name": "","render": [{"lineWidth": "0","points": "453,285,453,365,","type": "Line"},{"bounds": "435,297,7,16","text": "1","type": "Text"},{"bounds": "435,337,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
+ 453,285,453,365,
-
+
true
false
- 95,435,36,13
+ 462,316,40,16
17
- 0,-15
+ -1,-29
132
{name}
true
true
uml.onEditAssociationName(view, model, text)
-
+
true
false
- 51,436,95,13
+ 436,319,95,13
17
0,-30
132
@@ -3498,11 +3346,11 @@
true
uml.onEditStereotype(view, model, text)
-
+
fromNameView
true
false
- 84,431,59,13
+ 439,319,59,13
16
40,-15
132
@@ -3510,23 +3358,23 @@
true
true
-
+
fromMultiView
true
- 139,449,8,16
+ 435,297,7,16
16
- 18,14
- *
+ 20,15
+ 1
132
{fromMultiplicity}
true
true
-
+
toNameView
true
false
- 90,439,47,13
+ 445,319,47,13
18
40,15
132
@@ -3534,10 +3382,10 @@
true
true
-
+
toMultiView
true
- 139,415,7,16
+ 435,337,7,16
18
20,-15
1
@@ -3546,10 +3394,10 @@
true
true
-
+
true
false
- 123,465,15,11
+ 446,286,15,11
21
true
false
@@ -3557,7 +3405,7 @@
true
true
-
+
false
0,0,15,11
5
@@ -3567,10 +3415,10 @@
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
-
+
true
false
- 119,405,15,11
+ 446,354,15,11
22
true
false
@@ -3578,7 +3426,7 @@
true
true
-
+
false
0,0,15,11
5
@@ -3588,35 +3436,52 @@
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
-
- NGINX
- http server
- 22
+
+ mongo
+ image
+ 23
-
- {"bounds": "50,97,154,80","model": "SvIxLoASkki055TXQB2qlA","name": "NGINX","render": [{"bounds": "50,97,154,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "78,120,98,16","text": "<<http server>>","type": "Text"},{"bounds": "108,136,38,16","fontStyle": "2","text": "NGINX","type": "Text"}],"type": "UMLArtifactView"}
- 50,97,154,80
+
+ {"bounds": "979,206,140,80","model": "fUCEV8SyUkiKgOKj6d69ZA","name": "mongo","render": [{"bounds": "979,206,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "1014,229,71,16","text": "<<image>>","type": "Text"},{"bounds": "1028,245,43,16","fontStyle": "2","text": "mongo","type": "Text"}],"type": "UMLArtifactView"}
+ 979,206,140,80
-
- {"model": "dvgraY4s8EG1YRNFL4I92Q","name": "","render": [{"lineWidth": "0","points": "453,276,453,365,","type": "Line"},{"bounds": "435,288,7,16","text": "1","type": "Text"},{"bounds": "435,337,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
- 453,276,453,365,
+
+ aas-portal
+ image
+ 23
-
+
+ {"bounds": "31,206,166,80","model": "P6w27jhd6EePFn9YYQjiIA","name": "aas-portal","render": [{"bounds": "31,206,166,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "79,229,71,16","text": "<<image>>","type": "Text"},{"bounds": "80,245,68,16","fontStyle": "2","text": "aas-portal","type": "Text"}],"type": "UMLArtifactView"}
+ 31,206,166,80
+
+
+ reset
+ 7
+
+
+ {"bounds": "364,492,80,60","model": "fMw8fPNPm0CDAK2+p2Z5+Q","name": "reset","render": [{"bounds": "389,539,30,13","fontStyle": "2","text": "reset","type": "Text"},{"bounds": "364,494,80,37","path": "shapes/usecase.png","preserveRatio": "true","type": "Image"}],"type": "UMLUseCaseView"}
+ 364,492,80,60
+
+
+ {"model": "/pd5Y5qx1kioPXexJLKJpg","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "190,433,364,505,","type": "Line"},{"bounds": "364,496,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2475","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 190,433,364,505,
+
+
true
false
- 450,315,36,13
+ 265,449,36,13
17
0,-15
132
{name}
true
true
- uml.onEditAssociationName(view, model, text)
+ uml.onEditName(view, model, text)
-
+
true
false
- 436,315,95,13
+ 241,435,95,13
17
0,-30
132
@@ -3625,362 +3490,17 @@
true
uml.onEditStereotype(view, model, text)
-
- fromNameView
- true
- false
- 439,310,59,13
- 16
- 40,-15
- 132
- {fromName}
- true
- true
+
+ start-use-cases
+ 8
-
- fromMultiView
- true
- 435,288,7,16
- 16
- 20,15
- 1
- 132
- {fromMultiplicity}
- true
- true
+
+ Start
+ 9
-
- toNameView
- true
- false
- 445,319,47,13
- 18
- 40,15
- 132
- {toName}
- true
- true
-
-
- toMultiView
- true
- 435,337,7,16
- 18
- 20,-15
- 1
- 132
- {toMultiplicity}
- true
- true
-
-
- true
- false
- 446,277,15,11
- 21
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {fromQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
-
- true
- false
- 446,354,15,11
- 22
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {toQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
-
- {"model": "jc0ng+UQr0uqOGFNWYls6Q","name": "mongodb:","render": [{"lineWidth": "0","points": "536,373,689,316,","type": "Line"},{"bounds": "580,335,58,16","text": "mongodb:","type": "Text"},{"bounds": "672,329,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
- 536,373,689,316,
-
-
- true
- 580,335,58,16
- 17
- -3,-3
- mongodb:
- 132
- {name}
- true
- true
- uml.onEditAssociationName(view, model, text)
-
-
- true
- false
- 556,311,95,13
- 17
- 0,-30
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- fromNameView
- true
- false
- 539,339,59,13
- 16
- 40,-15
- 132
- {fromName}
- true
- true
-
-
- fromMultiView
- true
- false
- 520,374,81,13
- 16
- 20,15
- 132
- {fromMultiplicity}
- true
- true
-
-
- toNameView
- true
- false
- 623,310,47,13
- 18
- 40,15
- 132
- {toName}
- true
- true
-
-
- toMultiView
- true
- 672,329,7,16
- 18
- 20,-15
- 1
- 132
- {toMultiplicity}
- true
- true
-
-
- true
- false
- 537,368,15,11
- 21
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {fromQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
-
- true
- false
- 674,311,15,11
- 22
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {toQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
-
- {"model": "uXBYfjACfUiDMLEejN+nWw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "215,486,371,432,","type": "Line"},{"bounds": "371,423,16,18","path": ":/images/dummy/arrow.svg","rotate": "709","type": "EdgeEnd"},{"bounds": "238,432,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 215,486,371,432,
-
-
- true
- false
- 270,439,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- 238,432,73,16
- 17
- -12,-24
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- {"model": "58ton5tBSUaDQ59frULkfw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "196,373,371,394,","type": "Line"},{"bounds": "371,385,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2631","type": "EdgeEnd"},{"bounds": "252,346,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 196,373,371,394,
-
-
- true
- false
- 268,363,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- 252,346,73,16
- 17
- 0,-30
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- MongoDB
- 23
-
-
- {"bounds": "979,246,140,80","model": "fUCEV8SyUkiKgOKj6d69ZA","name": "MongoDB","render": [{"bounds": "979,246,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "1019,277,60,16","fontStyle": "2","text": "MongoDB","type": "Text"}],"type": "UMLArtifactView"}
- 979,246,140,80
-
-
- {"model": "msqagNoCsUmfXbUckUzT7Q","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "203,160,371,211,","type": "Line"},{"bounds": "371,202,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2531","type": "EdgeEnd"},{"bounds": "257,160,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 203,160,371,211,
-
-
- true
- false
- 273,166,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- 257,160,73,16
- 17
- 0,-19
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- aas-portal
- web side
- 23
-
-
- {"bounds": "50,216,140,80","model": "P6w27jhd6EePFn9YYQjiIA","name": "aas-portal","render": [{"bounds": "50,216,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "77,239,87,16","text": "<<web side>>","type": "Text"},{"bounds": "86,255,68,16","fontStyle": "2","text": "aas-portal","type": "Text"}],"type": "UMLArtifactView"}
- 50,216,140,80
-
-
- reset
- 7
-
-
- {"bounds": "364,492,80,60","model": "fMw8fPNPm0CDAK2+p2Z5+Q","name": "reset","render": [{"bounds": "389,539,30,13","fontStyle": "2","text": "reset","type": "Text"},{"bounds": "364,494,80,37","path": "shapes/usecase.png","preserveRatio": "true","type": "Image"}],"type": "UMLUseCaseView"}
- 364,492,80,60
-
-
- {"model": "/pd5Y5qx1kioPXexJLKJpg","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "190,433,364,505,","type": "Line"},{"bounds": "364,496,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2475","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 190,433,364,505,
-
-
- true
- false
- 265,449,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- false
- 241,435,95,13
- 17
- 0,-30
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- start-use-cases
- 8
-
-
- Start
- 9
-
-
- {"bounds": "38,46,105,70","model": "45R3d27K5UGa9q3EVdK9Aw","name": "Start","render": [{"bounds": "38,46,105,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "79,84,24,13","text": "Start","type": "Text"}],"type": "UMLPackageView"}
- 38,46,105,70
+
+ {"bounds": "38,46,105,70","model": "45R3d27K5UGa9q3EVdK9Aw","name": "Start","render": [{"bounds": "38,46,105,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "79,84,24,13","text": "Start","type": "Text"}],"type": "UMLPackageView"}
+ 38,46,105,70
AAS
@@ -4120,17 +3640,17 @@
5
- {"bounds": "297,157,107,70","model": "Tu7y1wXKj0+cIDAoE8pQ1A","name": "aas-lib","render": [{"bounds": "297,157,107,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "302,186,97,16","text": "<<workspace>>","type": "Text"},{"bounds": "332,202,38,16","text": "aas-lib","type": "Text"}],"type": "UMLPackageView"}
- 259,101,107,70
+ {"bounds": "297,157,132,70","model": "Tu7y1wXKj0+cIDAoE8pQ1A","name": "aas-lib","render": [{"bounds": "297,157,132,70","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "302,183,122,19","text": "<<workspace>>","type": "Text"},{"bounds": "340,202,46,19","text": "aas-lib","type": "Text"}],"type": "UMLPackageView"}
+ 259,101,132,70
- {"model": "aVxI1VRPlEyASeqjYS2S/A","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "203,191,297,191,","type": "Line"},{"bounds": "297,182,16,18","path": ":/images/dummy/arrow.svg","rotate": "900","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 203,191,297,191,
+ {"model": "aVxI1VRPlEyASeqjYS2S/A","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "228,191,297,191,","type": "Line"},{"bounds": "297,182,16,18","path": ":/images/dummy/arrow.svg","rotate": "900","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 228,191,297,191,
true
false
- 232,170,36,13
+ 245,170,36,13
17
0,-15
132
@@ -4142,7 +3662,7 @@
true
false
- 203,155,95,13
+ 216,155,95,13
17
0,-30
132
@@ -4152,13 +3672,13 @@
uml.onEditStereotype(view, model, text)
- {"model": "p5uV+AtgckSjMHnIRcLbYw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "350,226,350,337,","type": "Line"},{"bounds": "350,328,16,18","path": ":/images/dummy/arrow.svg","rotate": "-1800","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 350,226,350,337,
+ {"model": "p5uV+AtgckSjMHnIRcLbYw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "362,226,362,337,","type": "Line"},{"bounds": "362,328,16,18","path": ":/images/dummy/arrow.svg","rotate": "-1800","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 362,226,362,337,
true
false
- 347,276,36,13
+ 359,276,36,13
17
0,-15
132
@@ -4170,7 +3690,7 @@
true
false
- 333,276,95,13
+ 345,276,95,13
17
0,-30
132
@@ -4190,7 +3710,7 @@
{"fill-color": "255,255,255,255"}
- {"bounds": "38,56,603,385","model": "oUNKi+15okyeKIB7PKKVWA","name": "aasportal","render": [{"bounds": "38,56,603,385","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "298,81,83,16","text": "<<package>>","type": "Text"},{"bounds": "313,97,53,16","text": "aasportal","type": "Text"}],"type": "UMLPackageView"}
+ {"bounds": "38,56,603,385","model": "oUNKi+15okyeKIB7PKKVWA","name": "aasportal","render": [{"bounds": "38,56,603,385","path": "shapes/package.png","preserveRatio": "true","sliceMargin": "35,15,3,20","type": "Image"},{"bounds": "287,81,105,19","text": "<<package>>","type": "Text"},{"bounds": "308,100,64,19","text": "aasportal","type": "Text"}],"type": "UMLPackageView"}
38,56,603,385
@@ -4851,24 +4371,24 @@
aasportal-cloud
- service
+ compose
19
{"fill-color": "255,255,255,255"}
- {"bounds": "689,487,166,80","model": "9R9lfABHQku4VaZOVMJrmw","name": "aasportal-cloud","render": [{"bounds": "689,487,166,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "732,513,76,16","text": "<<service>>","type": "Text"},{"bounds": "719,529,102,16","fontStyle": "2","text": "aasportal-cloud","type": "Text"}],"type": "UMLNodeView"}
- 689,487,166,80
+ {"bounds": "689,531,166,80","model": "9R9lfABHQku4VaZOVMJrmw","name": "aasportal-cloud","render": [{"bounds": "689,531,166,80","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "726,557,87,16","text": "<<compose>>","type": "Text"},{"bounds": "719,573,102,16","fontStyle": "2","text": "aasportal-cloud","type": "Text"}],"type": "UMLNodeView"}
+ 689,531,166,80
- {"model": "jtrRI8DnzEOJH0Ws9TRJSg","name": "http:","render": [{"lineWidth": "0","points": "689,404,536,404,","type": "Line"},{"bounds": "600,411,27,16","text": "http:","type": "Text"},{"bounds": "667,379,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
+ {"model": "jtrRI8DnzEOJH0Ws9TRJSg","name": "","render": [{"lineWidth": "0","points": "689,404,536,404,","type": "Line"},{"bounds": "667,379,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
689,404,536,404,
true
- 600,411,27,16
+ false
+ 596,410,34,19
17
0,-15
- http:
132
{name}
true
@@ -4977,99 +4497,40 @@
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
-
- {"model": "x0WSXqCmsU2F06qK3KNU3Q","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "979,285,854,285,","type": "Line"},{"bounds": "854,276,16,18","path": ":/images/dummy/arrow.svg","rotate": "-900","type": "EdgeEnd"},{"bounds": "889,298,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 979,285,854,285,
-
-
- true
- false
- 899,294,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- 889,298,73,16
- 17
- -8,-21
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- {"model": "NEqycTCW9k2q/kvexvnVpQ","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "189,251,371,241,","type": "Line"},{"bounds": "371,232,16,18","path": ":/images/dummy/arrow.svg","rotate": "868","type": "EdgeEnd"},{"bounds": "242,208,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 189,251,371,241,
-
-
- true
- false
- 261,225,36,13
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- 242,208,73,16
- 17
- 0,-30
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
- MySQL
+ mariadb
+ image
20
- {"bounds": "979,365,140,80","model": "bsotc6VFTEKlYpU4uCYZvQ","name": "MySQL","render": [{"bounds": "979,365,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "1028,396,43,16","fontStyle": "2","text": "MySQL","type": "Text"}],"type": "UMLArtifactView"}
+ {"bounds": "979,365,140,80","model": "bsotc6VFTEKlYpU4uCYZvQ","name": "mariadb","render": [{"bounds": "979,365,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "1014,388,71,16","text": "<<image>>","type": "Text"},{"bounds": "1023,404,52,16","fontStyle": "2","text": "mariadb","type": "Text"}],"type": "UMLArtifactView"}
979,365,140,80
- AAS API Server
+ AAS API
server
21
-
- {"border-color": "237,125,49,255","fill-color": "247,170,137,255","font-color": "0,0,0,255","gradient": false,"shadow": false}
- {"bounds": "279,531,162,75","model": "OjJ8jzkOjkG3ITn0NLKE6A","name": "AAS API Server","render": [{"bounds": "279,531,162,75","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "322,554,72,16","text": "<<server>>","type": "Text"},{"bounds": "306,570,103,16","fontStyle": "2","text": "AAS API Server","type": "Text"}],"type": "UMLNodeView"}
- 279,531,162,75
-
- NextCloud
+ nextcloud
+ image
22
- {"bounds": "979,487,140,80","model": "PDNvFWD7ckK6KJluMdDsfg","name": "NextCloud","render": [{"bounds": "979,487,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "1017,518,64,16","fontStyle": "2","text": "NextCloud","type": "Text"}],"type": "UMLArtifactView"}
- 979,487,140,80
+ {"bounds": "979,531,140,80","model": "PDNvFWD7ckK6KJluMdDsfg","name": "nextcloud","render": [{"bounds": "979,531,140,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "1014,554,71,16","text": "<<image>>","type": "Text"},{"bounds": "1018,570,63,16","fontStyle": "2","text": "nextcloud","type": "Text"}],"type": "UMLArtifactView"}
+ 979,531,140,80
- {"model": "lZsEF3tSCEKLFINc8GzbaQ","name": "http(s): WebDAV","render": [{"lineWidth": "0","points": "689,495,536,436,","type": "Line"},{"bounds": "560,454,96,16","text": "http(s): WebDAV","type": "Text"},{"bounds": "672,493,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
- 689,495,536,436,
+ {"model": "lZsEF3tSCEKLFINc8GzbaQ","name": "","render": [{"lineWidth": "0","points": "696,531,530,444,","type": "Line"},{"bounds": "678,528,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
+ 696,531,530,444,
true
+ false
{"fill-color": "255,255,255,255"}
- 560,454,96,16
+ 550,474,119,19
17
6,2
- http(s): WebDAV
132
{name}
true
@@ -5079,7 +4540,7 @@
true
false
- 555,488,95,13
+ 552,509,95,13
17
0,-30
132
@@ -5092,7 +4553,7 @@
fromNameView
true
false
- 602,487,88,16
+ 610,518,88,16
16
40,-15
132
@@ -5103,7 +4564,7 @@
fromMultiView
true
- 672,493,7,16
+ 678,528,7,16
16
11,-11
1
@@ -5116,7 +4577,7 @@
toNameView
true
false
- 545,458,47,13
+ 535,470,47,13
18
40,15
132
@@ -5128,7 +4589,7 @@
toMultiView
true
false
- 526,423,69,13
+ 521,434,69,13
18
20,-15
132
@@ -5139,7 +4600,7 @@
true
false
- 674,490,15,11
+ 689,520,15,11
21
true
false
@@ -5160,90 +4621,37 @@
true
false
- 537,431,15,11
- 22
- true
- false
- false
- true
- true
-
-
- false
- 0,0,15,11
- 5
- 0
- true
- {toQualifiers}
- uml.updateAttribute(view, model)
- uml.onEditAttribute(view, model, text)
-
-
- {"model": "lCogz1zvtk6ntkQJ+PdDgg","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "979,404,854,404,","type": "Line"},{"bounds": "854,395,16,18","path": ":/images/dummy/arrow.svg","rotate": "-900","type": "EdgeEnd"},{"bounds": "884,418,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 979,404,854,404,
-
-
- true
- false
- 899,411,37,16
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
-
-
- true
- 884,418,73,16
- 17
- -3,-22
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
-
-
- {"model": "Laro1O/aJ06Rit+memdNKA","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "979,526,854,526,","type": "Line"},{"bounds": "854,517,16,18","path": ":/images/dummy/arrow.svg","rotate": "-900","type": "EdgeEnd"},{"bounds": "883,539,73,16","text": "<<deploy>>","type": "Text"}],"type": "UMLDependencyView"}
- 979,526,854,526,
-
-
- true
- false
- 899,533,37,16
- 17
- 0,-15
- 132
- {name}
- true
- true
- uml.onEditName(view, model, text)
+ 523,445,15,11
+ 22
+ true
+ false
+ false
+ true
+ true
-
- true
- 883,539,73,16
- 17
- -2,-21
- <<deploy>>
- 132
- <<{stereotype}>>
- true
- true
- uml.onEditStereotype(view, model, text)
+
+ false
+ 0,0,15,11
+ 5
+ 0
+ true
+ {toQualifiers}
+ uml.updateAttribute(view, model)
+ uml.onEditAttribute(view, model, text)
Comment1
23
+BaSyx
+OPC UA
+WebDAV
+File System]]>
- {"bounds": "153,635,157,67","model": "tbO7QEXmeE2hsNe9+Sg56Q","name": "Comment1","render": [{"bounds": "153,635,157,67","path": "shapes/comment.png","preserveRatio": "true","sliceMargin": "1,14,13,1","type": "Image"},{"bounds": "158,640,74,48","multiline": "true","text": "AASX Server\r\nFAAAST\r\nBaSyx","type": "Text"}],"type": "CommentView"}
- 153,635,157,67
+ {"bounds": "371,655,166,106","model": "tbO7QEXmeE2hsNe9+Sg56Q","name": "Comment1","render": [{"bounds": "371,655,166,106","path": "shapes/comment.png","preserveRatio": "true","sliceMargin": "1,14,13,1","type": "Image"},{"bounds": "376,660,74,96","multiline": "true","text": "AASX Server\nFAAAST\nBaSyx\nOPC UA\nWebDAV\nFile System","type": "Text"}],"type": "CommentView"}
+ 371,655,166,106
Comment2
@@ -5252,12 +4660,12 @@ BaSyx]]>
Static .aasx files]]>
- {"bounds": "707,615,132,50","model": "nvq7J+QtYEWAUdAXIk4UEw","name": "Comment2","render": [{"bounds": "707,615,132,50","path": "shapes/comment.png","preserveRatio": "true","sliceMargin": "1,14,13,1","type": "Image"},{"bounds": "712,620,93,32","multiline": "true","text": "Templates\r\nStatic .aasx files","type": "Text"}],"type": "CommentView"}
- 707,615,132,50
+ {"bounds": "706,665,132,50","model": "nvq7J+QtYEWAUdAXIk4UEw","name": "Comment2","render": [{"bounds": "706,665,132,50","path": "shapes/comment.png","preserveRatio": "true","sliceMargin": "1,14,13,1","type": "Image"},{"bounds": "711,670,93,32","multiline": "true","text": "Templates\r\nStatic .aasx files","type": "Text"}],"type": "CommentView"}
+ 706,665,132,50
- {"model": "QLR5c0b2bEGrNcrGv5U2yw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "772,615,771,566,","type": "Line"}],"type": "AnnotationLinkView"}
- 772,615,771,566,
+ {"model": "QLR5c0b2bEGrNcrGv5U2yw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "771,665,771,610,","type": "Line"}],"type": "AnnotationLinkView"}
+ 771,665,771,610,
UserStorage
@@ -5366,63 +4774,374 @@ Static .aasx files]]>
true
Promise<void>()
-
- userId
- 2
- string
+
+ userId
+ 2
+ string
+
+
+ name
+ 3
+ string
+
+
+ data
+ 4
+ string
+
+
+ deleteCookieAsync
+ 10
+ true
+ Promise<void>()
+
+
+ userId
+ 2
+ string
+
+
+ name
+ 3
+ string
+
+
+ Cookie
+ interface
+ 9
+
+
+ {"bounds": "871,398,120,86","model": "OL/n6TWqW0yc65hKkSdJyA","name": "Cookie","render": [{"bounds": "871,398,120,86","type": "Rect"},{"bounds": "888,403,86,16","text": "<<interface>>","type": "Text"},{"bounds": "910,419,42,16","fontStyle": "2","text": "Cookie","type": "Text"},{"bounds": "871,440,120,22","fillColor": "0,0,0,0","type": "Rect"},{"bounds": "876,443,81,16","text": "+name: string","type": "Text"},{"bounds": "871,462,120,22","fillColor": "0,0,0,0","type": "Rect"},{"bounds": "876,465,84,16","text": "+data: string()","type": "Text"}],"type": "UMLClassView"}
+ 871,398,120,86
+
+
+ name
+ 2
+ string
+
+
+ data: string
+ 3
+
+
+ {"model": "SAXzCwVd0UmO5t0xYfpVJw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "783,487,871,459,","type": "Line"},{"bounds": "871,450,16,18","path": ":/images/dummy/arrow.svg","rotate": "723","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 783,487,871,459,
+
+
+ true
+ false
+ 804,453,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
+
+
+ true
+ false
+ 771,438,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
+
+
+ UserData
+ interface
+ 10
+
+
+ {"bounds": "891,588,125,155","model": "FZ6RIB1zGkKBLJUKLIej/A","name": "UserData","render": [{"bounds": "891,588,125,155","type": "Rect"},{"bounds": "911,593,86,16","text": "<<interface>>","type": "Text"},{"bounds": "924,609,60,16","fontStyle": "2","text": "UserData","type": "Text"},{"bounds": "891,630,125,102","fillColor": "0,0,0,0","type": "Rect"},{"bounds": "896,633,59,16","text": "+id: string","type": "Text"},{"bounds": "896,649,81,16","text": "+name: string","type": "Text"},{"bounds": "896,665,90,16","text": "+role: UserRole","type": "Text"},{"bounds": "896,681,104,16","text": "+password: string","type": "Text"},{"bounds": "896,697,86,16","text": "+created: Date","type": "Text"},{"bounds": "896,713,115,16","text": "+lastLoggedIn: Date","type": "Text"},{"bounds": "891,732,125,11","fillColor": "0,0,0,0","type": "Rect"}],"type": "UMLClassView"}
+ 891,588,125,155
+
+
+ id
+ 2
+ string
+
+
+ name
+ 3
+ string
+
+
+ role
+ 4
+ UserRole
+
+
+ password
+ 5
+ string
+
+
+ created
+ 6
+ Date
+
+
+ lastLoggedIn
+ 7
+ Date
+
+
+ {"model": "trCy/lY2lUeGPcKVpBbO9g","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "783,621,891,649,","type": "Line"},{"bounds": "891,640,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2554","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 783,621,891,649,
+
+
+ true
+ false
+ 823,614,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
+
+
+ true
+ false
+ 798,600,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
+
+
+ OPC UA
+ server
+ 21
+
+
+ {"model": "WRWfN8z9gEuCwxLWSvVdNg","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "854,570,979,570,","type": "Line"},{"bounds": "979,561,16,18","path": ":/images/dummy/arrow.svg","rotate": "900","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 854,570,979,570,
+
+
+ true
+ false
+ 899,549,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
+
+
+ true
+ false
+ 870,534,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
+
+
+ {"model": "Qd7Bp6ZJ/U6es8lzPNec2w","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "836,531,981,444,","type": "Line"},{"bounds": "981,435,16,18","path": ":/images/dummy/arrow.svg","rotate": "590","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 836,531,981,444,
+
+
+ true
+ false
+ 883,469,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
+
+
+ true
+ false
+ 847,456,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
+
+
+ {"model": "+uc/CEucL0eomd1xSKl2Cg","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "854,404,979,404,","type": "Line"},{"bounds": "979,395,16,18","path": ":/images/dummy/arrow.svg","rotate": "900","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 854,404,979,404,
+
+
+ true
+ false
+ 899,383,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
+
+
+ true
+ false
+ 870,368,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
+
+
+ true
+ false
+ 570,315,74,19
+ 17
+ -3,-3
+ 132
+ {name}
+ true
+ true
+ uml.onEditAssociationName(view, model, text)
+
+
+ {"model": "jc0ng+UQr0uqOGFNWYls6Q","name": "","render": [{"lineWidth": "0","points": "531,365,691,285,","type": "Line"},{"bounds": "677,299,7,16","text": "1","type": "Text"}],"type": "UMLAssociationView"}
+ 531,365,691,285,
+
+
+ true
+ false
+ 551,292,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
+
+
+ fromNameView
+ true
+ false
+ 531,328,59,13
+ 16
+ 40,-15
+ 132
+ {fromName}
+ true
+ true
-
- name
- 3
- string
+
+ fromMultiView
+ true
+ false
+ 516,363,81,13
+ 16
+ 20,15
+ 132
+ {fromMultiplicity}
+ true
+ true
-
- data
- 4
- string
+
+ toNameView
+ true
+ false
+ 626,283,47,13
+ 18
+ 40,15
+ 132
+ {toName}
+ true
+ true
-
- deleteCookieAsync
- 10
- true
- Promise<void>()
+
+ toMultiView
+ true
+ 677,299,7,16
+ 18
+ 20,-15
+ 1
+ 132
+ {toMultiplicity}
+ true
+ true
-
- userId
- 2
- string
+
+ true
+ false
+ 524,354,15,11
+ 21
+ true
+ false
+ false
+ true
+ true
-
- name
- 3
- string
+
+ false
+ 0,0,15,11
+ 5
+ 0
+ true
+ {fromQualifiers}
+ uml.updateAttribute(view, model)
+ uml.onEditAttribute(view, model, text)
-
- Cookie
- interface
- 9
+
+ true
+ false
+ 684,286,15,11
+ 22
+ true
+ false
+ false
+ true
+ true
-
- {"bounds": "871,398,120,86","model": "OL/n6TWqW0yc65hKkSdJyA","name": "Cookie","render": [{"bounds": "871,398,120,86","type": "Rect"},{"bounds": "888,403,86,16","text": "<<interface>>","type": "Text"},{"bounds": "910,419,42,16","fontStyle": "2","text": "Cookie","type": "Text"},{"bounds": "871,440,120,22","fillColor": "0,0,0,0","type": "Rect"},{"bounds": "876,443,81,16","text": "+name: string","type": "Text"},{"bounds": "871,462,120,22","fillColor": "0,0,0,0","type": "Rect"},{"bounds": "876,465,84,16","text": "+data: string()","type": "Text"}],"type": "UMLClassView"}
- 871,398,120,86
+
+ false
+ 0,0,15,11
+ 5
+ 0
+ true
+ {toQualifiers}
+ uml.updateAttribute(view, model)
+ uml.onEditAttribute(view, model, text)
-
- name
- 2
- string
+
+ node
+ image
+ 22
-
- data: string
- 3
+
+ {"bounds": "31,341,166,80","model": "ckvf/zId4kq2myLf2pwb4Q","name": "node","render": [{"bounds": "31,341,166,80","path": "shapes/artifact.png","preserveRatio": "true","sliceMargin": "5,22,19,22","type": "Image"},{"bounds": "79,364,71,16","text": "<<image>>","type": "Text"},{"bounds": "98,380,32,16","fontStyle": "2","text": "node","type": "Text"}],"type": "UMLArtifactView"}
+ 31,341,166,80
-
- {"model": "SAXzCwVd0UmO5t0xYfpVJw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "783,487,871,459,","type": "Line"},{"bounds": "871,450,16,18","path": ":/images/dummy/arrow.svg","rotate": "723","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 783,487,871,459,
+
+ {"model": "H9zcH/JA/EmCjH6W87Glxg","name": "","render": [{"lineWidth": "0","points": "113,206,113,136,","type": "Line"},{"bounds": "113,124,17,24","path": ":/images/dummy/arrow_triangle.svg","type": "EdgeEnd"}],"type": "UMLGeneralizationView"}
+ 113,206,113,136,
-
+
true
false
- 804,453,36,13
+ 80,165,36,13
17
0,-15
132
@@ -5431,10 +5150,10 @@ Static .aasx files]]>
true
uml.onEditName(view, model, text)
-
+
true
false
- 771,438,95,13
+ 36,165,95,13
17
0,-30
132
@@ -5443,53 +5162,98 @@ Static .aasx files]]>
true
uml.onEditStereotype(view, model, text)
-
- UserData
- interface
- 10
+
+ {"model": "5U2Nn20CsEK7cvBw+tREhw","name": "","render": [{"lineWidth": "0","points": "113,497,113,420,","type": "Line"},{"bounds": "113,408,17,24","path": ":/images/dummy/arrow_triangle.svg","type": "EdgeEnd"}],"type": "UMLGeneralizationView"}
+ 113,497,113,420,
-
- {"bounds": "891,588,125,155","model": "FZ6RIB1zGkKBLJUKLIej/A","name": "UserData","render": [{"bounds": "891,588,125,155","type": "Rect"},{"bounds": "911,593,86,16","text": "<<interface>>","type": "Text"},{"bounds": "924,609,60,16","fontStyle": "2","text": "UserData","type": "Text"},{"bounds": "891,630,125,102","fillColor": "0,0,0,0","type": "Rect"},{"bounds": "896,633,59,16","text": "+id: string","type": "Text"},{"bounds": "896,649,81,16","text": "+name: string","type": "Text"},{"bounds": "896,665,90,16","text": "+role: UserRole","type": "Text"},{"bounds": "896,681,104,16","text": "+password: string","type": "Text"},{"bounds": "896,697,86,16","text": "+created: Date","type": "Text"},{"bounds": "896,713,115,16","text": "+lastLoggedIn: Date","type": "Text"},{"bounds": "891,732,125,11","fillColor": "0,0,0,0","type": "Rect"}],"type": "UMLClassView"}
- 891,588,125,155
+
+ true
+ false
+ 80,453,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
-
- id
- 2
- string
+
+ true
+ false
+ 36,453,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
-
- name
- 3
- string
+
+ {"model": "yXMi+PlR00qFjHY00lD7Fg","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "854,245,979,245,","type": "Line"},{"bounds": "979,236,16,18","path": ":/images/dummy/arrow.svg","rotate": "900","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 854,245,979,245,
-
- role
- 4
- UserRole
+
+ true
+ false
+ 899,224,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
-
- password
- 5
- string
+
+ true
+ false
+ 870,209,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
-
- created
- 6
- Date
+
+ {"model": "zBVA0AzTv0yjOEjk7X3DSQ","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "371,245,196,245,","type": "Line"},{"bounds": "196,236,16,18","path": ":/images/dummy/arrow.svg","rotate": "-900","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 371,245,196,245,
-
- lastLoggedIn
- 7
- Date
+
+ true
+ false
+ 266,254,36,13
+ 17
+ 0,-15
+ 132
+ {name}
+ true
+ true
+ uml.onEditName(view, model, text)
-
- {"model": "trCy/lY2lUeGPcKVpBbO9g","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "783,621,891,649,","type": "Line"},{"bounds": "891,640,16,18","path": ":/images/dummy/arrow.svg","rotate": "-2554","type": "EdgeEnd"}],"type": "UMLDependencyView"}
- 783,621,891,649,
+
+ true
+ false
+ 237,269,95,13
+ 17
+ 0,-30
+ 132
+ <<{stereotype}>>
+ true
+ true
+ uml.onEditStereotype(view, model, text)
-
+
+ {"model": "+IUU6u4XUkud3TZSihXL1A","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "371,436,196,504,","type": "Line"},{"bounds": "196,495,16,18","path": ":/images/dummy/arrow.svg","rotate": "-1112","type": "EdgeEnd"}],"type": "UMLDependencyView"}
+ 371,436,196,504,
+
+
true
false
- 823,614,36,13
+ 271,478,36,13
17
0,-15
132
@@ -5498,10 +5262,10 @@ Static .aasx files]]>
true
uml.onEditName(view, model, text)
-
+
true
false
- 798,600,95,13
+ 248,492,95,13
17
0,-30
132
@@ -5510,30 +5274,35 @@ Static .aasx files]]>
true
uml.onEditStereotype(view, model, text)
-
- {"model": "hpvaFPo6/kyNmtFvEwOXOQ","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "273,635,312,605,","type": "Line"}],"type": "AnnotationLinkView"}
- 273,635,312,605,
+
+ Device
+ 22
+
+
+ {"fill-color": "170,255,255,255"}
+ {"bounds": "371,56,166,81","model": "ssdT2k63ZkO2U2iIxZhoTw","name": "Device","render": [{"bounds": "371,56,166,81","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "430,90,43,16","fontStyle": "2","text": "Device","type": "Text"}],"type": "UMLNodeView"}
+ 371,56,166,81
-
- {"model": "DlrFj8B2xUyZ1dGbwM9vQQ","name": "http(s): AAS API","render": [{"lineWidth": "0","points": "380,531,430,444,","type": "Line"},{"bounds": "342,484,94,16","text": "http(s): AAS API","type": "Text"},{"bounds": "372,506,8,16","text": "*","type": "Text"}],"type": "UMLAssociationView"}
- 380,531,430,444,
+
+ {"model": "nojpWWV0+kmOB6Z1t/o+gA","name": "","render": [{"lineWidth": "0","points": "453,136,453,206,","type": "Line"},{"bounds": "434,148,8,16","text": "*","type": "Text"}],"type": "UMLAssociationView"}
+ 453,136,453,206,
-
+
true
- 342,484,94,16
+ false
+ 450,165,36,13
17
- -12,-12
- http(s): AAS API
+ 0,-15
132
{name}
true
true
uml.onEditAssociationName(view, model, text)
-
+
true
false
- 332,467,95,13
+ 436,165,95,13
17
0,-30
132
@@ -5542,11 +5311,11 @@ Static .aasx files]]>
true
uml.onEditStereotype(view, model, text)
-
+
fromNameView
true
false
- 358,483,59,13
+ 439,170,59,13
16
40,-15
132
@@ -5554,23 +5323,23 @@ Static .aasx files]]>
true
true
-
+
fromMultiView
true
- 372,506,8,16
+ 434,148,8,16
16
- 13,-12
+ 20,15
*
132
{fromMultiplicity}
true
true
-
+
toNameView
true
false
- 374,465,47,13
+ 445,160,47,13
18
40,15
132
@@ -5578,11 +5347,11 @@ Static .aasx files]]>
true
true
-
+
toMultiView
true
false
- 399,463,69,13
+ 404,180,69,13
18
20,-15
132
@@ -5590,10 +5359,10 @@ Static .aasx files]]>
true
true
-
+
true
false
- 373,520,15,11
+ 446,137,15,11
21
true
false
@@ -5601,7 +5370,7 @@ Static .aasx files]]>
true
true
-
+
false
0,0,15,11
5
@@ -5611,10 +5380,10 @@ Static .aasx files]]>
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
-
+
true
false
- 423,445,15,11
+ 446,195,15,11
22
true
false
@@ -5622,7 +5391,7 @@ Static .aasx files]]>
true
true
-
+
false
0,0,15,11
5
@@ -5632,37 +5401,35 @@ Static .aasx files]]>
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
-
- OPC UA Server
- server
- 21
+
+ Endpoint
+ 23
-
- {"fill-color": "255,170,127,255"}
- {"bounds": "466,531,156,75","model": "onN3uYmb9U2OYr0QPXyz8A","name": "OPC UA Server","render": [{"bounds": "466,531,156,75","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "506,554,72,16","text": "<<server>>","type": "Text"},{"bounds": "494,570,95,16","fontStyle": "2","text": "OPC UA Server","type": "Text"}],"type": "UMLNodeView"}
- 466,531,156,75
+
+ {"fill-color": "170,255,255,255"}
+ {"bounds": "371,527,166,84","model": "03ABCyCVSkyMxXYsdF6XVA","name": "Endpoint","render": [{"bounds": "371,527,166,84","path": "shapes/node.png","preserveRatio": "true","sliceMargin": "28,22,29,22","type": "Image"},{"bounds": "424,563,56,16","fontStyle": "2","text": "Endpoint","type": "Text"}],"type": "UMLNodeView"}
+ 371,527,166,84
-
- {"model": "vnwck2Aj+U69t5z9b9nB5A","name": "opc.tcp:","render": [{"lineWidth": "0","points": "475,444,523,531,","type": "Line"},{"bounds": "475,472,46,16","text": "opc.tcp:","type": "Text"},{"bounds": "496,513,8,16","text": "*","type": "Text"}],"type": "UMLAssociationView"}
- 475,444,523,531,
+
+ {"model": "jxWfKWQcZ0iIVAEVUCD7HQ","name": "","render": [{"lineWidth": "0","points": "453,444,453,527,","type": "Line"},{"bounds": "434,499,8,16","text": "*","type": "Text"}],"type": "UMLAssociationView"}
+ 453,444,453,527,
-
+
true
- {"fill-color": "255,255,255,255"}
- 475,472,46,16
+ false
+ 450,480,36,13
17
- -8,-3
- opc.tcp:
+ 0,-15
132
{name}
true
true
uml.onEditAssociationName(view, model, text)
-
+
true
false
- 478,468,95,13
+ 436,480,95,13
17
0,-30
132
@@ -5671,11 +5438,11 @@ Static .aasx files]]>
true
uml.onEditStereotype(view, model, text)
-
+
fromNameView
true
false
- 478,466,59,13
+ 439,478,59,13
16
40,-15
132
@@ -5683,11 +5450,11 @@ Static .aasx files]]>
true
true
-
+
fromMultiView
true
false
- 432,463,81,13
+ 398,458,81,13
16
20,15
132
@@ -5695,11 +5462,11 @@ Static .aasx files]]>
true
true
-
+
toNameView
true
false
- 494,483,47,13
+ 445,481,47,13
18
40,15
132
@@ -5707,10 +5474,10 @@ Static .aasx files]]>
true
true
-
+
toMultiView
true
- 496,513,8,16
+ 434,499,8,16
18
20,-15
*
@@ -5719,10 +5486,10 @@ Static .aasx files]]>
true
true
-
+
true
false
- 468,445,15,11
+ 446,445,15,11
21
true
false
@@ -5730,7 +5497,7 @@ Static .aasx files]]>
true
true
-
+
false
0,0,15,11
5
@@ -5740,10 +5507,10 @@ Static .aasx files]]>
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
-
+
true
false
- 516,520,15,11
+ 446,516,15,11
22
true
false
@@ -5751,7 +5518,7 @@ Static .aasx files]]>
true
true
-
+
false
0,0,15,11
5
@@ -5761,39 +5528,24 @@ Static .aasx files]]>
uml.updateAttribute(view, model)
uml.onEditAttribute(view, model, text)
+
+ {"model": "nQXu2MZ4bEW51iMg7auViw","name": "","render": [{"lineStyle": "2","lineWidth": "0","points": "453,655,453,610,","type": "Line"}],"type": "AnnotationLinkView"}
+ 453,655,453,610,
+
extend
-
- *
- l
- 1
-
1
http://localhost:1337/api/…
1
-
- *
- ws://.../websocket
- 1
-
1
1
-
- *
- http://.../web-aas.html
- 1
-
-
- *
- 1
-
1
1
@@ -5814,52 +5566,40 @@ Static .aasx files]]>
1
- mongodb:
1
deploy
-
- deploy
-
deploy
deploy
-
- deploy
-
+ content
0...1
- http:
1
-
- deploy
-
- http(s): AAS API
+ http(s):
*
- http(s): WebDAV
1
-
- deploy
-
-
- deploy
-
opc.tcp:
*
+
+ *
+
+
+ *
+
diff --git a/create-jwt.js b/create-jwt.js
index 83879219..c45451bb 100644
--- a/create-jwt.js
+++ b/create-jwt.js
@@ -1,9 +1,13 @@
import jwt from 'jsonwebtoken';
-const token = jwt.sign({
- id: 'john.doe@email.com',
- name: 'John Doe',
- role: 'editor'
-}, 'The quick brown fox jumps over the lazy dog.');
+const token = jwt.sign(
+ {
+ id: 'john.doe@email.com',
+ name: 'John Doe',
+ role: 'editor',
+ },
+ 'The quick brown fox jumps over the lazy dog.',
+);
-console.log(token);
\ No newline at end of file
+// eslint-disable-next-line no-undef
+console.log(token);
diff --git a/docs/source/images/aas-portal-project.png b/docs/source/images/aas-portal-project.png
index 82de54e3..0765002c 100644
Binary files a/docs/source/images/aas-portal-project.png and b/docs/source/images/aas-portal-project.png differ
diff --git a/docs/source/images/main.png b/docs/source/images/main.png
index 7f148d92..ea425405 100644
Binary files a/docs/source/images/main.png and b/docs/source/images/main.png differ
diff --git a/init-mongo.js b/init-mongo.js
index d5d0e379..8cace334 100644
--- a/init-mongo.js
+++ b/init-mongo.js
@@ -4,7 +4,7 @@ db.createUser({
roles: [
{
role: 'readWrite',
- db: 'aasportal-users'
- }
- ]
-})
\ No newline at end of file
+ db: 'aasportal-users',
+ },
+ ],
+});
diff --git a/projects/aas-server/src/app/variable.ts b/projects/aas-server/src/app/variable.ts
index b1729dbf..202867e9 100644
--- a/projects/aas-server/src/app/variable.ts
+++ b/projects/aas-server/src/app/variable.ts
@@ -28,6 +28,7 @@ export class Variable {
this.SCAN_CONTAINER_TIMEOUT = process.env.SCAN_CONTAINER_TIMEOUT ? Number(process.env.TIMEOUT) : 5000;
this.HTTPS_CERT_FILE = process.env.HTTPS_CERT_FILE;
this.HTTPS_KEY_FILE = process.env.HTTPS_KEY_FILE;
+ this.HTTPS_PFX_FILE = process.env.HTTPS_PFX_FILE;
this.AAS_EXPIRES_IN = process.env.AAS_EXPIRES_IN ? Number(process.env.AAS_EXPIRES_IN) : 86400000;
this.AAS_INDEX = process.env.AAS_INDEX;
this.AAS_SERVER_USERNAME = process.env.AAS_SERVER_USERNAME ?? 'aas-server';
@@ -73,10 +74,10 @@ export class Variable {
/** The URLs of the initial AAS container endpoints. */
public readonly ENDPOINTS: string[];
- /** */
+ /** The time before a new endpoint scan starts.*/
public readonly SCAN_CONTAINER_TIMEOUT: number;
- /** */
+ /** The time before a new template scan starts. */
public readonly SCAN_TEMPLATES_TIMEOUT: number;
/** The key file if AASServer supports HTTPS. */
@@ -85,15 +86,18 @@ export class Variable {
/** The certificate file if AASServer supports HTTPS. */
public readonly HTTPS_CERT_FILE?: string;
+ /** The pfx file if AASServer supports HTTPS. */
+ public readonly HTTPS_PFX_FILE?: string;
+
/** The validity period of an AAS in milliseconds. */
public readonly AAS_EXPIRES_IN: number;
/** The AASIndex realization. */
public readonly AAS_INDEX?: string;
- /** ToDo */
+ /** The user name of AASServer (default: aas-server) */
public readonly AAS_SERVER_USERNAME: string;
- /** ToDo */
+ /** The root password. */
public readonly AAS_SERVER_PASSWORD: string;
}
diff --git a/projects/aas-server/src/app/ws-server.ts b/projects/aas-server/src/app/ws-server.ts
index 40706e82..0bafbdda 100644
--- a/projects/aas-server/src/app/ws-server.ts
+++ b/projects/aas-server/src/app/ws-server.ts
@@ -38,6 +38,11 @@ export class WSServer extends EventEmitter {
key: fs.readFileSync(this.variable.HTTPS_KEY_FILE),
cert: fs.readFileSync(this.variable.HTTPS_CERT_FILE),
});
+ } else if (this.variable.HTTPS_PFX_FILE) {
+ this.server = https.createServer({
+ pfx: fs.readFileSync(this.variable.HTTPS_PFX_FILE),
+ passphrase: this.variable.AAS_SERVER_PASSWORD,
+ });
} else {
this.server = http.createServer();
}