Bug 560583 - [Robotics] Enhance documentation of clientServer and publishSubscribe

. Add additional comments to models
  [largely contributed by Christophe Aussagues]

Change-Id: I21af51090d558154ae6761261d6824af01220293
Signed-off-by: Ansgar Radermacher <ansgar.radermacher@cea.fr>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.notation b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.notation
index 21ffec8..7fd7bbf 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.notation
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.notation
@@ -611,6 +611,102 @@
         <element xsi:nil="true"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dzKfslSYEeqhv5h1N5QVsQ" x="100" y="100"/>
       </children>
+      <children xmi:type="notation:Shape" xmi:id="_DD-BEF0bEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DD-BEV0bEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DD-BE10bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DD-BEl0bEeqenIMm5aFGvw" x="434" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_DEC5ol0bEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DEC5o10bEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEC5pV0bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DEC5pF0bEeqenIMm5aFGvw" x="274" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_DEJnQF0bEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DEJnQV0bEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEJnQ10bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_Fv2rwHq2EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DEJnQl0bEeqenIMm5aFGvw" x="332" y="45"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_DEPt4F0bEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DEPt4V0bEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEPt410bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DEPt4l0bEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_R_mKgGleEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_R_mKgWleEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_mKg2leEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R_mKgmleEeqpTYpcVMd_9w" x="434" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_R_rqFGleEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_R_rqFWleEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_rqF2leEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R_rqFmleEeqpTYpcVMd_9w" x="274" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_R_y-0GleEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_R_y-0WleEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_y-02leEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_Fv2rwHq2EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R_y-0mleEeqpTYpcVMd_9w" x="332" y="45"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_R_6TkGleEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_R_6TkWleEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_6Tk2leEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R_6TkmleEeqpTYpcVMd_9w" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_3nqkwGluEeq9VoG4bmf8Zg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3nqkwWluEeq9VoG4bmf8Zg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3nqkw2luEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3nqkwmluEeq9VoG4bmf8Zg" x="434" y="20"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_3n080GluEeq9VoG4bmf8Zg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3n080WluEeq9VoG4bmf8Zg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3n0802luEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3n080mluEeq9VoG4bmf8Zg" x="274" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_3oBKEGluEeq9VoG4bmf8Zg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3oBKEWluEeq9VoG4bmf8Zg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3oBxIGluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_Fv2rwHq2EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3oBKEmluEeq9VoG4bmf8Zg" x="332" y="45"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_3oPMgGluEeq9VoG4bmf8Zg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_3oPMgWluEeq9VoG4bmf8Zg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3oPMg2luEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3oPMgmluEeq9VoG4bmf8Zg" x="100" y="100"/>
+      </children>
       <styles xmi:type="notation:TitleStyle" xmi:id="_dtWRBNAREemsvtLt7dgtCQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dtWRBdAREemsvtLt7dgtCQ"/>
     </children>
@@ -663,7 +759,7 @@
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gyNJIdAREemsvtLt7dgtCQ" x="471" y="215"/>
     </children>
     <element xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dtVp8dAREemsvtLt7dgtCQ" x="100" y="60" width="361" height="281"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dtVp8dAREemsvtLt7dgtCQ" x="40" y="60" width="361" height="281"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_sORKePV5EemIj9SnfMX-0g" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_sORKefV5EemIj9SnfMX-0g"/>
@@ -1017,6 +1113,59 @@
     <element xsi:nil="true"/>
     <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dzRNYlSYEeqhv5h1N5QVsQ" x="671" y="215"/>
   </children>
+  <children xmi:type="notation:Shape" xmi:id="_DD4hil0bEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_DD4hi10bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DD4hjV0bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DD4hjF0bEeqenIMm5aFGvw" x="300" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_DEXpsF0bEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_DEXpsV0bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEXps10bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DEXpsl0bEeqenIMm5aFGvw" x="671" y="215"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_ETK_IF0bEeqenIMm5aFGvw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ETQesF0bEeqenIMm5aFGvw" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="addClient.compdef.uml#_ETCcQF0bEeqenIMm5aFGvw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ETK_IV0bEeqenIMm5aFGvw" x="520" y="100" width="445" height="293"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_R_gD4GleEeqpTYpcVMd_9w" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_R_gD4WleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_gD42leEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R_gD4mleEeqpTYpcVMd_9w" x="300" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_SADdgGleEeqpTYpcVMd_9w" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_SADdgWleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SADdg2leEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SADdgmleEeqpTYpcVMd_9w" x="671" y="215"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3nWbsGluEeq9VoG4bmf8Zg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_3nWbsWluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3nY38GluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3nWbsmluEeq9VoG4bmf8Zg" x="240" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3qMUUGluEeq9VoG4bmf8Zg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_3qMUUWluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3qMUU2luEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3qMUUmluEeq9VoG4bmf8Zg" x="671" y="215"/>
+  </children>
   <styles xmi:type="notation:StringValueStyle" xmi:id="_TcGqsdAREemsvtLt7dgtCQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_TcGqstAREemsvtLt7dgtCQ"/>
   <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_TcGqs9AREemsvtLt7dgtCQ" diagramKindId="org.eclipse.papyrus.robotics.diagram.component">
@@ -1252,7 +1401,7 @@
     </children>
     <styles xmi:type="notation:FontStyle" xmi:id="_LE1p0QbwEeq69tbfZET3mw"/>
     <element xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LE1p0gbwEeq69tbfZET3mw" points="[261, 310, -643984, -643984]$[261, 351, -643984, -643984]"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LE1p0gbwEeq69tbfZET3mw" points="[201, 310, -643984, -643984]$[201, 351, -643984, -643984]"/>
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7X_hEBdDEeqJn_3DRENqqA" id="(0.5,0.5)"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_798t0BdDEeqJn_3DRENqqA" id="(0.5,0.5)"/>
   </edges>
@@ -1926,4 +2075,191 @@
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dzRNZ1SYEeqhv5h1N5QVsQ"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dzRNaFSYEeqhv5h1N5QVsQ"/>
   </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DD4hjl0bEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_dtVp8NAREemsvtLt7dgtCQ" target="_DD4hil0bEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DD4hj10bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DD4hk10bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DD4hkF0bEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DD4hkV0bEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DD4hkl0bEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DD-BFF0bEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_NgzeIPWmEemhCpo2nwBldA" target="_DD-BEF0bEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DD-BFV0bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DD-BGV0bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DD-BFl0bEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DD-BF10bEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DD-BGF0bEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DEC5pl0bEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_T7IdQPWmEemhCpo2nwBldA" target="_DEC5ol0bEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DEC5p10bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEC5q10bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DEC5qF0bEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEC5qV0bEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEC5ql0bEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DEJnRF0bEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_ZBhvUPWmEemhCpo2nwBldA" target="_DEJnQF0bEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DEJnRV0bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEJnSV0bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_Fv2rwHq2EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DEJnRl0bEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEJnR10bEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEJnSF0bEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DEPt5F0bEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_LE1p0AbwEeq69tbfZET3mw" target="_DEPt4F0bEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DEPt5V0bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEPt6V0bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DEPt5l0bEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEPt510bEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEPt6F0bEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DEXptF0bEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_gyNJINAREemsvtLt7dgtCQ" target="_DEXpsF0bEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DEXptV0bEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DEXpuV0bEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DEXptl0bEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEXpt10bEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DEXpuF0bEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_GzlGYF0bEeqenIMm5aFGvw" type="Comment_AnnotatedElementEdge" source="_ETK_IF0bEeqenIMm5aFGvw" target="_dtVp8NAREemsvtLt7dgtCQ">
+    <styles xmi:type="notation:FontStyle" xmi:id="_GzlGYV0bEeqenIMm5aFGvw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GzlGYl0bEeqenIMm5aFGvw" points="[620, 200, -643984, -643984]$[461, 200, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G5HGoF0bEeqenIMm5aFGvw" id="(0.0,0.20202020202020202)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_G5HGoV0bEeqenIMm5aFGvw" id="(1.0,0.35587188612099646)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R_gD5GleEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_dtVp8NAREemsvtLt7dgtCQ" target="_R_gD4GleEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_R_gD5WleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_gD6WleEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_gD5mleEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_gD52leEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_gD6GleEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R_mKhGleEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_NgzeIPWmEemhCpo2nwBldA" target="_R_mKgGleEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_R_mKhWleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_mKiWleEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_mKhmleEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_mKh2leEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_mKiGleEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R_rqGGleEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_T7IdQPWmEemhCpo2nwBldA" target="_R_rqFGleEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_R_rqGWleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_rqHWleEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_rqGmleEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_rqG2leEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_rqHGleEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R_y-1GleEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_ZBhvUPWmEemhCpo2nwBldA" target="_R_y-0GleEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_R_y-1WleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_y-2WleEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_Fv2rwHq2EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_y-1mleEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_y-12leEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_y-2GleEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R_6TlGleEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_LE1p0AbwEeq69tbfZET3mw" target="_R_6TkGleEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_R_6TlWleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R_6TmWleEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R_6TlmleEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_6Tl2leEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R_6TmGleEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_SADdhGleEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_gyNJINAREemsvtLt7dgtCQ" target="_SADdgGleEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_SADdhWleEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_SADdiWleEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SADdhmleEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SADdh2leEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SADdiGleEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3nZfAGluEeq9VoG4bmf8Zg" type="StereotypeCommentLink" source="_dtVp8NAREemsvtLt7dgtCQ" target="_3nWbsGluEeq9VoG4bmf8Zg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3nZfAWluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3naGEGluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3nZfAmluEeq9VoG4bmf8Zg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3nZfA2luEeq9VoG4bmf8Zg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3nZfBGluEeq9VoG4bmf8Zg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3nqkxGluEeq9VoG4bmf8Zg" type="StereotypeCommentLink" source="_NgzeIPWmEemhCpo2nwBldA" target="_3nqkwGluEeq9VoG4bmf8Zg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3nqkxWluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3nqkyWluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3nqkxmluEeq9VoG4bmf8Zg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3nqkx2luEeq9VoG4bmf8Zg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3nqkyGluEeq9VoG4bmf8Zg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3n081GluEeq9VoG4bmf8Zg" type="StereotypeCommentLink" source="_T7IdQPWmEemhCpo2nwBldA" target="_3n080GluEeq9VoG4bmf8Zg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3n081WluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3n082WluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addClient.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3n081mluEeq9VoG4bmf8Zg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3n0812luEeq9VoG4bmf8Zg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3n082GluEeq9VoG4bmf8Zg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3oBxIWluEeq9VoG4bmf8Zg" type="StereotypeCommentLink" source="_ZBhvUPWmEemhCpo2nwBldA" target="_3oBKEGluEeq9VoG4bmf8Zg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3oBxImluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3oBxJmluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_Fv2rwHq2EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3oBxI2luEeq9VoG4bmf8Zg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3oBxJGluEeq9VoG4bmf8Zg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3oBxJWluEeq9VoG4bmf8Zg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3oPMhGluEeq9VoG4bmf8Zg" type="StereotypeCommentLink" source="_LE1p0AbwEeq69tbfZET3mw" target="_3oPMgGluEeq9VoG4bmf8Zg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3oPMhWluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3oPMiWluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="addClient.compdef.uml#_LCWWgAbwEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3oPMhmluEeq9VoG4bmf8Zg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3oPMh2luEeq9VoG4bmf8Zg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3oPMiGluEeq9VoG4bmf8Zg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3qMUVGluEeq9VoG4bmf8Zg" type="StereotypeCommentLink" source="_gyNJINAREemsvtLt7dgtCQ" target="_3qMUUGluEeq9VoG4bmf8Zg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_3qMUVWluEeq9VoG4bmf8Zg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3qMUWWluEeq9VoG4bmf8Zg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3qMUVmluEeq9VoG4bmf8Zg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3qMUV2luEeq9VoG4bmf8Zg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3qMUWGluEeq9VoG4bmf8Zg"/>
+  </edges>
 </notation:Diagram>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.uml b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.uml
index c3d9acc..24db4d0 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.uml
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addClient.compdef.uml
@@ -1,6 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:robotics.components="http://www.eclipse.org/papyrus/robotics/components/1" xmlns:robotics.functions="http://www.eclipse.org/papyrus/robotics/functions/1" xmlns:robotics.generics="http://www.eclipse.org/papyrus/robotics/generics/1" xmlns:robotics.parameters="http://www.eclipse.org/papyrus/robotics/parameters/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/robotics/components/1 http://www.eclipse.org/papyrus/robotics/1#//components http://www.eclipse.org/papyrus/robotics/functions/1 http://www.eclipse.org/papyrus/robotics/1#//functions http://www.eclipse.org/papyrus/robotics/generics/1 http://www.eclipse.org/papyrus/robotics/1#//generics http://www.eclipse.org/papyrus/robotics/parameters/1 http://www.eclipse.org/papyrus/robotics/1#//parameters">
   <uml:Model xmi:id="_6nSQsEfEEeiwO_ETU0BG9A" name="addClientCompdef">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_ETCcQF0bEeqenIMm5aFGvw" annotatedElement="_6nSQsEfEEeiwO_ETU0BG9A">
+      <body>This component models a client that adds 2 integers and receives a reply with their sum.
+It has an empty set of parameters.
+It has a port named useAdd that requires a service named &quot;AddServiceDef&quot; defined in the simple servicedef model. This model appears as loaded model in the model explorer, but not in your workspace.
+The component is mapped to a ROS2 lifecycle node and needs to be activated before it starts operating. The component has an activity that gets called when the component is activated (e.g by sending a lifecycle configure/activate request via the ros2 command line tool.)
+The function fCallAdd defines the request as a (x,y) structure and sends the request via the useAdd port in 2 possible ways:
+- in a asynchronous non-blocking way (no callback function) and next by checking to its reply after 5s;
+- by defining a callback function that it'll execute when the reply will be received.
+In both cases, the function displays the received result (or an error if the reply was not received in time).</body>
+    </ownedComment>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_lwxc0ExOEei_Sui04GqxlQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_LaOOAJcvEeeV0-Lu2yLOjA"/>
     </packageImport>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.notation b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.notation
index 4ee160d..36aacac 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.notation
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.notation
@@ -59,7 +59,7 @@
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M88Gp_WnEemhCpo2nwBldA"/>
         </children>
         <element xmi:type="uml:Class" href="addServer.compdef.uml#_M63DAPWnEemhCpo2nwBldA"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M88GofWnEemhCpo2nwBldA" x="297" y="37" width="81" height="61"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M88GofWnEemhCpo2nwBldA" x="257" y="37" width="81" height="61"/>
       </children>
       <children xmi:type="notation:Shape" xmi:id="_JeQWDPcrEemFHJyXjMCtkw" type="StereotypeComment">
         <styles xmi:type="notation:TitleStyle" xmi:id="_JeQWDfcrEemFHJyXjMCtkw"/>
@@ -401,6 +401,38 @@
         <element xsi:nil="true"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_54juck9FEeqXWvXL2H1_yw" x="497" y="37"/>
       </children>
+      <children xmi:type="notation:Shape" xmi:id="_44RsXF0eEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_44RsXV0eEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44RsX10eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addServer.compdef.uml#_kdCx0Hq2EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_44RsXl0eEeqenIMm5aFGvw" x="297" y="17"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_44Wk0F0eEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_44Wk0V0eEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44Wk010eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="addServer.compdef.uml#_m-pL4Hq2EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_44Wk0l0eEeqenIMm5aFGvw" x="190" y="10"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_44bdUF0eEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_44bdUV0eEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44bdU10eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="addServer.compdef.uml#_-ifjkAbvEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_44bdUl0eEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_44fuwF0eEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_44fuwV0eEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44fuw10eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="addServer.compdef.uml#_M63DAPWnEemhCpo2nwBldA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_44fuwl0eEeqenIMm5aFGvw" x="497" y="37"/>
+      </children>
       <styles xmi:type="notation:TitleStyle" xmi:id="_q5X7htATEemsvtLt7dgtCQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q5X7h9ATEemsvtLt7dgtCQ"/>
     </children>
@@ -436,7 +468,7 @@
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s0ar4dATEemsvtLt7dgtCQ" x="-10" y="66"/>
     </children>
     <element xmi:type="uml:Class" href="addServer.compdef.uml#_3m3NQHq0EeikT4nAmbXssQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q5X7gdATEemsvtLt7dgtCQ" x="97" y="63" width="424" height="218"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q5X7gdATEemsvtLt7dgtCQ" x="97" y="63" width="384" height="258"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_fyyTcPV0EemSEqXywHKEEA" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_fyyTcfV0EemSEqXywHKEEA"/>
@@ -569,7 +601,7 @@
   <children xmi:type="notation:Shape" xmi:id="_jT828BFpEeq9S-Gi7Vl9nA" type="Comment_Shape">
     <children xmi:type="notation:DecorationNode" xmi:id="_jT-sIBFpEeq9S-Gi7Vl9nA" type="Comment_BodyLabel"/>
     <element xmi:type="uml:Comment" href="addServer.compdef.uml#_jQ_pkBFpEeq9S-Gi7Vl9nA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jT828RFpEeq9S-Gi7Vl9nA" x="640" y="60" width="201" height="121"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jT828RFpEeq9S-Gi7Vl9nA" x="600" y="80" width="381" height="221"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_9bSFIBJ6Eeq7AfcjUe--Hw" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_9bSFIRJ6Eeq7AfcjUe--Hw"/>
@@ -683,6 +715,22 @@
     <element xsi:nil="true"/>
     <layoutConstraint xmi:type="notation:Bounds" xmi:id="_56hdUk9FEeqXWvXL2H1_yw" x="190" y="66"/>
   </children>
+  <children xmi:type="notation:Shape" xmi:id="_44OB-l0eEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_44OB-10eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44OB_V0eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addServer.compdef.uml#_3m3NQHq0EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_44OB_F0eEeqenIMm5aFGvw" x="297" y="63"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_44l1YF0eEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_44l1YV0eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44l1Y10eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addServer.compdef.uml#_4jVckHq0EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_44l1Yl0eEeqenIMm5aFGvw" x="190" y="66"/>
+  </children>
   <styles xmi:type="notation:StringValueStyle" xmi:id="_mUFLYdATEemsvtLt7dgtCQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_mUFLYtATEemsvtLt7dgtCQ"/>
   <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_mUFLY9ATEemsvtLt7dgtCQ" diagramKindId="org.eclipse.papyrus.robotics.diagram.component">
@@ -1477,4 +1525,71 @@
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_56hdV09FEeqXWvXL2H1_yw"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_56hdWE9FEeqXWvXL2H1_yw"/>
   </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_44OB_l0eEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_q5X7gNATEemsvtLt7dgtCQ" target="_44OB-l0eEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_44OB_10eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44OCA10eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addServer.compdef.uml#_3m3NQHq0EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44OCAF0eEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44OCAV0eEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44OCAl0eEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_44RsYF0eEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_-7lrwPWmEemhCpo2nwBldA" target="_44RsXF0eEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_44RsYV0eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44RsZV0eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addServer.compdef.uml#_kdCx0Hq2EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44RsYl0eEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44RsY10eEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44RsZF0eEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_44Wk1F0eEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_DK8BEPWnEemhCpo2nwBldA" target="_44Wk0F0eEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_44Wk1V0eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44Wk2V0eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addServer.compdef.uml#_m-pL4Hq2EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44Wk1l0eEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44Wk110eEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44Wk2F0eEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_44bdVF0eEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_-j540AbvEeq69tbfZET3mw" target="_44bdUF0eEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_44bdVV0eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44bdWV0eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="addServer.compdef.uml#_-ifjkAbvEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44bdVl0eEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44bdV10eEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44bdWF0eEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_44fuxF0eEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_M88GoPWnEemhCpo2nwBldA" target="_44fuwF0eEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_44fuxV0eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44fuyV0eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="addServer.compdef.uml#_M63DAPWnEemhCpo2nwBldA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44fuxl0eEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44fux10eEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44fuyF0eEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_44l1ZF0eEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_s0ar4NATEemsvtLt7dgtCQ" target="_44l1YF0eEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_44l1ZV0eEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_44l1aV0eEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="addServer.compdef.uml#_4jVckHq0EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_44l1Zl0eEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44l1Z10eEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_44l1aF0eEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_LaK6MF0fEeqenIMm5aFGvw" type="Comment_AnnotatedElementEdge" source="_jT828BFpEeq9S-Gi7Vl9nA" target="_q5X7gNATEemsvtLt7dgtCQ">
+    <styles xmi:type="notation:FontStyle" xmi:id="_LaK6MV0fEeqenIMm5aFGvw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LaK6Ml0fEeqenIMm5aFGvw" points="[600, 220, -643984, -643984]$[481, 220, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Len8YF0fEeqenIMm5aFGvw" id="(0.0,0.6334841628959276)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Len8YV0fEeqenIMm5aFGvw" id="(1.0,0.6085271317829457)"/>
+  </edges>
 </notation:Diagram>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.uml b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.uml
index ba8e1f6..22d4764 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.uml
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/components/addServer.compdef.uml
@@ -1,8 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:robotics.components="http://www.eclipse.org/papyrus/robotics/components/1" xmlns:robotics.functions="http://www.eclipse.org/papyrus/robotics/functions/1" xmlns:robotics.generics="http://www.eclipse.org/papyrus/robotics/generics/1" xmlns:robotics.parameters="http://www.eclipse.org/papyrus/robotics/parameters/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/robotics/components/1 http://www.eclipse.org/papyrus/robotics/1#//components http://www.eclipse.org/papyrus/robotics/functions/1 http://www.eclipse.org/papyrus/robotics/1#//functions http://www.eclipse.org/papyrus/robotics/generics/1 http://www.eclipse.org/papyrus/robotics/1#//generics http://www.eclipse.org/papyrus/robotics/parameters/1 http://www.eclipse.org/papyrus/robotics/1#//parameters">
   <uml:Model xmi:id="_6nSQsEfEEeiwO_ETU0BG9A" name="addServerCompdef">
-    <ownedComment xmi:type="uml:Comment" xmi:id="_jQ_pkBFpEeq9S-Gi7Vl9nA">
-      <body>Component to test Query pattern, i.e. ROS2 client/service</body>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_jQ_pkBFpEeq9S-Gi7Vl9nA" annotatedElement="_3m3NQHq0EeikT4nAmbXssQ">
+      <body>This component models a server that receives and adds 2 integers by request.
+It has an empty set of parameters.
+It has a port named addSvc of type &quot;CS for addSvc&quot; that provides a service named &quot;AddServiceDef&quot; defined in the simple.servicedef model.
+It has an activity that is activated via the addSvc port and triggers the C++ function fAdder.
+The function fAdder takes the request that is a (x,y) structure, sums x and y and sends the response to the client.
+The function displays the computed result.</body>
     </ownedComment>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_lwxc0ExOEei_Sui04GqxlQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_LaOOAJcvEeeV0-Lu2yLOjA"/>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.notation b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.notation
index 3b1754a..29ded80 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.notation
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.notation
@@ -306,11 +306,91 @@
         <element xsi:nil="true"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dbzzMldXEeqCrvhnTNhxfQ" x="190" y="30"/>
       </children>
+      <children xmi:type="notation:Shape" xmi:id="_M04kxl0fEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_M04kx10fEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M04kyV0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M04kyF0fEeqenIMm5aFGvw" x="254" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M0-rUF0fEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_M0-rUV0fEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M0-rU10fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0-rUl0fEeqenIMm5aFGvw" x="385" y="31"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M1C8wF0fEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_M1C8wV0fEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1C8w10fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="clientserver.system.uml#_ztFegBd9EeqBA6LleTzcOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1C8wl0fEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M1GAJF0fEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_M1GAJV0fEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1GAJ10fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1GAJl0fEeqenIMm5aFGvw" x="614" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M1LfoF0fEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_M1LfoV0fEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1Lfo10fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/addServer.compdef.uml#_4jVckHq0EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1Lfol0fEeqenIMm5aFGvw" x="190" y="30"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_epOIBmlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_epOIB2lfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epOICWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epOICGlfEeqpTYpcVMd_9w" x="254" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_epbjYGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_epbjYWlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epbjY2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epbjYmlfEeqpTYpcVMd_9w" x="385" y="31"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_epi4IGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_epi4IWlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epi4I2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="clientserver.system.uml#_ztFegBd9EeqBA6LleTzcOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epi4ImlfEeqpTYpcVMd_9w" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_epmilGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_epmilWlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epmil2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epmilmlfEeqpTYpcVMd_9w" x="614" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_epzW0GlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_epzW0WlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epzW02lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/addServer.compdef.uml#_4jVckHq0EeikT4nAmbXssQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epzW0mlfEeqpTYpcVMd_9w" x="190" y="30"/>
+      </children>
       <styles xmi:type="notation:TitleStyle" xmi:id="_WLIPlhdIEeqyMYRxepXoOA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WLIPlxdIEeqyMYRxepXoOA"/>
     </children>
     <element xmi:type="uml:Class" href="clientserver.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WLIPmBdIEeqyMYRxepXoOA" x="40" y="40" width="681" height="281"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WLIPmBdIEeqyMYRxepXoOA" x="40" y="40" width="681" height="201"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_WLIPmRdIEeqyMYRxepXoOA" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_WLIPmhdIEeqyMYRxepXoOA"/>
@@ -400,6 +480,27 @@
     <element xsi:nil="true"/>
     <layoutConstraint xmi:type="notation:Bounds" xmi:id="_daTXUldXEeqCrvhnTNhxfQ" x="240" y="40"/>
   </children>
+  <children xmi:type="notation:Shape" xmi:id="_M02Ic10fEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_M02IdF0fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M02Idl0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="clientserver.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M02IdV0fEeqenIMm5aFGvw" x="240" y="40"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Y61p4F0fEeqenIMm5aFGvw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Y61p4l0fEeqenIMm5aFGvw" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="clientserver.system.uml#_Y398EF0fEeqenIMm5aFGvw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y61p4V0fEeqenIMm5aFGvw" x="40" y="300" width="681" height="181"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_epIocGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_epIocWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epKdoGlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="clientserver.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_epIocmlfEeqpTYpcVMd_9w" x="240" y="40"/>
+  </children>
   <styles xmi:type="notation:StringValueStyle" xmi:id="_WLIPoRdIEeqyMYRxepXoOA" name="diagram_compatibility_version" stringValue="1.4.0"/>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_WLIPohdIEeqyMYRxepXoOA"/>
   <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_WLIPoxdIEeqyMYRxepXoOA" diagramKindId="org.eclipse.papyrus.robotics.diagram.assembly">
@@ -854,4 +955,131 @@
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dbzzN1dXEeqCrvhnTNhxfQ"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dbzzOFdXEeqCrvhnTNhxfQ"/>
   </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M02Id10fEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_WLIPkRdIEeqyMYRxepXoOA" target="_M02Ic10fEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_M02IeF0fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M02IfF0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="clientserver.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M02IeV0fEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M02Iel0fEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M02Ie10fEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M04kyl0fEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_N9nwsBdKEeqyMYRxepXoOA" target="_M04kxl0fEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_M04ky10fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M04kz10fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M04kzF0fEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M04kzV0fEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M04kzl0fEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M0-rVF0fEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_fbENEBdMEeqyMYRxepXoOA" target="_M0-rUF0fEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_M0-rVV0fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M0-rWV0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M0-rVl0fEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M0-rV10fEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M0-rWF0fEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M1C8xF0fEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_zyXnIBd9EeqBA6LleTzcOA" target="_M1C8wF0fEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_M1C8xV0fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1Dj0l0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="clientserver.system.uml#_ztFegBd9EeqBA6LleTzcOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M1C8xl0fEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1Dj0F0fEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1Dj0V0fEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M1GAKF0fEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_RfHhgBdKEeqyMYRxepXoOA" target="_M1GAJF0fEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_M1GAKV0fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1GALV0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M1GAKl0fEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1GAK10fEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1GALF0fEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M1LfpF0fEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_g1KMgBdMEeqyMYRxepXoOA" target="_M1LfoF0fEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_M1LfpV0fEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_M1LfqV0fEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/addServer.compdef.uml#_4jVckHq0EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M1Lfpl0fEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1Lfp10fEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_M1LfqF0fEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z9HmQF0fEeqenIMm5aFGvw" type="Comment_AnnotatedElementEdge" source="_Y61p4F0fEeqenIMm5aFGvw" target="_WLIPkRdIEeqyMYRxepXoOA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z9HmQV0fEeqenIMm5aFGvw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z9HmQl0fEeqenIMm5aFGvw" points="[380, 320, -643984, -643984]$[380, 241, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aBhlIF0fEeqenIMm5aFGvw" id="(0.49926578560939794,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aBhlIV0fEeqenIMm5aFGvw" id="(0.49926578560939794,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_epKdoWlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_WLIPkRdIEeqyMYRxepXoOA" target="_epIocGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_epKdomlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epKdpmlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="clientserver.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epKdo2lfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epKdpGlfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epKdpWlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_epOICmlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_N9nwsBdKEeqyMYRxepXoOA" target="_epOIBmlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_epOIC2lfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epOID2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epOIDGlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epOIDWlfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epOIDmlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_epbjZGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_fbENEBdMEeqyMYRxepXoOA" target="_epbjYGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_epbjZWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epbjaWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/addClient.compdef.uml#_6SlXMHq1EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epbjZmlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epbjZ2lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epbjaGlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_epi4JGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_zyXnIBd9EeqBA6LleTzcOA" target="_epi4IGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_epi4JWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epi4KWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="clientserver.system.uml#_ztFegBd9EeqBA6LleTzcOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epi4JmlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epi4J2lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epi4KGlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_epmimGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_RfHhgBdKEeqyMYRxepXoOA" target="_epmilGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_epmimWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epnJkmlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="clientserver.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epmimmlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epnJkGlfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epnJkWlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_epzW1GlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_g1KMgBdMEeqyMYRxepXoOA" target="_epzW0GlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_epzW1WlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_epzW2WlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/addServer.compdef.uml#_4jVckHq0EeikT4nAmbXssQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_epzW1mlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epzW12lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_epzW2GlfEeqpTYpcVMd_9w"/>
+  </edges>
 </notation:Diagram>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.uml b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.uml
index dd60117..bbd0372 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.uml
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/clientServer/models/system/clientserver.system.uml
@@ -14,6 +14,15 @@
       <importedPackage xmi:type="uml:Model" href="../components/addServer.compdef.uml#_6nSQsEfEEeiwO_ETU0BG9A"/>
     </packageImport>
     <packagedElement xmi:type="uml:Class" xmi:id="_WLBh4xdIEeqyMYRxepXoOA" name="ClientServer">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_Y398EF0fEeqenIMm5aFGvw" annotatedElement="_WLBh4xdIEeqyMYRxepXoOA">
+        <body>This system is composed of 2 components (a client and a server) that communicate via the client-server protocol. It defines:
+- the addClient component that sends 2 integers to the addServer component
+- the addServer component that sums them and replies back with the integer result to the addClient component
+- the connector between the addClient's AddRequest port and the addServer's SumReply port
+The addClient component type is modeled by the AddClient type in the addclient.compdef model
+The addServer component type is modeled by the AddServer type in the addserver.compdef model.
+The client-server protocol exchanges the communication objects defined in the simple service definition model, which is loaded into the model explorer, but not into your workspace.</body>
+      </ownedComment>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_Kji2gBdKEeqyMYRxepXoOA" name="client">
         <type xmi:type="uml:Class" href="../components/addClient.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
       </ownedAttribute>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.notation b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.notation
index f81ea92..c0493c2 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.notation
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.notation
@@ -100,6 +100,30 @@
             <element xsi:nil="true"/>
             <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsZ_8kthEeqZneQLUxZ02Q" x="234"/>
           </children>
+          <children xmi:type="notation:Shape" xmi:id="_cA18FV0gEeqenIMm5aFGvw" type="StereotypeComment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_cA18Fl0gEeqenIMm5aFGvw"/>
+            <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cA18GF0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+              <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_MAGsEAoNEeq2kcvPXHB4lg"/>
+            </styles>
+            <element xsi:nil="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cA18F10gEeqenIMm5aFGvw" x="234"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_eieKcGL2EeqrCKpgcKFVdA" type="StereotypeComment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_eiexgGL2EeqrCKpgcKFVdA"/>
+            <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eiexgmL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+              <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_MAGsEAoNEeq2kcvPXHB4lg"/>
+            </styles>
+            <element xsi:nil="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eiexgWL2EeqrCKpgcKFVdA" x="234"/>
+          </children>
+          <children xmi:type="notation:Shape" xmi:id="_72ossGnIEeq2Kssrz1fHHg" type="StereotypeComment">
+            <styles xmi:type="notation:TitleStyle" xmi:id="_72ossWnIEeq2Kssrz1fHHg"/>
+            <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72oss2nIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+              <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_MAGsEAoNEeq2kcvPXHB4lg"/>
+            </styles>
+            <element xsi:nil="true"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_72ossmnIEeq2Kssrz1fHHg" x="234"/>
+          </children>
           <styles xmi:type="notation:TitleStyle" xmi:id="_DVUhkfWmEemhCpo2nwBldA"/>
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DVUhkvWmEemhCpo2nwBldA"/>
         </children>
@@ -603,6 +627,102 @@
         <element xsi:nil="true"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsyackthEeqZneQLUxZ02Q" x="100" y="100"/>
       </children>
+      <children xmi:type="notation:Shape" xmi:id="_cAunUF0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cAunUV0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cAunU10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_ZKz0sEfWEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cAunUl0gEeqenIMm5aFGvw" x="416" y="21"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_cAxqvF0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cAxqvV0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cAxqv10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_nunn8EfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cAxqvl0gEeqenIMm5aFGvw" x="296" y="121"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_cA5mcF0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cA5mcV0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cA5mc10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_r1joIEfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cA5mcl0gEeqenIMm5aFGvw" x="297" y="51"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_cA-e8F0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_cA-e8V0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cA-e810gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="periodicPublisher.compdef.uml#_59P2wAbvEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cA-e8l0gEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_eiHlIGL2EeqrCKpgcKFVdA" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eiHlIWL2EeqrCKpgcKFVdA"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eiHlI2L2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_ZKz0sEfWEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eiHlImL2EeqrCKpgcKFVdA" x="416" y="21"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_eiR9MmL2EeqrCKpgcKFVdA" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eiR9M2L2EeqrCKpgcKFVdA"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eiR9NWL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_nunn8EfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eiR9NGL2EeqrCKpgcKFVdA" x="296" y="121"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_eirl0GL2EeqrCKpgcKFVdA" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_eirl0WL2EeqrCKpgcKFVdA"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eirl02L2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_r1joIEfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eirl0mL2EeqrCKpgcKFVdA" x="297" y="51"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_ei7dcGL2EeqrCKpgcKFVdA" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_ei7dcWL2EeqrCKpgcKFVdA"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ei8EgGL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="periodicPublisher.compdef.uml#_59P2wAbvEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ei7dcmL2EeqrCKpgcKFVdA" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_72SHYGnIEeq2Kssrz1fHHg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_72SHYWnIEeq2Kssrz1fHHg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72SHY2nIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_ZKz0sEfWEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_72SHYmnIEeq2Kssrz1fHHg" x="416" y="21"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_72cfdmnIEeq2Kssrz1fHHg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_72cfd2nIEeq2Kssrz1fHHg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72cfeWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_nunn8EfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_72cfeGnIEeq2Kssrz1fHHg" x="296" y="121"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_72058GnIEeq2Kssrz1fHHg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_72058WnIEeq2Kssrz1fHHg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_720582nIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_r1joIEfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_72058mnIEeq2Kssrz1fHHg" x="297" y="51"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_73ExkGnIEeq2Kssrz1fHHg" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_73ExkWnIEeq2Kssrz1fHHg"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_73Exk2nIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="periodicPublisher.compdef.uml#_59P2wAbvEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_73ExkmnIEeq2Kssrz1fHHg" x="100" y="100"/>
+      </children>
       <styles xmi:type="notation:TitleStyle" xmi:id="_HfR249ASEemsvtLt7dgtCQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HfR25NASEemsvtLt7dgtCQ"/>
     </children>
@@ -819,7 +939,7 @@
   <children xmi:type="notation:Shape" xmi:id="_0lvH0BFpEeq9S-Gi7Vl9nA" type="Comment_Shape">
     <children xmi:type="notation:DecorationNode" xmi:id="_0lvu4BFpEeq9S-Gi7Vl9nA" type="Comment_BodyLabel"/>
     <element xmi:type="uml:Comment" href="periodicPublisher.compdef.uml#_0lrdcBFpEeq9S-Gi7Vl9nA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0lvH0RFpEeq9S-Gi7Vl9nA" x="520" y="60" width="341"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0lvH0RFpEeq9S-Gi7Vl9nA" x="550" y="62" width="475" height="199"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_UlLQVhdGEeqyMYRxepXoOA" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_UlLQVxdGEeqyMYRxepXoOA"/>
@@ -933,6 +1053,54 @@
     <element xsi:nil="true"/>
     <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xu2P8kthEeqZneQLUxZ02Q" x="573" y="211"/>
   </children>
+  <children xmi:type="notation:Shape" xmi:id="_cAq9Dl0gEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_cAq9D10gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cAq9EV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cAq9EF0gEeqenIMm5aFGvw" x="298" y="59"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_cBElkF0gEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_cBElkV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cBElk10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_cBElkl0gEeqenIMm5aFGvw" x="573" y="211"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_ehy1AGL2EeqrCKpgcKFVdA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_ehy1AWL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eh1RQGL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ehy1AmL2EeqrCKpgcKFVdA" x="298" y="59"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_elXGYGL2EeqrCKpgcKFVdA" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_elXGYWL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_elXGY2L2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elXGYmL2EeqrCKpgcKFVdA" x="573" y="211"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_71-lYGnIEeq2Kssrz1fHHg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_71-lYWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72BBoGnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_71-lYmnIEeq2Kssrz1fHHg" x="298" y="59"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_75YesGnIEeq2Kssrz1fHHg" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_75YesWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_75Yes2nIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_75YesmnIEeq2Kssrz1fHHg" x="573" y="211"/>
+  </children>
   <styles xmi:type="notation:StringValueStyle" xmi:id="_80NbUdAREemsvtLt7dgtCQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_80NbUtAREemsvtLt7dgtCQ"/>
   <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_80NbU9AREemsvtLt7dgtCQ" diagramKindId="org.eclipse.papyrus.robotics.diagram.component">
@@ -2032,4 +2200,221 @@
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xu2P90thEeqZneQLUxZ02Q"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xu2P-EthEeqZneQLUxZ02Q"/>
   </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cAq9El0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_HfQowNASEemsvtLt7dgtCQ" target="_cAq9Dl0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cAq9E10gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cAq9F10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cAq9FF0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cAq9FV0gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cAq9Fl0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cAunVF0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_9z6HcPWlEemhCpo2nwBldA" target="_cAunUF0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cAunVV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cAunWV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_ZKz0sEfWEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cAunVl0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cAunV10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cAunWF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cAxqwF0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_DVTTcPWmEemhCpo2nwBldA" target="_cAxqvF0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cAxqwV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cAxqxV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_nunn8EfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cAxqwl0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cAxqw10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cAxqxF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cA18GV0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_MEcZgAoNEeq2kcvPXHB4lg" target="_cA18FV0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cA18Gl0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cA18Hl0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_MAGsEAoNEeq2kcvPXHB4lg"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cA18G10gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cA18HF0gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cA18HV0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cA5mdF0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_xlzWYPWmEemhCpo2nwBldA" target="_cA5mcF0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cA5mdV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cA5meV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_r1joIEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cA5mdl0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cA5md10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cA5meF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cA-e9F0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_5-t2YAbvEeq69tbfZET3mw" target="_cA-e8F0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cA-e9V0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cA_GAV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="periodicPublisher.compdef.uml#_59P2wAbvEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cA-e9l0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cA-e910gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cA_GAF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_cBEllF0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_JbY-QNASEemsvtLt7dgtCQ" target="_cBElkF0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_cBEllV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_cBElmV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cBElll0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cBEll10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cBElmF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_hu-jkF0gEeqenIMm5aFGvw" type="Comment_AnnotatedElementEdge" source="_0lvH0BFpEeq9S-Gi7Vl9nA" target="_HfQowNASEemsvtLt7dgtCQ">
+    <styles xmi:type="notation:FontStyle" xmi:id="_hu-jkV0gEeqenIMm5aFGvw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hu-jkl0gEeqenIMm5aFGvw" points="[560, 140, -643984, -643984]$[481, 140, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h0QsMF0gEeqenIMm5aFGvw" id="(0.0,0.39195979899497485)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_h0QsMV0gEeqenIMm5aFGvw" id="(1.0,0.2682119205298013)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_eh14UGL2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_HfQowNASEemsvtLt7dgtCQ" target="_ehy1AGL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_eh14UWL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eh14VWL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eh14UmL2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eh14U2L2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eh14VGL2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_eiHlJGL2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_9z6HcPWlEemhCpo2nwBldA" target="_eiHlIGL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_eiHlJWL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eiHlKWL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_ZKz0sEfWEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eiHlJmL2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eiHlJ2L2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eiHlKGL2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_eiR9NmL2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_DVTTcPWmEemhCpo2nwBldA" target="_eiR9MmL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_eiR9N2L2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eiR9O2L2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_nunn8EfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eiR9OGL2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eiR9OWL2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eiR9OmL2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_eiexg2L2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_MEcZgAoNEeq2kcvPXHB4lg" target="_eieKcGL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_eiexhGL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eiexiGL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_MAGsEAoNEeq2kcvPXHB4lg"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eiexhWL2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eiexhmL2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eiexh2L2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_eirl1GL2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_xlzWYPWmEemhCpo2nwBldA" target="_eirl0GL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_eirl1WL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eirl2WL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_r1joIEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eirl1mL2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eirl12L2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eirl2GL2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ei8EgWL2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_5-t2YAbvEeq69tbfZET3mw" target="_ei7dcGL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_ei8EgmL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ei8EhmL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="periodicPublisher.compdef.uml#_59P2wAbvEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ei8Eg2L2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ei8EhGL2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ei8EhWL2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_elXGZGL2EeqrCKpgcKFVdA" type="StereotypeCommentLink" source="_JbY-QNASEemsvtLt7dgtCQ" target="_elXGYGL2EeqrCKpgcKFVdA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_elXGZWL2EeqrCKpgcKFVdA"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_elXtcGL2EeqrCKpgcKFVdA" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_elXGZmL2EeqrCKpgcKFVdA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_elXGZ2L2EeqrCKpgcKFVdA"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_elXGaGL2EeqrCKpgcKFVdA"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_72BosGnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_HfQowNASEemsvtLt7dgtCQ" target="_71-lYGnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_72BosWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72BotWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_72BosmnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72Bos2nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72BotGnIEeq2Kssrz1fHHg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_72SHZGnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_9z6HcPWlEemhCpo2nwBldA" target="_72SHYGnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_72SHZWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72SHaWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_ZKz0sEfWEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_72SHZmnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72SHZ2nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72SHaGnIEeq2Kssrz1fHHg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_72dGgGnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_DVTTcPWmEemhCpo2nwBldA" target="_72cfdmnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_72dGgWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72dGhWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_nunn8EfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_72dGgmnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72dGg2nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72dGhGnIEeq2Kssrz1fHHg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_72ostGnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_MEcZgAoNEeq2kcvPXHB4lg" target="_72ossGnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_72ostWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_72osuWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="periodicPublisher.compdef.uml#_MAGsEAoNEeq2kcvPXHB4lg"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_72ostmnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72ost2nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_72osuGnIEeq2Kssrz1fHHg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_72059GnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_xlzWYPWmEemhCpo2nwBldA" target="_72058GnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_72059WnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7205-WnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_r1joIEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_72059mnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_720592nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7205-GnIEeq2Kssrz1fHHg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_73ExlGnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_5-t2YAbvEeq69tbfZET3mw" target="_73ExkGnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_73ExlWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_73ExmWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="periodicPublisher.compdef.uml#_59P2wAbvEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_73ExlmnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_73Exl2nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_73ExmGnIEeq2Kssrz1fHHg"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_75ZFwGnIEeq2Kssrz1fHHg" type="StereotypeCommentLink" source="_JbY-QNASEemsvtLt7dgtCQ" target="_75YesGnIEeq2Kssrz1fHHg">
+    <styles xmi:type="notation:FontStyle" xmi:id="_75ZFwWnIEeq2Kssrz1fHHg"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_75ZFxWnIEeq2Kssrz1fHHg" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_75ZFwmnIEeq2Kssrz1fHHg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_75ZFw2nIEeq2Kssrz1fHHg"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_75ZFxGnIEeq2Kssrz1fHHg"/>
+  </edges>
 </notation:Diagram>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.uml b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.uml
index b9103d0..651ade6 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.uml
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/periodicPublisher.compdef.uml
@@ -1,8 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:robotics.components="http://www.eclipse.org/papyrus/robotics/components/1" xmlns:robotics.functions="http://www.eclipse.org/papyrus/robotics/functions/1" xmlns:robotics.generics="http://www.eclipse.org/papyrus/robotics/generics/1" xmlns:robotics.parameters="http://www.eclipse.org/papyrus/robotics/parameters/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/robotics/components/1 http://www.eclipse.org/papyrus/robotics/1#//components http://www.eclipse.org/papyrus/robotics/functions/1 http://www.eclipse.org/papyrus/robotics/1#//functions http://www.eclipse.org/papyrus/robotics/generics/1 http://www.eclipse.org/papyrus/robotics/1#//generics http://www.eclipse.org/papyrus/robotics/parameters/1 http://www.eclipse.org/papyrus/robotics/1#//parameters">
   <uml:Model xmi:id="_6nSQsEfEEeiwO_ETU0BG9A" name="periodicPublisherCompdef">
-    <ownedComment xmi:type="uml:Comment" xmi:id="_0lrdcBFpEeq9S-Gi7Vl9nA">
-      <body>Component to test Push pattern, i.e. ROS2 messages. Also test periodic activation</body>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_0lrdcBFpEeq9S-Gi7Vl9nA" annotatedElement="_VZylsEfMEeiuVfmPqBuUBA">
+      <body>This component models a publisher that is activated periodically.
+It has a set of 2 parameters: a boolean parameter &quot;indoor&quot; (true by default) and an integer &quot;noOfScans&quot; (equal to 5 by default)
+It has a port named pMap that provides a service named &quot;MappingSdef&quot; defined in the simple service definition model.
+It has an activity containing a periodic timer with a &quot;period length&quot; set to 250ms. It references the function fPublishing. This function is tagged (kind attribute) as &quot;periodic&quot;, implying that the timer will call this function periodically. The invocation of the fPublishing function publishes (i.e. pushes) its map data (defined in the simple service definition model).
+Like all RobMoSys components, this component is mapped to a ROS2 lifecycle node and needs to be activated before it starts operating.</body>
     </ownedComment>
     <packageImport xmi:type="uml:PackageImport" xmi:id="_lwxc0ExOEei_Sui04GqxlQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_LaOOAJcvEeeV0-Lu2yLOjA"/>
@@ -39,7 +43,7 @@
         </ownedAttribute>
       </nestedClassifier>
       <nestedClassifier xmi:type="uml:Class" xmi:id="_bnnZ4EfMEeiuVfmPqBuUBA" name="AcmeMapCS">
-        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_PLmCQPV1EemSEqXywHKEEA" client="_bnnZ4EfMEeiuVfmPqBuUBA">
+        <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_AEP8oGnJEeq2Kssrz1fHHg" client="_bnnZ4EfMEeiuVfmPqBuUBA">
           <supplier xmi:type="uml:Interface" href="pathmap://ROS2_TESTMODELS/simple/models/services/simple.servicedef.uml#_gA3kAEfKEeiuVfmPqBuUBA"/>
           <contract xmi:type="uml:Interface" href="pathmap://ROS2_TESTMODELS/simple/models/services/simple.servicedef.uml#_gA3kAEfKEeiuVfmPqBuUBA"/>
         </interfaceRealization>
@@ -124,12 +128,6 @@
       </eAnnotations>
       <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9FdqwA-MEdyLh7muGbCqMw"/>
     </profileApplication>
-    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_QpoCUEfMEeiuVfmPqBuUBA">
-      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QpopYEfMEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
-        <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
-      </eAnnotations>
-      <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
-    </profileApplication>
     <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_I4cKUEoDEeie-dKbx_4wnA">
       <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I442QEoDEeie-dKbx_4wnA" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//generics"/>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.notation b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.notation
index b0b79f0..11891e9 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.notation
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.notation
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_TcGqsNAREemsvtLt7dgtCQ" type="CompositeStructure" name="ROSplanner diagram" measurementUnit="Pixel">
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_TcGqsNAREemsvtLt7dgtCQ" type="CompositeStructure" name="Subscriber diagram" measurementUnit="Pixel">
   <children xmi:type="notation:Shape" xmi:id="_dtVp8NAREemsvtLt7dgtCQ" type="Class_Shape">
     <children xmi:type="notation:DecorationNode" xmi:id="_dtWRANAREemsvtLt7dgtCQ" type="Class_NameLabel"/>
     <children xmi:type="notation:DecorationNode" xmi:id="_dtWRAdAREemsvtLt7dgtCQ" type="Class_FloatingNameLabel">
@@ -16,7 +16,7 @@
           <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ng1TVPWmEemhCpo2nwBldA"/>
         </children>
         <element xmi:type="uml:Class" href="subscriber.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NgzeIfWmEemhCpo2nwBldA" x="334" y="40" width="101" height="61"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NgzeIfWmEemhCpo2nwBldA" x="294" y="40" width="101" height="61"/>
       </children>
       <children xmi:type="notation:Shape" xmi:id="_T7IdQPWmEemhCpo2nwBldA" type="Class_Shape_CN">
         <children xmi:type="notation:DecorationNode" xmi:id="_T7JEUPWmEemhCpo2nwBldA" type="Class_NameLabel_CN"/>
@@ -494,6 +494,70 @@
         <element xsi:nil="true"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MZ3nskhaEeq2jor_1-T6mA" x="100" y="100"/>
       </children>
+      <children xmi:type="notation:Shape" xmi:id="_MxrmEF0nEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MxrmEV0nEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_MxrmE10nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MxrmEl0nEeqenIMm5aFGvw" x="534" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_MxupfF0nEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_MxupfV0nEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mxupf10nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mxupfl0nEeqenIMm5aFGvw" x="314" y="140"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Mxy60F0nEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Mxy60V0nEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mxy6010nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_FKrUkHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mxy60l0nEeqenIMm5aFGvw" x="190" y="30"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Mx3MQF0nEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_Mx3MQV0nEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mx3MQ10nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="subscriber.compdef.uml#_JvmVMAbwEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mx3MQl0nEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6xxHGWlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6xxHGmlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6xxHHGlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6xxHG2lfEeqpTYpcVMd_9w" x="494" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6x1YgmlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6x1Yg2lfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6x1YhWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6x1YhGlfEeqpTYpcVMd_9w" x="314" y="140"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6x64EGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6x64EWlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6x64E2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_FKrUkHX0EeirHb2XH36K_A"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6x64EmlfEeqpTYpcVMd_9w" x="190" y="30"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_6yAXoGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_6yAXoWlfEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6yAXo2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="subscriber.compdef.uml#_JvmVMAbwEeq69tbfZET3mw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6yAXomlfEeqpTYpcVMd_9w" x="100" y="100"/>
+      </children>
       <styles xmi:type="notation:TitleStyle" xmi:id="_dtWRBNAREemsvtLt7dgtCQ"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dtWRBdAREemsvtLt7dgtCQ"/>
     </children>
@@ -546,7 +610,7 @@
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gyMiEdAREemsvtLt7dgtCQ" x="-10" y="210"/>
     </children>
     <element xmi:type="uml:Class" href="subscriber.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dtVp8dAREemsvtLt7dgtCQ" x="100" y="60" width="481" height="301"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dtVp8dAREemsvtLt7dgtCQ" x="80" y="60" width="441" height="301"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_sORKePV5EemIj9SnfMX-0g" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_sORKefV5EemIj9SnfMX-0g"/>
@@ -836,6 +900,43 @@
     <element xsi:nil="true"/>
     <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MaB_wkhaEeq2jor_1-T6mA" x="190" y="210"/>
   </children>
+  <children xmi:type="notation:Shape" xmi:id="_Mxn7zl0nEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Mxn7z10nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mxn70V0nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mxn70F0nEeqenIMm5aFGvw" x="300" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Mx7dsF0nEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_Mx7dsV0nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mx7ds10nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_ED_GgEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Mx7dsl0nEeqenIMm5aFGvw" x="190" y="210"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_R8bMoF0nEeqenIMm5aFGvw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_R8bzsF0nEeqenIMm5aFGvw" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="subscriber.compdef.uml#_R8Z-gF0nEeqenIMm5aFGvw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R8bMoV0nEeqenIMm5aFGvw" x="620" y="80" width="421" height="241"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6xs1rGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_6xs1rWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6xs1r2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6xs1rmlfEeqpTYpcVMd_9w" x="280" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_6yI6gGlfEeqpTYpcVMd_9w" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_6yI6gWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6yI6g2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_ED_GgEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6yI6gmlfEeqpTYpcVMd_9w" x="190" y="210"/>
+  </children>
   <styles xmi:type="notation:StringValueStyle" xmi:id="_TcGqsdAREemsvtLt7dgtCQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_TcGqstAREemsvtLt7dgtCQ"/>
   <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_TcGqs9AREemsvtLt7dgtCQ" diagramKindId="org.eclipse.papyrus.robotics.diagram.component">
@@ -1067,7 +1168,7 @@
     </children>
     <styles xmi:type="notation:FontStyle" xmi:id="_JyLIEQbwEeq69tbfZET3mw"/>
     <element xmi:type="uml:Connector" href="subscriber.compdef.uml#_JvmVMAbwEeq69tbfZET3mw"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JyLIEgbwEeq69tbfZET3mw" points="[210, 279, -643984, -643984]$[110, 278, -643984, -643984]"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JyLIEgbwEeq69tbfZET3mw" points="[190, 279, -643984, -643984]$[90, 278, -643984, -643984]"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J5ScsAbwEeq69tbfZET3mw" id="(0.9,0.45)"/>
   </edges>
   <edges xmi:type="notation:Connector" xmi:id="_J2hclwbwEeq69tbfZET3mw" type="StereotypeCommentLink" source="_JyLIEAbwEeq69tbfZET3mw">
@@ -1510,4 +1611,131 @@
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaB_x0haEeq2jor_1-T6mA"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MaB_yEhaEeq2jor_1-T6mA"/>
   </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Mxn70l0nEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_dtVp8NAREemsvtLt7dgtCQ" target="_Mxn7zl0nEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Mxn7010nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mxn7110nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mxn71F0nEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mxn71V0nEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mxn71l0nEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_MxrmFF0nEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_NgzeIPWmEemhCpo2nwBldA" target="_MxrmEF0nEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_MxrmFV0nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_MxrmGV0nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MxrmFl0nEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MxrmF10nEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MxrmGF0nEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_MxupgF0nEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_T7IdQPWmEemhCpo2nwBldA" target="_MxupfF0nEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_MxupgV0nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_MxuphV0nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mxupgl0nEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mxupg10nEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MxuphF0nEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Mxy61F0nEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_YI6sUPWmEemhCpo2nwBldA" target="_Mxy60F0nEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Mxy61V0nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mxzh4l0nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_FKrUkHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mxy61l0nEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mxzh4F0nEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mxzh4V0nEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Mx3MRF0nEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_JyLIEAbwEeq69tbfZET3mw" target="_Mx3MQF0nEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Mx3MRV0nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mx3MSV0nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="subscriber.compdef.uml#_JvmVMAbwEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mx3MRl0nEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mx3MR10nEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mx3MSF0nEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Mx7dtF0nEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_gyMiENAREemsvtLt7dgtCQ" target="_Mx7dsF0nEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_Mx7dtV0nEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Mx7duV0nEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_ED_GgEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mx7dtl0nEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mx7dt10nEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mx7duF0nEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_UTXO0F0nEeqenIMm5aFGvw" type="Comment_AnnotatedElementEdge" source="_R8bMoF0nEeqenIMm5aFGvw" target="_dtVp8NAREemsvtLt7dgtCQ">
+    <styles xmi:type="notation:FontStyle" xmi:id="_UTXO0V0nEeqenIMm5aFGvw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UTXO0l0nEeqenIMm5aFGvw" points="[660, 260, -643984, -643984]$[541, 260, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UYCTcF0nEeqenIMm5aFGvw" id="(0.0,0.7468879668049793)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UYCTcV0nEeqenIMm5aFGvw" id="(1.0,0.6644518272425249)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6xs1sGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_dtVp8NAREemsvtLt7dgtCQ" target="_6xs1rGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6xs1sWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6xs1tWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_-9MoUEiFEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6xs1smlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6xs1s2lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6xs1tGlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6xxHHWlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_NgzeIPWmEemhCpo2nwBldA" target="_6xxHGWlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6xxHHmlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6xxHImlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_kiyUIEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6xxHH2lfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6xxHIGlfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6xxHIWlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6x1YhmlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_T7IdQPWmEemhCpo2nwBldA" target="_6x1YgmlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6x1Yh2lfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6x1Yi2lfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="subscriber.compdef.uml#_DNyKEHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6x1YiGlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6x1YiWlfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6x1YimlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6x64FGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_YI6sUPWmEemhCpo2nwBldA" target="_6x64EGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6x64FWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6x64GWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_FKrUkHX0EeirHb2XH36K_A"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6x64FmlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6x64F2lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6x64GGlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6yAXpGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_JyLIEAbwEeq69tbfZET3mw" target="_6yAXoGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6yAXpWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6yAXqWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="subscriber.compdef.uml#_JvmVMAbwEeq69tbfZET3mw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6yAXpmlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6yAXp2lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6yAXqGlfEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_6yI6hGlfEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_gyMiENAREemsvtLt7dgtCQ" target="_6yI6gGlfEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_6yI6hWlfEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6yI6iWlfEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="subscriber.compdef.uml#_ED_GgEiHEeiAtInRNnLmIQ"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6yI6hmlfEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6yI6h2lfEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6yI6iGlfEeqpTYpcVMd_9w"/>
+  </edges>
 </notation:Diagram>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.uml b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.uml
index f12749a..c97bd9f 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.uml
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/components/subscriber.compdef.uml
@@ -1,29 +1,36 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:robotics.components="http://www.eclipse.org/papyrus/robotics/components/1" xmlns:robotics.functions="http://www.eclipse.org/papyrus/robotics/functions/1" xmlns:robotics.generics="http://www.eclipse.org/papyrus/robotics/generics/1" xmlns:robotics.parameters="http://www.eclipse.org/papyrus/robotics/parameters/1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/robotics/components/1 http://www.eclipse.org/papyrus/robotics/1#//components http://www.eclipse.org/papyrus/robotics/functions/1 http://www.eclipse.org/papyrus/robotics/1#//functions http://www.eclipse.org/papyrus/robotics/generics/1 http://www.eclipse.org/papyrus/robotics/1#//generics http://www.eclipse.org/papyrus/robotics/parameters/1 http://www.eclipse.org/papyrus/robotics/1#//parameters">
   <uml:Model xmi:id="_6nSQsEfEEeiwO_ETU0BG9A" name="subscriberCompdef">
-    <packageImport xmi:id="_lwxc0ExOEei_Sui04GqxlQ">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_R8Z-gF0nEeqenIMm5aFGvw" annotatedElement="_-9MoUEiFEeiAtInRNnLmIQ">
+      <body>This component models a subscriber. It has an empty set of parameters.
+It has a port named rMap that requires a service named &quot;MappingSdef&quot; defined in the simple service definition model.
+It has an activity that references the function fListening. 
+This function is tagged (kind attribute) as a handler, i.e. it will get called when data is received via the RobMoSys PUSH protocol.
+It executes the C++ code fragment that displays the received map data (defined in the simple service definition model).</body>
+    </ownedComment>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_lwxc0ExOEei_Sui04GqxlQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_LaOOAJcvEeeV0-Lu2yLOjA"/>
     </packageImport>
-    <packageImport xmi:id="_vPI0sExOEei_Sui04GqxlQ">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_vPI0sExOEei_Sui04GqxlQ">
       <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
     </packageImport>
-    <packageImport xmi:id="_VwyNkPV1EemSEqXywHKEEA">
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_VwyNkPV1EemSEqXywHKEEA">
       <importedPackage xmi:type="uml:Model" href="pathmap://ROS2_TESTMODELS/simple/models/services/simple.servicedef.uml#_6nSQsEfEEeiwO_ETU0BG9A"/>
     </packageImport>
     <packagedElement xmi:type="uml:Class" xmi:id="_-9MoUEiFEeiAtInRNnLmIQ" name="Subscriber">
       <ownedAttribute xmi:type="uml:Port" xmi:id="_ED_GgEiHEeiAtInRNnLmIQ" name="rMap" type="_bqR30EiGEeiAtInRNnLmIQ" aggregation="composite"/>
-      <ownedAttribute xmi:id="_DPbI0HX0EeirHb2XH36K_A" type="_DNyKEHX0EeirHb2XH36K_A"/>
-      <ownedConnector xmi:id="_JvmVMAbwEeq69tbfZET3mw">
-        <end xmi:id="_JvoKYAbwEeq69tbfZET3mw" partWithPort="_DPbI0HX0EeirHb2XH36K_A" role="_FKrUkHX0EeirHb2XH36K_A"/>
-        <end xmi:id="_JvoKYQbwEeq69tbfZET3mw" role="_ED_GgEiHEeiAtInRNnLmIQ"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_DPbI0HX0EeirHb2XH36K_A" type="_DNyKEHX0EeirHb2XH36K_A"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_JvmVMAbwEeq69tbfZET3mw">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_JvoKYAbwEeq69tbfZET3mw" partWithPort="_DPbI0HX0EeirHb2XH36K_A" role="_FKrUkHX0EeirHb2XH36K_A"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_JvoKYQbwEeq69tbfZET3mw" role="_ED_GgEiHEeiAtInRNnLmIQ"/>
       </ownedConnector>
       <nestedClassifier xmi:type="uml:Class" xmi:id="_kiyUIEiHEeiAtInRNnLmIQ" name="ParameterSet"/>
       <nestedClassifier xmi:type="uml:Class" xmi:id="_DNyKEHX0EeirHb2XH36K_A" name="HandleMsg">
-        <generalization xmi:id="_DN1NYHX0EeirHb2XH36K_A">
+        <generalization xmi:type="uml:Generalization" xmi:id="_DN1NYHX0EeirHb2XH36K_A">
           <general xmi:type="uml:Class" href="pathmap://ROBOTICS_LIBRARIES/robotics.library.uml#_dFzyYPn9Eee8c8wpObBu7w"/>
         </generalization>
         <ownedAttribute xmi:type="uml:Port" xmi:id="_FKrUkHX0EeirHb2XH36K_A" name="activityPort" aggregation="composite"/>
-        <ownedAttribute xmi:id="_dI62YHX0EeirHb2XH36K_A" name="callback" visibility="public" type="_4IFoAHXzEeirHb2XH36K_A"/>
+        <ownedAttribute xmi:type="uml:Property" xmi:id="_dI62YHX0EeirHb2XH36K_A" name="callback" visibility="public" type="_4IFoAHXzEeirHb2XH36K_A"/>
       </nestedClassifier>
       <nestedClassifier xmi:type="uml:Class" xmi:id="_bqR30EiGEeiAtInRNnLmIQ" name="EmcaMapCS"/>
     </packagedElement>
@@ -38,89 +45,89 @@
     <packagedElement xmi:type="uml:Usage" xmi:id="_u0V00PV5EemIj9SnfMX-0g" client="_bqR30EiGEeiAtInRNnLmIQ">
       <supplier xmi:type="uml:Interface" href="pathmap://ROS2_TESTMODELS/simple/models/services/simple.servicedef.uml#_gA3kAEfKEeiuVfmPqBuUBA"/>
     </packagedElement>
-    <profileApplication xmi:id="_6voUYEfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_6vqJkEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_6voUYEfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6vqJkEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/bpc/1#/"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#__9qqMJZ1Eeeq1f8hGgKVzA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_BPC_PROFILES/bpc.profile.uml#__9qqMJZ1Eeeq1f8hGgKVzA"/>
     </profileApplication>
-    <profileApplication xmi:id="_7CwrwEfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7CxS0EfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7CwrwEfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7CxS0EfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#/"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#__9qqMJZ1Eeeq1f8hGgKVzA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#__9qqMJZ1Eeeq1f8hGgKVzA"/>
     </profileApplication>
-    <profileApplication xmi:id="_7Cyg8EfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7Cyg8UfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7Cyg8EfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7Cyg8UfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//components"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_EZ1TgJZ2Eeeq1f8hGgKVzA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_EZ1TgJZ2Eeeq1f8hGgKVzA"/>
     </profileApplication>
-    <profileApplication xmi:id="_7Cyg8kfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7Cyg80fEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7Cyg8kfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7Cyg80fEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//commpattern"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_8Z6x8Je6EeeiCOWsEr9OuA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_8Z6x8Je6EeeiCOWsEr9OuA"/>
     </profileApplication>
-    <profileApplication xmi:id="_7CzIAkfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7CzvEEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7CzIAkfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7CzvEEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//deployment"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_tu6OsJe9EeeiCOWsEr9OuA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_tu6OsJe9EeeiCOWsEr9OuA"/>
     </profileApplication>
-    <profileApplication xmi:id="_7CzvEUfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7CzvEkfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7CzvEUfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7CzvEkfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//services"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_SlbOAJe_EeeiCOWsEr9OuA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_SlbOAJe_EeeiCOWsEr9OuA"/>
     </profileApplication>
-    <profileApplication xmi:id="_7C0WIEfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7C0WIUfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7C0WIEfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7C0WIUfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//commobject"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_bz5AcPCaEeee6ab5J_C5Dg"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_bz5AcPCaEeee6ab5J_C5Dg"/>
     </profileApplication>
-    <profileApplication xmi:id="_7C0WIkfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7C09MEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7C0WIkfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7C09MEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//functions"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_SV7GwC6LEei0V9-WLHIyvg"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_SV7GwC6LEei0V9-WLHIyvg"/>
     </profileApplication>
-    <profileApplication xmi:id="_7C09MUfEEeiwO_ETU0BG9A">
-      <eAnnotations xmi:id="_7C1kQEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_7C09MUfEEeiwO_ETU0BG9A">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7C1kQEfEEeiwO_ETU0BG9A" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//parameters"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_-pU5oDmpEei--ZsfKWaFtw"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_-pU5oDmpEei--ZsfKWaFtw"/>
     </profileApplication>
-    <profileApplication xmi:id="_vBSogEfFEeiuVfmPqBuUBA">
-      <eAnnotations xmi:id="_vBVEwEfFEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_vBSogEfFEeiuVfmPqBuUBA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBVEwEfFEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//MARTE_Foundations/NFPs"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_U_GAoAPMEdyuUt-4qHuVvQ"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_U_GAoAPMEdyuUt-4qHuVvQ"/>
     </profileApplication>
-    <profileApplication xmi:id="_vBXhAEfFEeiuVfmPqBuUBA">
-      <eAnnotations xmi:id="_vBXhAUfFEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_vBXhAEfFEeiuVfmPqBuUBA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vBXhAUfFEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/MARTE/1#//MARTE_Annexes/VSL/DataTypes"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9FdqwA-MEdyLh7muGbCqMw"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://Papyrus_PROFILES/MARTE.profile.uml#_9FdqwA-MEdyLh7muGbCqMw"/>
     </profileApplication>
-    <profileApplication xmi:id="_QpoCUEfMEeiuVfmPqBuUBA">
-      <eAnnotations xmi:id="_QpopYEfMEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_QpoCUEfMEeiuVfmPqBuUBA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QpopYEfMEeiuVfmPqBuUBA" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
     </profileApplication>
-    <profileApplication xmi:id="_I4cKUEoDEeie-dKbx_4wnA">
-      <eAnnotations xmi:id="_I442QEoDEeie-dKbx_4wnA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_I4cKUEoDEeie-dKbx_4wnA">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_I442QEoDEeie-dKbx_4wnA" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/robotics/1#//generics"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_eFhjMEnvEeien6eLHpkAxA"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://ROBOTICS_PROFILES/robotics.profile.uml#_eFhjMEnvEeien6eLHpkAxA"/>
     </profileApplication>
-    <profileApplication xmi:id="_eP0y4KcHEemKm7jDzAkd-g">
-      <eAnnotations xmi:id="_eP5EUKcHEemKm7jDzAkd-g" source="http://www.eclipse.org/uml2/2.0.0/UML">
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eP0y4KcHEemKm7jDzAkd-g">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eP5EUKcHEemKm7jDzAkd-g" source="http://www.eclipse.org/uml2/2.0.0/UML">
         <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
       </eAnnotations>
-      <appliedProfile href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
     </profileApplication>
   </uml:Model>
   <robotics.components:ComponentDefinition xmi:id="_-9VLMEiFEeiAtInRNnLmIQ" base_Class="_-9MoUEiFEeiAtInRNnLmIQ"/>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.notation b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.notation
index 4c4998d..949a9b8 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.notation
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.notation
@@ -264,27 +264,99 @@
         <element xmi:type="uml:Property" href="publishsubscribe.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
         <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ok-Z8VEKEeqBNM9M8sWc-A" x="414" y="40" width="210" height="61"/>
       </children>
-      <children xmi:type="notation:Shape" xmi:id="_omYvMFEKEeqBNM9M8sWc-A" type="StereotypeComment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_omYvMVEKEeqBNM9M8sWc-A"/>
-        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_omYvM1EKEeqBNM9M8sWc-A" name="BASE_ELEMENT">
+      <children xmi:type="notation:Shape" xmi:id="_DU7b-F0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DU7b-V0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DU7b-10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DU7b-l0gEeqenIMm5aFGvw" x="254" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_DVA7gF0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DVA7gV0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DVA7g10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DVA7gl0gEeqenIMm5aFGvw" x="385" y="30"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_DVGbEF0gEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_DVGbEV0gEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DVGbE10gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="publishsubscribe.system.uml#_DdzlQBd-EeqBA6LleTzcOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DVGbEl0gEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_X4q-EF0mEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X4q-EV0mEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4q-E10mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X4q-El0mEeqenIMm5aFGvw" x="254" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_X4y54F0mEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X4y54V0mEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4y5410mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X4y54l0mEeqenIMm5aFGvw" x="385" y="30"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_X43yYF0mEeqenIMm5aFGvw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_X43yYV0mEeqenIMm5aFGvw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X43yY10mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="publishsubscribe.system.uml#_DdzlQBd-EeqBA6LleTzcOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X43yYl0mEeqenIMm5aFGvw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JErzJGlgEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JErzJWlgEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JErzJ2lgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JErzJmlgEeqpTYpcVMd_9w" x="254" y="40"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JEzu4GlgEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JEzu4WlgEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JEzu42lgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="../components/periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JEzu4mlgEeqpTYpcVMd_9w" x="385" y="30"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JE6ckGlgEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JE6ckWlgEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JE6ck2lgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="publishsubscribe.system.uml#_DdzlQBd-EeqBA6LleTzcOA"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JE6ckmlgEeqpTYpcVMd_9w" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_JE-uAGlgEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JE-uAWlgEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JE-uA2lgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
           <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
         </styles>
         <element xsi:nil="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_omYvMlEKEeqBNM9M8sWc-A" x="200"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JE-uAmlgEeqpTYpcVMd_9w" x="614" y="40"/>
       </children>
-      <children xmi:type="notation:Shape" xmi:id="_om1bK1EKEeqBNM9M8sWc-A" type="StereotypeComment">
-        <styles xmi:type="notation:TitleStyle" xmi:id="_om1bLFEKEeqBNM9M8sWc-A"/>
-        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_om1bLlEKEeqBNM9M8sWc-A" name="BASE_ELEMENT">
+      <children xmi:type="notation:Shape" xmi:id="_JFGp0GlgEeqpTYpcVMd_9w" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_JFGp0WlgEeqpTYpcVMd_9w"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JFGp02lgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
           <eObjectValue xmi:type="uml:Port" href="../components/subscriber.compdef.uml#_ED_GgEiHEeiAtInRNnLmIQ"/>
         </styles>
         <element xsi:nil="true"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_om1bLVEKEeqBNM9M8sWc-A" x="190" y="-10"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JFGp0mlgEeqpTYpcVMd_9w" x="190" y="30"/>
       </children>
       <styles xmi:type="notation:TitleStyle" xmi:id="_WLIPlhdIEeqyMYRxepXoOA"/>
       <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WLIPlxdIEeqyMYRxepXoOA"/>
     </children>
     <element xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WLIPmBdIEeqyMYRxepXoOA" x="40" y="40" width="681" height="281"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WLIPmBdIEeqyMYRxepXoOA" x="40" y="40" width="681" height="201"/>
   </children>
   <children xmi:type="notation:Shape" xmi:id="_WLIPmRdIEeqyMYRxepXoOA" type="StereotypeComment">
     <styles xmi:type="notation:TitleStyle" xmi:id="_WLIPmhdIEeqyMYRxepXoOA"/>
@@ -382,6 +454,35 @@
     <element xsi:nil="true"/>
     <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aLfoYlEJEeqBNM9M8sWc-A" x="240" y="40"/>
   </children>
+  <children xmi:type="notation:Shape" xmi:id="_DU3xnV0gEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_DU3xnl0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DU4YoF0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DU3xn10gEeqenIMm5aFGvw" x="240" y="40"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_GprKMF0gEeqenIMm5aFGvw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GprKMl0gEeqenIMm5aFGvw" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="publishsubscribe.system.uml#_GoCLcF0gEeqenIMm5aFGvw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GprKMV0gEeqenIMm5aFGvw" x="40" y="300" width="681" height="177"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_X4n6wF0mEeqenIMm5aFGvw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_X4n6wV0mEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4n6w10mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X4n6wl0mEeqenIMm5aFGvw" x="240" y="40"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_JEm6k2lgEeqpTYpcVMd_9w" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_JEm6lGlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JEnhoGlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JEm6lWlgEeqpTYpcVMd_9w" x="240" y="40"/>
+  </children>
   <styles xmi:type="notation:StringValueStyle" xmi:id="_WLIPoRdIEeqyMYRxepXoOA" name="diagram_compatibility_version" stringValue="1.4.0"/>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_WLIPohdIEeqyMYRxepXoOA"/>
   <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_WLIPoxdIEeqyMYRxepXoOA" diagramKindId="org.eclipse.papyrus.robotics.diagram.assembly">
@@ -796,24 +897,151 @@
     <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aOmmx1EJEeqBNM9M8sWc-A"/>
     <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aOmmyFEJEeqBNM9M8sWc-A"/>
   </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_omYvNFEKEeqBNM9M8sWc-A" type="StereotypeCommentLink" source="_ok-Z8FEKEeqBNM9M8sWc-A" target="_omYvMFEKEeqBNM9M8sWc-A">
-    <styles xmi:type="notation:FontStyle" xmi:id="_omYvNVEKEeqBNM9M8sWc-A"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_omYvOVEKEeqBNM9M8sWc-A" name="BASE_ELEMENT">
+  <edges xmi:type="notation:Connector" xmi:id="_DU4YoV0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_WLIPkRdIEeqyMYRxepXoOA" target="_DU3xnV0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DU4Yol0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DU4Ypl0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DU4Yo10gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DU4YpF0gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DU4YpV0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DU7b_F0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_N9nwsBdKEeqyMYRxepXoOA" target="_DU7b-F0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DU7b_V0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DU7cAV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DU7b_l0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DU7b_10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DU7cAF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DVBikF0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_I566MBwUEeqRZIoR62uc8w" target="_DVA7gF0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DVBikV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DVBilV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DVBikl0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DVBik10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DVBilF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_DVGbFF0gEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_MK90MBwUEeqRZIoR62uc8w" target="_DVGbEF0gEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_DVGbFV0gEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_DVGbGV0gEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="publishsubscribe.system.uml#_DdzlQBd-EeqBA6LleTzcOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DVGbFl0gEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DVGbF10gEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DVGbGF0gEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JYF4QF0gEeqenIMm5aFGvw" type="Comment_AnnotatedElementEdge" source="_GprKMF0gEeqenIMm5aFGvw" target="_WLIPkRdIEeqyMYRxepXoOA">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JYF4QV0gEeqenIMm5aFGvw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JYF4Ql0gEeqenIMm5aFGvw" points="[380, 320, -643984, -643984]$[380, 241, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JcU4AF0gEeqenIMm5aFGvw" id="(0.49926578560939794,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JcU4AV0gEeqenIMm5aFGvw" id="(0.49926578560939794,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_X4n6xF0mEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_WLIPkRdIEeqyMYRxepXoOA" target="_X4n6wF0mEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_X4n6xV0mEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4n6yV0mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4n6xl0mEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4n6x10mEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4n6yF0mEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_X4q-FF0mEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_N9nwsBdKEeqyMYRxepXoOA" target="_X4q-EF0mEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_X4q-FV0mEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4q-GV0mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4q-Fl0mEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4q-F10mEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4q-GF0mEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_X4y55F0mEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_I566MBwUEeqRZIoR62uc8w" target="_X4y54F0mEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_X4y55V0mEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X4y56V0mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X4y55l0mEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4y5510mEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X4y56F0mEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_X43yZF0mEeqenIMm5aFGvw" type="StereotypeCommentLink" source="_MK90MBwUEeqRZIoR62uc8w" target="_X43yYF0mEeqenIMm5aFGvw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_X43yZV0mEeqenIMm5aFGvw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X43yaV0mEeqenIMm5aFGvw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="publishsubscribe.system.uml#_DdzlQBd-EeqBA6LleTzcOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X43yZl0mEeqenIMm5aFGvw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X43yZ10mEeqenIMm5aFGvw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X43yaF0mEeqenIMm5aFGvw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JEnhoWlgEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_WLIPkRdIEeqyMYRxepXoOA" target="_JEm6k2lgEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JEnhomlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JEnhpmlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="publishsubscribe.system.uml#_WLBh4xdIEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JEnho2lgEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JEnhpGlgEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JEnhpWlgEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JErzKGlgEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_N9nwsBdKEeqyMYRxepXoOA" target="_JErzJGlgEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JErzKWlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JEsaImlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Kji2gBdKEeqyMYRxepXoOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JErzKmlgEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JEsaIGlgEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JEsaIWlgEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JEzu5GlgEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_I566MBwUEeqRZIoR62uc8w" target="_JEzu4GlgEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JEzu5WlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JEzu6WlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="../components/periodicPublisher.compdef.uml#_utA9cEfMEeiuVfmPqBuUBA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JEzu5mlgEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JEzu52lgEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JEzu6GlgEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JE6clGlgEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_MK90MBwUEeqRZIoR62uc8w" target="_JE6ckGlgEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JE6clWlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JE6cmWlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="publishsubscribe.system.uml#_DdzlQBd-EeqBA6LleTzcOA"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JE6clmlgEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JE6cl2lgEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JE6cmGlgEeqpTYpcVMd_9w"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JE-uBGlgEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_ok-Z8FEKEeqBNM9M8sWc-A" target="_JE-uAGlgEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JE-uBWlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JE-uCWlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
       <eObjectValue xmi:type="uml:Property" href="publishsubscribe.system.uml#_Olx84BdKEeqyMYRxepXoOA"/>
     </styles>
     <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_omYvNlEKEeqBNM9M8sWc-A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_omYvN1EKEeqBNM9M8sWc-A"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_omYvOFEKEeqBNM9M8sWc-A"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JE-uBmlgEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JE-uB2lgEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JE-uCGlgEeqpTYpcVMd_9w"/>
   </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_om1bL1EKEeqBNM9M8sWc-A" type="StereotypeCommentLink" source="_omdAoFEKEeqBNM9M8sWc-A" target="_om1bK1EKEeqBNM9M8sWc-A">
-    <styles xmi:type="notation:FontStyle" xmi:id="_om1bMFEKEeqBNM9M8sWc-A"/>
-    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_om2CMFEKEeqBNM9M8sWc-A" name="BASE_ELEMENT">
+  <edges xmi:type="notation:Connector" xmi:id="_JFGp1GlgEeqpTYpcVMd_9w" type="StereotypeCommentLink" source="_omdAoFEKEeqBNM9M8sWc-A" target="_JFGp0GlgEeqpTYpcVMd_9w">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JFGp1WlgEeqpTYpcVMd_9w"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_JFGp2WlgEeqpTYpcVMd_9w" name="BASE_ELEMENT">
       <eObjectValue xmi:type="uml:Port" href="../components/subscriber.compdef.uml#_ED_GgEiHEeiAtInRNnLmIQ"/>
     </styles>
     <element xsi:nil="true"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_om1bMVEKEeqBNM9M8sWc-A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_om1bMlEKEeqBNM9M8sWc-A"/>
-    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_om1bM1EKEeqBNM9M8sWc-A"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JFGp1mlgEeqpTYpcVMd_9w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JFGp12lgEeqpTYpcVMd_9w"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JFGp2GlgEeqpTYpcVMd_9w"/>
   </edges>
 </notation:Diagram>
diff --git a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.uml b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.uml
index 1cca212..40657cb 100644
--- a/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.uml
+++ b/plugins/examples/org.eclipse.papyrus.robotics.ros2.examples/testmodels/publishSubscribe/models/system/publishsubscribe.system.uml
@@ -14,6 +14,15 @@
       <importedPackage xmi:type="uml:Model" href="../components/subscriber.compdef.uml#_6nSQsEfEEeiwO_ETU0BG9A"/>
     </packageImport>
     <packagedElement xmi:type="uml:Class" xmi:id="_WLBh4xdIEeqyMYRxepXoOA" name="PublishSubscribe">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_GoCLcF0gEeqenIMm5aFGvw" annotatedElement="_WLBh4xdIEeqyMYRxepXoOA">
+        <body>This system is composed of:
+- the publisher component that periodically sends an integer to the subscriber component. The pMap port uses the RobMoSys PUSH pattern, corresponding to a publish-subscribe protocol.
+- the subscriber component that receives a sample and displays the received value
+- the connector between the publisher's pMap port and the subscriber's rMap port
+The publisher component type is modeled by the PeriodicPublisher type in the periodicPublisher.compdef model
+The subscriber component type is modeled by the Subscriber type in the subscriber.compdef model.
+The publish-subscribe protocol is modeled by the simple service definition model which is loaded into the model explorer, but not into your workspace.</body>
+      </ownedComment>
       <ownedAttribute xmi:type="uml:Property" xmi:id="_Kji2gBdKEeqyMYRxepXoOA" name="publisher">
         <type xmi:type="uml:Class" href="../components/periodicPublisher.compdef.uml#_VZylsEfMEeiuVfmPqBuUBA"/>
       </ownedAttribute>
diff --git a/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/component/CodeSkeleton.xtend b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/component/CodeSkeleton.xtend
new file mode 100644
index 0000000..48ad273
--- /dev/null
+++ b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/component/CodeSkeleton.xtend
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.robotics.ros2.codegen.component
+
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ConstInit
+import org.eclipse.papyrus.robotics.profile.robotics.functions.Function
+import org.eclipse.uml2.uml.Behavior
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Operation
+import org.eclipse.uml2.uml.util.UMLUtil
+
+import static extension org.eclipse.papyrus.robotics.ros2.codegen.component.Constructor.addConstrOp
+import static extension org.eclipse.papyrus.robotics.ros2.codegen.utils.ActivityUtils.*
+
+/**
+ * Create a template for the code that needs to be filled by a developer.
+ * 
+ */
+class CodeSkeleton {
+	public static String POSTFIX = "_impl"
+
+	def static createSkeleton(Class component) {
+		val skeleton = component.nearestPackage.createOwnedClass(component.name + POSTFIX, false);
+		// generated code uses template - it needs to instantiate and block ...
+		component.createUsage(skeleton);
+		// template inherits from generated component code
+		skeleton.createGeneralization(component);
+		// create a suitable constructor
+		val op = skeleton.addConstrOp
+		if (op !== null) {
+			val constInit = UMLUtil.getStereotypeApplication(op, ConstInit)
+			constInit.initialisation = '''«component.name»(options)'''
+		}
+		for (activity : component.activities) {
+			for (function : activity.functions) {
+				if (!function.codeInModel) {
+					moveFunction(skeleton, function)
+				}
+			}
+		}
+	}
+
+	/**
+	 *  Move function (behav from 
+	 */
+	def static moveFunction(Class skeleton, Function function) {
+		if (function.base_Class instanceof Behavior) {
+			val ob = function.base_Class as Behavior
+			skeleton.ownedBehaviors.add(ob);
+			skeleton.ownedOperations.add(ob.specification as Operation)
+		}
+	}
+}
diff --git a/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/component/Constructor.xtend b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/component/Constructor.xtend
new file mode 100644
index 0000000..44b0d38
--- /dev/null
+++ b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/component/Constructor.xtend
@@ -0,0 +1,170 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.robotics.ros2.codegen.component
+
+import org.eclipse.papyrus.designer.languages.cpp.profile.C_Cpp.ConstInit
+import org.eclipse.papyrus.robotics.core.utils.PortUtils
+import org.eclipse.papyrus.robotics.ros2.codegen.utils.ApplyProfiles
+import org.eclipse.papyrus.uml.tools.utils.StereotypeUtil
+import org.eclipse.uml2.uml.Class
+import org.eclipse.uml2.uml.Classifier
+import org.eclipse.uml2.uml.OpaqueBehavior
+import org.eclipse.uml2.uml.Operation
+import org.eclipse.uml2.uml.Port
+import org.eclipse.uml2.uml.UMLPackage
+import org.eclipse.uml2.uml.profile.standard.Create
+
+import static extension org.eclipse.papyrus.robotics.core.utils.InteractionUtils.*
+import static extension org.eclipse.papyrus.robotics.ros2.codegen.component.Callbacks.*
+import static extension org.eclipse.papyrus.robotics.ros2.codegen.utils.Helpers.*
+import static extension org.eclipse.papyrus.robotics.ros2.codegen.utils.LaunchScript.*
+import static extension org.eclipse.papyrus.robotics.ros2.codegen.utils.MessageUtils.*
+
+/**
+ * Manage constructor creation, including port
+ */
+class Constructor {
+
+	def static createConstructor(Class component) {
+		val lcNodeSC = getRosType(component, "ros2Library::rclcpp_lifecycle::LifecycleNode")
+		if (lcNodeSC instanceof Classifier) {
+			component.createGeneralization(lcNodeSC)
+		}
+		val op = addConstrOp(component);
+		addConstrMethod(component, op);
+	}
+
+	/**
+	 * Add an init operation (constructor) that creates the ROS2 publishers/subscribers/clients/... for ports 
+	 */
+	def static addConstrOp(Class component) {
+		// val nodeSC = getRosType(component, "ros2Library::rclcpp::Node");
+		val nodeOptions = getRosType(component, "ros2Library::rclcpp::NodeOptions")
+		// val string = getPrimitiveType(component, "PrimitiveTypes::String")
+		// component.createOwnedAttribute("instName", string)
+		val init = component.createOwnedOperation(component.name, null, null)
+		init.createOwnedParameter("options", nodeOptions)
+		var create = StereotypeUtil.applyApp(init, Create)
+		if (create === null) {
+			ApplyProfiles.applyStdProfile(init)
+			create = StereotypeUtil.applyApp(init, Create)
+		}
+		var constInit = StereotypeUtil.applyApp(init, ConstInit)
+		if (constInit === null) {
+			ApplyProfiles.applyCppProfile(init)
+			constInit = StereotypeUtil.applyApp(init, ConstInit)
+		}
+		constInit.initialisation = '''rclcpp_lifecycle::LifecycleNode("«component.name»", options)'''
+		return init
+	}
+
+	/**
+	 * Add a method body to the constructor operation
+	 */
+	def static addConstrMethod(Class component, Operation constructorOp) {
+		val ob = component.createOwnedBehavior(component.name, UMLPackage.eINSTANCE.getOpaqueBehavior) as OpaqueBehavior
+		constructorOp.methods.add(ob)
+		ob.languages.add("C++")
+		ob.bodies.add('''
+			«FOR port : PortUtils.getAllPorts(component)»
+				«val pattern = port.communicationPattern.base_Collaboration.name»
+				«IF pattern == 'Push' || pattern == 'Send'»
+					«port.createPush»
+			
+				«ELSEIF pattern == 'Query'»
+					«port.createQuery»
+			
+				«ELSEIF pattern == 'Action'»
+					«port.createAction»
+			
+				«ELSEIF pattern == 'Event'»
+				«ENDIF»
+			«ENDFOR»
+		''')
+	}
+
+	/**
+	 * Create a publisher or subscriber
+	 * TODO: use configurable buffer size
+	 */
+	def static createPush(Port port) '''
+		«IF port.provideds.size() > 0»
+		«««Publisher
+«««	The "KEEP_LAST" history setting tells DDS to store a fixed-size buffer of values before they
+«««	are sent, to aid with recovery in the event of dropped messages.
+«««	use best effort to avoid blocking during execution.
+			// auto «port.name»_qos = rclcpp::QoS(rclcpp::KeepLast(100)).best_effort();
+		
+				«port.name»_pub = create_publisher<«port.commObject.externalName»>("«port.topic»",
+					1/*«port.name»_qos*/);
+				// rclcpp::Rate loop_rate(10);
+				// directly activate a publisher
+				«port.name»_pub->on_activate();
+		«ELSEIF port.requireds.size() > 0»
+		««« Subscriber
+			auto «port.name»_qos = rclcpp::QoS(rclcpp::KeepLast(100)).best_effort();
+				«port.name»_sub = create_subscription<«port.commObject.externalName»>("«port.topic»", «port.name»_qos, «port.class_.callBackMethodForPush(port)»);
+		«ENDIF»
+	'''
+
+	/**
+	 * Create a service client or server
+	 */
+	def static createQuery(Port port) '''
+		«IF port.provideds.size() > 0»
+		««« Service
+			«port.name»_srv = create_service<«port.serviceType.externalName»>("«port.serviceType.name»", «port.class_.callBackMethodForService(port)»);
+		«ELSEIF port.requireds.size() > 0»
+		««« Client
+			«port.name»_client = create_client<«port.serviceType.externalName»>("«port.serviceType.name»");
+		«ENDIF»
+	'''
+
+	/**
+	 * Create an action client or server
+	 * TODO: code currently only copied from Fibonacci example.
+	 */
+	def static createAction(Port port) '''
+		«IF port.provideds.size() > 0»
+			«port.name»_actsrv = rclcpp_action::create_server<«port.commObject.externalName»>(
+			this->get_node_base_interface(),
+				this->get_node_clock_interface(),
+				this->get_node_logging_interface(),
+				this->get_node_waitables_interface(),
+				"«port.topic»",
+				std::bind(&FibonacciActionServer::handle_goal, this, _1, _2),	// TODO - need three methods
+				std::bind(&FibonacciActionServer::handle_cancel, this, _1),
+				std::bind(&FibonacciActionServer::handle_accepted, this, _1));
+			rclcpp::Rate loop_rate(10);
+		«ELSE»
+			«port.name»_actcli = create_subscription<«port.commObject.externalName»>("«port.topic»", «port.class_.callBackMethodForPush(port)»);
+		«ENDIF»
+	'''
+
+	/**
+	 * Create an event client and server
+	 * TODO - not supported
+	 */
+	def static createEvent(Port port) '''
+«««		This pattern is aimed to create run-time configurable notification mechanism.
+«««		The client can register to be notified when a particular event happens on the server side.
+«««		The server catches the events and sends a message only to clients interested to that
+«««		particular event.
+«««		The event condition check on the server side must be written by user, the pattern specifies
+«««		the semantic of the <RequestedEvent, ReplyMessage, DataToCheck>
+«««		There is no equivalent pattern in YARP, but it can be implemented via specialized
+«««		client/server devices.
+	'''
+}
diff --git a/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/utils/ApplyProfiles.xtend b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/utils/ApplyProfiles.xtend
new file mode 100644
index 0000000..b1c4c4f
--- /dev/null
+++ b/plugins/ros2/org.eclipse.papyrus.robotics.ros2.codegen/src/org/eclipse/papyrus/robotics/ros2/codegen/utils/ApplyProfiles.xtend
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2020 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *  Ansgar Radermacher  ansgar.radermacher@cea.fr
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.robotics.ros2.codegen.utils
+
+import org.eclipse.emf.common.util.URI
+import org.eclipse.papyrus.designer.languages.common.profile.CommonProfileResource
+import org.eclipse.papyrus.designer.languages.cpp.profile.CppProfileResource
+import org.eclipse.papyrus.designer.transformation.profile.TrafoProfileResource
+import org.eclipse.uml2.uml.Element
+
+import static org.eclipse.papyrus.designer.transformation.base.utils.ApplyProfileUtils.*
+
+class ApplyProfiles {
+	static def applyCppProfile(Element element) {
+		applyProfile(element, CppProfileResource.PROFILE_PATH_URI)
+	}
+	
+	static def applyCommonProfile(Element element) {
+		applyProfile(element, CommonProfileResource.PROFILE_PATH_URI)
+	}
+	
+	static def applyStdProfile(Element element) {
+		applyProfile(element, URI.createURI("pathmap://UML_PROFILES/Standard.profile.uml"))
+	}
+	
+	static def applyTrafoProfile(Element element) {
+		applyProfile(element, TrafoProfileResource.PROFILE_PATH_URI)
+	}
+}
\ No newline at end of file