Skip to content

Commit

Permalink
Complete Sirius plugin for the visualization of the components of the…
Browse files Browse the repository at this point in the history
… system, the interfaces and their connections
  • Loading branch information
ipa-nhg committed Apr 17, 2024
1 parent cc20e14 commit 8125430
Showing 1 changed file with 63 additions and 6 deletions.
69 changes: 63 additions & 6 deletions plugins/de.fraunhofer.ipa.ros.sirius/description/ros.odesign
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,73 @@
<metamodel href="../../de.fraunhofer.ipa.rossystem/model/rossystem.ecore#/"/>
<metamodel href="../../de.fraunhofer.ipa.ros/model/ros.ecore#/"/>
<defaultLayer name="Default">
<edgeMappings name="TopicConnection" sourceMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='Publisher']" targetMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='Subscriber']" targetFinderExpression="feature:to" sourceFinderExpression="feature:from" domainClass="system::RosTopicConnection" useDomainElement="true" pathNodeMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='Publisher'] //@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='Subscriber']">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription labelSize="12">
<edgeMappings name="RosTopicConnection" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosPublisher']" targetMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosSubscriber']" targetFinderExpression="[to.reference/]" sourceFinderExpression="[from.reference/]" domainClass="system::RosSystemConnection" useDomainElement="true" pathNodeMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosPublisher'] //@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosSubscriber']">
<style targetArrow="NoDecoration" sizeComputationExpression="2" routingStyle="manhattan" endsCentering="Both">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription labelSize="10" showIcon="false" labelExpression="[from.name/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="RosServiceConnection" sourceMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosServiceServer']" targetMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosServiceClient']" targetFinderExpression="[to.reference/]" sourceFinderExpression="[from.reference/]" domainClass="system::RosSystemConnection" useDomainElement="true" pathNodeMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosPublisher'] //@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosSubscriber']">
<style targetArrow="NoDecoration" sizeComputationExpression="2" routingStyle="manhattan" endsCentering="Both">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
<centerLabelStyleDescription labelSize="10" showIcon="false" labelExpression="[from.name/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings name="RosActionConnection" sourceMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosActionServer']" targetMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosActionClient']" targetFinderExpression="[to.reference/]" sourceFinderExpression="[from.reference/]" domainClass="system::RosSystemConnection" useDomainElement="true" pathNodeMapping="//@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosPublisher'] //@ownedViewpoints[name='System']/@ownedRepresentations[name='RosSystem']/@defaultLayer/@containerMappings[name='Component']/@borderedNodeMappings[name='RosSubscriber']">
<style targetArrow="NoDecoration" sizeComputationExpression="2" routingStyle="manhattan" endsCentering="Both">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='green']"/>
<centerLabelStyleDescription labelSize="10" showIcon="false" labelExpression="[from.name/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Component" semanticCandidatesExpression="feature:components" domainClass="system::RosNode">
<borderedNodeMappings name="Publisher" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosPublisherReference">
<borderedNodeMappings name="RosPublisher" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosPublisherReference">
<style xsi:type="style:SquareDescription" labelSize="10" showIcon="false" labelExpression="[eContainer().toString().substring(eContainer().toString().indexOf('name:') + 5, eContainer().toString().lastIndexOf(')') - 1)/]" labelAlignment="LEFT" sizeComputationExpression="2" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="RosSubscriber" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosSubscriberReference">
<style xsi:type="style:SquareDescription" labelSize="10" showIcon="false" labelExpression="[eContainer().toString().substring(eContainer().toString().indexOf('name:') + 5, eContainer().toString().lastIndexOf(')') - 1)/]" labelAlignment="RIGHT" sizeComputationExpression="2" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="RosServiceServer" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosServiceServerReference">
<style xsi:type="style:SquareDescription" labelSize="10" showIcon="false" labelExpression="[eContainer().toString().substring(eContainer().toString().indexOf('name:') + 5, eContainer().toString().lastIndexOf(')') - 1)/]" labelAlignment="LEFT" sizeComputationExpression="2" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="RosServiceClient" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosServiceClientReference">
<style xsi:type="style:SquareDescription" labelSize="10" showIcon="false" labelExpression="[eContainer().toString().substring(eContainer().toString().indexOf('name:') + 5, eContainer().toString().lastIndexOf(')') - 1)/]" labelAlignment="RIGHT" sizeComputationExpression="2" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="RosActionServer" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosActionServerReference">
<style xsi:type="style:SquareDescription" labelSize="10" showIcon="false" labelExpression="[eContainer().toString().substring(eContainer().toString().indexOf('name:') + 5, eContainer().toString().lastIndexOf(')') - 1)/]" labelAlignment="RIGHT" sizeComputationExpression="2" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
Expand All @@ -24,7 +80,7 @@
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='green']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="Subscriber" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosSubscriberReference">
<borderedNodeMappings name="RosActionClient" semanticCandidatesExpression="[rosinterfaces.reference/]" domainClass="system::RosActionClientReference">
<style xsi:type="style:SquareDescription" labelSize="10" showIcon="false" labelExpression="[eContainer().toString().substring(eContainer().toString().indexOf('name:') + 5, eContainer().toString().lastIndexOf(')') - 1)/]" labelAlignment="RIGHT" sizeComputationExpression="2" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
Expand All @@ -34,6 +90,7 @@
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='green']"/>
</style>
</borderedNodeMappings>
<subNodeMappings name="RosInterface" semanticCandidatesExpression="feature:rosinterfaces" domainClass="system::RosInterface"/>
<style xsi:type="style:FlatContainerStyleDescription" borderSizeComputationExpression="1" labelSize="10" showIcon="false" tooltipExpression="feature:namespace">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>bold</labelFormat>
Expand Down

0 comments on commit 8125430

Please sign in to comment.