diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 3bd2a8a9f..79417f1f8 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -18,6 +18,18 @@ * `String getCompartmentItemName(String prefix, String suffix)` * `String getInheritedCompartmentItemName(String prefix, String suffix)` * `String getEdgeName(String prefix, String suffix)` +- [services] In order to match the new service architecture the following methods has been moved: +* `ViewCreateService.createPartUsageAndBindingConnectorAsUsage(PartUsage self)` to `ModelMutationElementService.createPartUsageAndBindingConnectorAsUsage(PartUsage self)` +* `ViewCreateService.createPartUsageAndFlowConnection(PartUsage self)` to `ModelMutationElementService.createPartUsageAndFlowConnection(PartUsage self)` +* `ViewCreateService.createPartUsageAndInterface(PartUsage self)` to `ModelMutationElementService.createPartUsageAndInterface(PartUsage self)` +* `ViewEdgeService.getTarget(ConnectorAsUsage connector)` to `MetamodelElementQueryService.getTarget(ConnectorAsUsage connector)` +* `ViewEdgeService.getSource(ConnectorAsUsage connector)` to `MetamodelElementQueryService.getSource(ConnectorAsUsage connector)` +* `ViewEdgeService.reconnectSource(ConnectorAsUsage bind, Feature newSource)` to `DiagramMutationElementService.reconnectSource(ConnectorAsUsage connectorAsUsage, Feature newSource, Node sourceNode, Node targetNode, IEditingContext editingContext, Diagram diagram)` +* `ViewEdgeService.reconnectTarget(ConnectorAsUsage bind, Feature newTarget)` to `DiagramMutationElementService.reconnectTarget(ConnectorAsUsage connectorAsUsage, Feature newTarget, Node sourceNode, Node targetNode, IEditingContext editingContext, Diagram diagram)` +* `UtilService.createFlowConnectionEnd(Feature targetedFeature)` to `MetamodelMutationElementService.createFlowConnectionEnd(Feature targetedFeature)` +* `UtilService.setConnectorEnds(ConnectorAsUsage connectorAsUsage, Feature source, Feature target, Type connectorContainer)` to `MetamodelMutationElementService.setConnectorEnds(ConnectorAsUsage connectorAsUsage, Feature source, Feature target, Element connectorContainer)` + +NOTE: The signature of the _reconnectSource_ and _reconnect_Target_ now takes graphical nodes as inputs. It helps handling inherited elements that are not displayed in their semantic owner. === Dependency update @@ -49,6 +61,7 @@ A new compartment named _satisfy requirements_ has also been added to `PartDefin - https://github.com/eclipse-syson/syson/issues/1737[#1737] [diagrams] Add creation tools to InterconnectionCompartmentNode - https://github.com/eclipse-syson/syson/issues/1395[#1395] Provide a way to duplicate a semantic element ans its representation node in the _General View_ diagram. - https://github.com/eclipse-syson/syson/issues/1740[#1740] [diagrams] Add _items_ compartment and graphical border node on `PortDefinition` graphical nodes in the _General View_ diagram. +- https://github.com/eclipse-syson/syson/issues/1738[#1738] [diagrams] Add `ConnectionUsage` as edges in _General View_ diagram. == v2025.12.0 diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/DetailsViewService.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/DetailsViewService.java index 523f67c4e..741b4a107 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/DetailsViewService.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/DetailsViewService.java @@ -37,7 +37,6 @@ import org.eclipse.sirius.components.representations.Message; import org.eclipse.sirius.components.representations.MessageLevel; import org.eclipse.syson.application.configuration.SysMLv2PropertiesConfigurer; -import org.eclipse.syson.services.ElementInitializerSwitch; import org.eclipse.syson.services.ImportService; import org.eclipse.syson.services.UtilService; import org.eclipse.syson.sysml.AcceptActionUsage; @@ -69,6 +68,7 @@ import org.eclipse.syson.sysml.TransitionUsage; import org.eclipse.syson.sysml.Type; import org.eclipse.syson.sysml.ViewUsage; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; import org.eclipse.syson.sysml.textual.SysMLElementSerializer; import org.eclipse.syson.sysml.textual.utils.FileNameDeresolver; diff --git a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/SysMLv2EditService.java b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/SysMLv2EditService.java index 9d53133fc..67cac8cc1 100644 --- a/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/SysMLv2EditService.java +++ b/backend/application/syson-application-configuration/src/main/java/org/eclipse/syson/application/services/SysMLv2EditService.java @@ -43,7 +43,6 @@ import org.eclipse.sirius.components.emf.services.api.IEMFEditingContext; import org.eclipse.sirius.components.representations.VariableManager; import org.eclipse.syson.services.DeleteService; -import org.eclipse.syson.services.ElementInitializerSwitch; import org.eclipse.syson.services.UtilService; import org.eclipse.syson.services.api.ISysONResourceService; import org.eclipse.syson.sysml.Element; @@ -53,6 +52,7 @@ import org.eclipse.syson.sysml.SysmlFactory; import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.sysml.ViewUsage; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; import org.eclipse.syson.sysml.util.ElementUtil; import org.eclipse.syson.util.GetIntermediateContainerCreationSwitch; import org.eclipse.syson.util.SysMLMetamodelHelper; diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/BindingConnectorAsUsageChecker.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/ConnectorAsUsageChecker.java similarity index 61% rename from backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/BindingConnectorAsUsageChecker.java rename to backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/ConnectorAsUsageChecker.java index 858cdf74b..f201b7d92 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/BindingConnectorAsUsageChecker.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/checkers/ConnectorAsUsageChecker.java @@ -19,19 +19,19 @@ import org.eclipse.sirius.components.collaborative.diagrams.dto.DiagramRefreshedEventPayload; import org.eclipse.sirius.components.core.api.IIdentityService; -import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.syson.application.controller.editingContext.checkers.SemanticCheckerService; -import org.eclipse.syson.sysml.BindingConnectorAsUsage; +import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.FeatureChaining; import reactor.test.StepVerifier.Step; /** - * Checker that verify semantic of a {@link BindingConnectorAsUsage}. + * Checker that verify semantic of a {@link org.eclipse.syson.sysml.ConnectorAsUsage}. * + * @param Type of {@link ConnectorAsUsage} to check. * @author Arthur Daussy */ -public class BindingConnectorAsUsageChecker { +public class ConnectorAsUsageChecker { private String expectedSourceSemanticId; @@ -51,74 +51,77 @@ public class BindingConnectorAsUsageChecker { private final SemanticCheckerService semanticCheckerService; - public BindingConnectorAsUsageChecker( + private final Class expectedType; + + public ConnectorAsUsageChecker( IIdentityService identityService, - SemanticCheckerService semanticCheckerService) { + SemanticCheckerService semanticCheckerService, + Class expectedType) { this.identityService = identityService; this.semanticCheckerService = semanticCheckerService; + this.expectedType = expectedType; } - public BindingConnectorAsUsageChecker setExpectedSemanticContainer(String anExpectedSemanticContainer) { + public ConnectorAsUsageChecker setExpectedSemanticContainer(String anExpectedSemanticContainer) { this.expectedSemanticContainer = anExpectedSemanticContainer; return this; } - public BindingConnectorAsUsageChecker setExpectedSourceFeatureChain(List anExpectedSourceFeatureChain) { + public ConnectorAsUsageChecker setExpectedSourceFeatureChain(List anExpectedSourceFeatureChain) { this.expectedSourceFeatureChain = anExpectedSourceFeatureChain; return this; } - public BindingConnectorAsUsageChecker setExpectedSourceReference(String anExpectedSourceReference) { + public ConnectorAsUsageChecker setExpectedSourceReference(String anExpectedSourceReference) { this.expectedSourceReference = anExpectedSourceReference; return this; } - public BindingConnectorAsUsageChecker setExpectedSourceSemanticId(String anExpectedSourceSemanticId) { + public ConnectorAsUsageChecker setExpectedSourceSemanticId(String anExpectedSourceSemanticId) { this.expectedSourceSemanticId = anExpectedSourceSemanticId; return this; } - public BindingConnectorAsUsageChecker setExpectedTargetSemanticId(String anExpectedTargetSemanticId) { + public ConnectorAsUsageChecker setExpectedTargetSemanticId(String anExpectedTargetSemanticId) { this.expectedTargetSemanticId = anExpectedTargetSemanticId; return this; } - public BindingConnectorAsUsageChecker setExpectedTargetFeatureChain(List anExpectedTargetFeatureChain) { + public ConnectorAsUsageChecker setExpectedTargetFeatureChain(List anExpectedTargetFeatureChain) { this.expectedTargetFeatureChain = anExpectedTargetFeatureChain; return this; } - public BindingConnectorAsUsageChecker setExpectedTargetReference(String anExpectedTargetReference) { + public ConnectorAsUsageChecker setExpectedTargetReference(String anExpectedTargetReference) { this.expectedTargetReference = anExpectedTargetReference; return this; } - public void run(Step verifier, AtomicReference diagram, AtomicReference bindingIdProvider) { + public void run(Step verifier, AtomicReference edgeIdProvider) { - this.semanticCheckerService.checkElement(verifier, BindingConnectorAsUsage.class, () -> bindingIdProvider.get(), - binding -> { - assertThat(this.identityService.getId(binding.getSourceFeature().getFeatureTarget())) + this.semanticCheckerService.checkElement(verifier, this.expectedType, edgeIdProvider::get, + connectorAsUsage -> { + assertThat(this.identityService.getId(connectorAsUsage.getSourceFeature().getFeatureTarget())) .isEqualTo(this.expectedSourceSemanticId); - assertThat(this.identityService.getId(binding.getTargetFeature().get(0).getFeatureTarget())) + assertThat(this.identityService.getId(connectorAsUsage.getTargetFeature().get(0).getFeatureTarget())) .isEqualTo(this.expectedTargetSemanticId); - assertThat(this.identityService.getId(binding.getOwningType())).isEqualTo(this.expectedSemanticContainer); + assertThat(this.identityService.getId(connectorAsUsage.getOwner())).isEqualTo(this.expectedSemanticContainer); if (this.expectedSourceReference != null) { - assertThat(this.identityService.getId(binding.getSourceFeature())) + assertThat(this.identityService.getId(connectorAsUsage.getSourceFeature())) .isEqualTo(this.expectedSourceReference); } else if (this.expectedSourceFeatureChain != null) { - assertThat(binding.getSourceFeature().getOwnedFeatureChaining().stream() + assertThat(connectorAsUsage.getSourceFeature().getOwnedFeatureChaining().stream() .map(FeatureChaining::getChainingFeature) .map(fc -> this.identityService.getId(fc)) .toList()) .isEqualTo(this.expectedSourceFeatureChain); } - if (this.expectedTargetReference != null) { - assertThat(this.identityService.getId(binding.getTargetFeature().get(0))) + assertThat(this.identityService.getId(connectorAsUsage.getTargetFeature().get(0))) .isEqualTo(this.expectedTargetReference); } else if (this.expectedTargetFeatureChain != null) { - assertThat(binding.getTargetFeature().get(0).getOwnedFeatureChaining().stream() + assertThat(connectorAsUsage.getTargetFeature().get(0).getOwnedFeatureChaining().stream() .map(FeatureChaining::getChainingFeature) .map(fc -> this.identityService.getId(fc)) .toList()) diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVBindingConnectorAsUsageTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVBindingConnectorAsUsageTests.java index 3219de73c..5d96c3928 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVBindingConnectorAsUsageTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVBindingConnectorAsUsageTests.java @@ -35,8 +35,8 @@ import org.eclipse.syson.AbstractIntegrationTests; import org.eclipse.syson.SysONTestsProperties; import org.eclipse.syson.application.controller.editingContext.checkers.SemanticCheckerService; -import org.eclipse.syson.application.controllers.diagrams.checkers.BindingConnectorAsUsageChecker; import org.eclipse.syson.application.controllers.diagrams.checkers.CheckDiagramElementCount; +import org.eclipse.syson.application.controllers.diagrams.checkers.ConnectorAsUsageChecker; import org.eclipse.syson.application.controllers.diagrams.checkers.DiagramCheckerService; import org.eclipse.syson.application.controllers.diagrams.checkers.IDiagramChecker; import org.eclipse.syson.application.controllers.diagrams.testers.EdgeCreationTester; @@ -163,7 +163,7 @@ public void bindingNestedLevel1() { .setExpectedSemanticContainer(GeneralViewBindingConnectorProjectData.SemanticIds.A0_ID) .setExpectedSourceReference(GeneralViewBindingConnectorProjectData.SemanticIds.I0_ID) .setExpectedTargetFeatureChain(List.of(GeneralViewBindingConnectorProjectData.SemanticIds.A1_ID, GeneralViewBindingConnectorProjectData.SemanticIds.I1_ID)) - .run(this.verifier, this.diagram, newEdge); + .run(this.verifier, newEdge); } @@ -186,7 +186,7 @@ public void bindingNestedLevel1Reversed() { .setExpectedSemanticContainer(GeneralViewBindingConnectorProjectData.SemanticIds.A0_ID) .setExpectedTargetReference(GeneralViewBindingConnectorProjectData.SemanticIds.I0_ID) .setExpectedSourceFeatureChain(List.of(GeneralViewBindingConnectorProjectData.SemanticIds.A1_ID, GeneralViewBindingConnectorProjectData.SemanticIds.I1_ID)) - .run(this.verifier, this.diagram, newEdge); + .run(this.verifier, newEdge); } @@ -209,7 +209,7 @@ public void bindingNestedLevel2() { .setExpectedSourceReference(GeneralViewBindingConnectorProjectData.SemanticIds.I0_ID) .setExpectedTargetFeatureChain(List.of(GeneralViewBindingConnectorProjectData.SemanticIds.A1_ID, GeneralViewBindingConnectorProjectData.SemanticIds.A11_ID, GeneralViewBindingConnectorProjectData.SemanticIds.I11_ID)) - .run(this.verifier, this.diagram, newEdge); + .run(this.verifier, newEdge); } @DisplayName("GIVEN a ActionUsage owning sibling items, WHEN creating a BindingConnectorAsUsage, THEN the binding should be created the common container (A11) and feature should be directly referenced") @@ -231,7 +231,7 @@ public void bindingSameLevel() { .setExpectedSemanticContainer(GeneralViewBindingConnectorProjectData.SemanticIds.A11_ID) .setExpectedSourceReference(GeneralViewBindingConnectorProjectData.SemanticIds.I11_ID) .setExpectedTargetReference(GeneralViewBindingConnectorProjectData.SemanticIds.I11TEST_ID) - .run(this.verifier, this.diagram, newEdge); + .run(this.verifier, newEdge); } @DisplayName("GIVEN a ActionUsage with existing binding, WHEN reconnecting target, THEN binding should be moved to new the common container (A1) and the source/target should be recomputed") @@ -251,11 +251,11 @@ public void reconnectTargetSameLevel() { .setExpectedSourceReference(GeneralViewBindingConnectorProjectData.SemanticIds.I1_ID) // No more feature chain required .setExpectedTargetReference(GeneralViewBindingConnectorProjectData.SemanticIds.I2_ID) - .run(this.verifier, this.diagram, newEdge); + .run(this.verifier, newEdge); } - private BindingConnectorAsUsageChecker createChecker() { - return new BindingConnectorAsUsageChecker(this.identityService, this.semanticCheckerService); + private ConnectorAsUsageChecker createChecker() { + return new ConnectorAsUsageChecker<>(this.identityService, this.semanticCheckerService, BindingConnectorAsUsage.class); } private AtomicReference reconnect(String edgeId, String newTarget, ReconnectEdgeKind reconnectionKind, String expectedSourceGraplicalId, String expectedTargetGraplicalId) { diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVConnectionUsageEdgeTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVConnectionUsageEdgeTests.java new file mode 100644 index 000000000..71be0a7f7 --- /dev/null +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVConnectionUsageEdgeTests.java @@ -0,0 +1,443 @@ +/******************************************************************************* + * Copyright (c) 2025 Obeo. + * 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/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.syson.application.controllers.diagrams.general.view; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.eclipse.sirius.components.diagrams.tests.assertions.DiagramInstanceOfAssertFactories.EDGE; +import static org.eclipse.sirius.components.diagrams.tests.assertions.DiagramInstanceOfAssertFactories.EDGE_STYLE; + +import java.time.Duration; +import java.util.List; +import java.util.UUID; +import java.util.concurrent.atomic.AtomicReference; + +import org.eclipse.sirius.components.collaborative.diagrams.dto.DiagramEventInput; +import org.eclipse.sirius.components.collaborative.diagrams.dto.DiagramRefreshedEventPayload; +import org.eclipse.sirius.components.core.api.IIdentityService; +import org.eclipse.sirius.components.core.api.IObjectSearchService; +import org.eclipse.sirius.components.diagrams.ArrowStyle; +import org.eclipse.sirius.components.diagrams.Diagram; +import org.eclipse.sirius.components.diagrams.Edge; +import org.eclipse.sirius.components.diagrams.ViewModifier; +import org.eclipse.sirius.components.diagrams.events.ReconnectEdgeKind; +import org.eclipse.sirius.components.diagrams.tests.assertions.DiagramAssertions; +import org.eclipse.sirius.components.diagrams.tests.graphql.EditLabelMutationRunner; +import org.eclipse.sirius.components.view.diagram.DiagramDescription; +import org.eclipse.sirius.components.view.emf.diagram.IDiagramIdProvider; +import org.eclipse.sirius.web.tests.services.api.IGivenInitialServerState; +import org.eclipse.syson.AbstractIntegrationTests; +import org.eclipse.syson.application.controller.editingContext.checkers.SemanticCheckerService; +import org.eclipse.syson.application.controllers.diagrams.checkers.CheckDiagramElementCount; +import org.eclipse.syson.application.controllers.diagrams.checkers.ConnectorAsUsageChecker; +import org.eclipse.syson.application.controllers.diagrams.checkers.DiagramCheckerService; +import org.eclipse.syson.application.controllers.diagrams.checkers.IDiagramChecker; +import org.eclipse.syson.application.controllers.diagrams.testers.DirectEditTester; +import org.eclipse.syson.application.controllers.diagrams.testers.EdgeCreationTester; +import org.eclipse.syson.application.controllers.diagrams.testers.EdgeReconnectionTester; +import org.eclipse.syson.application.controllers.diagrams.testers.ToolTester; +import org.eclipse.syson.application.data.EdgeConnectionUsageTestProjectData; +import org.eclipse.syson.services.SemanticRunnableFactory; +import org.eclipse.syson.services.diagrams.DiagramComparator; +import org.eclipse.syson.services.diagrams.DiagramDescriptionIdProvider; +import org.eclipse.syson.services.diagrams.api.IGivenDiagramDescription; +import org.eclipse.syson.services.diagrams.api.IGivenDiagramReference; +import org.eclipse.syson.services.diagrams.api.IGivenDiagramSubscription; +import org.eclipse.syson.standard.diagrams.view.SDVDescriptionNameGenerator; +import org.eclipse.syson.sysml.ConnectionUsage; +import org.eclipse.syson.sysml.SysmlPackage; +import org.eclipse.syson.util.IDescriptionNameGenerator; +import org.eclipse.syson.util.SysONRepresentationDescriptionIdentifiers; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.jdbc.Sql; +import org.springframework.test.context.jdbc.SqlConfig; +import org.springframework.transaction.annotation.Transactional; + +import reactor.test.StepVerifier; + +/** + * Tests the edition of {@link ConnectionUsage} as edges in the general view. + * + * @author Arthur Daussy + */ +@Transactional +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) +public class GVConnectionUsageEdgeTests extends AbstractIntegrationTests { + + private static final String EDITING_CONTEXT_ID = EdgeConnectionUsageTestProjectData.EDITING_CONTEXT_ID; + + @Autowired + private IGivenInitialServerState givenInitialServerState; + + @Autowired + private IGivenDiagramReference givenDiagram; + + @Autowired + private IGivenDiagramDescription givenDiagramDescription; + + @Autowired + private IGivenDiagramSubscription givenDiagramSubscription; + + @Autowired + private IDiagramIdProvider diagramIdProvider; + + @Autowired + private ToolTester nodeCreationTester; + + @Autowired + private DiagramComparator diagramComparator; + + @Autowired + private SemanticRunnableFactory semanticRunnableFactory; + + @Autowired + private IObjectSearchService objectSearchService; + + @Autowired + private EdgeCreationTester edgeCreationTester; + + @Autowired + private IIdentityService identityService; + + @Autowired + private EdgeReconnectionTester edgeReconnectionTester; + + @Autowired + private EditLabelMutationRunner editLabelMutationRunner; + + private DiagramDescriptionIdProvider diagramDescriptionIdProvider; + + private StepVerifier.Step verifier; + + private AtomicReference diagram; + + private final IDescriptionNameGenerator descriptionNameGenerator = new SDVDescriptionNameGenerator(); + + private DiagramCheckerService diagramCheckerService; + + private SemanticCheckerService semanticCheckerService; + + private DirectEditTester directEditTester; + + @BeforeEach + public void setUp() { + this.givenInitialServerState.initialize(); + var diagramEventInput = new DiagramEventInput(UUID.randomUUID(), + EDITING_CONTEXT_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.DIAGRAM_ID); + var flux = this.givenDiagramSubscription.subscribe(diagramEventInput); + this.verifier = StepVerifier.create(flux); + this.diagram = this.givenDiagram.getDiagram(this.verifier); + DiagramDescription diagramDescription = this.givenDiagramDescription.getDiagramDescription(EDITING_CONTEXT_ID, + SysONRepresentationDescriptionIdentifiers.GENERAL_VIEW_DIAGRAM_DESCRIPTION_ID); + this.diagramDescriptionIdProvider = new DiagramDescriptionIdProvider(diagramDescription, this.diagramIdProvider); + this.diagramCheckerService = new DiagramCheckerService(this.diagramComparator, this.descriptionNameGenerator); + this.semanticCheckerService = new SemanticCheckerService(this.semanticRunnableFactory, this.objectSearchService, EDITING_CONTEXT_ID, + EdgeConnectionUsageTestProjectData.SemanticIds.PACKAGE1_ID); + this.directEditTester = new DirectEditTester(this.editLabelMutationRunner, EdgeConnectionUsageTestProjectData.EDITING_CONTEXT_ID); + + } + + @AfterEach + public void tearDown() { + if (this.verifier != null) { + this.verifier.thenCancel() + .verify(Duration.ofSeconds(10)); + } + } + + @DisplayName("Given two PartUsages in a package, WHEN using an Edge tool to create a ConnectionUsage in between, THEN a ConnectionUsage edge is created") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void createConnectionUsageOnParts() { + AtomicReference newEdge = this.createEdge( + this.descriptionNameGenerator.getNodeName(SysmlPackage.eINSTANCE.getPartUsage()), + EdgeConnectionUsageTestProjectData.GraphicalIds.PART1_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.PART2_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.PART1_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.PART2_ID, + "connection1"); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PART1_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PART2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.PACKAGE1_ID) + .setExpectedSourceReference(EdgeConnectionUsageTestProjectData.SemanticIds.PART1_ID) + .setExpectedTargetReference(EdgeConnectionUsageTestProjectData.SemanticIds.PART2_ID) + .run(this.verifier, newEdge); + } + + @DisplayName("Given two PartUsages contained in a common context, WHEN using an Edge tool to create a ConnectionUsage in between, THEN a ConnectionUsage edge is created") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void createConnectionUsageOnPartsWithCommonContext() { + AtomicReference newEdge = this.createEdge( + this.descriptionNameGenerator.getNodeName(SysmlPackage.eINSTANCE.getPartUsage()), + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART1_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART2_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART1_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART2_ID, + "connection2"); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ID) + .setExpectedSourceReference(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID) + .setExpectedTargetReference(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID) + .run(this.verifier, newEdge); + } + + + @DisplayName("Given two ItemUsage contained in a common context PartUsage, WHEN using an Edge tool to create a ConnectionUsage in between, THEN a ConnectionUsage edge is created with valid " + + "feature chain") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void createConnectionUsageOnItemUsageWithCommonContext() { + AtomicReference newEdge = this.createEdge( + this.descriptionNameGenerator.getNodeName(SysmlPackage.eINSTANCE.getItemUsage()), + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM1_IN_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM2_OUT_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM1_IN_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM2_OUT_ID, + "connection2"); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM1IN_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ID) + .setExpectedSourceFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID, EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM1IN_ID)) + .setExpectedTargetFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID, EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM2_ID)) + .run(this.verifier, newEdge); + } + + @DisplayName("Given two PortUsage contained in a common context PartUsage, WHEN using an Edge tool to create a ConnectionUsage in between, THEN a ConnectionUsage edge is created with valid " + + "feature chain") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void createConnectionUsageOnPortUsageUsageWithCommonContext() { + AtomicReference newEdge = this.createEdge( + this.descriptionNameGenerator.getBorderNodeName(SysmlPackage.eINSTANCE.getPortUsage(), SysmlPackage.eINSTANCE.getUsage_NestedPort()), + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PORT11_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PORT22_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PORT11_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PORT22_ID, + "connection2"); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PORT11_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PORT22_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ID) + .setExpectedSourceFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID, EdgeConnectionUsageTestProjectData.SemanticIds.PORT11_ID)) + .setExpectedTargetFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID, EdgeConnectionUsageTestProjectData.SemanticIds.PORT22_ID)) + .run(this.verifier, newEdge); + } + + @DisplayName("Given two inherited PortUsage contained in a common context PartUsage, WHEN using an Edge tool to create a ConnectionUsage in between, THEN a ConnectionUsage edge is created with " + + "valid " + + "feature chain") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void createConnectionUsageOnInheritedPortUsageUsageWithCommonContext() { + AtomicReference newEdge = this.createEdge( + this.descriptionNameGenerator.getInheritedBorderNodeName(SysmlPackage.eINSTANCE.getPortUsage(), SysmlPackage.eINSTANCE.getUsage_NestedPort()), + EdgeConnectionUsageTestProjectData.GraphicalIds.INHERITED_PD1_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.INHERITED_PD2_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.INHERITED_PD1_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.INHERITED_PD2_ID, + "connection2"); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PD1_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PD2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ID) + .setExpectedSourceFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID, EdgeConnectionUsageTestProjectData.SemanticIds.PD1_ID)) + .setExpectedTargetFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID, EdgeConnectionUsageTestProjectData.SemanticIds.PD2_ID)) + .run(this.verifier, newEdge); + } + + @DisplayName("Given a ConnectionUsage, WHEN reconnecting the source to a new source within the same context , THEN a ConnectionUsage updated but the container is not changed") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void reconnectSourceSameContext() { + var newEdge = this.reconnect(EdgeConnectionUsageTestProjectData.GraphicalIds.CONNECTION_0_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART1_ID, ReconnectEdgeKind.SOURCE, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART1_ID, EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM2_OUT_ID); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ID) + .setExpectedSourceReference(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID) + .setExpectedTargetFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID, EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM2_ID)) + .run(this.verifier, newEdge); + } + + @DisplayName("Given a ConnectionUsage, WHEN reconnecting the source to a new source within a new context, THEN a ConnectionUsage updated and the container is changed") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void reconnectSourceChangeContext() { + var newEdge = this.reconnect(EdgeConnectionUsageTestProjectData.GraphicalIds.CONNECTION_0_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.PORT1_ID, ReconnectEdgeKind.SOURCE, + EdgeConnectionUsageTestProjectData.GraphicalIds.PORT1_ID, EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM2_OUT_ID); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PORT1_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.PACKAGE1_ID) + .setExpectedSourceReference(EdgeConnectionUsageTestProjectData.SemanticIds.PORT1_ID) + .setExpectedTargetReference(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM2_ID) + .run(this.verifier, newEdge); + } + + @DisplayName("Given a ConnectionUsage, WHEN reconnecting the target to a new target within the same context, THEN a ConnectionUsage is updated but the container is not changed") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void reconnectTargetSameContext() { + var newEdge = this.reconnect(EdgeConnectionUsageTestProjectData.GraphicalIds.CONNECTION_0_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART2_ID, ReconnectEdgeKind.TARGET, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM1_IN_ID, EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_PART2_ID); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM1IN_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ID) + .setExpectedSourceFeatureChain(List.of(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART1_ID, EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM1IN_ID)) + .setExpectedTargetReference(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_PART2_ID) + .run(this.verifier, newEdge); + } + + @DisplayName("Given a ConnectionUsage, WHEN reconnecting the target to a new target in a new context , THEN a ConnectionUsage is updated and the container is changed") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void reconnectTargetChangeContext() { + var newEdge = this.reconnect(EdgeConnectionUsageTestProjectData.GraphicalIds.CONNECTION_0_ID, + EdgeConnectionUsageTestProjectData.GraphicalIds.PORT2_ID, ReconnectEdgeKind.TARGET, + EdgeConnectionUsageTestProjectData.GraphicalIds.SYSTEM_ITEM1_IN_ID, EdgeConnectionUsageTestProjectData.GraphicalIds.PORT2_ID); + + this.createChecker() + .setExpectedSourceSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM1IN_ID) + .setExpectedTargetSemanticId(EdgeConnectionUsageTestProjectData.SemanticIds.PORT2_ID) + .setExpectedSemanticContainer(EdgeConnectionUsageTestProjectData.SemanticIds.PACKAGE1_ID) + .setExpectedSourceReference(EdgeConnectionUsageTestProjectData.SemanticIds.SYSTEM_ITEM1IN_ID) + .setExpectedTargetReference(EdgeConnectionUsageTestProjectData.SemanticIds.PORT2_ID) + .run(this.verifier, newEdge); + } + + @DisplayName("Given a ConnectionUsage, WHEN direct editing its centered label, THEN type of the usage is set") + @Test + @Sql(scripts = { EdgeConnectionUsageTestProjectData.SCRIPT_PATH }, executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, + config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + @Sql(scripts = { "/scripts/cleanup.sql" }, executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD, config = @SqlConfig(transactionMode = SqlConfig.TransactionMode.ISOLATED)) + public void directEditFeatureTyping() { + this.directEditTester.checkDirectEditCenteredEdgeLabel(this.verifier, this.diagram, EdgeConnectionUsageTestProjectData.GraphicalIds.CONNECTION_0_ID, "connection0 : ConnectionDefinition1", "connection0 : ConnectionDefinition1"); + + this.semanticCheckerService.checkElement(this.verifier, ConnectionUsage.class, () -> EdgeConnectionUsageTestProjectData.SemanticIds.CONNECTION_0_ID, connectionUsage -> { + assertThat(connectionUsage.getType()).hasSize(1).allMatch(type -> "ConnectionDefinition1".equals(type.getName())); + }); + + } + + private AtomicReference createEdge(String sourceNodeDescriptionName, String sourceNodeId, String targetNodeId, String expectedSourceGraphicalId, String expectedTargetGraphicalId, + String expectedLabel) { + String creationToolId = this.diagramDescriptionIdProvider.getEdgeCreationToolId( + sourceNodeDescriptionName, + "New Connection"); + + + this.verifier.then(() -> this.edgeCreationTester.createEdgeUsingNodeId(EDITING_CONTEXT_ID, + this.diagram, + sourceNodeId, + targetNodeId, + creationToolId)); + + var result = new AtomicReference(); + + IDiagramChecker diagramChecker = (initialDiagram, newDiagram) -> { + new CheckDiagramElementCount(this.diagramComparator) + .hasNewNodeCount(0) + .hasNewEdgeCount(1) + .check(initialDiagram, newDiagram, true); + List newEdges = this.diagramComparator.newEdges(initialDiagram, newDiagram); + List newVisibleEdges = newEdges.stream().filter(edge -> edge.getState() != ViewModifier.Hidden).toList(); + assertThat(newVisibleEdges).hasSize(1).first(EDGE) + .hasSourceId(expectedSourceGraphicalId) + .hasTargetId(expectedTargetGraphicalId) + .extracting(Edge::getStyle, EDGE_STYLE) + .hasSourceArrow(ArrowStyle.None) + .hasTargetArrow(ArrowStyle.None); + assertThat(newVisibleEdges).hasSize(1).first(EDGE) + .extracting(e -> e.getCenterLabel().text()).isEqualTo(expectedLabel); + result.set(newEdges.get(0).getTargetObjectId()); + }; + + this.diagramCheckerService.checkDiagram(diagramChecker, this.diagram, this.verifier); + return result; + } + + private ConnectorAsUsageChecker createChecker() { + return new ConnectorAsUsageChecker(this.identityService, this.semanticCheckerService, ConnectionUsage.class); + } + + private AtomicReference reconnect(String edgeId, String newTarget, ReconnectEdgeKind reconnectionKind, String expectedSourceGraplicalId, String expectedTargetGraplicalId) { + + this.verifier.then(() -> this.edgeReconnectionTester.reconnectEdge(EDITING_CONTEXT_ID, + this.diagram, + edgeId, + newTarget, + reconnectionKind)); + + var result = new AtomicReference(); + IDiagramChecker diagramCheckerTarget = (initialDiagram, newDiagram) -> { + new CheckDiagramElementCount(this.diagramComparator) + .hasNewEdgeCount(1) + .check(initialDiagram, newDiagram, true); + + Edge newEdge = this.diagramComparator.newEdges(initialDiagram, newDiagram).get(0); + result.set(newEdge.getTargetObjectId()); + DiagramAssertions.assertThat(newEdge) + .hasSourceId(expectedSourceGraplicalId) + .hasTargetId(expectedTargetGraplicalId) + .extracting(Edge::getStyle, EDGE_STYLE) + .hasSourceArrow(ArrowStyle.None) + .hasTargetArrow(ArrowStyle.None); + }; + + this.diagramCheckerService.checkDiagram(diagramCheckerTarget, this.diagram, this.verifier); + + return result; + } + +} diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVEdgePortUsageTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVEdgePortUsageTests.java index 32cb4e4ec..bca5e2fc9 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVEdgePortUsageTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/general/view/GVEdgePortUsageTests.java @@ -17,6 +17,7 @@ import static org.eclipse.sirius.components.diagrams.tests.assertions.DiagramInstanceOfAssertFactories.EDGE_STYLE; import java.time.Duration; +import java.util.ArrayList; import java.util.List; import java.util.UUID; import java.util.concurrent.atomic.AtomicReference; @@ -44,6 +45,7 @@ import org.eclipse.syson.services.diagrams.api.IGivenDiagramReference; import org.eclipse.syson.services.diagrams.api.IGivenDiagramSubscription; import org.eclipse.syson.standard.diagrams.view.SDVDescriptionNameGenerator; +import org.eclipse.syson.sysml.BindingConnector; import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.util.IDescriptionNameGenerator; import org.eclipse.syson.util.SysONRepresentationDescriptionIdentifiers; @@ -181,6 +183,7 @@ public void givenSysMLProjectWithPortsWhenBindingConnectorAsUsageEdgeToolCreatio GeneralViewPortTestProjectData.GraphicalIds.PORT_2_BORDER_NODE_ID, creationToolId)); + List bindingConnectorIds = new ArrayList<>(); IDiagramChecker diagramChecker = (initialDiagram, newDiagram) -> { new CheckDiagramElementCount(this.diagramComparator) .hasNewNodeCount(0) @@ -193,14 +196,14 @@ public void givenSysMLProjectWithPortsWhenBindingConnectorAsUsageEdgeToolCreatio .extracting(Edge::getStyle, EDGE_STYLE) .hasSourceArrow(ArrowStyle.None) .hasTargetArrow(ArrowStyle.None); + bindingConnectorIds.addAll(newEdges.stream().map(Edge::getTargetObjectId).toList()); }; this.diagramCheckerService.checkDiagram(diagramChecker, this.diagram, this.verifier); - ISemanticChecker semanticChecker = this.semanticCheckerService.getElementInParentSemanticChecker("part1", SysmlPackage.eINSTANCE.getType_Feature(), - SysmlPackage.eINSTANCE.getBindingConnectorAsUsage()); - - this.semanticCheckerService.checkEditingContext(semanticChecker, this.verifier); + this.semanticCheckerService.checkElement(this.verifier, BindingConnector.class, () -> bindingConnectorIds.get(0), bindingConnector -> { + assertThat(bindingConnector.getOwner().getName()).isEqualTo("Package 1"); + }); } @DisplayName("GIVEN a SysML Project with ports, WHEN interface edge tool creation is request between two ports, THEN a new interface edge is created") diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewFlowConnectionFromPartUsageTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewFlowConnectionFromPartUsageTests.java index 65b8518ea..e480ce328 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewFlowConnectionFromPartUsageTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewFlowConnectionFromPartUsageTests.java @@ -133,8 +133,9 @@ public void givenASysMLProjectWhenNewFlowConnectionToolOfFirstLevelElementIsRequ // - 1 more node for the new PartUsage, with all its compartments // - 2 more nodes for ports on each part usage // - 1 more node (list item) in the parent's "parts" compartment for the new part + // - 1 more node (list item) in the parent's "action" compartment for the new FlowUsage // - 1 more edge (the new interface edge) - .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 1) + .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 2) .hasNewEdgeCount(1) .hasNewBorderNodeCount(2) .check(initialDiagram, newDiagram); @@ -210,8 +211,9 @@ public void givenASysMLProjectWhenNewFlowConnectionToolOfNestedElementIsRequeste // - 1 more node for the new PartUsage, with all its compartments // - 2 more nodes for ports on each part usage // - 1 more node (list item) in the parent's "parts" compartment for the new part + // - 1 more node (list item) in the parent's "actions" compartment for the new FlowUsage // - 1 more edge (the new interface edge) - .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 1) + .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 2) .hasNewEdgeCount(1) .hasNewBorderNodeCount(2) .check(initialDiagram, newDiagram); diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewInterfaceFromPartUsageTests.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewInterfaceFromPartUsageTests.java index 345740d9a..9d01d6c5c 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewInterfaceFromPartUsageTests.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/interconnection/view/IVAddNewInterfaceFromPartUsageTests.java @@ -132,9 +132,9 @@ public void givenASysMLProjectWhenNewInterfaceToolIsRequestedOnAPartUsageThenANe // We should have: // - 1 more node for the new PartUsage, with all its compartments // - 2 more nodes for ports on each part usage - // - 1 more node (list item) in the parent's "parts" compartment for the new part + // - 2 more node (list item) in the parent's "parts" compartment for the new part and the new InterfaceUsage // - 1 more edge (the new interface edge) - .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 1) + .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 2) .hasNewEdgeCount(1) .hasNewBorderNodeCount(2) .check(initialDiagram, newDiagram); @@ -209,9 +209,9 @@ public void givenASysMLProjectWhenNewInterfaceToolOfNestedElementIsRequestedOnAP // We should have: // - 1 more node for the new PartUsage, with all its compartments // - 2 more nodes for ports on each part usage - // - 1 more node (list item) in the parent's "parts" compartment for the new part + // - 2 more node (list item) in the parent's "parts" compartment for the new part and the new InterfaceUsage // - 1 more edge (the new interface edge) - .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 1) + .hasNewNodeCount(1 + PART_USAGE_COMPARTMENT_COUNT + 2 + 2) .hasNewEdgeCount(1) .hasNewBorderNodeCount(2) .check(initialDiagram, newDiagram); diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/DirectEditTester.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/DirectEditTester.java index 2e0a03d38..6b0af5926 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/DirectEditTester.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/DirectEditTester.java @@ -29,6 +29,7 @@ import org.eclipse.sirius.components.collaborative.diagrams.dto.EditLabelSuccessPayload; import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.sirius.components.diagrams.InsideLabel; +import org.eclipse.sirius.components.diagrams.Label; import org.eclipse.sirius.components.diagrams.OutsideLabel; import org.eclipse.sirius.components.diagrams.tests.graphql.EditLabelMutationRunner; import org.eclipse.sirius.components.diagrams.tests.navigation.DiagramNavigator; @@ -105,6 +106,33 @@ public void checkDirectEditOutsideLabel(Step verif this.checkDirectEdit(verifier, diagram, inputLabel, d -> this.getOutsideLabelid(mainNodeId, d), checker); } + /** + * Runs a direct edit and checks the resulting label for an edge centered label. + * + * @param verifier + * the verifier + * @param diagram + * the diagram + * @param edgeId + * the id of the edge holding the centered label + * @param inputLabel + * the input label to be used for the direct edit + * @param expectedCenteredLabel + * the expected centered label + */ + public void checkDirectEditCenteredEdgeLabel(Step verifier, AtomicReference diagram, String edgeId, String inputLabel, + String expectedCenteredLabel) { + Consumer checker = payload -> Optional.of(payload) + .map(DiagramRefreshedEventPayload::diagram) + .ifPresentOrElse(newDiagram -> { + DiagramNavigator diagramNavigator = new DiagramNavigator(newDiagram); + + Label newLabel = diagramNavigator.edgeWithId(edgeId).getEdge().getCenterLabel(); + assertThat(newLabel.text()).isEqualTo(expectedCenteredLabel); + }, () -> fail("Missing diagram")); + this.checkDirectEdit(verifier, diagram, inputLabel, d -> this.getCenteredLabelId(edgeId, d), checker); + } + /** * Run a direct edit and check the resulting label for an {@link InsideLabel} (only check the first one available). * @@ -170,4 +198,9 @@ private String getOutsideLabelid(String mainNodeId, Diagram d) { return diagramNavigator.nodeWithId(mainNodeId).getNode().getOutsideLabels().get(0).id(); } + private String getCenteredLabelId(String edgeId, Diagram d) { + DiagramNavigator diagramNavigator = new DiagramNavigator(d); + return diagramNavigator.edgeWithId(edgeId).getEdge().getCenterLabel().id(); + } + } diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/EdgeCreationTester.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/EdgeCreationTester.java index dd64fb65f..1b30072a2 100644 --- a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/EdgeCreationTester.java +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/controllers/diagrams/testers/EdgeCreationTester.java @@ -55,7 +55,11 @@ public void createEdge(String projectId, AtomicReference diagram, Strin } public void createEdgeUsingNodeId(String projectId, AtomicReference diagram, String sourceNodeId, String targetNodeId, String toolId) { - this.createEdgeUsingNodeId(projectId, diagram, sourceNodeId, targetNodeId, toolId, Optional.empty()); + this.createEdgeUsingNodeId(projectId, diagram.get().getId(), sourceNodeId, targetNodeId, toolId, Optional.empty()); + } + + public void createEdgeUsingNodeId(String projectId, String diagramId, String sourceNodeId, String targetNodeId, String toolId) { + this.createEdgeUsingNodeId(projectId, diagramId, sourceNodeId, targetNodeId, toolId, Optional.empty()); } /** @@ -75,14 +79,14 @@ public void createEdgeUsingNodeId(String projectId, AtomicReference dia * a list of expected messages shown to the user */ public void runSingleClickOnTwoDiagramElementsTool(String editingContextId, AtomicReference diagram, String sourceNodeId, String targetNodeId, String toolId, List expectedMessages) { - this.createEdgeUsingNodeId(editingContextId, diagram, sourceNodeId, targetNodeId, toolId, Optional.of(expectedMessages)); + this.createEdgeUsingNodeId(editingContextId, diagram.get().getId(), sourceNodeId, targetNodeId, toolId, Optional.of(expectedMessages)); } - private void createEdgeUsingNodeId(String editingContextId, AtomicReference diagram, String sourceNodeId, String targetNodeId, String toolId, Optional> expectedMessages) { + private void createEdgeUsingNodeId(String editingContextId, String diagramId, String sourceNodeId, String targetNodeId, String toolId, Optional> expectedMessages) { var createEdgeInput = new InvokeSingleClickOnTwoDiagramElementsToolInput( UUID.randomUUID(), editingContextId, - diagram.get().getId(), + diagramId, sourceNodeId, targetNodeId, 0, diff --git a/backend/application/syson-application/src/test/java/org/eclipse/syson/application/data/EdgeConnectionUsageTestProjectData.java b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/data/EdgeConnectionUsageTestProjectData.java new file mode 100644 index 000000000..4727f3402 --- /dev/null +++ b/backend/application/syson-application/src/test/java/org/eclipse/syson/application/data/EdgeConnectionUsageTestProjectData.java @@ -0,0 +1,113 @@ +/******************************************************************************* + * Copyright (c) 2025 Obeo. + * 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/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.syson.application.data; + +/** + * Project data for project named "EdgeConnectionUsageTestProject". + * + * @author Arthur Daussy + */ +public class EdgeConnectionUsageTestProjectData { + + public static final String SCRIPT_PATH = "/scripts/database-content/ConnectionUsageTests.sql"; + + public static final String EDITING_CONTEXT_ID = "8e43f6d2-33df-42e6-9e37-2ba56c004198"; + + /** + * Semantic element ids. + * + * @author Arthur Daussy + */ + public static final class SemanticIds { + + public static final String PACKAGE1_ID = "1805794b-c76f-48ef-9082-0e69002d8e12"; + + public static final String PART1_ID = "849627b8-9eec-4c92-89d9-088e0675ef89"; + + public static final String PORT1_ID = "8490217e-46e4-4d0f-bb1e-b30a61d2b92a"; + + public static final String ITEM1IN_ID = "4821f3b8-1c37-46cc-9028-73b5a6ba8435"; + + public static final String PART2_ID = "aa635140-83ff-4082-aaa8-d52a804093b7"; + + public static final String PORT2_ID = "6fec253f-e02d-491b-acc4-c578fa855f43"; + + public static final String ITEM12OUT_ID = "fd3e339c-33d7-4b6a-865f-2b7f76f66cac"; + + public static final String SUPERSYSTEM_ID = "60fae4ba-373a-44ae-954b-df1db8b9a77b"; + + public static final String SUPERPART1_ID = "424e68cd-82c9-447f-ba72-5b2b1824e9f6"; + + public static final String SUPERPART2_ID = "3a1c6a8c-7554-4041-9e10-6786a3295d8c"; + + public static final String SYSTEM_ID = "a72ddde2-3306-4692-a8bf-c291633118c0"; + + public static final String SYSTEM_PART1_ID = "7d234b6b-f873-46fe-80da-6bc674353fc5"; + + public static final String SYSTEM_ITEM1IN_ID = "7d4a5493-d345-428a-98e8-e965d5ef42f0"; + + public static final String PORT11_ID = "075549ca-30b9-4a65-80eb-5a42b3d921d4"; + + public static final String SYSTEM_PART2_ID = "284bf30c-f20a-4ef5-92e5-9adaea627f81"; + + public static final String SYSTEM_ITEM2_ID = "72464da6-f4eb-4e0d-8c93-6b4f48db36fd"; + + public static final String PORT22_ID = "e13dd0ec-bf08-47f6-8d95-4c4646f56821"; + + public static final String PART_DEFINITION1_ID = "60ec2f73-0a28-424a-9605-5d460a071d16"; + + public static final String PD1_ID = "9c6e2b31-4189-450c-80f7-cfdc2e7ca218"; + + public static final String PART_DEFINITION2_ID = "a4d111b7-0262-45e9-b3f4-60894fe8d27b"; + + public static final String PD2_ID = "d66de736-e6ea-4678-9783-1b0c3ebf5b8c"; + + public static final String CONNECTION_0_ID = "4f0ee7f2-a0bb-4aa1-8ff8-1704265f871b"; + } + + /** + * Graphical element ids. + * + * @author Arthur Daussy + */ + public class GraphicalIds { + + public static final String DIAGRAM_ID = "52bfb640-1f65-423f-98ba-a392852c95b8"; + + public static final String PART1_ID = "0d5d4336-476b-3f17-82f5-8bad1d3cb4f9"; + + public static final String PART2_ID = "ef6d162f-cfcf-3f77-a2d3-c5266f4f772c"; + + public static final String PORT2_ID = "f1cc2eff-2347-3804-98d4-9fd4919a08a5"; + + public static final String PORT1_ID = "581ebc58-d9ca-37ba-9b95-92ad5135a1bb"; + + public static final String SYSTEM_PART1_ID = "bec27c06-6eee-3962-8298-1fa205074bed"; + + public static final String SYSTEM_PART2_ID = "5b374e3e-5333-3811-862a-eafd04ea9a65"; + + public static final String SYSTEM_ITEM1_IN_ID = "f5be8015-65c2-3654-890a-06789013e8d7"; + + public static final String SYSTEM_ITEM2_OUT_ID = "7c295348-685c-3d60-8e9b-770b249160ee"; + + public static final String SYSTEM_PORT11_ID = "708f0a95-eb69-30c3-a436-6b59fb0e29ff"; + + public static final String SYSTEM_PORT22_ID = "9be97ab1-986d-3d71-890f-a0ef2e3b4881"; + + public static final String INHERITED_PD1_ID = "48aaee5f-403b-3065-ae18-d5fac478c378"; + + public static final String INHERITED_PD2_ID = "7db00f9a-18ba-3e2b-9af7-8df589892000"; + + public static final String CONNECTION_0_ID = "76853791-5318-3111-af76-babe9b5a40b3"; + } +} diff --git a/backend/application/syson-application/src/test/resources/scripts/database-content/ConnectionUsageTests.sql b/backend/application/syson-application/src/test/resources/scripts/database-content/ConnectionUsageTests.sql new file mode 100644 index 000000000..2f9003b86 --- /dev/null +++ b/backend/application/syson-application/src/test/resources/scripts/database-content/ConnectionUsageTests.sql @@ -0,0 +1,104 @@ +-- +-- PostgreSQL database dump +-- + + +-- Dumped from database version 15.14 (Debian 15.14-1.pgdg13+1) +-- Dumped by pg_dump version 18.0 + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- +-- Data for Name: semantic_data; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.semantic_data (id, created_on, last_modified_on) VALUES ('8e43f6d2-33df-42e6-9e37-2ba56c004198', '2025-12-18 18:02:05.405643+00', '2025-12-19 08:52:11.807301+00'); + + +-- +-- Data for Name: document; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.document (id, semantic_data_id, name, content, created_on, last_modified_on, is_read_only) VALUES ('92d3e145-3b99-4c63-ab6d-7534a934c9e6', '8e43f6d2-33df-42e6-9e37-2ba56c004198', 'EdgeConnectionUsageTestProject.sysml', '{"json":{"version":"1.0","encoding":"utf-8"},"ns":{"sysml":"http://www.eclipse.org/syson/sysml"},"migration":{"lastMigrationPerformed":"none","migrationVersion":"2025.8.0-202508220000"},"content":[{"id":"a91775c9-ecbc-47a0-b336-8acbd6917cf3","eClass":"sysml:Namespace","data":{"elementId":"257eb7dc-94d7-4f42-9ddb-9e8480201268","ownedRelationship":[{"id":"917b544f-f6b8-4bbe-8792-c58d8c83a959","eClass":"sysml:OwningMembership","data":{"elementId":"4760697a-f188-4003-a081-dab741cb17ef","ownedRelatedElement":[{"id":"1805794b-c76f-48ef-9082-0e69002d8e12","eClass":"sysml:Package","data":{"declaredName":"Package1","elementId":"f12e49f1-442f-4194-9cfd-7746240c2ded","ownedRelationship":[{"id":"4a30b869-3f38-43a0-a586-1ed7c2eab2b0","eClass":"sysml:OwningMembership","data":{"elementId":"c365d7da-be59-4892-9de1-03e21cc649c8","ownedRelatedElement":[{"id":"d8cf003d-e74c-47c4-a2e2-6b20deb53b91","eClass":"sysml:ViewUsage","data":{"declaredName":"GV_ConnectionUsageTest","elementId":"fa9884ce-f3ed-4e24-a3b2-53b1bd1c4146","ownedRelationship":[{"id":"dfb93c32-c3cb-4a02-8a75-1d8039a6e3bc","eClass":"sysml:FeatureTyping","data":{"elementId":"b4b262e9-d636-4070-947f-8d58dc513d8c","type":"sysml:ViewDefinition sysmllibrary:///faf517ae-dbcd-30a4-b3b9-3d9cb3bbf5c1#03904fdf-d6f2-57b1-92d5-95d36b8208dc","typedFeature":"d8cf003d-e74c-47c4-a2e2-6b20deb53b91"}},{"id":"543fe4a4-8443-4ff5-8447-37efef5fdd23","eClass":"sysml:MembershipExpose","data":{"elementId":"c11a0005-2251-45f6-8607-16b27d25bbaf","importedMembership":"5d6c365a-f53b-41cf-bc43-cfcfa2556f37"}},{"id":"b530b048-cde7-4494-b9e2-fe1b432c6d1a","eClass":"sysml:MembershipExpose","data":{"elementId":"7ee4f2b2-83b0-4871-a42d-115fb168ed06","importedMembership":"f5b2a12c-b23c-44b7-9bee-14e3a25341ac"}},{"id":"b94567f9-9223-487c-872a-0ab5296a41c1","eClass":"sysml:MembershipExpose","data":{"elementId":"8879e2e1-6802-49d5-9cd9-b860acd7935a","importedMembership":"9e24f27d-6290-4a5c-8d93-e55e2d350d36"}},{"id":"d2780a63-1f29-4bf8-9d16-32d2cf9e690e","eClass":"sysml:MembershipExpose","data":{"elementId":"32e4ab66-8eda-4c1c-87ed-69cbb3c7e381","importedMembership":"369d5253-22b7-47c2-a239-996422da40d7"}},{"id":"54be65de-b6b7-41a6-9ce3-fda8fc3e2361","eClass":"sysml:MembershipExpose","data":{"elementId":"a9d5b258-3bec-452c-af23-11b41ac02b69","importedMembership":"53e6adf1-fa71-47bd-b3e9-4cdbfd23e5f4"}},{"id":"6b8be444-55e2-4847-96b7-a3f7da1f63a0","eClass":"sysml:MembershipExpose","data":{"elementId":"da97a322-806b-48cd-876e-ae98b33620aa","importedMembership":"ada72edd-c4ca-48c5-b733-8d4e749ecac8"}},{"id":"a75a2737-25ae-4266-bbb2-fa5e7bd94d35","eClass":"sysml:MembershipExpose","data":{"elementId":"81b9fb6f-43b5-432e-87c5-cc12ee2ebbaf","importedMembership":"e7244e59-9770-40c8-bc33-75e777edd75c"}},{"id":"c613e634-4bc1-43a8-9cb0-055dc00715af","eClass":"sysml:MembershipExpose","data":{"elementId":"16f88d0f-b12f-443c-be64-7fd48f083eb3","importedMembership":"b3ad8098-f087-459d-8aff-23d587f996a3"}},{"id":"b9274bf3-77e2-480b-9d07-8e8836c2d659","eClass":"sysml:MembershipExpose","data":{"elementId":"a258429f-344c-4d16-a79b-a222e66cb743","importedMembership":"bbc21428-89eb-44d1-858d-68dfc6a423b8"}},{"id":"befa551a-2540-4b92-bed3-45a1e0d7b37b","eClass":"sysml:MembershipExpose","data":{"elementId":"0c00d529-b1a5-45b6-8a08-08fc3f7f35f8","importedMembership":"c47bf0a2-471a-4732-801a-a58f8f53b51b"}},{"id":"fb612aba-5f53-41aa-9140-c4bdaace8a4d","eClass":"sysml:MembershipExpose","data":{"elementId":"b798b639-4429-4934-aeaf-73cd98eefcde","importedMembership":"ef145c16-1f4a-419f-b84b-5a18b3f1cb44"}},{"id":"e4f04935-e3b6-4279-8cde-197c1d0d99cf","eClass":"sysml:MembershipExpose","data":{"elementId":"afe2f7a0-5de9-4e39-810b-806ca9c463f7","importedMembership":"5afab6d6-9432-4093-8e3d-e19d43ee2979"}},{"id":"313ffc01-0b17-49ac-beb6-f1b842b9f5aa","eClass":"sysml:MembershipExpose","data":{"elementId":"003d50ac-8f0b-41b3-b29f-8d82c2fa0406","importedMembership":"614ed3b5-7ae9-4286-a7d9-0f82e29ca550"}},{"id":"6f06363a-403b-4161-a899-dd6be98b10bf","eClass":"sysml:MembershipExpose","data":{"elementId":"9da3ad20-a3b3-4123-aa21-cd93225560d0","importedMembership":"f97a44db-51e4-4e4a-9002-0d3de9640ea5"}},{"id":"f107dcb8-19e8-420e-9c6e-73f7efeb8a4a","eClass":"sysml:MembershipExpose","data":{"elementId":"e84d0d10-a81a-45b7-b2d4-65d4529fbdb2","importedMembership":"9d69734d-5328-4d12-add5-7c3a3311e1ff"}},{"id":"5e4d296e-8738-4ced-919d-251a62300519","eClass":"sysml:MembershipExpose","data":{"elementId":"625e6fdd-8a52-4014-94ee-e1823731d39b","importedMembership":"f09f3cfb-1ecc-453e-a500-95830729647c"}},{"id":"2cee1f7e-ba44-4179-9ac0-61f250d7568d","eClass":"sysml:MembershipExpose","data":{"elementId":"7cf51dff-4f4a-45fa-a37f-2e2e1e6c042e","importedMembership":"fa61c0c0-c399-4eed-b751-2cad8084b3b5"}},{"id":"5f43e03d-e955-4048-8621-b15ddf2d6fa4","eClass":"sysml:MembershipExpose","data":{"elementId":"480e71b5-684b-4169-9040-bf3aaa292aff","importedMembership":"e81f6697-2825-4d6c-8fdd-f5c097d8d299"}},{"id":"b18982bd-434d-4299-a9c7-d621da287551","eClass":"sysml:MembershipExpose","data":{"elementId":"27f79d2b-1928-46b6-acc4-b1a4cfee6102","importedMembership":"86dad23c-1f79-4bb0-b816-de02625c5c4c"}},{"id":"b1e8d923-e3d7-4a06-9d04-7f24c041bad5","eClass":"sysml:MembershipExpose","data":{"elementId":"bceb3a8f-1025-498f-b28f-cd28301b60a0","importedMembership":"6f981e8d-69bd-4e2b-8955-5a58214be793"}},{"id":"7b97def9-716e-4f98-8cb3-ad489f6e04a2","eClass":"sysml:MembershipExpose","data":{"elementId":"a94b62e0-403a-4b0f-8b0c-a67002fddbc4","importedMembership":"7be89198-2011-4939-9b44-8eef33323abf"}}]}}]}},{"id":"5d6c365a-f53b-41cf-bc43-cfcfa2556f37","eClass":"sysml:OwningMembership","data":{"elementId":"0469e962-a95c-41ba-b534-2e73bc88fa1e","ownedRelatedElement":[{"id":"849627b8-9eec-4c92-89d9-088e0675ef89","eClass":"sysml:PartUsage","data":{"declaredName":"part1","elementId":"e588ea1f-810d-4e06-8f3c-7282bcdb2217","ownedRelationship":[{"id":"9e24f27d-6290-4a5c-8d93-e55e2d350d36","eClass":"sysml:FeatureMembership","data":{"elementId":"4bf9f6f9-2260-4b99-a0d2-2dcebc0d686f","ownedRelatedElement":[{"id":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","eClass":"sysml:PortUsage","data":{"declaredName":"port1","elementId":"5c379828-90dc-4013-a517-6269c456ccc3","isComposite":true}}]}},{"id":"53e6adf1-fa71-47bd-b3e9-4cdbfd23e5f4","eClass":"sysml:FeatureMembership","data":{"elementId":"e6899a57-8daf-4256-932d-c08ddf346b0c","ownedRelatedElement":[{"id":"4821f3b8-1c37-46cc-9028-73b5a6ba8435","eClass":"sysml:ItemUsage","data":{"declaredName":"item1In","elementId":"fb84fb3e-8514-453d-9ac6-1a615dcfe7ba","direction":"in","isComposite":true}}]}}],"isComposite":true}}]}},{"id":"f5b2a12c-b23c-44b7-9bee-14e3a25341ac","eClass":"sysml:OwningMembership","data":{"elementId":"e8cf3a8a-1a5b-41eb-b48c-4d6259448d5d","ownedRelatedElement":[{"id":"aa635140-83ff-4082-aaa8-d52a804093b7","eClass":"sysml:PartUsage","data":{"declaredName":"part2","elementId":"c1d85fa1-14d8-4695-af11-e5b734aa1db5","ownedRelationship":[{"id":"369d5253-22b7-47c2-a239-996422da40d7","eClass":"sysml:FeatureMembership","data":{"elementId":"b2581d5a-6e8c-449e-b514-04ee0b5ab609","ownedRelatedElement":[{"id":"6fec253f-e02d-491b-acc4-c578fa855f43","eClass":"sysml:PortUsage","data":{"declaredName":"port2","elementId":"39c57281-c159-4bcc-99e3-eafd74072d7e","isComposite":true}}]}},{"id":"ada72edd-c4ca-48c5-b733-8d4e749ecac8","eClass":"sysml:FeatureMembership","data":{"elementId":"9141153a-e818-4413-96f6-6bfe67b6f4f6","ownedRelatedElement":[{"id":"fd3e339c-33d7-4b6a-865f-2b7f76f66cac","eClass":"sysml:ItemUsage","data":{"declaredName":"item12Out","elementId":"f83fd208-e382-465b-9485-4afd8e24332d","direction":"out","isComposite":true}}]}}],"isComposite":true}}]}},{"id":"e7244e59-9770-40c8-bc33-75e777edd75c","eClass":"sysml:OwningMembership","data":{"elementId":"a2616adf-9e55-4f03-903a-a711aad295d5","ownedRelatedElement":[{"id":"60fae4ba-373a-44ae-954b-df1db8b9a77b","eClass":"sysml:PartUsage","data":{"declaredName":"SuperSystem","elementId":"17c2cbf9-e3d8-4e17-846a-39cd10479e5b","ownedRelationship":[{"id":"b3ad8098-f087-459d-8aff-23d587f996a3","eClass":"sysml:FeatureMembership","data":{"elementId":"823a2996-83c8-444d-b018-a1a873a6a2d9","ownedRelatedElement":[{"id":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","eClass":"sysml:PartUsage","data":{"declaredName":"superPart1","elementId":"239d107c-270a-47e0-b962-acebf05e19d9","isComposite":true}}]}},{"id":"bbc21428-89eb-44d1-858d-68dfc6a423b8","eClass":"sysml:FeatureMembership","data":{"elementId":"590cac17-d68d-490e-8c94-afd4949ee229","ownedRelatedElement":[{"id":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","eClass":"sysml:PartUsage","data":{"declaredName":"superPart2","elementId":"77902869-f3a8-41bc-81cf-a22436fb4cd7","isComposite":true}}]}}],"isComposite":true}}]}},{"id":"c47bf0a2-471a-4732-801a-a58f8f53b51b","eClass":"sysml:OwningMembership","data":{"elementId":"c1f232c1-3ce1-4a85-b856-6a927131df59","ownedRelatedElement":[{"id":"a72ddde2-3306-4692-a8bf-c291633118c0","eClass":"sysml:PartUsage","data":{"declaredName":"System","elementId":"859369da-9fba-441e-9b25-2741f4255133","ownedRelationship":[{"id":"850cfa91-5154-4dcb-8c03-29f9e5bb0360","eClass":"sysml:Subsetting","data":{"elementId":"bbd92e35-958e-48a7-96e0-d75f524ee47d","subsettedFeature":"60fae4ba-373a-44ae-954b-df1db8b9a77b","subsettingFeature":"a72ddde2-3306-4692-a8bf-c291633118c0"}},{"id":"ef145c16-1f4a-419f-b84b-5a18b3f1cb44","eClass":"sysml:FeatureMembership","data":{"elementId":"a963c643-fbdf-4c1e-8b5a-9ee1f66285d9","ownedRelatedElement":[{"id":"7d234b6b-f873-46fe-80da-6bc674353fc5","eClass":"sysml:PartUsage","data":{"declaredName":"SystemPart1","elementId":"9cbc1885-3cae-40aa-9de1-8488fc0088cb","ownedRelationship":[{"id":"614ed3b5-7ae9-4286-a7d9-0f82e29ca550","eClass":"sysml:FeatureMembership","data":{"elementId":"39e94a53-a419-42fd-976b-a40a593062cc","ownedRelatedElement":[{"id":"7d4a5493-d345-428a-98e8-e965d5ef42f0","eClass":"sysml:ItemUsage","data":{"declaredName":"Systemitem1In","elementId":"d24cea42-2020-4b2d-b7fe-4ee9ea5e0ef9","direction":"in","isComposite":true}}]}},{"id":"9f7ef007-d3f9-4614-b142-4d664c06d5fb","eClass":"sysml:FeatureTyping","data":{"elementId":"90ffdbc6-cb96-4c49-a844-0831d4ec8545","type":"60ec2f73-0a28-424a-9605-5d460a071d16","typedFeature":"7d234b6b-f873-46fe-80da-6bc674353fc5"}},{"id":"86dad23c-1f79-4bb0-b816-de02625c5c4c","eClass":"sysml:FeatureMembership","data":{"elementId":"30cd0adb-e072-4073-bfed-e9501467f9c2","ownedRelatedElement":[{"id":"075549ca-30b9-4a65-80eb-5a42b3d921d4","eClass":"sysml:PortUsage","data":{"declaredName":"port11","elementId":"72666264-2ec8-4ece-80aa-aedcaa1cf47b","isComposite":true}}]}}],"isComposite":true}}]}},{"id":"5afab6d6-9432-4093-8e3d-e19d43ee2979","eClass":"sysml:FeatureMembership","data":{"elementId":"551e86aa-496c-4a43-a3ef-574f091c70f0","ownedRelatedElement":[{"id":"284bf30c-f20a-4ef5-92e5-9adaea627f81","eClass":"sysml:PartUsage","data":{"declaredName":"SystemPart2","elementId":"ec32fb5a-ade5-4620-b5a0-160770abccc8","ownedRelationship":[{"id":"f97a44db-51e4-4e4a-9002-0d3de9640ea5","eClass":"sysml:FeatureMembership","data":{"elementId":"00a80845-ab87-4556-a5e5-21ca5bf15f82","ownedRelatedElement":[{"id":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd","eClass":"sysml:ItemUsage","data":{"declaredName":"SystemItem2","elementId":"d79708f3-a72d-4876-be02-1758cc12c7e2","direction":"out","isComposite":true}}]}},{"id":"7b19daf8-fa5c-4457-8115-513ff1e2434d","eClass":"sysml:FeatureTyping","data":{"elementId":"eb4f2e6d-4073-4f4b-a889-c6b5e7762ea8","type":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","typedFeature":"284bf30c-f20a-4ef5-92e5-9adaea627f81"}},{"id":"6f981e8d-69bd-4e2b-8955-5a58214be793","eClass":"sysml:FeatureMembership","data":{"elementId":"f5a76059-fc77-4cbb-8326-12f71bf76dda","ownedRelatedElement":[{"id":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","eClass":"sysml:PortUsage","data":{"declaredName":"port22","elementId":"dab72986-50be-4115-a693-9a71efedbe95","isComposite":true}}]}}],"isComposite":true}}]}},{"id":"55c8bae1-97c7-4516-b0f0-63aa4e8903d2","eClass":"sysml:FeatureMembership","data":{"elementId":"2ccc785a-224f-4186-8626-9ad2aa36bc9c","ownedRelatedElement":[{"id":"4f0ee7f2-a0bb-4aa1-8ff8-1704265f871b","eClass":"sysml:ConnectionUsage","data":{"declaredName":"connection0","elementId":"5472c1ad-a856-4b81-8aa3-598d0ed3a7dc","ownedRelationship":[{"id":"a83925cb-1d83-4817-aab7-47146ff41928","eClass":"sysml:EndFeatureMembership","data":{"elementId":"fb49b666-a299-43f9-a504-af5f68dd96c7","ownedRelatedElement":[{"id":"f74b2916-2dcb-4865-8d5f-bb4166a9fdd9","eClass":"sysml:ReferenceUsage","data":{"declaredName":"reference1","elementId":"2d1dcf53-5f71-44ed-9616-34a9daae144e","ownedRelationship":[{"id":"63854773-a0f4-4071-9f35-85e56c94681d","eClass":"sysml:ReferenceSubsetting","data":{"elementId":"07326264-52e5-4f62-a845-a9ccabbcad5c","ownedRelatedElement":[{"id":"d1080e91-ba76-40e9-a4b7-dc94bfa2bca9","eClass":"sysml:Feature","data":{"elementId":"efb5feee-718a-4e6f-b7d6-fa4c1137776c","ownedRelationship":[{"id":"e4de2f10-4131-46c1-884c-db1306750a74","eClass":"sysml:FeatureChaining","data":{"elementId":"9afbe016-53c1-4d89-8d6d-61a37e55299b","chainingFeature":"7d234b6b-f873-46fe-80da-6bc674353fc5"}},{"id":"2d6af8ed-c785-478b-ab17-bceb96b90ff4","eClass":"sysml:FeatureChaining","data":{"elementId":"38fe3beb-c195-4852-b3b9-bdf06cd60f74","chainingFeature":"7d4a5493-d345-428a-98e8-e965d5ef42f0"}}]}}],"referencedFeature":"d1080e91-ba76-40e9-a4b7-dc94bfa2bca9"}}],"isEnd":true}}]}},{"id":"a21276d9-94c9-4dee-8bb2-4303ddc45223","eClass":"sysml:EndFeatureMembership","data":{"elementId":"81f14441-fe5a-4982-8c21-97cc051b6226","ownedRelatedElement":[{"id":"77ef7a1a-8a9b-49b4-8722-198121cea09d","eClass":"sysml:ReferenceUsage","data":{"declaredName":"reference2","elementId":"59d800fc-6e5e-4c54-a5ae-fdd79464fef2","ownedRelationship":[{"id":"9adb1a9b-f2e3-41cb-a695-253b53795415","eClass":"sysml:ReferenceSubsetting","data":{"elementId":"19a042a3-aac3-4d4a-9453-f1542ea223f9","ownedRelatedElement":[{"id":"a9f2d4c6-d598-40ef-9bbb-6d6a3ef3f911","eClass":"sysml:Feature","data":{"elementId":"e54bd41e-2f50-4cbb-aa7c-f34f799e7cfb","ownedRelationship":[{"id":"c05e4d30-8502-4914-8d05-45fcba292621","eClass":"sysml:FeatureChaining","data":{"elementId":"af3dd07a-d644-4fa7-9367-bbafa2bc47a9","chainingFeature":"284bf30c-f20a-4ef5-92e5-9adaea627f81"}},{"id":"6891c459-88da-43e2-8eff-ba50b7f55e53","eClass":"sysml:FeatureChaining","data":{"elementId":"0b9da25d-42ca-43a6-abb3-cd98e8541cab","chainingFeature":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd"}}]}}],"referencedFeature":"a9f2d4c6-d598-40ef-9bbb-6d6a3ef3f911"}}],"isEnd":true}}]}}],"isComposite":true}}]}}],"isComposite":true}}]}},{"id":"9d69734d-5328-4d12-add5-7c3a3311e1ff","eClass":"sysml:OwningMembership","data":{"elementId":"04ecfec7-6995-429e-96fb-a08bf7486f30","ownedRelatedElement":[{"id":"60ec2f73-0a28-424a-9605-5d460a071d16","eClass":"sysml:PartDefinition","data":{"declaredName":"PartDefinition1","elementId":"ebc9fb22-2582-437f-9a7d-778ca4c11a34","ownedRelationship":[{"id":"fa61c0c0-c399-4eed-b751-2cad8084b3b5","eClass":"sysml:FeatureMembership","data":{"elementId":"f30767d7-066e-4157-b02f-6c915768489d","ownedRelatedElement":[{"id":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","eClass":"sysml:PortUsage","data":{"declaredName":"pd1","elementId":"ba0efaff-701e-47ea-ab03-2d36bc1adf7a","isComposite":true}}]}}]}}]}},{"id":"f09f3cfb-1ecc-453e-a500-95830729647c","eClass":"sysml:OwningMembership","data":{"elementId":"09f20b7a-1466-441a-ad43-d1ba32c8e2c2","ownedRelatedElement":[{"id":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","eClass":"sysml:PartDefinition","data":{"declaredName":"PartDefinition2","elementId":"4441e4ce-353d-4506-b249-d15e120e0b04","ownedRelationship":[{"id":"e81f6697-2825-4d6c-8fdd-f5c097d8d299","eClass":"sysml:FeatureMembership","data":{"elementId":"71cd1e99-3072-451c-817b-cc1e9ceaaed4","ownedRelatedElement":[{"id":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","eClass":"sysml:PortUsage","data":{"declaredName":"pd2","elementId":"f7b82f33-001b-4bb9-a729-3c30f1f4baf3","isComposite":true}}]}}]}}]}},{"id":"9fa41f5d-a62c-43fe-9652-8266be05a06f","eClass":"sysml:OwningMembership","data":{"elementId":"2576f82f-b0cb-4354-9840-b70a90dc0087","ownedRelatedElement":[{"id":"d3c8df05-9891-4f13-94ce-ff479a471973","eClass":"sysml:ViewUsage","data":{"declaredName":"IV_ConnectionUsageTests","elementId":"f57bdf4d-7073-44f6-8450-ba9656c425fd","ownedRelationship":[{"id":"5d86e874-d26a-4fd3-82fb-b2f30394bfbf","eClass":"sysml:FeatureTyping","data":{"elementId":"7acd7dc8-8671-4cc1-b2b2-dccc80f940ab","type":"sysml:ViewDefinition sysmllibrary:///faf517ae-dbcd-30a4-b3b9-3d9cb3bbf5c1#6518462a-2f51-5276-b95e-69ee5193db38","typedFeature":"d3c8df05-9891-4f13-94ce-ff479a471973"}},{"id":"b5a97925-99e2-449b-a147-238141dbdbf7","eClass":"sysml:MembershipExpose","data":{"elementId":"725c3f8e-bb5c-4ea7-a3ac-df1a4a8f6367","importedMembership":"5d6c365a-f53b-41cf-bc43-cfcfa2556f37"}},{"id":"b5f08ee6-7404-42f4-b766-6da76b1f8312","eClass":"sysml:MembershipExpose","data":{"elementId":"89f76c4e-e02a-4d45-a630-7bff3e9caf03","importedMembership":"f5b2a12c-b23c-44b7-9bee-14e3a25341ac"}},{"id":"0301695e-ff7c-481d-8897-bc43592d7606","eClass":"sysml:MembershipExpose","data":{"elementId":"92f9d747-f560-446e-9015-8350f8b46a31","importedMembership":"e7244e59-9770-40c8-bc33-75e777edd75c"}},{"id":"9f77701f-2a85-4d90-886c-6ab86e560e7d","eClass":"sysml:MembershipExpose","data":{"elementId":"909bd2be-aa45-4da9-8182-2d0c218e0adb","importedMembership":"c47bf0a2-471a-4732-801a-a58f8f53b51b"}},{"id":"a2235152-18cf-4136-b130-fd434fa20cb3","eClass":"sysml:MembershipExpose","data":{"elementId":"90d28c17-7e23-4296-9b87-bb662a38a42b","importedMembership":"9d69734d-5328-4d12-add5-7c3a3311e1ff"}},{"id":"a58618ac-feb3-4d1f-9059-e1659e625803","eClass":"sysml:MembershipExpose","data":{"elementId":"b68a3413-9cc1-4856-a40f-70c49c417525","importedMembership":"f09f3cfb-1ecc-453e-a500-95830729647c"}},{"id":"e4a4cca0-54a9-43dd-bad2-7a5ac2384e48","eClass":"sysml:MembershipExpose","data":{"elementId":"292c488f-4386-4a6d-a596-dcd9b7d44030","importedMembership":"ef145c16-1f4a-419f-b84b-5a18b3f1cb44"}},{"id":"e72cc92f-b5d6-4b47-ab2c-9cd7b9508b8a","eClass":"sysml:MembershipExpose","data":{"elementId":"4c33f950-e4d0-4dce-95af-4cac9844da89","importedMembership":"5afab6d6-9432-4093-8e3d-e19d43ee2979"}}]}}]}},{"id":"7be89198-2011-4939-9b44-8eef33323abf","eClass":"sysml:OwningMembership","data":{"elementId":"2bf99024-8fcd-4ac3-8c5a-e85dc1fe488e","ownedRelatedElement":[{"id":"04a5a86e-b0eb-4c7e-9280-7bfdd42744cd","eClass":"sysml:ConnectionDefinition","data":{"declaredName":"ConnectionDefinition1","elementId":"b11cce55-23f0-4b8d-8401-27a9f246e4a1"}}]}}]}}]}}]}}]}', '2025-12-19 08:52:11.807301+00', '2025-12-19 08:52:11.807301+00', false); + + +-- +-- Data for Name: image; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + + + +-- +-- Data for Name: library; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + + + +-- +-- Data for Name: project; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.project (id, name, created_on, last_modified_on) VALUES ('815641fe-2939-4d3b-a3ad-71c8e992b83e', 'EdgeConnectionUsageTestProject', '2025-12-18 18:02:05.376807+00', '2025-12-18 18:11:06.236256+00'); + + +-- +-- Data for Name: nature; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + + + +-- +-- Data for Name: project_image; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + + + +-- +-- Data for Name: project_semantic_data; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.project_semantic_data (id, project_id, semantic_data_id, name, created_on, last_modified_on) VALUES ('1f585af0-0797-4215-af58-941e6b0d9dd7', '815641fe-2939-4d3b-a3ad-71c8e992b83e', '8e43f6d2-33df-42e6-9e37-2ba56c004198', 'main', '2025-12-18 18:02:05.43609+00', '2025-12-18 18:02:05.43609+00'); + + +-- +-- Data for Name: representation_metadata; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.representation_metadata (id, target_object_id, description_id, label, kind, created_on, last_modified_on, documentation, semantic_data_id) VALUES ('52bfb640-1f65-423f-98ba-a392852c95b8', 'd8cf003d-e74c-47c4-a2e2-6b20deb53b91', 'siriusComponents://representationDescription?kind=diagramDescription&sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=db495705-e917-319b-af55-a32ad63f4089', 'GV_ConnectionUsageTest', 'siriusComponents://representation?type=Diagram', '2025-12-18 18:02:06.324536+00', '2025-12-18 18:39:50.614451+00', '', '8e43f6d2-33df-42e6-9e37-2ba56c004198'); +INSERT INTO public.representation_metadata (id, target_object_id, description_id, label, kind, created_on, last_modified_on, documentation, semantic_data_id) VALUES ('a1753f02-61de-44b0-9844-7bb96685e943', 'd3c8df05-9891-4f13-94ce-ff479a471973', 'siriusComponents://representationDescription?kind=diagramDescription&sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=db495705-e917-319b-af55-a32ad63f4089', 'IV_ConnectionUsageTest', 'siriusComponents://representation?type=Diagram', '2025-12-18 18:09:16.491377+00', '2025-12-18 18:39:58.742504+00', '', '8e43f6d2-33df-42e6-9e37-2ba56c004198'); + + +-- +-- Data for Name: representation_content; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.representation_content (id, content, last_migration_performed, migration_version, created_on, last_modified_on) VALUES ('52bfb640-1f65-423f-98ba-a392852c95b8', '{"id":"52bfb640-1f65-423f-98ba-a392852c95b8","kind":"siriusComponents://representation?type=Diagram","targetObjectId":"d8cf003d-e74c-47c4-a2e2-6b20deb53b91","descriptionId":"siriusComponents://representationDescription?kind=diagramDescription&sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=db495705-e917-319b-af55-a32ad63f4089","nodes":[{"id":"246e0bdd-19ae-3ae9-bb56-76784bba88a5","type":"node:rectangle","targetObjectId":"04a5a86e-b0eb-4c7e-9280-7bfdd42744cd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ConnectionDefinition","targetObjectLabel":"ConnectionDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=204645d0-5c71-3dd2-acec-abbe148ea7e2","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"425ad404-bff1-3bd6-8f89-1bafb9e4af5b","text":"«part def»\nConnectionDefinition1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/ConnectionDefinition.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"75604308-fdb4-338d-a453-b7cb9200ee06","type":"node:rectangle","targetObjectId":"04a5a86e-b0eb-4c7e-9280-7bfdd42744cd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ConnectionDefinition","targetObjectLabel":"ConnectionDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3868c242-24f7-3a1d-956f-21bd7488b2b6","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"040e2311-6ee2-3c28-a45a-532ad85cb2f7","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"7c295348-685c-3d60-8e9b-770b249160ee","type":"node:rectangle","targetObjectId":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"SystemItem2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3276b2ca-7ffa-34eb-8962-0c08a02d3871","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"c9ef1d34-d18f-3471-bc64-004ca837008d","text":"«item»\nSystemItem2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/ItemUsageOut.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"2b6b7337-97d0-3160-9621-12e76855e644","type":"node:rectangle","targetObjectId":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"SystemItem2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=4fb578fd-0766-30ae-94df-67882aa20bc4","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"69701a0d-9067-319d-86b5-1a622eaaca21","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"945adce2-15be-34b6-ae29-02dc410dbb4d","type":"node:rectangle","targetObjectId":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"SystemItem2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=07b32dd9-07de-3291-9075-0cf8b9c449b1","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"dbddf756-c61c-31c2-9d85-ca13145e1ecf","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b95ffef2-f9cf-3932-9364-f658ec04caa0","type":"node:rectangle","targetObjectId":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"SystemItem2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=669ae7aa-4f13-37f5-abb4-7be12d641f17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"53c7e80b-885d-386c-ad29-9eb50102c422","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"44e38312-6d4d-327c-8a41-619ef9e88be6","type":"node:rectangle","targetObjectId":"72464da6-f4eb-4e0d-8c93-6b4f48db36fd","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"SystemItem2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=7c2ec106-fc4b-3ee7-b43b-211893bfaa65","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"6e0dabca-2300-3696-a8a2-fb70e7ab60a2","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"f5be8015-65c2-3654-890a-06789013e8d7","type":"node:rectangle","targetObjectId":"7d4a5493-d345-428a-98e8-e965d5ef42f0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"Systemitem1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3276b2ca-7ffa-34eb-8962-0c08a02d3871","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"c26bae48-0027-3843-8112-c2b1b2c0d047","text":"«item»\nSystemitem1In","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/ItemUsageIn.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"f95bdb1e-e011-3e88-bacb-80cb8a6bc6da","type":"node:rectangle","targetObjectId":"7d4a5493-d345-428a-98e8-e965d5ef42f0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"Systemitem1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=4fb578fd-0766-30ae-94df-67882aa20bc4","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b44f9878-0fb7-3c48-a20c-fde3ca83f7f3","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"e7512ee2-5e50-34c9-8f53-972aabbb1ca0","type":"node:rectangle","targetObjectId":"7d4a5493-d345-428a-98e8-e965d5ef42f0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"Systemitem1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=07b32dd9-07de-3291-9075-0cf8b9c449b1","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"c62ae356-fedd-3e2d-8ad0-ed64e75c70cc","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2eab6cf7-d33d-319c-87c7-8a716004e46e","type":"node:rectangle","targetObjectId":"7d4a5493-d345-428a-98e8-e965d5ef42f0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"Systemitem1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=669ae7aa-4f13-37f5-abb4-7be12d641f17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2c00527e-cea2-3675-aacb-f60037ee184e","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"242cd5b4-0fc8-357e-a1a1-867c93399b5e","type":"node:rectangle","targetObjectId":"7d4a5493-d345-428a-98e8-e965d5ef42f0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"Systemitem1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=7c2ec106-fc4b-3ee7-b43b-211893bfaa65","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"4f0d3039-0594-3622-8a3e-fee13fce4db9","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"572d54a9-764e-320d-aaff-276c4d189430","type":"node:rectangle","targetObjectId":"fd3e339c-33d7-4b6a-865f-2b7f76f66cac","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item12Out","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3276b2ca-7ffa-34eb-8962-0c08a02d3871","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"c9143d32-dbb2-3c3c-a7a6-bab537073e3d","text":"«item»\nitem12Out","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/ItemUsageOut.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"9a6a3469-a5e7-375b-99d9-d58fda007bbf","type":"node:rectangle","targetObjectId":"fd3e339c-33d7-4b6a-865f-2b7f76f66cac","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item12Out","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=4fb578fd-0766-30ae-94df-67882aa20bc4","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"949ada49-d4cc-3612-b9a8-e9d84d2c58aa","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"809585ca-3274-3ff3-be84-334f8a5360ad","type":"node:rectangle","targetObjectId":"fd3e339c-33d7-4b6a-865f-2b7f76f66cac","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item12Out","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=07b32dd9-07de-3291-9075-0cf8b9c449b1","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3ae95919-5d8f-3cd6-8d28-97bebd727a7e","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"efccdaa1-cca1-3f63-b754-28865180f4be","type":"node:rectangle","targetObjectId":"fd3e339c-33d7-4b6a-865f-2b7f76f66cac","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item12Out","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=669ae7aa-4f13-37f5-abb4-7be12d641f17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b951d2f9-b29a-301a-a205-8caabeb04a37","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"bf0617fe-82db-3620-bb93-55963d456342","type":"node:rectangle","targetObjectId":"fd3e339c-33d7-4b6a-865f-2b7f76f66cac","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item12Out","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=7c2ec106-fc4b-3ee7-b43b-211893bfaa65","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3f6153ba-1468-31ce-ba37-ff467afbc95c","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"2052e236-36d6-349a-a262-630a4cd90a2e","type":"node:rectangle","targetObjectId":"4821f3b8-1c37-46cc-9028-73b5a6ba8435","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3276b2ca-7ffa-34eb-8962-0c08a02d3871","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"e14aa174-d3f8-3106-89c0-ab175bc4dea1","text":"«item»\nitem1In","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/ItemUsageIn.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"b8096800-700e-35e6-b3b8-4ff2c70f660c","type":"node:rectangle","targetObjectId":"4821f3b8-1c37-46cc-9028-73b5a6ba8435","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=4fb578fd-0766-30ae-94df-67882aa20bc4","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0658799b-c609-3d9c-a07d-1139c7ffbdff","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"3e2f3908-d695-37ff-8047-7445f823443e","type":"node:rectangle","targetObjectId":"4821f3b8-1c37-46cc-9028-73b5a6ba8435","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=07b32dd9-07de-3291-9075-0cf8b9c449b1","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"05dbb1c7-c2ed-3b10-afbc-2afdb2e65aec","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"7f909e33-ec9b-3d27-a3a7-009f677964a2","type":"node:rectangle","targetObjectId":"4821f3b8-1c37-46cc-9028-73b5a6ba8435","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=669ae7aa-4f13-37f5-abb4-7be12d641f17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"bb029176-700f-37c7-a5e7-b85196dd17bb","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a19a77e7-7f3f-3ef5-b27a-9358abba3a75","type":"node:rectangle","targetObjectId":"4821f3b8-1c37-46cc-9028-73b5a6ba8435","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ItemUsage","targetObjectLabel":"item1In","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=7c2ec106-fc4b-3ee7-b43b-211893bfaa65","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8ef178c3-2ed0-31c9-9807-0ec5536884da","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"8304d365-473f-3be1-b413-5a00b8ad9323","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"f02b380c-ea74-3afd-8aa1-000e346e7202","text":"«part»\nSystem :> SuperSystem","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"68c97d0d-6b15-3a5c-a471-52424aa00d6a","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1cce80f2-064d-3b41-a216-1f238480510b","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2b189bca-143e-3438-8163-af1141ec19f6","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9e7ee900-f41b-3bf8-a040-acb8716ede5b","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"148feb6c-aa14-34e0-b684-31829a0a25a3","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"15fa2e47-6756-395b-acc0-852aeb8ee849","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"eee53142-bbce-3702-891b-67492dcfbe7c","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ebe218b4-984b-3ea9-ab33-52caaab300ec","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"cdca650b-9d21-3f7a-8f89-f4c3c3bddc26","type":"node:icon-label","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=56eb79ae-f721-35f9-acf3-422bf4bc6bf0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f89135a9-2bbc-33a4-a172-9010b5c8bc30","text":"^superPart1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"286587f8-dce3-3c20-9283-47d0702497e1","type":"node:icon-label","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=56eb79ae-f721-35f9-acf3-422bf4bc6bf0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"501b5da0-ea23-3312-9a63-7c3d52a08f6e","text":"^superPart2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"c8d40f41-56ed-332d-aa04-9b97de7dfa40","type":"node:icon-label","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"360b6175-73e8-3527-a7e0-1af4f8fad56b","text":"SystemPart1 : PartDefinition1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"54a08d93-a7bc-31f3-b01d-e386f00b96ab","type":"node:icon-label","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2749113e-c909-3e06-b5d0-61c4d48ad047","text":"SystemPart2 : PartDefinition2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"00febe46-f484-3ab0-bff7-893d09ae7d0a","type":"node:icon-label","targetObjectId":"4f0ee7f2-a0bb-4aa1-8ff8-1704265f871b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ConnectionUsage","targetObjectLabel":"connection0","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"40c6a35b-621b-33e4-86ef-25d4211928c8","text":"connection0","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/ConnectionUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"778885cb-a62b-3927-8cc6-cd12193556e9","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8ce09352-a88f-39da-9b1f-d9a5149a275c","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a597a299-404e-3a4f-9cc6-89ca74ccec9d","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"c53a32b0-5fd4-364f-8443-b6ba586793a7","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b02b5384-1cf8-3378-b848-6257e92d9cfb","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e30c9ad4-aad9-3923-8155-1551bbaf81da","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"e7b29547-e5a2-3f03-a56b-2b5595476ada","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1aeb0f81-03ac-37d5-8404-02b19832a7f7","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ecf32374-9003-3959-ac52-66207bc3f0e9","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"80505115-6306-3ec4-a744-f7cd512ec9d3","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"5d38bdb0-1989-387c-b472-d46aae13d4b7","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"24474866-2b67-366f-bc21-3342ad4f3382","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"5b374e3e-5333-3811-862a-eafd04ea9a65","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"a6bedd9c-f32e-3f88-b528-3006ca941cd9","text":"«part»\nSystemPart2 : PartDefinition2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"9be97ab1-986d-3d71-890f-a0ef2e3b4881","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"63782818-9897-3817-8534-58dd6e665e3c","text":"port22","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"7db00f9a-18ba-3e2b-9af7-8df589892000","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3d72b0da-22b5-352e-9699-a2da5588d4ca","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"6ebd4a1c-95a4-300b-999a-6cbf9065f2c9","text":"^pd2","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"8239afc7-d11a-3251-b8ba-162065e48513","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"c635549e-3cfa-312b-8b68-abb999d0fb37","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a89cad21-f62f-326e-a4e3-ce28b329582c","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"fcb41825-5187-3f56-a365-472b0d671012","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"129c539a-0258-3eb5-a723-3959dda15e66","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"285bccc8-62a1-340a-bc65-0a90e51dc39e","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"428fc0cf-de45-3dc9-8912-c013fc884f73","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0e8d041c-af90-3a8b-927d-d8769cdc4270","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"586721a9-5da5-3b4d-bd9f-c5be9e9445d2","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f7c0973d-bfad-3838-8a44-7027884705da","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"a2ecd7b6-46af-3bd3-ba2a-b51bf0f683af","type":"node:icon-label","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c3845b5a-d588-3376-814e-ac7defe0e20b","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"7fff8887-33b7-3aef-8eb1-c620428b8ad5","text":"^pd2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"7be59327-9b2b-3e10-acbc-fb5965a923b7","type":"node:icon-label","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a9e0c601-b41c-3c69-87e1-5e8cadbdc594","text":"port22","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"0dce6365-c30e-3e9f-827b-fc823fab35dd","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e9815050-6097-3ec2-9d35-bdafbaa27db6","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"cfeba6e7-d8ee-3bcc-b96d-10a44fe5a90d","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"6a3b616b-0069-3df5-a497-9ff9ccbd2d2f","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2eb81289-fe38-39e1-a27e-4db895bc1497","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"279f6d6b-8b4c-3baa-9085-769cd5252cf7","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"92e6d08e-f8e1-36e5-974a-6a45c8cb3fb2","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b5490f59-e79b-392b-85bd-6c3f3f27a70c","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"6e6a9a07-84b3-34f7-ace7-f4c830cc791e","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0b652cb7-59fc-32f6-83cd-f7b0c02acf2c","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"bec27c06-6eee-3962-8298-1fa205074bed","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"36faa17d-1346-3cce-9f94-0947c95b8425","text":"«part»\nSystemPart1 : PartDefinition1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"708f0a95-eb69-30c3-a436-6b59fb0e29ff","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"12997cdb-1de4-3e76-a4fa-9a8e6ddbd2aa","text":"port11","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"48aaee5f-403b-3065-ae18-d5fac478c378","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3d72b0da-22b5-352e-9699-a2da5588d4ca","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"682e2c7b-8a32-3686-96b6-833da5318a89","text":"^pd1","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"22915cfd-83f8-32b9-8e1f-81f264e74872","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"06b2edfc-d6a2-352f-82d1-45e26db9e99a","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"77a68364-c541-31fc-a93b-d4886031d97d","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"067e4e55-0513-33da-b25f-3a9d3b2db76d","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d5787edd-993a-387c-806a-ebc36110e2ef","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"36784c20-151e-33fe-ad0e-d163285fd15e","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f62575f7-f776-3662-acfa-836e8e8bc3fd","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"880692df-0ec3-36a6-b32a-88710fe99f9b","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"3079378f-a86f-34f9-a25f-fb1be2acac42","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2b230801-7994-3ca5-ac8e-d3cf48d047d3","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"2c3e1bcd-c917-3a92-bbd0-bc88a43bd013","type":"node:icon-label","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c3845b5a-d588-3376-814e-ac7defe0e20b","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2a00f77c-57ff-38f2-8935-3fc6746c0d03","text":"^pd1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"0a989bbe-4a40-39a0-9080-2c4b501ac99c","type":"node:icon-label","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9b43f06b-e486-3f1f-a090-02b60bccebac","text":"port11","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"412cd869-7569-3f55-b44e-5a5544f1b588","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a4ed25dd-984d-3f34-8e71-0d5ad1ff6c22","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d65263be-7bc9-32d8-9ce6-c2ca1d2d1fb9","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ff241442-b242-326f-9e5f-58ce1c1bf886","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a6ba99d0-65ba-32e4-b66e-b2bee07d15bd","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f0578736-479c-377e-b58e-c3535f48e901","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b9fc58d9-f387-31ad-84c1-27665f56968d","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"26298c46-5ec2-3eb2-85c8-493f60992067","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2ef6d270-68cb-31b9-a025-1e1f31bac046","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f33a73fb-56bf-3131-be7e-06b868ac3967","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"0d0644fb-311b-3135-9f50-ea73111cc9a7","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"077bca97-c61e-3e18-af2a-92de47796663","text":"«part»\nsuperPart2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"a3bc3763-8ad7-3e7f-a1fc-2719a19339b3","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"c6eca06f-073f-3526-be78-0a34e4e7a972","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4f3c1255-a05f-3f34-97a6-cdba7d9200cc","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1b5bc742-4662-3af3-bfc5-657839574509","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"3d70ba3c-dc13-30d2-8725-f98102ae9cba","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0701b8f0-6f42-3055-8ab3-dd8e95b0348a","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"32141ed4-a62a-33a5-b224-f034f197909b","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"095a38fd-97e7-3f81-a41d-6881f4218518","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8ff06fd4-0252-3e3b-afcf-a3c3017a0ab9","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8b23e958-df95-3201-beec-4080711b0b76","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9d3dcff7-b0b1-3837-afff-a2492753051c","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9a911cee-de14-3ca8-a707-816a52fc9d73","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"11539551-504a-3c3e-b604-439728e42d12","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3c5102a1-1cbf-37a0-96bb-316a2f2b9586","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"0d39226c-a98c-3fc2-9c47-658355488a23","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e87bb39a-e92d-318b-a935-a5493283cf9c","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ecd73a29-336d-364e-87e4-a8e9b7a0f074","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"40c87c03-502f-3207-a40e-6ae3f903fb88","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ffe1cfab-f757-3a56-8271-49e57f6135f6","type":"node:rectangle","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8f0ad658-5116-389d-a2f9-0ed3aa9d67e9","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"a5aebe28-c1bf-3023-ad38-abba4a538410","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"cccd3928-3620-379b-b91a-202f2dbbdd6a","text":"«part»\nSuperSystem","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"9323dc3f-ba64-3e25-9bbb-43f2901f9bbe","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1de38066-03fc-3d6d-b35e-5a521b2a3223","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8ff3d3c7-111c-3546-99f3-b84184c160e8","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"67f5cfd3-f53b-3252-a308-69f0174f99bb","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b870d232-c239-3f78-b4ab-eb3ba3946dd1","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"596c3c04-720c-3757-97eb-599292d58936","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"29b69981-c26b-31d9-997a-e84764de8512","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"9c9a39cd-1751-3179-8adc-23076b3a6eb7","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"2a855b98-245e-3ef5-8cd8-08971f503015","type":"node:icon-label","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"7c72af5c-cb16-3fd2-b89e-c11b81409efe","text":"superPart1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"f9ee7c0e-50d0-3465-9e3b-97f64f6dcf33","type":"node:icon-label","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"9092e108-d941-3c0d-bc47-04ab74e24365","text":"superPart2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"0d813355-4ede-3228-8db9-aadb17211ec6","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"dd6a2a04-cf36-3b1f-9ba2-d59c807d4791","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4ccba149-039c-31d8-a0ed-3cc9f74fb6d1","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ee8fac26-914a-312d-9286-5e25d003c323","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b55aec1e-6625-3ab0-80f8-b9749b5200cd","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"5f0f9026-6fb8-33c0-8731-0b875be2ac79","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"6ec3ef28-fbe6-324a-b764-3ad18a1a45e4","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"bbc5cc5d-efc9-3613-afae-8e4dd8a15f26","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"c9d74d3c-bc6a-3b73-a1b0-98996da15537","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"23c63d24-532f-340c-80b0-e0b56b5f7870","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a0d85a3f-7ae8-3fa0-b939-81550431a6da","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"d962c379-ab18-3ca3-a9af-3730bf95d8ed","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"0d5d4336-476b-3f17-82f5-8bad1d3cb4f9","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"dedfebe6-638e-3232-b054-933d06f81086","text":"«part»\npart1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"581ebc58-d9ca-37ba-9b95-92ad5135a1bb","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"2fcf3a5d-7333-3e5b-8d3d-23ab48bf2c47","text":"port1","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"4a0dd7b1-ae50-398a-967b-21e4edeadd4c","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"bc25320f-ea09-363b-bf03-b159df793464","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"390cc312-8f82-333d-bf33-f7937ebe15ce","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"88f3fc92-c693-3b6e-9769-24d55cad194b","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d1343c60-5821-3df8-b196-d55557ef6046","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"5cb88243-5ead-3846-b400-625e3845a506","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"e7402973-b9f4-320b-98c5-da8a99b699f9","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"85a704c9-8899-361e-84c4-120b601df061","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"59cfa749-5b85-3529-a652-79129064d243","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"49057b52-1558-3ec6-b4ea-f57ce7500984","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"3ed8c59d-ca35-3a4b-b29c-93a986055fe5","type":"node:icon-label","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"35e08204-f7cf-390f-8d10-bea05b434936","text":"port1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4301a862-7326-33b5-b3a6-7c7e0fe02dfa","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e837926a-b38b-32b4-a7d9-85e00420704f","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d05b4bc1-64b8-34d6-951d-2a742545aa07","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"5a94d61f-ac4f-3aa2-9ff0-6c0c49f87aab","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"34a4b9ca-a25e-32a4-ab65-b72eb6a2b9b4","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"796cd51d-4455-3299-bb77-f7493508e1b8","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ce210420-485c-39f7-8548-4ee697dabfeb","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9fac21a8-93d8-3bfd-9bd4-4dbb5bf82abb","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"17df8c7e-dbec-3ee8-a3e4-86129ef74775","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b517606b-3394-3588-93dd-340571255995","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"8b733588-113c-3f00-9d22-e7e2e2280f18","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"7a434316-bc93-3ef7-9059-f77a65f4b781","text":"«part»\nsuperPart1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"f2d79f23-d142-310d-8bd3-0f862b51908f","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e1b22eb1-8094-3ea8-9f8c-e68a144c152c","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f3dd426f-4c1e-30b8-b015-935076a4bd68","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f84d916c-a1c2-33fb-b380-2bbb4c769e5b","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"eb43f74b-8e74-38dc-ae6c-e97ec74e439f","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2b119279-81cd-3c10-b784-49e4cd04b636","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"334e2740-78fb-3f86-8c69-7021a1776084","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"c7572776-5b50-31a6-9297-bebf85c5aa00","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8f79059a-df30-3c2f-b744-4562061d5aae","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a215c073-09ac-320f-9ee8-4db60052b198","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"1416ae4f-1539-3607-b8f6-d9cb668e4dc3","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"83755d2e-173a-31c2-9c8a-454d8eadf023","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"827a52b9-dd22-368a-9a4d-d10eddd69e42","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"d032c15c-fce7-346a-b723-9b64cba0bcaf","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"49403184-59f6-35f5-b722-2a0c7225d8b9","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"eb6b3be3-7f16-31d7-bbec-6d3e21891a8b","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"0175bd1a-2861-356d-a2a2-f43fc4bd8bda","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9313ef5f-b6b0-3b26-a0b8-62cd33b324f8","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ce3e1862-5c8c-3806-85b3-a319d08bf3c7","type":"node:rectangle","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b960ec7c-a0d6-3eb1-a2bd-9d502ff1edb9","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"ef6d162f-cfcf-3f77-a2d3-c5266f4f772c","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"e37803cc-ab61-3004-b73a-f9255b328c9d","text":"«part»\npart2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"f1cc2eff-2347-3804-98d4-9fd4919a08a5","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"ae887237-c09c-30b8-a363-dee75926f014","text":"port2","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"b435837a-87c6-38fb-86f3-6469e8a1f588","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a312cde4-381b-3c06-8855-486ed934555d","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"872d1c01-4dfd-37bc-ab46-7e25e9b6dbe7","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"365b35b7-f4f5-3f97-bb57-8fb6d69b3753","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"1054ce99-d892-30fc-aca4-ed1537bbe1fc","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2c6802e1-ec59-31dc-ad7a-33f95fffc891","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ee4e5a16-f1e7-3686-bb0f-9a1952ca50ec","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"c2e58a8e-ba82-300f-8889-b2abc39d8f01","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8e1cc8ee-5481-3bf3-a55a-f646f63e8ee4","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"68ddaa3e-d093-30ab-a3bb-3f5aad8e96f8","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"4706d5b4-c0ed-38b1-b0f3-24940591df27","type":"node:icon-label","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"80ccad09-8eb9-3149-bf59-7b1aecd839fa","text":"port2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8e2b0769-b037-3bb2-998b-744a4fa56de0","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8f95cca0-7bb0-3f30-9be2-51875c78593e","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ad681fac-237f-306a-ac5d-f94632c36b7e","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b0cefc00-25fb-3f24-bc5b-d9ea526db926","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2fd0f97f-1135-3dd6-9a54-5f629021245d","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"940b230b-f33c-3116-a1a1-5fa603ce7862","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"413a4e33-26d1-3b89-95a2-aa05c789fd84","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"d16f399b-7b53-32c6-9ae4-ee26d271e784","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"e0c504e3-2c25-3d21-988b-5ac0a3834d73","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e09d67bd-9fcf-3249-b691-9c99affb4eb3","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"835ecd2e-eb67-31c7-9c26-63faf44227a9","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=52de5719-4873-3c76-8e5b-8d94900d4b7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"4e94dc7e-ac68-3e22-923a-657a2996a15e","text":"«part def»\nPartDefinition1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartDefinition.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"0fc7e226-5337-39e1-8492-a9f6d54f8b68","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c86ab75a-b52a-3e59-ae85-1327f3ed8d7a","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"cfa21e5a-ef7b-3706-a842-6a7b360383c7","text":"pd1","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"b87f8d2a-a80f-352c-8a7e-bce4cc00851a","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=32da1a41-7187-3da3-ae52-f3cfc927b133","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"d6b049c2-d38c-3c65-ab97-7d3ebe5d4b58","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d7999a27-2195-35a5-aa2c-5fd8e0df6bb0","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=1d4e3253-3981-3d8a-9887-b887114e3a3e","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"18b61795-096f-326a-963a-8444ce5acec8","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"1e215ba4-4c06-3e5c-8065-a9e63513da9a","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a677fbe5-68e8-3949-beab-d96b632c4cc0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"26c41691-aeb9-3ba0-92e8-55b234dbd4ed","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"255da8af-28dd-39e3-b6ca-21b88b59a981","type":"node:icon-label","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a00860fb-f304-3ed8-ab86-c9f1bbfdf671","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b4f2ea81-6ea5-3150-aadd-683db748d282","text":"pd1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"12ec5e16-af05-3dfb-94d2-75dc06f477fd","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=d1db77ad-fee0-3c33-bfe1-db84f9fbd027","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"68e2b6cc-dac5-3014-b5d4-c1ceeeaaa5bf","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"bec2effb-c9c0-32de-ab73-586397523dc8","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"13c33a3b-bdf0-3f51-901a-69d38e394da6","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"45334047-0d7d-3c3c-bf46-1f67f04dc14e","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"71ba50fc-7b20-38c1-89c8-77c46bbf182a","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"36ac74cc-56b5-3d15-ab12-3d51fd2146ca","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=ba122573-ae0d-378c-9949-7622f6057511","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"61c260c5-09a3-34da-9144-69163b632285","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f82ed45a-6a00-31f8-9e8c-7c5a57e15d39","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cbf68c65-4d8f-32ca-ac84-92fec0dbb646","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0de7f351-060e-3483-8f5d-3d27892d7dca","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"5bb219de-011a-3771-bbfe-91c3418691ea","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3868c242-24f7-3a1d-956f-21bd7488b2b6","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0c352e95-70e0-3ec3-bf5d-3e60027d72bf","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"35ac5590-70f4-355a-852d-a90add39b990","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=52de5719-4873-3c76-8e5b-8d94900d4b7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"091f0b7f-7551-313f-ac30-c09bf7dd8e19","text":"«part def»\nPartDefinition2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartDefinition.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"069d2d1c-59a4-36a4-a752-7a2cad81fec3","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c86ab75a-b52a-3e59-ae85-1327f3ed8d7a","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"f5e64675-adaf-3f96-9536-e59a9575b50e","text":"pd2","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"d524c76f-3b9d-3e7c-a890-c9a96fa8c9ba","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=32da1a41-7187-3da3-ae52-f3cfc927b133","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"95a9ca1b-fa1e-3c22-aa8f-8000596a408d","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"55bb6bc5-a622-392f-8559-b3a46808a363","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=1d4e3253-3981-3d8a-9887-b887114e3a3e","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1e40fb9f-9788-37e5-95c3-d8f8400a4db9","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"c4b28e07-15b5-3824-b791-16b347297f75","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a677fbe5-68e8-3949-beab-d96b632c4cc0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a0069054-5d61-39c4-86c7-2d1ce8e70595","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"46dd288b-df7f-3fca-86c1-88ea88fb7cba","type":"node:icon-label","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a00860fb-f304-3ed8-ab86-c9f1bbfdf671","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ce80fc3f-467e-3391-beb2-110b63ea1714","text":"pd2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f26652e8-6570-30ca-b910-4bd9d6fd31b8","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=d1db77ad-fee0-3c33-bfe1-db84f9fbd027","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"64753849-714e-3cd9-9f44-cece23263779","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"14e22fe0-0520-3bda-b4f5-9a749bbdd8ea","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"affa717a-b800-3bcd-ab13-54a8f145b6fe","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2e57e3a0-8878-354e-b742-69eb20df5dba","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"640de816-441e-38d4-891a-d643826c2e8d","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"10871239-5df6-3868-b000-b2df4cfd5ada","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=ba122573-ae0d-378c-9949-7622f6057511","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3a7398ac-03c9-359a-aaee-319684b8d10d","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"7d3de26b-123f-36a6-b4a5-8be5afa31b36","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cbf68c65-4d8f-32ca-ac84-92fec0dbb646","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"17b57094-ee81-39e2-8028-a9e6a195c4fd","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"462de8aa-a6ab-3eb3-b528-2816fd98eb75","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3868c242-24f7-3a1d-956f-21bd7488b2b6","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"be586039-dc4a-3024-b502-e79e6f6f43ae","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"81a33e6e-dd29-34a4-a550-d78ec573410d","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=dfd2161c-f5f1-3783-afaa-cae8d9c981e7","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"fc720c49-9100-3fbe-8d22-e1a287433763","text":"«port»\nport2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"d1a58c8f-694e-37d7-aa9b-c612c882ce28","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=591b01d1-614f-300d-89a2-f7df2365062f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"07f5b5f9-81e4-3965-b79d-3e132e2fab8a","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"96abfdbd-9333-3981-94fd-1ba69d6a55d8","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=e9210403-c20a-33fc-9e4a-d46eea0c7051","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"26ad0825-b3b1-373a-8e22-1c55fb402619","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d3f671c2-655e-3649-a20e-520c45340756","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=90773f25-6b4c-3ecd-9b55-0cbeaec2a15a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0192d371-74cd-3c69-996b-07cde6b7ec6a","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"bd2f45c3-6699-3b51-9aef-630a356e5c67","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f7a5b016-d30f-3c5f-b4c5-0ccff5dcb389","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"cb417ad0-30ad-3151-b055-5a240ee5e58d","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"28a88137-1241-392a-82b7-c6d471f73b7b","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=dfd2161c-f5f1-3783-afaa-cae8d9c981e7","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"6a7b7eb4-6bd2-3507-b47f-10c1c2732277","text":"«port»\npd2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"c2d4ff2f-74c6-34b0-8ae4-23e98b3f08f3","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=591b01d1-614f-300d-89a2-f7df2365062f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0333c2e6-0845-30fe-93a2-c3c9cff4b512","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4e77cfda-0900-3dc3-a294-da067c004783","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=e9210403-c20a-33fc-9e4a-d46eea0c7051","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e2627efc-a5d7-35f0-90ee-7a9c56d77aef","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"60360859-c750-3c7f-b36f-317d190da682","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=90773f25-6b4c-3ecd-9b55-0cbeaec2a15a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8fae52d5-ad48-373b-81f1-61369138bee7","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"76524d9c-bbc6-3203-9ff3-d752d0f9e2ed","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f7a5b016-d30f-3c5f-b4c5-0ccff5dcb389","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f4343cc3-460c-32e6-aaf1-4a9fb5b0d022","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"69d92055-2b4f-357d-a32a-4e34eeb08a22","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=dfd2161c-f5f1-3783-afaa-cae8d9c981e7","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"74edf6e5-9114-3e70-bcbb-cc6900773a85","text":"«port»\nport11","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"c965bedc-3ceb-3fb0-9570-38fd2e4a64fa","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=591b01d1-614f-300d-89a2-f7df2365062f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"12269d41-3f59-382c-8b3e-637f72aded9d","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"6b99a23c-19f9-3596-bafd-51a352106493","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=e9210403-c20a-33fc-9e4a-d46eea0c7051","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"83fab261-c0f3-3165-8fbc-32d377e78eb0","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"c7450a97-7d8d-33c0-9310-c4f4e6f720e1","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=90773f25-6b4c-3ecd-9b55-0cbeaec2a15a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"51260c4b-2996-32a6-ab30-78c57a490f6b","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"871d15e6-8312-3940-aead-6bdd8b806d17","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f7a5b016-d30f-3c5f-b4c5-0ccff5dcb389","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"89ee52dd-3d9b-3a98-a75f-8b68c14d47e3","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"64f5c089-9ed1-3ef1-bd6f-2a85776cb044","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=dfd2161c-f5f1-3783-afaa-cae8d9c981e7","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a2be7dbe-3349-388b-b681-2bb790644cce","text":"«port»\nport22","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"bea0236f-e504-3228-b648-851821f4684c","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=591b01d1-614f-300d-89a2-f7df2365062f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"4d85efe0-e49d-3610-85ca-ba010147e428","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9a24e269-6a2e-3480-880a-d84f4ea77641","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=e9210403-c20a-33fc-9e4a-d46eea0c7051","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"66a87273-b985-3f10-a3ca-aec6f5b491ac","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"eba087ed-7102-3dd4-9788-aae1f98f7101","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=90773f25-6b4c-3ecd-9b55-0cbeaec2a15a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3f3c6a95-c660-34e6-be66-bd6b30be1715","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9561cbda-2fb1-3024-bc7c-01ca93bff869","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f7a5b016-d30f-3c5f-b4c5-0ccff5dcb389","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ced85425-049c-3b7c-83f2-d1b3f877cd67","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"2f39c61a-a5b5-3d46-9b17-5d7415df304e","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=dfd2161c-f5f1-3783-afaa-cae8d9c981e7","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0b976ea8-5c49-366e-9bb7-ce9d1f2c4ed7","text":"«port»\nport1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"ad7b5f1d-e3ac-35b9-a0a3-0167b30af628","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=591b01d1-614f-300d-89a2-f7df2365062f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"83b9e43d-e19c-3522-a6d7-522230e5b500","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"5956f5c4-f8c5-3080-ae7c-259edc51b333","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=e9210403-c20a-33fc-9e4a-d46eea0c7051","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"275eec19-009c-3427-94b5-42af7e4e3bcb","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a0eb617f-981c-36ea-972c-77e3b740d780","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=90773f25-6b4c-3ecd-9b55-0cbeaec2a15a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a3e70fc8-0352-32a2-96d0-d4e1bf2513af","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"44917309-7899-3b6a-8ec5-3cd0ba0501d5","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f7a5b016-d30f-3c5f-b4c5-0ccff5dcb389","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"78c07a65-50fc-3c2f-bcf2-695d5c785954","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"172a82fb-8c0f-352a-acfb-dc59dcf9025e","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=dfd2161c-f5f1-3783-afaa-cae8d9c981e7","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1179c08e-0743-3619-ae38-b1c8e0471e74","text":"«port»\npd1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"4d39ae20-8ce0-3fb0-aab7-9814b2ab33bc","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=591b01d1-614f-300d-89a2-f7df2365062f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"4e7aefc9-bc53-3862-bf52-106d5cd90e59","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d2cf71bd-a734-3a88-859d-a8cd7ab3cd7e","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=e9210403-c20a-33fc-9e4a-d46eea0c7051","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1ef87d9d-2c9c-3fec-8f97-666c33047bbc","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"80b1e0c8-a087-3251-bd08-88df7429e631","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=90773f25-6b4c-3ecd-9b55-0cbeaec2a15a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"79acdedd-f0b0-39de-aba8-16f81084a665","text":"references","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4e14d760-da2c-3f2b-9d67-ac8c336143c9","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f7a5b016-d30f-3c5f-b4c5-0ccff5dcb389","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e8f108c3-5e95-3100-a647-1047f393db39","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"edges":[{"id":"cf79f28c-0f84-37b9-b3b3-6a236ad2e437","type":"edge:straight","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=2e37f280-2f87-39f6-a6dc-bf0a8263dd7c","beginLabel":null,"centerLabel":{"id":"660c5f90-0840-3dd7-b26d-f72d6f69aba1","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"835ecd2e-eb67-31c7-9c26-63faf44227a9","targetId":"172a82fb-8c0f-352a-acfb-dc59dcf9025e","modifiers":[],"state":"Hidden","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"b3b7cc0a-267b-3928-ba4c-e44fba60d7fa","type":"edge:straight","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=2e37f280-2f87-39f6-a6dc-bf0a8263dd7c","beginLabel":null,"centerLabel":{"id":"e7a19b24-212c-3603-bdc2-2db0a6695e09","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"35ac5590-70f4-355a-852d-a90add39b990","targetId":"28a88137-1241-392a-82b7-c6d471f73b7b","modifiers":[],"state":"Hidden","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"71cd0739-f96d-33b6-abd7-6d034ef60810","type":"edge:straight","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=432ef012-6be7-3eb7-8c00-1a99d3a796a6","beginLabel":null,"centerLabel":{"id":"83d98f16-8fae-300a-8d46-9943186414e0","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"5b374e3e-5333-3811-862a-eafd04ea9a65","targetId":"7c295348-685c-3d60-8e9b-770b249160ee","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"8a945468-105f-326f-b41b-4eb54a341584","type":"edge:straight","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=432ef012-6be7-3eb7-8c00-1a99d3a796a6","beginLabel":null,"centerLabel":{"id":"6edf7eda-12f1-378b-8daa-5f8abafe0566","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"bec27c06-6eee-3962-8298-1fa205074bed","targetId":"f5be8015-65c2-3654-890a-06789013e8d7","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"d403b64b-158f-31bc-a407-4d3503e37dad","type":"edge:straight","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=432ef012-6be7-3eb7-8c00-1a99d3a796a6","beginLabel":null,"centerLabel":{"id":"a8c8f196-2e7f-3ead-8393-2330505b1d03","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"0d5d4336-476b-3f17-82f5-8bad1d3cb4f9","targetId":"2052e236-36d6-349a-a262-630a4cd90a2e","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"a153ccf7-5e0d-3065-8af9-4ba905342546","type":"edge:straight","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=432ef012-6be7-3eb7-8c00-1a99d3a796a6","beginLabel":null,"centerLabel":{"id":"41ac1eed-88fe-31c6-bf05-f40b92607a4e","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"ef6d162f-cfcf-3f77-a2d3-c5266f4f772c","targetId":"572d54a9-764e-320d-aaff-276c4d189430","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"20ec4daf-162b-361c-ad13-522bcd7d9b19","type":"edge:straight","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=919980e7-dd23-3ff4-9b86-ad2baa653052","beginLabel":null,"centerLabel":{"id":"8e4071b9-e2bc-3736-b171-be53f7209a2a","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"8304d365-473f-3be1-b413-5a00b8ad9323","targetId":"bec27c06-6eee-3962-8298-1fa205074bed","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"aa90b753-cc06-3b1c-b6c5-2df9282e5c69","type":"edge:straight","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=919980e7-dd23-3ff4-9b86-ad2baa653052","beginLabel":null,"centerLabel":{"id":"e5c74038-08af-363e-90ba-800cc2755d39","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"8304d365-473f-3be1-b413-5a00b8ad9323","targetId":"5b374e3e-5333-3811-862a-eafd04ea9a65","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"a02f6b04-651a-303e-82d3-08e71e671fdc","type":"edge:straight","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=919980e7-dd23-3ff4-9b86-ad2baa653052","beginLabel":null,"centerLabel":{"id":"e78299c4-eab5-3216-9b16-5a03eeac15f0","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"a5aebe28-c1bf-3023-ad38-abba4a538410","targetId":"8b733588-113c-3f00-9d22-e7e2e2280f18","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"7d8c997c-e9cc-3fd0-a379-149603f30015","type":"edge:straight","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=919980e7-dd23-3ff4-9b86-ad2baa653052","beginLabel":null,"centerLabel":{"id":"4f8f904e-b7bf-32cc-962b-58cd8f1baff6","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"a5aebe28-c1bf-3023-ad38-abba4a538410","targetId":"0d0644fb-311b-3135-9f50-ea73111cc9a7","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"1d14b148-b223-3ec1-adc3-a04b3a9bf327","type":"edge:straight","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c16e94e3-392a-36af-9aa4-0246fd2a66a5","beginLabel":null,"centerLabel":{"id":"69fef3c8-bb0b-30a3-9f60-e42d81cb47fb","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"5b374e3e-5333-3811-862a-eafd04ea9a65","targetId":"64f5c089-9ed1-3ef1-bd6f-2a85776cb044","modifiers":[],"state":"Hidden","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"445a00d9-9f91-3723-9bd5-e5a0626076d4","type":"edge:straight","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c16e94e3-392a-36af-9aa4-0246fd2a66a5","beginLabel":null,"centerLabel":{"id":"f9268132-7e2d-30e0-966b-b4ece12718e7","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"bec27c06-6eee-3962-8298-1fa205074bed","targetId":"69d92055-2b4f-357d-a32a-4e34eeb08a22","modifiers":[],"state":"Hidden","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"da175ee4-9ca3-3f84-8d99-2beb1dbffe73","type":"edge:straight","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c16e94e3-392a-36af-9aa4-0246fd2a66a5","beginLabel":null,"centerLabel":{"id":"93ad8f23-0c66-302a-ab14-f32b151ac009","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"0d5d4336-476b-3f17-82f5-8bad1d3cb4f9","targetId":"2f39c61a-a5b5-3d46-9b17-5d7415df304e","modifiers":[],"state":"Hidden","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"7dda4359-caeb-3782-af1a-f63011eb3504","type":"edge:straight","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c16e94e3-392a-36af-9aa4-0246fd2a66a5","beginLabel":null,"centerLabel":{"id":"b4890d0e-ce6a-37af-aef1-65b33530fe8e","type":"label:edge-center","text":"","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"ef6d162f-cfcf-3f77-a2d3-c5266f4f772c","targetId":"81a33e6e-dd29-34a4-a550-d78ec573410d","modifiers":[],"state":"Hidden","style":{"size":1,"lineStyle":"Solid","sourceArrow":"FillDiamond","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]},{"id":"65ee651c-58fe-355b-8c47-19c6d7198d44","type":"edge:straight","targetObjectId":"850cfa91-5154-4dcb-8c03-29f9e5bb0360","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=Subsetting","targetObjectLabel":"Subsetting","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a148cedb-7ba1-3fbd-bdaf-5aa334bee373","beginLabel":null,"centerLabel":null,"endLabel":null,"sourceId":"8304d365-473f-3be1-b413-5a00b8ad9323","targetId":"a5aebe28-c1bf-3023-ad38-abba4a538410","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"InputClosedArrow","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":false,"deletable":true,"customizedStyleProperties":[]},{"id":"62c1e477-7f5d-3640-8af7-cb29a67709d2","type":"edge:straight","targetObjectId":"9f7ef007-d3f9-4614-b142-4d664c06d5fb","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=FeatureTyping","targetObjectLabel":"FeatureTyping","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=2b13316a-930e-3a51-bcdf-e71b0b0b965a","beginLabel":null,"centerLabel":null,"endLabel":null,"sourceId":"bec27c06-6eee-3962-8298-1fa205074bed","targetId":"835ecd2e-eb67-31c7-9c26-63faf44227a9","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"ClosedArrowWithDots","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":false,"deletable":true,"customizedStyleProperties":[]},{"id":"15c981ee-a177-3399-b687-0e79218ce850","type":"edge:straight","targetObjectId":"7b19daf8-fa5c-4457-8115-513ff1e2434d","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=FeatureTyping","targetObjectLabel":"FeatureTyping","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=2b13316a-930e-3a51-bcdf-e71b0b0b965a","beginLabel":null,"centerLabel":null,"endLabel":null,"sourceId":"5b374e3e-5333-3811-862a-eafd04ea9a65","targetId":"35ac5590-70f4-355a-852d-a90add39b990","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"ClosedArrowWithDots","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":false,"deletable":true,"customizedStyleProperties":[]},{"id":"76853791-5318-3111-af76-babe9b5a40b3","type":"edge:straight","targetObjectId":"4f0ee7f2-a0bb-4aa1-8ff8-1704265f871b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=ConnectionUsage","targetObjectLabel":"connection0","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=b51cf026-b4cc-3d4a-a4e3-ca4a1d50a2e0","beginLabel":null,"centerLabel":{"id":"2c7bae91-09ad-32b1-b9f8-e20f4a8856b7","type":"label:edge-center","text":"connection0","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"customizedStyleProperties":[]},"endLabel":null,"sourceId":"f5be8015-65c2-3654-890a-06789013e8d7","targetId":"7c295348-685c-3d60-8e9b-770b249160ee","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"None","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":true,"deletable":true,"customizedStyleProperties":[]}],"layoutData":{"nodeLayoutData":{"b8096800-700e-35e6-b3b8-4ff2c70f660c":{"id":"b8096800-700e-35e6-b3b8-4ff2c70f660c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b435837a-87c6-38fb-86f3-6469e8a1f588":{"id":"b435837a-87c6-38fb-86f3-6469e8a1f588","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2b189bca-143e-3438-8163-af1141ec19f6":{"id":"2b189bca-143e-3438-8163-af1141ec19f6","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"572d54a9-764e-320d-aaff-276c4d189430":{"id":"572d54a9-764e-320d-aaff-276c4d189430","position":{"x":405.2391093633569,"y":48.7128604598976},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":60.0}},"4f3c1255-a05f-3f34-97a6-cdba7d9200cc":{"id":"4f3c1255-a05f-3f34-97a6-cdba7d9200cc","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2c3e1bcd-c917-3a92-bbd0-bc88a43bd013":{"id":"2c3e1bcd-c917-3a92-bbd0-bc88a43bd013","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9d3dcff7-b0b1-3837-afff-a2492753051c":{"id":"9d3dcff7-b0b1-3837-afff-a2492753051c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2e57e3a0-8878-354e-b742-69eb20df5dba":{"id":"2e57e3a0-8878-354e-b742-69eb20df5dba","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0d5d4336-476b-3f17-82f5-8bad1d3cb4f9":{"id":"0d5d4336-476b-3f17-82f5-8bad1d3cb4f9","position":{"x":21.002149601807062,"y":-143.2871395401024},"size":{"width":148.0,"height":167.0},"resizedByUser":true,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":1.818182,"height":45.63636302947998}},"49403184-59f6-35f5-b722-2a0c7225d8b9":{"id":"49403184-59f6-35f5-b722-2a0c7225d8b9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2b6b7337-97d0-3160-9621-12e76855e644":{"id":"2b6b7337-97d0-3160-9621-12e76855e644","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"5bb219de-011a-3771-bbfe-91c3418691ea":{"id":"5bb219de-011a-3771-bbfe-91c3418691ea","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"413a4e33-26d1-3b89-95a2-aa05c789fd84":{"id":"413a4e33-26d1-3b89-95a2-aa05c789fd84","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a5aebe28-c1bf-3023-ad38-abba4a538410":{"id":"a5aebe28-c1bf-3023-ad38-abba4a538410","position":{"x":9.002149601807048,"y":239.337607599786},"size":{"width":583.0,"height":123.80681420214843},"resizedByUser":true,"movedByUser":true,"handleLayoutData":[{"edgeId":"a02f6b04-651a-303e-82d3-08e71e671fdc","position":{"x":50.20712418958368,"y":-6.0},"handlePosition":"bottom","type":"source"},{"edgeId":"7d8c997c-e9cc-3fd0-a379-149603f30015","position":{"x":508.45128103865324,"y":-6.0},"handlePosition":"bottom","type":"source"}],"minComputedSize":{"width":61.136362084228516,"height":123.80681420214843}},"68c97d0d-6b15-3a5c-a471-52424aa00d6a":{"id":"68c97d0d-6b15-3a5c-a471-52424aa00d6a","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"827a52b9-dd22-368a-9a4d-d10eddd69e42":{"id":"827a52b9-dd22-368a-9a4d-d10eddd69e42","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"60360859-c750-3c7f-b36f-317d190da682":{"id":"60360859-c750-3c7f-b36f-317d190da682","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2a855b98-245e-3ef5-8cd8-08971f503015":{"id":"2a855b98-245e-3ef5-8cd8-08971f503015","position":{"x":0.0,"y":29.630680084228516},"size":{"width":581.181818,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"d7999a27-2195-35a5-aa2c-5fd8e0df6bb0":{"id":"d7999a27-2195-35a5-aa2c-5fd8e0df6bb0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d524c76f-3b9d-3e7c-a890-c9a96fa8c9ba":{"id":"d524c76f-3b9d-3e7c-a890-c9a96fa8c9ba","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"efccdaa1-cca1-3f63-b754-28865180f4be":{"id":"efccdaa1-cca1-3f63-b754-28865180f4be","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4ccba149-039c-31d8-a0ed-3cc9f74fb6d1":{"id":"4ccba149-039c-31d8-a0ed-3cc9f74fb6d1","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ecf32374-9003-3959-ac52-66207bc3f0e9":{"id":"ecf32374-9003-3959-ac52-66207bc3f0e9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4706d5b4-c0ed-38b1-b0f3-24940591df27":{"id":"4706d5b4-c0ed-38b1-b0f3-24940591df27","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"00febe46-f484-3ab0-bff7-893d09ae7d0a":{"id":"00febe46-f484-3ab0-bff7-893d09ae7d0a","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"cfeba6e7-d8ee-3bcc-b96d-10a44fe5a90d":{"id":"cfeba6e7-d8ee-3bcc-b96d-10a44fe5a90d","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2052e236-36d6-349a-a262-630a4cd90a2e":{"id":"2052e236-36d6-349a-a262-630a4cd90a2e","position":{"x":21.002149601807062,"y":48.7128604598976},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":60.0}},"242cd5b4-0fc8-357e-a1a1-867c93399b5e":{"id":"242cd5b4-0fc8-357e-a1a1-867c93399b5e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a2ecd7b6-46af-3bd3-ba2a-b51bf0f683af":{"id":"a2ecd7b6-46af-3bd3-ba2a-b51bf0f683af","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2f39c61a-a5b5-3d46-9b17-5d7415df304e":{"id":"2f39c61a-a5b5-3d46-9b17-5d7415df304e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b87f8d2a-a80f-352c-8a7e-bce4cc00851a":{"id":"b87f8d2a-a80f-352c-8a7e-bce4cc00851a","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8ff3d3c7-111c-3546-99f3-b84184c160e8":{"id":"8ff3d3c7-111c-3546-99f3-b84184c160e8","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"7db00f9a-18ba-3e2b-9af7-8df589892000":{"id":"7db00f9a-18ba-3e2b-9af7-8df589892000","position":{"x":-11.0,"y":20.21984418264185},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"76524d9c-bbc6-3203-9ff3-d752d0f9e2ed":{"id":"76524d9c-bbc6-3203-9ff3-d752d0f9e2ed","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b870d232-c239-3f78-b4ab-eb3ba3946dd1":{"id":"b870d232-c239-3f78-b4ab-eb3ba3946dd1","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"77a68364-c541-31fc-a93b-d4886031d97d":{"id":"77a68364-c541-31fc-a93b-d4886031d97d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"44917309-7899-3b6a-8ec5-3cd0ba0501d5":{"id":"44917309-7899-3b6a-8ec5-3cd0ba0501d5","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"286587f8-dce3-3c20-9283-47d0702497e1":{"id":"286587f8-dce3-3c20-9283-47d0702497e1","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"7c295348-685c-3d60-8e9b-770b249160ee":{"id":"7c295348-685c-3d60-8e9b-770b249160ee","position":{"x":640.513492508737,"y":824.2959436443215},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":60.0}},"129c539a-0258-3eb5-a723-3959dda15e66":{"id":"129c539a-0258-3eb5-a723-3959dda15e66","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"c2d4ff2f-74c6-34b0-8ae4-23e98b3f08f3":{"id":"c2d4ff2f-74c6-34b0-8ae4-23e98b3f08f3","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b9fc58d9-f387-31ad-84c1-27665f56968d":{"id":"b9fc58d9-f387-31ad-84c1-27665f56968d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f82ed45a-6a00-31f8-9e8c-7c5a57e15d39":{"id":"f82ed45a-6a00-31f8-9e8c-7c5a57e15d39","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"69d92055-2b4f-357d-a32a-4e34eeb08a22":{"id":"69d92055-2b4f-357d-a32a-4e34eeb08a22","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"28a88137-1241-392a-82b7-c6d471f73b7b":{"id":"28a88137-1241-392a-82b7-c6d471f73b7b","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b95ffef2-f9cf-3932-9364-f658ec04caa0":{"id":"b95ffef2-f9cf-3932-9364-f658ec04caa0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"5956f5c4-f8c5-3080-ae7c-259edc51b333":{"id":"5956f5c4-f8c5-3080-ae7c-259edc51b333","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ad681fac-237f-306a-ac5d-f94632c36b7e":{"id":"ad681fac-237f-306a-ac5d-f94632c36b7e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"59cfa749-5b85-3529-a652-79129064d243":{"id":"59cfa749-5b85-3529-a652-79129064d243","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0d813355-4ede-3228-8db9-aadb17211ec6":{"id":"0d813355-4ede-3228-8db9-aadb17211ec6","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ad7b5f1d-e3ac-35b9-a0a3-0167b30af628":{"id":"ad7b5f1d-e3ac-35b9-a0a3-0167b30af628","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a19a77e7-7f3f-3ef5-b27a-9358abba3a75":{"id":"a19a77e7-7f3f-3ef5-b27a-9358abba3a75","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"17df8c7e-dbec-3ee8-a3e4-86129ef74775":{"id":"17df8c7e-dbec-3ee8-a3e4-86129ef74775","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ee4e5a16-f1e7-3686-bb0f-9a1952ca50ec":{"id":"ee4e5a16-f1e7-3686-bb0f-9a1952ca50ec","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"80b1e0c8-a087-3251-bd08-88df7429e631":{"id":"80b1e0c8-a087-3251-bd08-88df7429e631","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0fc7e226-5337-39e1-8492-a9f6d54f8b68":{"id":"0fc7e226-5337-39e1-8492-a9f6d54f8b68","position":{"x":150.0,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"8ff06fd4-0252-3e3b-afcf-a3c3017a0ab9":{"id":"8ff06fd4-0252-3e3b-afcf-a3c3017a0ab9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"5d38bdb0-1989-387c-b472-d46aae13d4b7":{"id":"5d38bdb0-1989-387c-b472-d46aae13d4b7","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"1054ce99-d892-30fc-aca4-ed1537bbe1fc":{"id":"1054ce99-d892-30fc-aca4-ed1537bbe1fc","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d1a58c8f-694e-37d7-aa9b-c612c882ce28":{"id":"d1a58c8f-694e-37d7-aa9b-c612c882ce28","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"7d3de26b-123f-36a6-b4a5-8be5afa31b36":{"id":"7d3de26b-123f-36a6-b4a5-8be5afa31b36","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"390cc312-8f82-333d-bf33-f7937ebe15ce":{"id":"390cc312-8f82-333d-bf33-f7937ebe15ce","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"92e6d08e-f8e1-36e5-974a-6a45c8cb3fb2":{"id":"92e6d08e-f8e1-36e5-974a-6a45c8cb3fb2","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8304d365-473f-3be1-b413-5a00b8ad9323":{"id":"8304d365-473f-3be1-b413-5a00b8ad9323","position":{"x":223.00214960180705,"y":550.4218182323091},"size":{"width":155.0,"height":66.90340996630859},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":66.90340996630859}},"96abfdbd-9333-3981-94fd-1ba69d6a55d8":{"id":"96abfdbd-9333-3981-94fd-1ba69d6a55d8","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0a989bbe-4a40-39a0-9080-2c4b501ac99c":{"id":"0a989bbe-4a40-39a0-9080-2c4b501ac99c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f26652e8-6570-30ca-b910-4bd9d6fd31b8":{"id":"f26652e8-6570-30ca-b910-4bd9d6fd31b8","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a89cad21-f62f-326e-a4e3-ce28b329582c":{"id":"a89cad21-f62f-326e-a4e3-ce28b329582c","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d65263be-7bc9-32d8-9ce6-c2ca1d2d1fb9":{"id":"d65263be-7bc9-32d8-9ce6-c2ca1d2d1fb9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ce210420-485c-39f7-8548-4ee697dabfeb":{"id":"ce210420-485c-39f7-8548-4ee697dabfeb","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"eee53142-bbce-3702-891b-67492dcfbe7c":{"id":"eee53142-bbce-3702-891b-67492dcfbe7c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4e77cfda-0900-3dc3-a294-da067c004783":{"id":"4e77cfda-0900-3dc3-a294-da067c004783","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"6ec3ef28-fbe6-324a-b764-3ad18a1a45e4":{"id":"6ec3ef28-fbe6-324a-b764-3ad18a1a45e4","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"32141ed4-a62a-33a5-b224-f034f197909b":{"id":"32141ed4-a62a-33a5-b224-f034f197909b","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"3e2f3908-d695-37ff-8047-7445f823443e":{"id":"3e2f3908-d695-37ff-8047-7445f823443e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"eba087ed-7102-3dd4-9788-aae1f98f7101":{"id":"eba087ed-7102-3dd4-9788-aae1f98f7101","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0d39226c-a98c-3fc2-9c47-658355488a23":{"id":"0d39226c-a98c-3fc2-9c47-658355488a23","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"412cd869-7569-3f55-b44e-5a5544f1b588":{"id":"412cd869-7569-3f55-b44e-5a5544f1b588","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9be97ab1-986d-3d71-890f-a0ef2e3b4881":{"id":"9be97ab1-986d-3d71-890f-a0ef2e3b4881","position":{"x":-11.0,"y":57.21984418264185},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"069d2d1c-59a4-36a4-a752-7a2cad81fec3":{"id":"069d2d1c-59a4-36a4-a752-7a2cad81fec3","position":{"x":150.0,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"c9d74d3c-bc6a-3b73-a1b0-98996da15537":{"id":"c9d74d3c-bc6a-3b73-a1b0-98996da15537","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4e14d760-da2c-3f2b-9d67-ac8c336143c9":{"id":"4e14d760-da2c-3f2b-9d67-ac8c336143c9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4301a862-7326-33b5-b3a6-7c7e0fe02dfa":{"id":"4301a862-7326-33b5-b3a6-7c7e0fe02dfa","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d05b4bc1-64b8-34d6-951d-2a742545aa07":{"id":"d05b4bc1-64b8-34d6-951d-2a742545aa07","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b55aec1e-6625-3ab0-80f8-b9749b5200cd":{"id":"b55aec1e-6625-3ab0-80f8-b9749b5200cd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"e0c504e3-2c25-3d21-988b-5ac0a3834d73":{"id":"e0c504e3-2c25-3d21-988b-5ac0a3834d73","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"6e6a9a07-84b3-34f7-ace7-f4c830cc791e":{"id":"6e6a9a07-84b3-34f7-ace7-f4c830cc791e","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a0eb617f-981c-36ea-972c-77e3b740d780":{"id":"a0eb617f-981c-36ea-972c-77e3b740d780","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"55bb6bc5-a622-392f-8559-b3a46808a363":{"id":"55bb6bc5-a622-392f-8559-b3a46808a363","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0175bd1a-2861-356d-a2a2-f43fc4bd8bda":{"id":"0175bd1a-2861-356d-a2a2-f43fc4bd8bda","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f5be8015-65c2-3654-890a-06789013e8d7":{"id":"f5be8015-65c2-3654-890a-06789013e8d7","position":{"x":-185.43428505834112,"y":824.2959436443215},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":60.0}},"ffe1cfab-f757-3a56-8271-49e57f6135f6":{"id":"ffe1cfab-f757-3a56-8271-49e57f6135f6","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"c8d40f41-56ed-332d-aa04-9b97de7dfa40":{"id":"c8d40f41-56ed-332d-aa04-9b97de7dfa40","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"945adce2-15be-34b6-ae29-02dc410dbb4d":{"id":"945adce2-15be-34b6-ae29-02dc410dbb4d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8b733588-113c-3f00-9d22-e7e2e2280f18":{"id":"8b733588-113c-3f00-9d22-e7e2e2280f18","position":{"x":-185.43428505834112,"y":433.80446848378574},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":60.0}},"7f909e33-ec9b-3d27-a3a7-009f677964a2":{"id":"7f909e33-ec9b-3d27-a3a7-009f677964a2","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"c7450a97-7d8d-33c0-9310-c4f4e6f720e1":{"id":"c7450a97-7d8d-33c0-9310-c4f4e6f720e1","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"48aaee5f-403b-3065-ae18-d5fac478c378":{"id":"48aaee5f-403b-3065-ae18-d5fac478c378","position":{"x":150.0,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"586721a9-5da5-3b4d-bd9f-c5be9e9445d2":{"id":"586721a9-5da5-3b4d-bd9f-c5be9e9445d2","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9a24e269-6a2e-3480-880a-d84f4ea77641":{"id":"9a24e269-6a2e-3480-880a-d84f4ea77641","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"11539551-504a-3c3e-b604-439728e42d12":{"id":"11539551-504a-3c3e-b604-439728e42d12","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"cdca650b-9d21-3f7a-8f89-f4c3c3bddc26":{"id":"cdca650b-9d21-3f7a-8f89-f4c3c3bddc26","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"14e22fe0-0520-3bda-b4f5-9a749bbdd8ea":{"id":"14e22fe0-0520-3bda-b4f5-9a749bbdd8ea","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"35ac5590-70f4-355a-852d-a90add39b990":{"id":"35ac5590-70f4-355a-852d-a90add39b990","position":{"x":994.8972304335819,"y":662.0760994616796},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":1.818182,"height":45.63636302947998}},"871d15e6-8312-3940-aead-6bdd8b806d17":{"id":"871d15e6-8312-3940-aead-6bdd8b806d17","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"334e2740-78fb-3f86-8c69-7021a1776084":{"id":"334e2740-78fb-3f86-8c69-7021a1776084","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"708f0a95-eb69-30c3-a436-6b59fb0e29ff":{"id":"708f0a95-eb69-30c3-a436-6b59fb0e29ff","position":{"x":150.0,"y":49.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"d3f671c2-655e-3649-a20e-520c45340756":{"id":"d3f671c2-655e-3649-a20e-520c45340756","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"64f5c089-9ed1-3ef1-bd6f-2a85776cb044":{"id":"64f5c089-9ed1-3ef1-bd6f-2a85776cb044","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"12ec5e16-af05-3dfb-94d2-75dc06f477fd":{"id":"12ec5e16-af05-3dfb-94d2-75dc06f477fd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f9ee7c0e-50d0-3465-9e3b-97f64f6dcf33":{"id":"f9ee7c0e-50d0-3465-9e3b-97f64f6dcf33","position":{"x":0.0,"y":45.99431610107422},"size":{"width":581.181818,"height":16.363636016845703},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"809585ca-3274-3ff3-be84-334f8a5360ad":{"id":"809585ca-3274-3ff3-be84-334f8a5360ad","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"c965bedc-3ceb-3fb0-9570-38fd2e4a64fa":{"id":"c965bedc-3ceb-3fb0-9570-38fd2e4a64fa","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"835ecd2e-eb67-31c7-9c26-63faf44227a9":{"id":"835ecd2e-eb67-31c7-9c26-63faf44227a9","position":{"x":-537.179409003297,"y":674.2959436443215},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":1.818182,"height":45.63636302947998}},"46dd288b-df7f-3fca-86c1-88ea88fb7cba":{"id":"46dd288b-df7f-3fca-86c1-88ea88fb7cba","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0dce6365-c30e-3e9f-827b-fc823fab35dd":{"id":"0dce6365-c30e-3e9f-827b-fc823fab35dd","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"54a08d93-a7bc-31f3-b01d-e386f00b96ab":{"id":"54a08d93-a7bc-31f3-b01d-e386f00b96ab","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8e2b0769-b037-3bb2-998b-744a4fa56de0":{"id":"8e2b0769-b037-3bb2-998b-744a4fa56de0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"872d1c01-4dfd-37bc-ab46-7e25e9b6dbe7":{"id":"872d1c01-4dfd-37bc-ab46-7e25e9b6dbe7","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f62575f7-f776-3662-acfa-836e8e8bc3fd":{"id":"f62575f7-f776-3662-acfa-836e8e8bc3fd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a597a299-404e-3a4f-9cc6-89ca74ccec9d":{"id":"a597a299-404e-3a4f-9cc6-89ca74ccec9d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a3bc3763-8ad7-3e7f-a1fc-2719a19339b3":{"id":"a3bc3763-8ad7-3e7f-a1fc-2719a19339b3","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2eab6cf7-d33d-319c-87c7-8a716004e46e":{"id":"2eab6cf7-d33d-319c-87c7-8a716004e46e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"428fc0cf-de45-3dc9-8912-c013fc884f73":{"id":"428fc0cf-de45-3dc9-8912-c013fc884f73","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d5787edd-993a-387c-806a-ebc36110e2ef":{"id":"d5787edd-993a-387c-806a-ebc36110e2ef","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f3dd426f-4c1e-30b8-b015-935076a4bd68":{"id":"f3dd426f-4c1e-30b8-b015-935076a4bd68","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"e7b29547-e5a2-3f03-a56b-2b5595476ada":{"id":"e7b29547-e5a2-3f03-a56b-2b5595476ada","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"581ebc58-d9ca-37ba-9b95-92ad5135a1bb":{"id":"581ebc58-d9ca-37ba-9b95-92ad5135a1bb","position":{"x":143.0,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"bf0617fe-82db-3620-bb93-55963d456342":{"id":"bf0617fe-82db-3620-bb93-55963d456342","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"bd2f45c3-6699-3b51-9aef-630a356e5c67":{"id":"bd2f45c3-6699-3b51-9aef-630a356e5c67","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"10871239-5df6-3868-b000-b2df4cfd5ada":{"id":"10871239-5df6-3868-b000-b2df4cfd5ada","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"255da8af-28dd-39e3-b6ca-21b88b59a981":{"id":"255da8af-28dd-39e3-b6ca-21b88b59a981","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ef6d162f-cfcf-3f77-a2d3-c5266f4f772c":{"id":"ef6d162f-cfcf-3f77-a2d3-c5266f4f772c","position":{"x":405.2391093633569,"y":-143.2871395401024},"size":{"width":159.0,"height":167.0},"resizedByUser":true,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":1.818182,"height":45.63636302947998}},"778885cb-a62b-3927-8cc6-cd12193556e9":{"id":"778885cb-a62b-3927-8cc6-cd12193556e9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ce3e1862-5c8c-3806-85b3-a319d08bf3c7":{"id":"ce3e1862-5c8c-3806-85b3-a319d08bf3c7","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"bec2effb-c9c0-32de-ab73-586397523dc8":{"id":"bec2effb-c9c0-32de-ab73-586397523dc8","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f95bdb1e-e011-3e88-bacb-80cb8a6bc6da":{"id":"f95bdb1e-e011-3e88-bacb-80cb8a6bc6da","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"6b99a23c-19f9-3596-bafd-51a352106493":{"id":"6b99a23c-19f9-3596-bafd-51a352106493","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"eb43f74b-8e74-38dc-ae6c-e97ec74e439f":{"id":"eb43f74b-8e74-38dc-ae6c-e97ec74e439f","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2eb81289-fe38-39e1-a27e-4db895bc1497":{"id":"2eb81289-fe38-39e1-a27e-4db895bc1497","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8239afc7-d11a-3251-b8ba-162065e48513":{"id":"8239afc7-d11a-3251-b8ba-162065e48513","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9561cbda-2fb1-3024-bc7c-01ca93bff869":{"id":"9561cbda-2fb1-3024-bc7c-01ca93bff869","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"e7512ee2-5e50-34c9-8f53-972aabbb1ca0":{"id":"e7512ee2-5e50-34c9-8f53-972aabbb1ca0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f1cc2eff-2347-3804-98d4-9fd4919a08a5":{"id":"f1cc2eff-2347-3804-98d4-9fd4919a08a5","position":{"x":-11.0,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"c4b28e07-15b5-3824-b791-16b347297f75":{"id":"c4b28e07-15b5-3824-b791-16b347297f75","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a6ba99d0-65ba-32e4-b66e-b2bee07d15bd":{"id":"a6ba99d0-65ba-32e4-b66e-b2bee07d15bd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"bea0236f-e504-3228-b648-851821f4684c":{"id":"bea0236f-e504-3228-b648-851821f4684c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8f79059a-df30-3c2f-b744-4562061d5aae":{"id":"8f79059a-df30-3c2f-b744-4562061d5aae","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"148feb6c-aa14-34e0-b684-31829a0a25a3":{"id":"148feb6c-aa14-34e0-b684-31829a0a25a3","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"7be59327-9b2b-3e10-acbc-fb5965a923b7":{"id":"7be59327-9b2b-3e10-acbc-fb5965a923b7","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9a6a3469-a5e7-375b-99d9-d58fda007bbf":{"id":"9a6a3469-a5e7-375b-99d9-d58fda007bbf","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a0d85a3f-7ae8-3fa0-b939-81550431a6da":{"id":"a0d85a3f-7ae8-3fa0-b939-81550431a6da","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"1416ae4f-1539-3607-b8f6-d9cb668e4dc3":{"id":"1416ae4f-1539-3607-b8f6-d9cb668e4dc3","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d2cf71bd-a734-3a88-859d-a8cd7ab3cd7e":{"id":"d2cf71bd-a734-3a88-859d-a8cd7ab3cd7e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"5b374e3e-5333-3811-862a-eafd04ea9a65":{"id":"5b374e3e-5333-3811-862a-eafd04ea9a65","position":{"x":640.513492508737,"y":661.0760994616796},"size":{"width":152.0,"height":100.87878608703613},"resizedByUser":true,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":1.818182,"height":82.63636302947998}},"9323dc3f-ba64-3e25-9bbb-43f2901f9bbe":{"id":"9323dc3f-ba64-3e25-9bbb-43f2901f9bbe","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"bec27c06-6eee-3962-8298-1fa205074bed":{"id":"bec27c06-6eee-3962-8298-1fa205074bed","position":{"x":-185.43428505834112,"y":674.2959436443215},"size":{"width":155.0,"height":86.63636302947998},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":1.818182,"height":86.63636302947998}},"75604308-fdb4-338d-a453-b7cb9200ee06":{"id":"75604308-fdb4-338d-a453-b7cb9200ee06","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"44e38312-6d4d-327c-8a41-619ef9e88be6":{"id":"44e38312-6d4d-327c-8a41-619ef9e88be6","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"246e0bdd-19ae-3ae9-bb56-76784bba88a5":{"id":"246e0bdd-19ae-3ae9-bb56-76784bba88a5","position":{"x":-456.679409003297,"y":-119.2871395401024},"size":{"width":155.0,"height":66.90340996630859},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":66.90340996630859}},"34a4b9ca-a25e-32a4-ab65-b72eb6a2b9b4":{"id":"34a4b9ca-a25e-32a4-ab65-b72eb6a2b9b4","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"3ed8c59d-ca35-3a4b-b29c-93a986055fe5":{"id":"3ed8c59d-ca35-3a4b-b29c-93a986055fe5","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":15.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"e7402973-b9f4-320b-98c5-da8a99b699f9":{"id":"e7402973-b9f4-320b-98c5-da8a99b699f9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ecd73a29-336d-364e-87e4-a8e9b7a0f074":{"id":"ecd73a29-336d-364e-87e4-a8e9b7a0f074","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2ef6d270-68cb-31b9-a025-1e1f31bac046":{"id":"2ef6d270-68cb-31b9-a025-1e1f31bac046","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"3d70ba3c-dc13-30d2-8725-f98102ae9cba":{"id":"3d70ba3c-dc13-30d2-8725-f98102ae9cba","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8e1cc8ee-5481-3bf3-a55a-f646f63e8ee4":{"id":"8e1cc8ee-5481-3bf3-a55a-f646f63e8ee4","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"36ac74cc-56b5-3d15-ab12-3d51fd2146ca":{"id":"36ac74cc-56b5-3d15-ab12-3d51fd2146ca","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"81a33e6e-dd29-34a4-a550-d78ec573410d":{"id":"81a33e6e-dd29-34a4-a550-d78ec573410d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f2d79f23-d142-310d-8bd3-0f862b51908f":{"id":"f2d79f23-d142-310d-8bd3-0f862b51908f","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b02b5384-1cf8-3378-b848-6257e92d9cfb":{"id":"b02b5384-1cf8-3378-b848-6257e92d9cfb","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"29b69981-c26b-31d9-997a-e84764de8512":{"id":"29b69981-c26b-31d9-997a-e84764de8512","position":{"x":0.909091,"y":50.53977108422851},"size":{"width":581.181818,"height":72.35795211791992},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.318180084228516,"height":72.35795211791992}},"3079378f-a86f-34f9-a25f-fb1be2acac42":{"id":"3079378f-a86f-34f9-a25f-fb1be2acac42","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d1343c60-5821-3df8-b196-d55557ef6046":{"id":"d1343c60-5821-3df8-b196-d55557ef6046","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4d39ae20-8ce0-3fb0-aab7-9814b2ab33bc":{"id":"4d39ae20-8ce0-3fb0-aab7-9814b2ab33bc","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"22915cfd-83f8-32b9-8e1f-81f264e74872":{"id":"22915cfd-83f8-32b9-8e1f-81f264e74872","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"462de8aa-a6ab-3eb3-b528-2816fd98eb75":{"id":"462de8aa-a6ab-3eb3-b528-2816fd98eb75","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"0d0644fb-311b-3135-9f50-ea73111cc9a7":{"id":"0d0644fb-311b-3135-9f50-ea73111cc9a7","position":{"x":592.0021496018071,"y":415.47470220982296},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":60.0}},"172a82fb-8c0f-352a-acfb-dc59dcf9025e":{"id":"172a82fb-8c0f-352a-acfb-dc59dcf9025e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2fd0f97f-1135-3dd6-9a54-5f629021245d":{"id":"2fd0f97f-1135-3dd6-9a54-5f629021245d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"1e215ba4-4c06-3e5c-8065-a9e63513da9a":{"id":"1e215ba4-4c06-3e5c-8065-a9e63513da9a","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4a0dd7b1-ae50-398a-967b-21e4edeadd4c":{"id":"4a0dd7b1-ae50-398a-967b-21e4edeadd4c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"45334047-0d7d-3c3c-bf46-1f67f04dc14e":{"id":"45334047-0d7d-3c3c-bf46-1f67f04dc14e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}}},"edgeLayoutData":{"1d14b148-b223-3ec1-adc3-a04b3a9bf327":{"id":"1d14b148-b223-3ec1-adc3-a04b3a9bf327","bendingPoints":[],"edgeAnchorLayoutData":[]},"7dda4359-caeb-3782-af1a-f63011eb3504":{"id":"7dda4359-caeb-3782-af1a-f63011eb3504","bendingPoints":[],"edgeAnchorLayoutData":[]},"20ec4daf-162b-361c-ad13-522bcd7d9b19":{"id":"20ec4daf-162b-361c-ad13-522bcd7d9b19","bendingPoints":[],"edgeAnchorLayoutData":[]},"8a945468-105f-326f-b41b-4eb54a341584":{"id":"8a945468-105f-326f-b41b-4eb54a341584","bendingPoints":[],"edgeAnchorLayoutData":[]},"aa90b753-cc06-3b1c-b6c5-2df9282e5c69":{"id":"aa90b753-cc06-3b1c-b6c5-2df9282e5c69","bendingPoints":[],"edgeAnchorLayoutData":[]},"65ee651c-58fe-355b-8c47-19c6d7198d44":{"id":"65ee651c-58fe-355b-8c47-19c6d7198d44","bendingPoints":[],"edgeAnchorLayoutData":[]},"a02f6b04-651a-303e-82d3-08e71e671fdc":{"id":"a02f6b04-651a-303e-82d3-08e71e671fdc","bendingPoints":[{"x":62.20089013137844,"y":392.35},{"x":-107.93139169559049,"y":392.35}],"edgeAnchorLayoutData":[]},"62c1e477-7f5d-3640-8af7-cb29a67709d2":{"id":"62c1e477-7f5d-3640-8af7-cb29a67709d2","bendingPoints":[],"edgeAnchorLayoutData":[]},"d403b64b-158f-31bc-a407-4d3503e37dad":{"id":"d403b64b-158f-31bc-a407-4d3503e37dad","bendingPoints":[],"edgeAnchorLayoutData":[]},"da175ee4-9ca3-3f84-8d99-2beb1dbffe73":{"id":"da175ee4-9ca3-3f84-8d99-2beb1dbffe73","bendingPoints":[],"edgeAnchorLayoutData":[]},"cf79f28c-0f84-37b9-b3b3-6a236ad2e437":{"id":"cf79f28c-0f84-37b9-b3b3-6a236ad2e437","bendingPoints":[],"edgeAnchorLayoutData":[]},"a153ccf7-5e0d-3065-8af9-4ba905342546":{"id":"a153ccf7-5e0d-3065-8af9-4ba905342546","bendingPoints":[],"edgeAnchorLayoutData":[]},"445a00d9-9f91-3723-9bd5-e5a0626076d4":{"id":"445a00d9-9f91-3723-9bd5-e5a0626076d4","bendingPoints":[],"edgeAnchorLayoutData":[]},"71cd0739-f96d-33b6-abd7-6d034ef60810":{"id":"71cd0739-f96d-33b6-abd7-6d034ef60810","bendingPoints":[],"edgeAnchorLayoutData":[]},"b3b7cc0a-267b-3928-ba4c-e44fba60d7fa":{"id":"b3b7cc0a-267b-3928-ba4c-e44fba60d7fa","bendingPoints":[],"edgeAnchorLayoutData":[]},"76853791-5318-3111-af76-babe9b5a40b3":{"id":"76853791-5318-3111-af76-babe9b5a40b3","bendingPoints":[],"edgeAnchorLayoutData":[]},"15c981ee-a177-3399-b687-0e79218ce850":{"id":"15c981ee-a177-3399-b687-0e79218ce850","bendingPoints":[],"edgeAnchorLayoutData":[]},"7d8c997c-e9cc-3fd0-a379-149603f30015":{"id":"7d8c997c-e9cc-3fd0-a379-149603f30015","bendingPoints":[{"x":520.4399279071188,"y":389.5},{"x":669.5050429645578,"y":389.5}],"edgeAnchorLayoutData":[]}},"labelLayoutData":{"63782818-9897-3817-8534-58dd6e665e3c":{"id":"63782818-9897-3817-8534-58dd6e665e3c","position":{"x":0.0,"y":0.0},"size":{"width":34.8011360168457,"height":13.63636302947998},"resizedByUser":false},"6ebd4a1c-95a4-300b-999a-6cbf9065f2c9":{"id":"6ebd4a1c-95a4-300b-999a-6cbf9065f2c9","position":{"x":0.0,"y":0.0},"size":{"width":26.17897605895996,"height":13.63636302947998},"resizedByUser":false},"93ad8f23-0c66-302a-ab14-f32b151ac009":{"id":"93ad8f23-0c66-302a-ab14-f32b151ac009","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"cfa21e5a-ef7b-3706-a842-6a7b360383c7":{"id":"cfa21e5a-ef7b-3706-a842-6a7b360383c7","position":{"x":0.0,"y":0.0},"size":{"width":20.41193199157715,"height":13.63636302947998},"resizedByUser":false},"e78299c4-eab5-3216-9b16-5a03eeac15f0":{"id":"e78299c4-eab5-3216-9b16-5a03eeac15f0","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"f9268132-7e2d-30e0-966b-b4ece12718e7":{"id":"f9268132-7e2d-30e0-966b-b4ece12718e7","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"ae887237-c09c-30b8-a363-dee75926f014":{"id":"ae887237-c09c-30b8-a363-dee75926f014","position":{"x":0.0,"y":0.0},"size":{"width":27.99715805053711,"height":13.63636302947998},"resizedByUser":false},"2c7bae91-09ad-32b1-b9f8-e20f4a8856b7":{"id":"2c7bae91-09ad-32b1-b9f8-e20f4a8856b7","position":{"x":0.0,"y":0.0},"size":{"width":76.93181610107422,"height":16.363636016845703},"resizedByUser":false},"6edf7eda-12f1-378b-8daa-5f8abafe0566":{"id":"6edf7eda-12f1-378b-8daa-5f8abafe0566","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"682e2c7b-8a32-3686-96b6-833da5318a89":{"id":"682e2c7b-8a32-3686-96b6-833da5318a89","position":{"x":0.0,"y":0.0},"size":{"width":26.17897605895996,"height":13.63636302947998},"resizedByUser":false},"69fef3c8-bb0b-30a3-9f60-e42d81cb47fb":{"id":"69fef3c8-bb0b-30a3-9f60-e42d81cb47fb","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"e5c74038-08af-363e-90ba-800cc2755d39":{"id":"e5c74038-08af-363e-90ba-800cc2755d39","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"b4890d0e-ce6a-37af-aef1-65b33530fe8e":{"id":"b4890d0e-ce6a-37af-aef1-65b33530fe8e","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"660c5f90-0840-3dd7-b26d-f72d6f69aba1":{"id":"660c5f90-0840-3dd7-b26d-f72d6f69aba1","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"12997cdb-1de4-3e76-a4fa-9a8e6ddbd2aa":{"id":"12997cdb-1de4-3e76-a4fa-9a8e6ddbd2aa","position":{"x":0.0,"y":0.0},"size":{"width":33.92045211791992,"height":13.63636302947998},"resizedByUser":false},"8e4071b9-e2bc-3736-b171-be53f7209a2a":{"id":"8e4071b9-e2bc-3736-b171-be53f7209a2a","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"83d98f16-8fae-300a-8d46-9943186414e0":{"id":"83d98f16-8fae-300a-8d46-9943186414e0","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"41ac1eed-88fe-31c6-bf05-f40b92607a4e":{"id":"41ac1eed-88fe-31c6-bf05-f40b92607a4e","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"f5e64675-adaf-3f96-9536-e59a9575b50e":{"id":"f5e64675-adaf-3f96-9536-e59a9575b50e","position":{"x":0.0,"y":0.0},"size":{"width":20.41193199157715,"height":13.63636302947998},"resizedByUser":false},"4f8f904e-b7bf-32cc-962b-58cd8f1baff6":{"id":"4f8f904e-b7bf-32cc-962b-58cd8f1baff6","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"e7a19b24-212c-3603-bdc2-2db0a6695e09":{"id":"e7a19b24-212c-3603-bdc2-2db0a6695e09","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"a8c8f196-2e7f-3ead-8393-2330505b1d03":{"id":"a8c8f196-2e7f-3ead-8393-2330505b1d03","position":{"x":0.0,"y":0.0},"size":{"width":0.0,"height":0.0},"resizedByUser":false},"2fcf3a5d-7333-3e5b-8d3d-23ab48bf2c47":{"id":"2fcf3a5d-7333-3e5b-8d3d-23ab48bf2c47","position":{"x":0.0,"y":0.0},"size":{"width":27.99715805053711,"height":13.63636302947998},"resizedByUser":false}}}}', 'none', '2025.12.0-202511141745', '2025-12-18 18:02:06.348396+00', '2025-12-19 08:52:14.497827+00'); +INSERT INTO public.representation_content (id, content, last_migration_performed, migration_version, created_on, last_modified_on) VALUES ('a1753f02-61de-44b0-9844-7bb96685e943', '{"id":"a1753f02-61de-44b0-9844-7bb96685e943","kind":"siriusComponents://representation?type=Diagram","targetObjectId":"d3c8df05-9891-4f13-94ce-ff479a471973","descriptionId":"siriusComponents://representationDescription?kind=diagramDescription&sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=db495705-e917-319b-af55-a32ad63f4089","nodes":[{"id":"24cc0727-23ac-3c1d-b16c-9c842a347594","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"e7d88a8a-29f4-34cc-8e13-420cfb78b137","text":"«part»\npart1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"d2c8a624-c50f-3b10-b261-3b9f4e06d76a","type":"node:rectangle","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"35bdc648-1b88-33c2-9d95-ba64ba7effe5","text":"port1","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"790ccacb-a460-3e21-a53a-f2aa51697ddf","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e3a07ecf-bbc4-358f-8b25-3efdee021ff0","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"6cdfe7a0-772e-3342-87c9-76ac8e4da0ef","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"4b7f302a-19d6-3532-b6f1-35ad17d8d1e3","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"89970e35-8bd0-3805-acfd-33d64dd726da","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2cb0d177-92ad-3f5f-95f0-e9269166f847","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"fa3565e6-7190-3522-9c72-47622ba2f23e","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"81f9ea2e-d6e2-3e35-be7e-43a2b6759a5e","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"81cdc01e-acd5-3fbc-a83b-e25971bc1a68","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"87a0a1cc-c792-320b-9d42-4ae212b4e773","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"eca576fe-c65d-3d7a-8a44-4ecf2bb0d259","type":"node:icon-label","targetObjectId":"8490217e-46e4-4d0f-bb1e-b30a61d2b92a","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"be7761b5-a2d8-3cc6-805f-ff4d4b760db6","text":"port1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"97d875cc-ff2d-3b58-abc8-bdff159d2def","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"aa19dfda-935c-33e0-bfcd-f9b8433c715b","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"666e59c0-527b-376e-87d6-0274b0a448e7","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"79d438a5-9ac3-324d-b1b8-a20a056a235b","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"5fc82bac-a66e-3ebf-b6ec-fc80dc8c5795","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"fbade8e3-eae5-3c34-b86b-37c597813962","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"97da11d6-7179-3771-ba63-d4c4835d902d","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0cec3e6c-26cb-3a43-b69a-5a31bc0abcde","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"1f175ad3-9def-31ea-bc02-818649810551","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"30eba341-1190-3172-85dc-8cedb03d8595","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"92edb5ce-74e2-360f-ad92-90154e2a7e37","type":"node:rectangle","targetObjectId":"849627b8-9eec-4c92-89d9-088e0675ef89","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"a3322228-4318-394c-9824-e5d3d7f6c0d2","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"45613dd0-7c3d-3e0c-9ac2-92bd84488373","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"51f79015-c933-3506-b4fa-e16287385f26","text":"«part»\nSuperSystem","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"76b408f0-46ad-31e7-818b-faa144ce3fec","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"d1c916b7-5ab3-3718-889b-9fd4f660515d","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"3089dded-6d1a-3570-8585-fe7848962d09","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"79bd031f-dc43-3595-8fbd-2d9d5e100b28","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4d1fd4e3-90c7-3366-97c0-f11749eeccd5","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"88608e61-aa18-310f-b68c-efb975ca6aac","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"c5a00cf1-2393-3114-9e94-0040d82b98f4","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"56079356-2410-3d98-be39-633adf265480","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"faae5523-27f4-3e0b-9f3f-91c411e0710c","type":"node:icon-label","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"8ed4f5c1-ce1d-328a-b6a1-e8b24fd2584d","text":"superPart1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"b167317c-2ff0-3379-8a95-6e57f985e0f8","type":"node:icon-label","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"f3fff545-0fdf-3840-b799-e877e02ec0ba","text":"superPart2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"aa3c5e18-2871-3ca0-8d31-20ab2f287faa","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0bd7337e-01d7-3a14-b2ee-69d66d372d19","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"92a43496-f0ff-3c6a-8251-34b00c04c5bb","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ef1b1b80-02e4-373e-96ba-05ed91be5dbe","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"95719552-3602-34a3-be11-72ea7f354e09","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9d2105ca-feed-3d89-b4eb-b517922f7439","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"bab7f18d-a723-3d8a-867f-c405b66834c1","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f1cd7415-6b34-3946-b29e-725be0381017","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"db137856-3d21-3c59-8100-b4aaf22b7c2b","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"28d57a30-1c99-3082-a745-921425e98f84","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8f86c06f-2ce9-3041-b6aa-54b61a4b2ed0","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"519995d8-b3b8-310b-baf3-f32364e90718","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4bfa761e-b1f5-3156-a68f-643d5df95e76","type":"node:rectangle","targetObjectId":"60fae4ba-373a-44ae-954b-df1db8b9a77b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SuperSystem","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"06f011ba-656b-3097-a3c0-710ae4bdbfa5","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"13140dcb-c0d5-3953-b024-f73bad4e202c","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"154109da-5b2e-3da7-8556-ae5eaba7d075","text":"«part»\npart2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"09913c0a-7d25-3246-a6b4-5350323830ae","type":"node:rectangle","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"1d4a2254-15c6-3bd8-b73b-e64b42160f4e","text":"port2","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"3a6e3eca-7ac1-391e-b4ae-90b86aae53fd","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a3983dcc-46b7-32ce-9122-859ee52d4cf3","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"866b6d38-2890-384e-9309-ece42168fb20","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"6400afe1-f0a1-3fca-9a7e-572d7c5c099b","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"332efd36-4a9b-380b-9ba9-0146de4fd49d","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"df531260-74f8-352a-8295-39d2ef6597e9","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8371d7bc-fdb7-3a42-8965-1c69f26ded48","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"b2060148-bfd8-3240-96af-0ecd05076731","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"49fa2142-aee6-3977-8a13-f4304dd77c3b","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"0d5fdcd0-7d7c-30c6-aceb-2151bf54d673","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"6343e46d-7174-35e0-807c-437831df0d80","type":"node:icon-label","targetObjectId":"6fec253f-e02d-491b-acc4-c578fa855f43","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"9757de6b-f649-37ba-affb-9edba804b077","text":"port2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"3bc0bb36-8327-3b76-bfb3-f279f763de5e","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a1b8786f-37ba-333f-a016-e3dc180d7061","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"64efaa9d-0923-3ff8-ba44-66b18f5c3014","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ccdcc685-ff2b-3b44-b0bd-577622d8dac3","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"7ee3b6dd-7ed9-3da8-990d-d80b0c812ef3","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"38f706ec-5c96-33d7-b19a-5b2afa2c815a","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9655a395-2b73-3d20-bb90-2212c13978ff","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"bb3631db-6a30-3375-b59a-91dfabfd3391","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2f8bd11b-2a0d-3ccb-92c9-e46e51e83fee","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ef5cc260-0cca-3f3c-a200-4066a1d9f95e","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4c6ee859-37a2-3e21-885f-4c706560ff37","type":"node:rectangle","targetObjectId":"aa635140-83ff-4082-aaa8-d52a804093b7","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"part2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"8b9fda89-de0b-396e-b6e4-ee4b7cd73eb3","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"a4041c33-21ea-38e1-b278-d1e20c6b6c70","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"1e258808-d0ba-3b11-858e-b94142ab4dac","text":"«part»\nSystem :> SuperSystem","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"16915293-f680-3b27-bf04-9545389e91a0","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"94cedec7-70ae-3b8f-ab3c-654564f10e74","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b6d705c8-a032-3e26-8f60-22252e252667","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"83c63738-d589-380b-98cd-ba505f7f5254","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"ef0abd4c-59b9-3f2d-b534-2c20aed0ddd3","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"475cc84d-168b-3285-bf27-45e2e42c545f","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"42c3cf64-8ce7-34f6-8681-2c6855a31723","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"ca4345b7-bd7a-3de3-8489-35a0b3318658","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"355ed380-06b0-3253-b290-fc7a03350350","type":"node:icon-label","targetObjectId":"424e68cd-82c9-447f-ba72-5b2b1824e9f6","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=56eb79ae-f721-35f9-acf3-422bf4bc6bf0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"684e183a-68e8-3ce4-b981-e03f3893afb3","text":"^superPart1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d2b8c0d0-2876-305f-9d6d-2a0100c2b8fb","type":"node:icon-label","targetObjectId":"3a1c6a8c-7554-4041-9e10-6786a3295d8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"superPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=56eb79ae-f721-35f9-acf3-422bf4bc6bf0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"358a584e-cd4a-3ef1-a605-9ebb8e8e70f2","text":"^superPart2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"521174d0-2b09-3797-9065-c92574989828","type":"node:icon-label","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"48d75a15-d612-39b5-99b8-6ca98e9979ed","text":"SystemPart1 : PartDefinition1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"9986091c-2424-3a4f-99dd-cd2ed963322d","type":"node:icon-label","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=892af7b9-5576-3b0b-84a4-f43e461677ec","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"fa0589ae-dde3-34ef-9040-0d61653ba8c2","text":"SystemPart2 : PartDefinition2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d6bb407c-df60-33f4-ad06-1892235eb086","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"41ef7496-e253-3c79-8b8f-715f6774d7cd","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"6ff99906-5105-390c-a554-56a71b10fe5e","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ef7aff1d-dae5-3920-bea5-dca62db19aef","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9c6e2c9c-934f-3631-b052-4d6a5643d5ed","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1ad7f0b8-72eb-3500-89cd-faf3984fa97f","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8541849e-84ff-3835-a08f-2b9d6449a55b","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2e5a9a55-6a8d-3b57-a9b9-0cfa3387c4d9","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f6fd1041-036e-36a0-a705-4fd397d8f98e","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"1566c7e1-092b-3a17-af47-e0ee7c5b1f8b","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"fd445aef-902a-39ce-8511-50ef86867a9d","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"cc908a50-0861-3308-9e2e-2f58dae3b00f","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"01421fea-4a69-39db-b486-9499e52bef39","type":"node:rectangle","targetObjectId":"a72ddde2-3306-4692-a8bf-c291633118c0","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"System","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"23ca81cd-820a-3bd4-aaf1-9926573a47c6","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[{"id":"f6e55733-2d3d-38f7-9e21-9b584aa077a4","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"52518ffc-1352-35a9-af6b-e7c5f57fb114","text":"«part»\nSystemPart1 : PartDefinition1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"b75e0d73-826a-3ae8-bd14-f1bd711ffe59","type":"node:rectangle","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"b7104064-88fc-3670-aad5-709dbf9887b3","text":"port11","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"659521a5-407b-3329-a65c-44a804ce849e","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3d72b0da-22b5-352e-9699-a2da5588d4ca","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"766e7d2e-6b55-30d7-a0ba-cce4c29bf591","text":"^pd1","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"2ae2de04-b089-3d3c-9acc-efbffa97a3a0","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a0c7c493-77f4-31df-ba27-5575f43c688b","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"acb5540f-7a00-3838-a860-6014d2b149b8","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"7cc1a5ce-df50-33f3-838c-b2e74080b3b7","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"7171da45-8fe6-334e-9643-dddfaf76d6fd","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"7d4728c8-13ef-3b46-9302-fd4bd057f63c","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"64b25319-3747-39a6-8281-91286f49816b","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"9b07dd94-f6ca-3883-aca1-d7e073df86b2","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"79aacb58-45ff-35c3-a270-1ffc0166b1a2","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"e2554230-3d2c-322c-a5b8-329b60434c5c","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"a6833c0c-8d4e-38df-9552-a825d21854f0","type":"node:icon-label","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c3845b5a-d588-3376-814e-ac7defe0e20b","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"8cf0494a-65ec-3727-b2d2-50556caa7969","text":"^pd1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"39c88821-caa0-37e0-9d6c-5f1cd912e05e","type":"node:icon-label","targetObjectId":"075549ca-30b9-4a65-80eb-5a42b3d921d4","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port11","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"187d18fc-1d9b-32dc-8a23-b59fd8c69b57","text":"port11","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"aa8198c1-2c01-3498-871d-dcee7d33e828","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"30a81fba-6ee4-34c6-b8f6-37d8bca5c8e0","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"03fad30e-b779-3131-be11-1f64dceef5d3","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3becf5f2-5b89-3501-a6e9-2b13513585c7","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f582d81e-8777-3731-b699-471f88f3ef37","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f00ca1df-a19d-3c42-8d3e-576bebe8f972","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"d607d01a-1208-3c54-9a97-abc492d17b3f","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"928b8aa5-74b3-3e97-a4ee-f26292c81956","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"924d1948-84cc-3f9d-a5f7-c730e41d6941","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"5dfd647c-0773-3f0d-9cc9-9df4f8cce70c","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"574842f1-70d3-33c8-a6aa-7d29ccf9b844","type":"node:rectangle","targetObjectId":"7d234b6b-f873-46fe-80da-6bc674353fc5","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"a8c16083-d772-3de4-9393-8028d59a4b61","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"6e5b4f0e-6a99-3331-8739-fa05803e286b","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bd119f62-45c5-3868-9727-9f954e05e4fa","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"54a7e2cf-2f78-3579-a7ed-75fe9694c3ab","text":"«part»\nSystemPart2 : PartDefinition2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":10,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"3c55137d-b022-3a97-bbd4-d97ca5b8ed7b","type":"node:rectangle","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6e63f4a7-2373-3f68-97b4-a3bae4e213d5","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"a2d0b72a-b0a9-3a10-b325-d16d1b8b14a3","text":"port22","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"7896493f-66f6-307d-b202-73586f58844b","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3d72b0da-22b5-352e-9699-a2da5588d4ca","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"69cc1be3-136b-37fe-83ea-9e52557c5c38","text":"^pd2","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"dee595bf-47b2-3635-a995-0a97a0dbce4c","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c901d8ce-4c57-3ede-8fdb-3c5aa91b67ba","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"12102474-156d-3ed0-be5f-8315a6314767","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b487fbac-b52c-313d-8d1e-7e4d5a9bdde5","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a1300415-10e4-37bb-87ed-206ec95079f0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"670208ea-c268-32d1-9f89-918873f50b2f","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2135c274-2089-3e73-aa1b-5777a1a02678","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=f664d1f2-e48d-3f5a-a073-141fc0ddc418","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"274f7e11-bf9d-371f-a4c2-8562bff60957","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"80ea898a-32da-3f63-9c60-02c3be187b5a","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=84aaf577-0758-3fd6-b85c-a4ced98d2836","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2f425d55-16de-3794-a6aa-0775fe112fac","text":"parts","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"5db7cacc-0950-3861-887d-f17bf797f40f","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cc126737-2324-3253-ae11-37d5b0dee7b9","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"c6a2b50f-a6a3-35d3-a37d-d2e438d84005","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"199b3eea-f030-3e70-acfb-9d02b9e2173f","type":"node:icon-label","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c3845b5a-d588-3376-814e-ac7defe0e20b","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"0b06ce6e-ffb0-3cf0-8675-c1b3bc45d705","text":"^pd2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"bf9cd060-836b-3f63-ae9a-bf6515014d1d","type":"node:icon-label","targetObjectId":"e13dd0ec-bf08-47f6-8d95-4c4646f56821","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"port22","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=feb64ff6-1216-3056-bc12-b9d78e349d7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"3f0d6d6a-52d4-3a78-85ff-37aa151bff88","text":"port22","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"e951862d-336c-375d-af0d-5eb9782d97d2","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=30a9de2f-14f9-3de6-b68e-06b79b675555","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2d122b0c-4f16-38fd-904b-15fbbffb8bf4","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"2327793f-ab97-354a-827c-8751afb44572","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c47f5c71-1cc7-3f23-8c03-c335c2d13c66","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"adc29543-4762-3eff-8e24-e617cbe14402","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9ffd582c-954c-3552-b6fa-efd252d7e17d","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c97028bb-f0ba-3e9e-97a6-170cb6345d62","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"88d3284c-6eda-3d74-b573-075db8441590","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"e82a7288-1b2b-3c88-9f1f-e32b6b4e07d0","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a57f3491-bd3e-38c6-bb8b-b0a4b570bd3a","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f48e7853-c104-345f-859c-1d25bf122b82","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4d3c2db2-38b5-35c9-81d8-0cf43c024013","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=fe94bbc6-f9c3-34cb-90fa-34a6701f9c17","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"cc50aa7e-cd2e-35e5-ad04-e2dd6efc0ef7","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"df2efd53-a115-3f2c-9651-ecab2a34b49f","type":"node:rectangle","targetObjectId":"284bf30c-f20a-4ef5-92e5-9adaea627f81","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartUsage","targetObjectLabel":"SystemPart2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"f0372fe0-6240-3457-9570-ca746d87ed17","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"4b5fc9d5-5ded-3735-b068-db1932283b1e","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=52de5719-4873-3c76-8e5b-8d94900d4b7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"3a154f3c-13d2-3c3e-8e93-c921e80d12cc","text":"«part def»\nPartDefinition1","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartDefinition.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"5ddc5989-1baa-3861-b9d8-92cbaeddae72","type":"node:rectangle","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c86ab75a-b52a-3e59-ae85-1327f3ed8d7a","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"3e0645eb-5414-3371-80ec-d767bc9a2e1c","text":"pd1","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"5d14fe16-f9df-3d02-a0da-d508701ac3e2","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=32da1a41-7187-3da3-ae52-f3cfc927b133","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ff0429b3-f6b0-31be-9a9c-4ae5c321910e","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"46dc45b1-2f39-3711-8b32-3052ba9df7d5","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=1d4e3253-3981-3d8a-9887-b887114e3a3e","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"508a981c-d097-33a8-b926-529a94e3873d","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"4db8821d-40b1-396e-8c1e-eedc63f25bea","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a677fbe5-68e8-3949-beab-d96b632c4cc0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"d33a8c3f-912e-35ec-acbe-8708e0910f87","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"78bcefbb-e444-3b6b-beec-c5573d8ed82e","type":"node:icon-label","targetObjectId":"9c6e2b31-4189-450c-80f7-cfdc2e7ca218","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a00860fb-f304-3ed8-ab86-c9f1bbfdf671","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"c6832ad4-ce86-3033-bddd-0beb6642de77","text":"pd1","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"33ee0fbd-d289-3105-8dfd-7fd8e066eb0b","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=d1db77ad-fee0-3c33-bfe1-db84f9fbd027","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ba8819fc-d1d9-3580-a2d6-82780bb1dbcd","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"b032686f-e63d-3387-953c-237078d13c85","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"0f487b02-b89f-361c-ba40-7cb8642c4b11","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"66d00e22-30c3-3b71-8acb-28055f1538f4","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ed49f01b-7dae-39f0-99d6-63819acd1c67","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"885ad756-c5ee-3a5d-8027-c3bd5e3e7789","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=ba122573-ae0d-378c-9949-7622f6057511","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"fc560314-a8aa-34f7-b71a-ce115578e8b8","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"aee1befc-c64f-3cfb-bbe4-db8807968320","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cbf68c65-4d8f-32ca-ac84-92fec0dbb646","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"44a5ec88-cb79-3f34-bd47-0f66a3be283c","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"5074eedc-7124-3250-8df4-7a993d3a37f9","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3868c242-24f7-3a1d-956f-21bd7488b2b6","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"2a5a72ce-95a8-3083-90f9-0abca85096ec","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"bf25e050-836f-35be-955c-4dd4959bb905","type":"node:rectangle","targetObjectId":"60ec2f73-0a28-424a-9605-5d460a071d16","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition1","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"c3f56de6-19ae-33b2-9960-cd1613137066","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]},{"id":"d5bd4a8a-1ffc-32cc-b9c2-062b8f1156c6","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=52de5719-4873-3c76-8e5b-8d94900d4b7f","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"522e754b-ede4-3854-a8eb-7ba4d56dc6de","text":"«part def»\nPartDefinition2","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PartDefinition.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"IF_CHILDREN","overflowStrategy":"WRAP","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":false,"topGap":0,"bottomGap":0,"growableNodeIds":["siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5"],"kind":"List"}},"borderNodes":[{"id":"52a7c63a-bf29-3651-a645-258647a4a1cd","type":"node:rectangle","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=c86ab75a-b52a-3e59-ae85-1327f3ed8d7a","borderNode":true,"initialBorderNodePosition":"EAST","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":null,"outsideLabels":[{"id":"f9c5cdd5-30f3-31ff-aa51-3fa976349474","text":"pd2","outsideLabelLocation":"BOTTOM_MIDDLE","style":{"color":"#000000","fontSize":12,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"overflowStrategy":"NONE","textAlign":"LEFT","customizedStyleProperties":[]}],"style":{"background":"#ffffff","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":10,"defaultHeight":10,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"childNodes":[{"id":"6ec039cd-970f-33e1-bb62-84046b5e9bcc","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=32da1a41-7187-3da3-ae52-f3cfc927b133","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"e9c9c8a5-c926-3c77-abab-73eaaed70d85","text":"doc","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"8f7235ce-ddfd-38a4-872b-26009e879869","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=1d4e3253-3981-3d8a-9887-b887114e3a3e","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"3174b7c9-856f-3621-a96a-ae6e51e67d90","text":"attributes","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"9e685592-d39f-30e0-ad9c-3fbc4c91a5c8","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a677fbe5-68e8-3949-beab-d96b632c4cc0","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"7078b67b-9e59-3471-a49b-f016bef044de","text":"ports","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[{"id":"d8ffc07b-a8fe-3c3a-8a4f-71ccc81c3d1a","type":"node:icon-label","targetObjectId":"d66de736-e6ea-4678-9783-1b0c3ebf5b8c","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PortUsage","targetObjectLabel":"pd2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a00860fb-f304-3ed8-ab86-c9f1bbfdf671","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"1b704dae-6781-3a81-ad3f-cc79689cf0f2","text":"pd2","insideLabelLocation":"TOP_LEFT","style":{"color":"#000000","fontSize":14,"bold":false,"italic":false,"underline":false,"strikeThrough":false,"iconURL":["/icons/full/obj16/PortUsage.svg"],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":false,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"WRAP","textAlign":"LEFT","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":15,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"888fe2cb-88fb-3cda-b53e-7ef1a8e742dd","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=d1db77ad-fee0-3c33-bfe1-db84f9fbd027","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"7fe4c269-e486-32ac-9fb1-cf730671913a","text":"actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f1ec8348-12cf-388c-90ef-4234f701ce30","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=55d4b9e8-0e72-318b-9548-34ed7657c16c","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"81a2286a-e084-392b-a17b-3c899151e71a","text":"action flow","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a2c2a752-a8ad-3eed-97b4-c3bffeae7276","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=bbf5f364-e67f-3e69-9918-9eb94cc9d724","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"ffd9473c-1e83-33c5-8185-4c2fd4dc90e4","text":"state transition","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"3ad04a6f-3534-3860-b4a7-da6889dbab35","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=ba122573-ae0d-378c-9949-7622f6057511","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"a9ca6765-fe1e-3b04-81ac-c0c5c104153d","text":"states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"75c71226-bad4-3785-a27d-c0932ccea3af","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=cbf68c65-4d8f-32ca-ac84-92fec0dbb646","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"8d9db3b4-572f-35b8-867e-4a58b682ba8f","text":"exhibit states","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"a6ca0aa2-b833-3feb-8f8e-7fd76559a27e","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=3868c242-24f7-3a1d-956f-21bd7488b2b6","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":["Hidden"],"state":"Hidden","collapsingState":"EXPANDED","insideLabel":{"id":"f1ecbcb0-852b-3339-b22d-c7010c9c9475","text":"perform actions","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"areChildNodesDraggable":true,"topGap":0,"bottomGap":10,"growableNodeIds":[],"kind":"List"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":60,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]},{"id":"f89f2411-f3ae-3a8e-b855-11671c7344af","type":"node:rectangle","targetObjectId":"a4d111b7-0262-45e9-b3f4-60894fe8d27b","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=PartDefinition","targetObjectLabel":"PartDefinition2","descriptionId":"siriusComponents://nodeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=6f8d80de-d97e-34a4-80ab-320ebefe26f5","borderNode":false,"initialBorderNodePosition":"NONE","modifiers":[],"state":"Normal","collapsingState":"EXPANDED","insideLabel":{"id":"aed77694-d6e1-3268-899c-d81c8bc2670e","text":"interconnection","insideLabelLocation":"TOP_CENTER","style":{"color":"#000000","fontSize":12,"bold":false,"italic":true,"underline":false,"strikeThrough":false,"iconURL":[],"background":"transparent","borderColor":"black","borderSize":0,"borderRadius":3,"borderStyle":"Solid","maxWidth":null,"visibility":"visible"},"isHeader":true,"headerSeparatorDisplayMode":"NEVER","overflowStrategy":"NONE","textAlign":"CENTER","customizedStyleProperties":[]},"outsideLabels":[],"style":{"background":"transparent","borderColor":"#000000","borderSize":1,"borderRadius":0,"borderStyle":"Solid","childrenLayoutStrategy":{"kind":"FreeForm"}},"borderNodes":[],"childNodes":[],"defaultWidth":155,"defaultHeight":150,"labelEditable":false,"deletable":false,"pinned":false,"customizedStyleProperties":[]}],"defaultWidth":155,"defaultHeight":60,"labelEditable":true,"deletable":true,"pinned":false,"customizedStyleProperties":[]}],"edges":[{"id":"23c2e300-1246-306f-87ca-4ef94b2bc162","type":"edge:straight","targetObjectId":"850cfa91-5154-4dcb-8c03-29f9e5bb0360","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=Subsetting","targetObjectLabel":"Subsetting","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=a148cedb-7ba1-3fbd-bdaf-5aa334bee373","beginLabel":null,"centerLabel":null,"endLabel":null,"sourceId":"a4041c33-21ea-38e1-b278-d1e20c6b6c70","targetId":"45613dd0-7c3d-3e0c-9ac2-92bd84488373","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"InputClosedArrow","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":false,"deletable":true,"customizedStyleProperties":[]},{"id":"daa8043c-5831-3f25-bb74-de0f0ab32ca2","type":"edge:straight","targetObjectId":"9f7ef007-d3f9-4614-b142-4d664c06d5fb","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=FeatureTyping","targetObjectLabel":"FeatureTyping","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=2b13316a-930e-3a51-bcdf-e71b0b0b965a","beginLabel":null,"centerLabel":null,"endLabel":null,"sourceId":"f6e55733-2d3d-38f7-9e21-9b584aa077a4","targetId":"4b5fc9d5-5ded-3735-b068-db1932283b1e","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"ClosedArrowWithDots","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":false,"deletable":true,"customizedStyleProperties":[]},{"id":"29fb8542-6f52-3840-88f7-4c8ad28e60d1","type":"edge:straight","targetObjectId":"7b19daf8-fa5c-4457-8115-513ff1e2434d","targetObjectKind":"siriusComponents://semantic?domain=sysml&entity=FeatureTyping","targetObjectLabel":"FeatureTyping","descriptionId":"siriusComponents://edgeDescription?sourceKind=view&sourceId=8dcd14b0-6259-3193-ad2c-743f394c68e4&sourceElementId=2b13316a-930e-3a51-bcdf-e71b0b0b965a","beginLabel":null,"centerLabel":null,"endLabel":null,"sourceId":"6e5b4f0e-6a99-3331-8739-fa05803e286b","targetId":"d5bd4a8a-1ffc-32cc-b9c2-062b8f1156c6","modifiers":[],"state":"Normal","style":{"size":1,"lineStyle":"Solid","sourceArrow":"None","targetArrow":"ClosedArrowWithDots","color":"#000000","edgeType":"Manhattan"},"centerLabelEditable":false,"deletable":true,"customizedStyleProperties":[]}],"layoutData":{"nodeLayoutData":{"52a7c63a-bf29-3651-a645-258647a4a1cd":{"id":"52a7c63a-bf29-3651-a645-258647a4a1cd","position":{"x":151.212122,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"5fc82bac-a66e-3ebf-b6ec-fc80dc8c5795":{"id":"5fc82bac-a66e-3ebf-b6ec-fc80dc8c5795","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"42c3cf64-8ce7-34f6-8681-2c6855a31723":{"id":"42c3cf64-8ce7-34f6-8681-2c6855a31723","position":{"x":0.606061,"y":49.92424108422851},"size":{"width":621.787878,"height":105.3787841796875},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":105.3787841796875}},"5074eedc-7124-3250-8df4-7a993d3a37f9":{"id":"5074eedc-7124-3250-8df4-7a993d3a37f9","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"5db7cacc-0950-3861-887d-f17bf797f40f":{"id":"5db7cacc-0950-3861-887d-f17bf797f40f","position":{"x":0.606061,"y":66.28787710107422},"size":{"width":155.0,"height":72.6515121459961},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":72.6515121459961}},"5ddc5989-1baa-3861-b9d8-92cbaeddae72":{"id":"5ddc5989-1baa-3861-b9d8-92cbaeddae72","position":{"x":151.212122,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"16915293-f680-3b27-bf04-9545389e91a0":{"id":"16915293-f680-3b27-bf04-9545389e91a0","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"df2efd53-a115-3f2c-9651-ecab2a34b49f":{"id":"df2efd53-a115-3f2c-9651-ecab2a34b49f","position":{"x":0.606061,"y":138.93938924707032},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"4d3c2db2-38b5-35c9-81d8-0cf43c024013":{"id":"4d3c2db2-38b5-35c9-81d8-0cf43c024013","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"790ccacb-a460-3e21-a53a-f2aa51697ddf":{"id":"790ccacb-a460-3e21-a53a-f2aa51697ddf","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"ef0abd4c-59b9-3f2d-b534-2c20aed0ddd3":{"id":"ef0abd4c-59b9-3f2d-b534-2c20aed0ddd3","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d6bb407c-df60-33f4-ad06-1892235eb086":{"id":"d6bb407c-df60-33f4-ad06-1892235eb086","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"6343e46d-7174-35e0-807c-437831df0d80":{"id":"6343e46d-7174-35e0-807c-437831df0d80","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"924d1948-84cc-3f9d-a5f7-c730e41d6941":{"id":"924d1948-84cc-3f9d-a5f7-c730e41d6941","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"db137856-3d21-3c59-8100-b4aaf22b7c2b":{"id":"db137856-3d21-3c59-8100-b4aaf22b7c2b","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"89970e35-8bd0-3805-acfd-33d64dd726da":{"id":"89970e35-8bd0-3805-acfd-33d64dd726da","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"6cdfe7a0-772e-3342-87c9-76ac8e4da0ef":{"id":"6cdfe7a0-772e-3342-87c9-76ac8e4da0ef","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b487fbac-b52c-313d-8d1e-7e4d5a9bdde5":{"id":"b487fbac-b52c-313d-8d1e-7e4d5a9bdde5","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f1ec8348-12cf-388c-90ef-4234f701ce30":{"id":"f1ec8348-12cf-388c-90ef-4234f701ce30","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"aee1befc-c64f-3cfb-bbe4-db8807968320":{"id":"aee1befc-c64f-3cfb-bbe4-db8807968320","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"01421fea-4a69-39db-b486-9499e52bef39":{"id":"01421fea-4a69-39db-b486-9499e52bef39","position":{"x":0.606061,"y":155.30302526391603},"size":{"width":621.787878,"height":477.04690194339116},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":595.2376161936058,"height":400.6529629433911}},"09913c0a-7d25-3246-a6b4-5350323830ae":{"id":"09913c0a-7d25-3246-a6b4-5350323830ae","position":{"x":-11.0,"y":55.47930905616613},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"9986091c-2424-3a4f-99dd-cd2ed963322d":{"id":"9986091c-2424-3a4f-99dd-cd2ed963322d","position":{"x":0.0,"y":79.0151481628418},"size":{"width":621.787878,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"332efd36-4a9b-380b-9ba9-0146de4fd49d":{"id":"332efd36-4a9b-380b-9ba9-0146de4fd49d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"13140dcb-c0d5-3953-b024-f73bad4e202c":{"id":"13140dcb-c0d5-3953-b024-f73bad4e202c","position":{"x":151.00480557019733,"y":-257.00961114039467},"size":{"width":156.212122,"height":260.53030208422854},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":256.8181782133789}},"3089dded-6d1a-3570-8585-fe7848962d09":{"id":"3089dded-6d1a-3570-8585-fe7848962d09","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"92a43496-f0ff-3c6a-8251-34b00c04c5bb":{"id":"92a43496-f0ff-3c6a-8251-34b00c04c5bb","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"dee595bf-47b2-3635-a995-0a97a0dbce4c":{"id":"dee595bf-47b2-3635-a995-0a97a0dbce4c","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"521174d0-2b09-3797-9065-c92574989828":{"id":"521174d0-2b09-3797-9065-c92574989828","position":{"x":0.0,"y":62.651512145996094},"size":{"width":621.787878,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"03fad30e-b779-3131-be11-1f64dceef5d3":{"id":"03fad30e-b779-3131-be11-1f64dceef5d3","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8f7235ce-ddfd-38a4-872b-26009e879869":{"id":"8f7235ce-ddfd-38a4-872b-26009e879869","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"6e5b4f0e-6a99-3331-8739-fa05803e286b":{"id":"6e5b4f0e-6a99-3331-8739-fa05803e286b","position":{"x":420.0254941936058,"y":103.10751269632078},"size":{"width":156.212122,"height":289.54545024707033},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":289.54545024707033}},"39c88821-caa0-37e0-9d6c-5f1cd912e05e":{"id":"39c88821-caa0-37e0-9d6c-5f1cd912e05e","position":{"x":0.0,"y":46.28787612915039},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"81cdc01e-acd5-3fbc-a83b-e25971bc1a68":{"id":"81cdc01e-acd5-3fbc-a83b-e25971bc1a68","position":{"x":0.606061,"y":49.92424108422851},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":56.28787612915039}},"a2c2a752-a8ad-3eed-97b4-c3bffeae7276":{"id":"a2c2a752-a8ad-3eed-97b4-c3bffeae7276","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4db8821d-40b1-396e-8c1e-eedc63f25bea":{"id":"4db8821d-40b1-396e-8c1e-eedc63f25bea","position":{"x":0.606061,"y":49.92424108422851},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":56.28787612915039}},"64efaa9d-0923-3ff8-ba44-66b18f5c3014":{"id":"64efaa9d-0923-3ff8-ba44-66b18f5c3014","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"e951862d-336c-375d-af0d-5eb9782d97d2":{"id":"e951862d-336c-375d-af0d-5eb9782d97d2","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"aa8198c1-2c01-3498-871d-dcee7d33e828":{"id":"aa8198c1-2c01-3498-871d-dcee7d33e828","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"7ee3b6dd-7ed9-3da8-990d-d80b0c812ef3":{"id":"7ee3b6dd-7ed9-3da8-990d-d80b0c812ef3","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"fd445aef-902a-39ce-8511-50ef86867a9d":{"id":"fd445aef-902a-39ce-8511-50ef86867a9d","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"3a6e3eca-7ac1-391e-b4ae-90b86aae53fd":{"id":"3a6e3eca-7ac1-391e-b4ae-90b86aae53fd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b6d705c8-a032-3e26-8f60-22252e252667":{"id":"b6d705c8-a032-3e26-8f60-22252e252667","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"199b3eea-f030-3e70-acfb-9d02b9e2173f":{"id":"199b3eea-f030-3e70-acfb-9d02b9e2173f","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"eca576fe-c65d-3d7a-8a44-4ecf2bb0d259":{"id":"eca576fe-c65d-3d7a-8a44-4ecf2bb0d259","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"c5a00cf1-2393-3114-9e94-0040d82b98f4":{"id":"c5a00cf1-2393-3114-9e94-0040d82b98f4","position":{"x":0.606061,"y":49.92424108422851},"size":{"width":155.0,"height":72.6515121459961},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":72.6515121459961}},"66d00e22-30c3-3b71-8acb-28055f1538f4":{"id":"66d00e22-30c3-3b71-8acb-28055f1538f4","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d2c8a624-c50f-3b10-b261-3b9f4e06d76a":{"id":"d2c8a624-c50f-3b10-b261-3b9f4e06d76a","position":{"x":151.212122,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"92edb5ce-74e2-360f-ad92-90154e2a7e37":{"id":"92edb5ce-74e2-360f-ad92-90154e2a7e37","position":{"x":0.606061,"y":109.92424108422851},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"64b25319-3747-39a6-8281-91286f49816b":{"id":"64b25319-3747-39a6-8281-91286f49816b","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"659521a5-407b-3329-a65c-44a804ce849e":{"id":"659521a5-407b-3329-a65c-44a804ce849e","position":{"x":151.212122,"y":49.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"3bc0bb36-8327-3b76-bfb3-f279f763de5e":{"id":"3bc0bb36-8327-3b76-bfb3-f279f763de5e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b167317c-2ff0-3379-8a95-6e57f985e0f8":{"id":"b167317c-2ff0-3379-8a95-6e57f985e0f8","position":{"x":0.0,"y":46.28787612915039},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"fa3565e6-7190-3522-9c72-47622ba2f23e":{"id":"fa3565e6-7190-3522-9c72-47622ba2f23e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"f582d81e-8777-3731-b699-471f88f3ef37":{"id":"f582d81e-8777-3731-b699-471f88f3ef37","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"1f175ad3-9def-31ea-bc02-818649810551":{"id":"1f175ad3-9def-31ea-bc02-818649810551","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"3ad04a6f-3534-3860-b4a7-da6889dbab35":{"id":"3ad04a6f-3534-3860-b4a7-da6889dbab35","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"7171da45-8fe6-334e-9643-dddfaf76d6fd":{"id":"7171da45-8fe6-334e-9643-dddfaf76d6fd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"866b6d38-2890-384e-9309-ece42168fb20":{"id":"866b6d38-2890-384e-9309-ece42168fb20","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"bab7f18d-a723-3d8a-867f-c405b66834c1":{"id":"bab7f18d-a723-3d8a-867f-c405b66834c1","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4d1fd4e3-90c7-3366-97c0-f11749eeccd5":{"id":"4d1fd4e3-90c7-3366-97c0-f11749eeccd5","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"97d875cc-ff2d-3b58-abc8-bdff159d2def":{"id":"97d875cc-ff2d-3b58-abc8-bdff159d2def","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"46dc45b1-2f39-3711-8b32-3052ba9df7d5":{"id":"46dc45b1-2f39-3711-8b32-3052ba9df7d5","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"24cc0727-23ac-3c1d-b16c-9c842a347594":{"id":"24cc0727-23ac-3c1d-b16c-9c842a347594","position":{"x":-196.35881946719857,"y":-245.53030208422854},"size":{"width":156.212122,"height":260.53030208422854},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":256.8181782133789}},"f89f2411-f3ae-3a8e-b855-11671c7344af":{"id":"f89f2411-f3ae-3a8e-b855-11671c7344af","position":{"x":0.606061,"y":109.92424108422851},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"f6fd1041-036e-36a0-a705-4fd397d8f98e":{"id":"f6fd1041-036e-36a0-a705-4fd397d8f98e","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8371d7bc-fdb7-3a42-8965-1c69f26ded48":{"id":"8371d7bc-fdb7-3a42-8965-1c69f26ded48","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b032686f-e63d-3387-953c-237078d13c85":{"id":"b032686f-e63d-3387-953c-237078d13c85","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"95719552-3602-34a3-be11-72ea7f354e09":{"id":"95719552-3602-34a3-be11-72ea7f354e09","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d5bd4a8a-1ffc-32cc-b9c2-062b8f1156c6":{"id":"d5bd4a8a-1ffc-32cc-b9c2-062b8f1156c6","position":{"x":599.9610848056298,"y":352.3863468535156},"size":{"width":156.212122,"height":260.53030208422854},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":256.8181782133789}},"f6e55733-2d3d-38f7-9e21-9b584aa077a4":{"id":"f6e55733-2d3d-38f7-9e21-9b584aa077a4","position":{"x":55.19316376049201,"y":103.10751269632078},"size":{"width":156.212122,"height":289.54545024707033},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":289.54545024707033}},"888fe2cb-88fb-3cda-b53e-7ef1a8e742dd":{"id":"888fe2cb-88fb-3cda-b53e-7ef1a8e742dd","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"faae5523-27f4-3e0b-9f3f-91c411e0710c":{"id":"faae5523-27f4-3e0b-9f3f-91c411e0710c","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"9e685592-d39f-30e0-ad9c-3fbc4c91a5c8":{"id":"9e685592-d39f-30e0-ad9c-3fbc4c91a5c8","position":{"x":0.606061,"y":49.92424108422851},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":56.28787612915039}},"33ee0fbd-d289-3105-8dfd-7fd8e066eb0b":{"id":"33ee0fbd-d289-3105-8dfd-7fd8e066eb0b","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"78bcefbb-e444-3b6b-beec-c5573d8ed82e":{"id":"78bcefbb-e444-3b6b-beec-c5573d8ed82e","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"2f8bd11b-2a0d-3ccb-92c9-e46e51e83fee":{"id":"2f8bd11b-2a0d-3ccb-92c9-e46e51e83fee","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"d607d01a-1208-3c54-9a97-abc492d17b3f":{"id":"d607d01a-1208-3c54-9a97-abc492d17b3f","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"5d14fe16-f9df-3d02-a0da-d508701ac3e2":{"id":"5d14fe16-f9df-3d02-a0da-d508701ac3e2","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"355ed380-06b0-3253-b290-fc7a03350350":{"id":"355ed380-06b0-3253-b290-fc7a03350350","position":{"x":0.0,"y":29.924240112304688},"size":{"width":621.787878,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"8541849e-84ff-3835-a08f-2b9d6449a55b":{"id":"8541849e-84ff-3835-a08f-2b9d6449a55b","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"75c71226-bad4-3785-a27d-c0932ccea3af":{"id":"75c71226-bad4-3785-a27d-c0932ccea3af","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"45613dd0-7c3d-3e0c-9ac2-92bd84488373":{"id":"45613dd0-7c3d-3e0c-9ac2-92bd84488373","position":{"x":20.670213476563077,"y":53.636514486166746},"size":{"width":156.212122,"height":273.18181423022463},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":273.18181423022463}},"a4041c33-21ea-38e1-b278-d1e20c6b6c70":{"id":"a4041c33-21ea-38e1-b278-d1e20c6b6c70","position":{"x":-212.72372552343694,"y":457.61362367382816},"size":{"width":623.0,"height":633.5620492073072},"resizedByUser":true,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":596.4497381936059,"height":556.562049207307}},"bf9cd060-836b-3f63-ae9a-bf6515014d1d":{"id":"bf9cd060-836b-3f63-ae9a-bf6515014d1d","position":{"x":0.0,"y":46.28787612915039},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"574842f1-70d3-33c8-a6aa-7d29ccf9b844":{"id":"574842f1-70d3-33c8-a6aa-7d29ccf9b844","position":{"x":0.606061,"y":138.93938924707032},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"9c6e2c9c-934f-3631-b052-4d6a5643d5ed":{"id":"9c6e2c9c-934f-3631-b052-4d6a5643d5ed","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2ae2de04-b089-3d3c-9acc-efbffa97a3a0":{"id":"2ae2de04-b089-3d3c-9acc-efbffa97a3a0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4bfa761e-b1f5-3156-a68f-643d5df95e76":{"id":"4bfa761e-b1f5-3156-a68f-643d5df95e76","position":{"x":0.606061,"y":122.5757532302246},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"d8ffc07b-a8fe-3c3a-8a4f-71ccc81c3d1a":{"id":"d8ffc07b-a8fe-3c3a-8a4f-71ccc81c3d1a","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"a6ca0aa2-b833-3feb-8f8e-7fd76559a27e":{"id":"a6ca0aa2-b833-3feb-8f8e-7fd76559a27e","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"79aacb58-45ff-35c3-a270-1ffc0166b1a2":{"id":"79aacb58-45ff-35c3-a270-1ffc0166b1a2","position":{"x":0.606061,"y":66.28787710107422},"size":{"width":155.0,"height":72.6515121459961},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":72.6515121459961}},"6ec039cd-970f-33e1-bb62-84046b5e9bcc":{"id":"6ec039cd-970f-33e1-bb62-84046b5e9bcc","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9655a395-2b73-3d20-bb90-2212c13978ff":{"id":"9655a395-2b73-3d20-bb90-2212c13978ff","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"aa3c5e18-2871-3ca0-8d31-20ab2f287faa":{"id":"aa3c5e18-2871-3ca0-8d31-20ab2f287faa","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"9ffd582c-954c-3552-b6fa-efd252d7e17d":{"id":"9ffd582c-954c-3552-b6fa-efd252d7e17d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"bf25e050-836f-35be-955c-4dd4959bb905":{"id":"bf25e050-836f-35be-955c-4dd4959bb905","position":{"x":0.606061,"y":109.92424108422851},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"acb5540f-7a00-3838-a860-6014d2b149b8":{"id":"acb5540f-7a00-3838-a860-6014d2b149b8","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"80ea898a-32da-3f63-9c60-02c3be187b5a":{"id":"80ea898a-32da-3f63-9c60-02c3be187b5a","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"49fa2142-aee6-3977-8a13-f4304dd77c3b":{"id":"49fa2142-aee6-3977-8a13-f4304dd77c3b","position":{"x":0.606061,"y":49.92424108422851},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":59.31817626953125,"height":56.28787612915039}},"97da11d6-7179-3771-ba63-d4c4835d902d":{"id":"97da11d6-7179-3771-ba63-d4c4835d902d","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"b75e0d73-826a-3ae8-bd14-f1bd711ffe59":{"id":"b75e0d73-826a-3ae8-bd14-f1bd711ffe59","position":{"x":151.212122,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"2135c274-2089-3e73-aa1b-5777a1a02678":{"id":"2135c274-2089-3e73-aa1b-5777a1a02678","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"a6833c0c-8d4e-38df-9552-a825d21854f0":{"id":"a6833c0c-8d4e-38df-9552-a825d21854f0","position":{"x":0.0,"y":29.924240112304688},"size":{"width":155.0,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"7896493f-66f6-307d-b202-73586f58844b":{"id":"7896493f-66f6-307d-b202-73586f58844b","position":{"x":151.212122,"y":49.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"3c55137d-b022-3a97-bbd4-d97ca5b8ed7b":{"id":"3c55137d-b022-3a97-bbd4-d97ca5b8ed7b","position":{"x":151.212122,"y":8.0},"size":{"width":16.0,"height":16.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.0}},"d2b8c0d0-2876-305f-9d6d-2a0100c2b8fb":{"id":"d2b8c0d0-2876-305f-9d6d-2a0100c2b8fb","position":{"x":0.0,"y":46.28787612915039},"size":{"width":621.787878,"height":16.363636016845703},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":16.0,"height":16.363636016845703}},"4c6ee859-37a2-3e21-885f-4c706560ff37":{"id":"4c6ee859-37a2-3e21-885f-4c706560ff37","position":{"x":0.606061,"y":109.92424108422851},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":155.0,"height":150.0}},"e82a7288-1b2b-3c88-9f1f-e32b6b4e07d0":{"id":"e82a7288-1b2b-3c88-9f1f-e32b6b4e07d0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"8f86c06f-2ce9-3041-b6aa-54b61a4b2ed0":{"id":"8f86c06f-2ce9-3041-b6aa-54b61a4b2ed0","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"2327793f-ab97-354a-827c-8751afb44572":{"id":"2327793f-ab97-354a-827c-8751afb44572","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"4b5fc9d5-5ded-3735-b068-db1932283b1e":{"id":"4b5fc9d5-5ded-3735-b068-db1932283b1e","position":{"x":-575.9083469707678,"y":360.3863468535156},"size":{"width":156.212122,"height":260.53030208422854},"resizedByUser":false,"movedByUser":true,"handleLayoutData":[],"minComputedSize":{"width":156.212122,"height":256.8181782133789}},"6ff99906-5105-390c-a554-56a71b10fe5e":{"id":"6ff99906-5105-390c-a554-56a71b10fe5e","position":{"x":1.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"885ad756-c5ee-3a5d-8027-c3bd5e3e7789":{"id":"885ad756-c5ee-3a5d-8027-c3bd5e3e7789","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"666e59c0-527b-376e-87d6-0274b0a448e7":{"id":"666e59c0-527b-376e-87d6-0274b0a448e7","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":150.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}},"76b408f0-46ad-31e7-818b-faa144ce3fec":{"id":"76b408f0-46ad-31e7-818b-faa144ce3fec","position":{"x":0.0,"y":0.0},"size":{"width":155.0,"height":60.0},"resizedByUser":false,"movedByUser":false,"handleLayoutData":[],"minComputedSize":{"width":0.0,"height":0.0}}},"edgeLayoutData":{"23c2e300-1246-306f-87ca-4ef94b2bc162":{"id":"23c2e300-1246-306f-87ca-4ef94b2bc162","bendingPoints":[],"edgeAnchorLayoutData":[]},"29fb8542-6f52-3840-88f7-4c8ad28e60d1":{"id":"29fb8542-6f52-3840-88f7-4c8ad28e60d1","bendingPoints":[],"edgeAnchorLayoutData":[]},"daa8043c-5831-3f25-bb74-de0f0ab32ca2":{"id":"daa8043c-5831-3f25-bb74-de0f0ab32ca2","bendingPoints":[],"edgeAnchorLayoutData":[]}},"labelLayoutData":{"a2d0b72a-b0a9-3a10-b325-d16d1b8b14a3":{"id":"a2d0b72a-b0a9-3a10-b325-d16d1b8b14a3","position":{"x":0.0,"y":0.0},"size":{"width":34.80113220214844,"height":13.939393043518066},"resizedByUser":false},"f9c5cdd5-30f3-31ff-aa51-3fa976349474":{"id":"f9c5cdd5-30f3-31ff-aa51-3fa976349474","position":{"x":0.0,"y":0.0},"size":{"width":20.41666603088379,"height":13.939393043518066},"resizedByUser":false},"766e7d2e-6b55-30d7-a0ba-cce4c29bf591":{"id":"766e7d2e-6b55-30d7-a0ba-cce4c29bf591","position":{"x":0.0,"y":0.0},"size":{"width":26.174240112304688,"height":13.939393043518066},"resizedByUser":false},"35bdc648-1b88-33c2-9d95-ba64ba7effe5":{"id":"35bdc648-1b88-33c2-9d95-ba64ba7effe5","position":{"x":0.0,"y":0.0},"size":{"width":28.00189208984375,"height":13.939393043518066},"resizedByUser":false},"69cc1be3-136b-37fe-83ea-9e52557c5c38":{"id":"69cc1be3-136b-37fe-83ea-9e52557c5c38","position":{"x":0.0,"y":0.0},"size":{"width":26.174240112304688,"height":13.939393043518066},"resizedByUser":false},"1d4a2254-15c6-3bd8-b73b-e64b42160f4e":{"id":"1d4a2254-15c6-3bd8-b73b-e64b42160f4e","position":{"x":0.0,"y":0.0},"size":{"width":28.00189208984375,"height":13.939393043518066},"resizedByUser":false},"b7104064-88fc-3670-aad5-709dbf9887b3":{"id":"b7104064-88fc-3670-aad5-709dbf9887b3","position":{"x":0.0,"y":0.0},"size":{"width":33.91098403930664,"height":13.939393043518066},"resizedByUser":false},"3e0645eb-5414-3371-80ec-d767bc9a2e1c":{"id":"3e0645eb-5414-3371-80ec-d767bc9a2e1c","position":{"x":0.0,"y":0.0},"size":{"width":20.41666603088379,"height":13.939393043518066},"resizedByUser":false}}}}', 'none', '2025.12.0-202511141745', '2025-12-18 18:09:16.502516+00', '2025-12-18 18:43:38.403011+00'); + + +-- +-- Data for Name: semantic_data_dependency; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + + + +-- +-- Data for Name: semantic_data_domain; Type: TABLE DATA; Schema: public; Owner: dbuser +-- + +INSERT INTO public.semantic_data_domain (semantic_data_id, uri) VALUES ('8e43f6d2-33df-42e6-9e37-2ba56c004198', 'http://www.eclipse.org/syson/sysml'); + + +-- +-- PostgreSQL database dump complete +-- + + diff --git a/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/ConnectorAsUsageImpl.java b/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/ConnectorAsUsageImpl.java index aeb280e89..87f34fed3 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/ConnectorAsUsageImpl.java +++ b/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/ConnectorAsUsageImpl.java @@ -32,8 +32,8 @@ import org.eclipse.syson.sysml.Connector; import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Element; -import org.eclipse.syson.sysml.EndFeatureMembership; import org.eclipse.syson.sysml.Feature; +import org.eclipse.syson.sysml.FeatureMembership; import org.eclipse.syson.sysml.ReferenceSubsetting; import org.eclipse.syson.sysml.Relationship; import org.eclipse.syson.sysml.SysmlPackage; @@ -289,10 +289,11 @@ public EList getAssociation() { */ @Override public EList getConnectorEnd() { - List endFeatures = this.getOwnedRelationship().stream() - .filter(EndFeatureMembership.class::isInstance) - .map(EndFeatureMembership.class::cast) - .flatMap(fm -> fm.getOwnedRelatedElement().stream()) + List endFeatures = this.getOwnedRelationship().stream() + .filter(FeatureMembership.class::isInstance) + .map(FeatureMembership.class::cast) + .map(FeatureMembership::getOwnedMemberFeature) + .filter(Feature::isIsEnd) .toList(); return new EcoreEList.UnmodifiableEList<>(this, SysmlPackage.eINSTANCE.getConnector_ConnectorEnd(), endFeatures.size(), endFeatures.toArray()); } diff --git a/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/FeatureImpl.java b/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/FeatureImpl.java index d79ffa0a9..af4a337b2 100644 --- a/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/FeatureImpl.java +++ b/backend/metamodel/syson-sysml-metamodel/src/main/java/org/eclipse/syson/sysml/impl/FeatureImpl.java @@ -26,6 +26,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.util.EcoreEList; import org.eclipse.syson.sysml.CrossSubsetting; +import org.eclipse.syson.sysml.EndFeatureMembership; import org.eclipse.syson.sysml.Feature; import org.eclipse.syson.sysml.FeatureChaining; import org.eclipse.syson.sysml.FeatureDirectionKind; @@ -557,10 +558,14 @@ public void setIsDerived(boolean newIsDerived) { /** * * - * @generated + * @generated NOT */ @Override public boolean isIsEnd() { + // Force validation of constraint validateEndFeatureMembershipIsEnd + if (this.getOwningMembership() instanceof EndFeatureMembership) { + return true; + } return this.isEnd; } diff --git a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationDiagramService.java b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationDiagramService.java index 32da293e2..aafd8a9f1 100644 --- a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationDiagramService.java +++ b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationDiagramService.java @@ -29,10 +29,10 @@ import org.eclipse.sirius.components.diagrams.description.NodeDescription; import org.eclipse.sirius.components.emf.utils.SiriusEMFCopier; import org.eclipse.sirius.components.representations.VariableManager; -import org.eclipse.syson.model.services.ModelMutationElementService; import org.eclipse.syson.sysml.Element; import org.eclipse.syson.sysml.OwningMembership; import org.eclipse.syson.sysml.ViewUsage; +import org.eclipse.syson.sysml.metamodel.services.MetamodelMutationElementService; import org.eclipse.syson.util.NodeFinder; import org.eclipse.syson.util.SysONRepresentationDescriptionIdentifiers; import org.springframework.stereotype.Service; @@ -52,17 +52,19 @@ public class DiagramMutationDiagramService { private final IRepresentationMetadataPersistenceService representationMetadataPersistenceService; private final IRepresentationPersistenceService representationPersistenceService; - private final ModelMutationElementService modelMutationElementService; + + private final MetamodelMutationElementService metamodelMutationElementService; + private final DiagramMutationExposeService diagramMutationExposeService; public DiagramMutationDiagramService(IDiagramCreationService diagramCreationService, IRepresentationDescriptionSearchService representationDescriptionSearchService, IRepresentationMetadataPersistenceService representationMetadataPersistenceService, IRepresentationPersistenceService representationPersistenceService, - ModelMutationElementService modelMutationElementService, DiagramMutationExposeService diagramMutationExposeService) { + DiagramMutationExposeService diagramMutationExposeService) { this.diagramCreationService = Objects.requireNonNull(diagramCreationService); this.representationDescriptionSearchService = Objects.requireNonNull(representationDescriptionSearchService); this.representationMetadataPersistenceService = Objects.requireNonNull(representationMetadataPersistenceService); this.representationPersistenceService = Objects.requireNonNull(representationPersistenceService); - this.modelMutationElementService = Objects.requireNonNull(modelMutationElementService); + this.metamodelMutationElementService = new MetamodelMutationElementService(); this.diagramMutationExposeService = Objects.requireNonNull(diagramMutationExposeService); } @@ -121,7 +123,7 @@ public Element duplicateElementAndExpose(Element element, IEditingContext editin Element result = null; if (owningMembership != null) { OwningMembership copiedMembership = (OwningMembership) new SiriusEMFCopier().copyWithoutContent(owningMembership); - var optDuplicate = this.modelMutationElementService.duplicateElement(owningMembership.getMemberElement(), true, true); + var optDuplicate = this.metamodelMutationElementService.duplicateElement(owningMembership.getMemberElement(), true, true); if (optDuplicate.isPresent()) { result = (Element) optDuplicate.get(); copiedMembership.getOwnedRelatedElement().add(result); diff --git a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationElementService.java b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationElementService.java index e77e58e62..4809939e1 100644 --- a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationElementService.java +++ b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramMutationElementService.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.eclipse.syson.diagram.services; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -24,9 +25,12 @@ import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramDescriptionService; import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramQueryService; import org.eclipse.sirius.components.core.api.IEditingContext; +import org.eclipse.sirius.components.core.api.IFeedbackMessageService; import org.eclipse.sirius.components.core.api.IIdentityService; import org.eclipse.sirius.components.core.api.IObjectSearchService; +import org.eclipse.sirius.components.core.api.IReadOnlyObjectPredicate; import org.eclipse.sirius.components.core.api.IRepresentationDescriptionSearchService; +import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.diagrams.ViewCreationRequest; import org.eclipse.sirius.components.diagrams.components.NodeContainmentKind; @@ -34,17 +38,35 @@ import org.eclipse.sirius.components.diagrams.description.NodeDescription; import org.eclipse.sirius.components.diagrams.description.SynchronizationPolicy; import org.eclipse.sirius.components.diagrams.events.HideDiagramElementEvent; +import org.eclipse.sirius.components.representations.Message; +import org.eclipse.sirius.components.representations.MessageLevel; +import org.eclipse.syson.model.services.ModelElementServices; import org.eclipse.syson.model.services.ModelMutationElementService; -import org.eclipse.syson.services.ElementInitializerSwitch; +import org.eclipse.syson.model.services.ModelQueryElementService; import org.eclipse.syson.services.NodeDescriptionService; import org.eclipse.syson.services.UtilService; +import org.eclipse.syson.services.api.SiriusWebCoreServices; +import org.eclipse.syson.sysml.BindingConnectorAsUsage; +import org.eclipse.syson.sysml.ConnectionUsage; +import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.EndFeatureMembership; import org.eclipse.syson.sysml.Expose; +import org.eclipse.syson.sysml.Feature; +import org.eclipse.syson.sysml.FlowUsage; +import org.eclipse.syson.sysml.InterfaceUsage; +import org.eclipse.syson.sysml.Namespace; +import org.eclipse.syson.sysml.PartUsage; +import org.eclipse.syson.sysml.PortUsage; import org.eclipse.syson.sysml.StateDefinition; import org.eclipse.syson.sysml.StateUsage; import org.eclipse.syson.sysml.SysmlFactory; +import org.eclipse.syson.sysml.Type; +import org.eclipse.syson.sysml.Usage; import org.eclipse.syson.sysml.ViewUsage; import org.eclipse.syson.sysml.helper.EMFUtils; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; +import org.eclipse.syson.sysml.metamodel.services.MetamodelElementQueryService; import org.eclipse.syson.sysml.metamodel.services.MetamodelMutationElementService; import org.springframework.stereotype.Service; @@ -72,22 +94,35 @@ public class DiagramMutationElementService { private final ModelMutationElementService modelMutationElementService; + private final IFeedbackMessageService feedbackMessageService; + + private final MetamodelElementQueryService metamodelElementQueryService; + + private final ModelQueryElementService modelQueryElementService; + + private final IReadOnlyObjectPredicate readOnlyObjectPredicate; + private final MetamodelMutationElementService metamodelMutationElementService; private final UtilService utilService; private final NodeDescriptionService nodeDescriptionService; - public DiagramMutationElementService(IIdentityService identityService, IObjectSearchService objectSearchService, IRepresentationDescriptionSearchService representationDescriptionSearchService, + public DiagramMutationElementService(SiriusWebCoreServices coreServices, IDiagramDescriptionService diagramDescriptionService, IDiagramQueryService diagramQueryService, DiagramQueryElementService diagramQueryElementService, - ModelMutationElementService modelMutationElementService) { - this.identityService = Objects.requireNonNull(identityService); - this.objectSearchService = Objects.requireNonNull(objectSearchService); - this.representationDescriptionSearchService = Objects.requireNonNull(representationDescriptionSearchService); + ModelElementServices modelElementServices, + IReadOnlyObjectPredicate readOnlyObjectPredicate) { + this.identityService = Objects.requireNonNull(coreServices.identityService()); + this.objectSearchService = Objects.requireNonNull(coreServices.objectSearchService()); + this.representationDescriptionSearchService = Objects.requireNonNull(coreServices.representationDescriptionSearchService()); this.diagramDescriptionService = Objects.requireNonNull(diagramDescriptionService); this.diagramQueryService = Objects.requireNonNull(diagramQueryService); this.diagramQueryElementService = Objects.requireNonNull(diagramQueryElementService); - this.modelMutationElementService = Objects.requireNonNull(modelMutationElementService); + this.modelMutationElementService = Objects.requireNonNull(modelElementServices.modelMutationElementService()); + this.feedbackMessageService = Objects.requireNonNull(coreServices.feedbackMessageService()); + this.metamodelElementQueryService = new MetamodelElementQueryService(); + this.modelQueryElementService = Objects.requireNonNull(modelElementServices.modelQueryElementService()); + this.readOnlyObjectPredicate = Objects.requireNonNull(readOnlyObjectPredicate); this.metamodelMutationElementService = new MetamodelMutationElementService(); this.utilService = new UtilService(); this.nodeDescriptionService = new NodeDescriptionService(this.objectSearchService); @@ -441,4 +476,163 @@ public Element showContentAsNested(Element element, Node selectedNode, IEditingC return element; } + + /** + * Set a new source {@link Feature} for the given {@link ConnectorAsUsage}. Note that it might also move the {@link ConnectorAsUsage} to a new container to match creation rules. + * + * @param connectorAsUsage + * the given {@link ConnectorAsUsage}. + * @param newSource + * the new target {@link Element}. + * @param sourceNode + * new source node of the edge + * @param targetNode + * target node of the edge + * @param editingContext + * the editing context + * @param diagram + * the context diagram + * @return the given {@link ConnectorAsUsage}. + */ + public ConnectorAsUsage reconnectSource(ConnectorAsUsage connectorAsUsage, Feature newSource, Node sourceNode, Node targetNode, IEditingContext editingContext, Diagram diagram) { + Optional optOldTarget = this.metamodelElementQueryService.getTarget(connectorAsUsage).stream().findFirst(); + if (optOldTarget.isEmpty()) { + // Invalid model for reconnection + this.feedbackMessageService.addFeedbackMessage(new Message("Invalid connector : Missing target", MessageLevel.WARNING)); + return connectorAsUsage; + } + + // Recompute the best container + this.getConnectorAsUsageContainer(sourceNode, targetNode, newSource, optOldTarget.get(), editingContext, diagram).ifPresent(newContainer -> { + if (newContainer != connectorAsUsage.getOwner()) { + // Move to the new container and notify the user + newContainer.getOwnedRelationship().add(connectorAsUsage.getOwningRelationship()); + if (connectorAsUsage instanceof PartUsage) { + connectorAsUsage.setIsComposite(newContainer instanceof Type); + } + this.feedbackMessageService.addFeedbackMessage(new Message("The connection has been moved to a new owner " + newContainer.getQualifiedName(), MessageLevel.INFO)); + } + }); + + // Recompute both target and source chain + List endFeatureMemberships = connectorAsUsage.getOwnedFeatureMembership().stream() + .filter(EndFeatureMembership.class::isInstance) + .map(EndFeatureMembership.class::cast) + .toList(); + connectorAsUsage.getOwnedRelationship().removeAll(endFeatureMemberships); + + this.metamodelMutationElementService.setConnectorEnds(connectorAsUsage, newSource, optOldTarget.get(), connectorAsUsage.getOwner()); + return connectorAsUsage; + } + + /** + * Set a new target {@link Feature} for the given {@link ConnectorAsUsage}. Note that it might also move the {@link ConnectorAsUsage} to a new container to match creation rules. + * + * @param connectorAsUsage + * the given {@link ConnectorAsUsage}. + * @param newTarget + * the new target {@link Element}. + * @param sourceNode + * source node of the edge + * @param targetNode + * new target node of the edge + * @param editingContext + * the editing context + * @param diagram + * the context diagram + * @return the given {@link ConnectorAsUsage}. + */ + public ConnectorAsUsage reconnectTarget(ConnectorAsUsage connectorAsUsage, Feature newTarget, Node sourceNode, Node targetNode, IEditingContext editingContext, Diagram diagram) { + Feature source = this.metamodelElementQueryService.getSource(connectorAsUsage); + if (source == null) { + // Invalid model for reconnection + this.feedbackMessageService.addFeedbackMessage(new Message("Invalid connector : Missing source", MessageLevel.WARNING)); + return connectorAsUsage; + } + + // Recompute the best container + this.getConnectorAsUsageContainer(sourceNode, targetNode, source, newTarget, editingContext, diagram).ifPresent(newContainer -> { + if (newContainer != connectorAsUsage.getOwner()) { + // Move to the new container and notify the user + newContainer.getOwnedRelationship().add(connectorAsUsage.getOwningRelationship()); + if (connectorAsUsage instanceof PartUsage) { + connectorAsUsage.setIsComposite(newContainer instanceof Type); + } + this.feedbackMessageService.addFeedbackMessage(new Message("The connection has been moved to a new owner " + newContainer.getQualifiedName(), MessageLevel.INFO)); + } + }); + + // Recompute both target and source chain + List endFeatureMemberships = connectorAsUsage.getOwnedFeatureMembership().stream() + .filter(EndFeatureMembership.class::isInstance) + .map(EndFeatureMembership.class::cast) + .toList(); + connectorAsUsage.getOwnedRelationship().removeAll(endFeatureMemberships); + + this.metamodelMutationElementService.setConnectorEnds(connectorAsUsage, source, newTarget, connectorAsUsage.getOwner()); + return connectorAsUsage; + } + + public BindingConnectorAsUsage createBindingConnectorAsUsage(Feature source, Feature target, Node sourceNode, Node targetNode, IEditingContext editingContext, DiagramContext diagramContext) { + return this.getConnectorAsUsageContainer(sourceNode, targetNode, source, target, editingContext, diagramContext.diagram()) + .map(container -> this.metamodelMutationElementService.createBindingConnectorAsUsage(source, target, container)).orElseGet(() -> { + this.feedbackMessageService.addFeedbackMessage( + new Message( + MessageFormat.format("Unable to find a suitable owner for this BindingConnector in {0} containment tree.", source.getQualifiedName()), + MessageLevel.WARNING)); + return null; + }); + } + + public FlowUsage createFlowUsage(Feature source, Feature target, Node sourceNode, Node targetNode, IEditingContext editingContext, DiagramContext diagramContext) { + return this.getConnectorAsUsageContainer(sourceNode, targetNode, source, target, editingContext, diagramContext.diagram()) + .map(flowContainer -> this.metamodelMutationElementService.createFlowUsage(source, target, flowContainer)).orElseGet(() -> { + this.feedbackMessageService.addFeedbackMessage( + new Message( + MessageFormat.format("Unable to find a suitable owner for this FlowUsage in {0} containment tree.", source.getQualifiedName()), + MessageLevel.WARNING)); + return null; + }); + } + + public InterfaceUsage createInterfaceUsage(PortUsage sourcePort, PortUsage targetPort, Node sourceNode, Node targetNode, IEditingContext editingContext, DiagramContext diagramContext) { + return this.getConnectorAsUsageContainer(sourceNode, targetNode, sourcePort, targetPort, editingContext, diagramContext.diagram()) + .map(interfaceContainer -> this.metamodelMutationElementService.createInterfaceUsage(sourcePort, targetPort, interfaceContainer)).orElseGet(() -> { + this.feedbackMessageService.addFeedbackMessage( + new Message( + MessageFormat.format("Unable to find a suitable owner for this InterfaceUsage in {0} containment tree.", sourcePort.getQualifiedName()), + MessageLevel.WARNING)); + return null; + }); + } + + public ConnectionUsage createConnectionUsage(Usage connectionSource, Usage connectionTarget, Node sourceNode, Node targetNode, IEditingContext editingContext, DiagramContext diagramContext) { + return this.getConnectorAsUsageContainer(sourceNode, targetNode, connectionSource, connectionTarget, editingContext, diagramContext.diagram()) + .map(container -> this.metamodelMutationElementService.createConnectionUsage(connectionSource, connectionTarget, container)).orElseGet(() -> { + this.feedbackMessageService.addFeedbackMessage( + new Message( + "Unable to find a suitable owner for this ConnectionUsage in " + connectionSource.getQualifiedName(), + MessageLevel.WARNING)); + return null; + }); + } + + private Optional getConnectorAsUsageContainer(Node sourceNode, Node targetNode, Element source, Element target, IEditingContext editingContext, + Diagram contextDiagram) { + Optional namespaceOwner = Optional.empty(); + if (sourceNode != null && targetNode != null) { + // First use the graphical node to be able to handle inherited elements that would not be displayed in their owner + Element sourceParentGraphicalElement = this.diagramQueryElementService.getGraphicalSemanticParent(sourceNode, editingContext, contextDiagram) + .filter(e -> !(e instanceof ViewUsage)) + .orElse(source); // If not found the node is located at the root of the diagram, use the semantic element alone + Element targetParentGraphicalElement = this.diagramQueryElementService.getGraphicalSemanticParent(targetNode, editingContext, contextDiagram) + .filter(e -> !(e instanceof ViewUsage)) + .orElse(target); // If not found the node is located at the root of the diagram, use the semantic element alone + if (sourceParentGraphicalElement != null && targetParentGraphicalElement != null) { + namespaceOwner = this.modelQueryElementService.getCommonOwnerAncestor(sourceParentGraphicalElement, targetParentGraphicalElement, Namespace.class, + owner -> !this.readOnlyObjectPredicate.test(owner)); + } + } + return namespaceOwner; + } } diff --git a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramQueryElementService.java b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramQueryElementService.java index 4405a6461..ba5c46ef3 100644 --- a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramQueryElementService.java +++ b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/DiagramQueryElementService.java @@ -16,6 +16,7 @@ import java.util.Objects; import java.util.Optional; +import org.eclipse.emf.common.util.EList; import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IFeedbackMessageService; @@ -23,11 +24,15 @@ import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.diagrams.ViewDeletionRequest; +import org.eclipse.sirius.components.diagrams.elements.NodeElementProps; +import org.eclipse.sirius.components.diagrams.renderer.DiagramRenderingCache; import org.eclipse.sirius.components.representations.Message; import org.eclipse.sirius.components.representations.MessageLevel; import org.eclipse.sirius.components.view.emf.diagram.IDiagramIdProvider; import org.eclipse.sirius.components.view.emf.diagram.api.IViewDiagramDescriptionSearchService; +import org.eclipse.syson.sysml.ConnectionUsage; import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.Feature; import org.eclipse.syson.sysml.ViewUsage; import org.eclipse.syson.sysml.helper.EMFUtils; import org.eclipse.syson.util.NodeFinder; @@ -193,6 +198,64 @@ public String getGraphicalParentId(DiagramContext diagramContext, Node node) { return parentId; } + /** + * Get the semantic element of the graphical parent of the given node. If located at the root of the diagram, return the semantic element of the diagram (most likely the {@link ViewUsage)}. + * + * @param node + * the node to test + * @param editingContext + * the editing context + * @param contextDiagram + * the diagram + * @return an optional element + */ + public Optional getGraphicalSemanticParent(Node node, IEditingContext editingContext, Diagram contextDiagram) { + var parent = new NodeFinder(contextDiagram).getParent(node); + Optional result = Optional.empty(); + if (parent instanceof Node parentNode) { + result = this.objectSearchService.getObject(editingContext, parentNode.getTargetObjectId()); + } else if (parent instanceof Diagram diagram) { + result = this.objectSearchService.getObject(editingContext, diagram.getTargetObjectId()); + } + return result.filter(Element.class::isInstance).map(Element.class::cast); + } + + /** + * Check if a {@link ConnectionUsage} edge should be displayed between the given source and target. + * + *

If the {@link ConnectionUsage} use feature chain to reference inherited elements, a special computation should check that the edge only connected inherited feature and not "real" objects. To + * do that, it will only select elements displayed "inside" the expected parent.

+ * + *

For example, for the feature chain "part1.port1" where "port1" is not directly owned by "part1", this method will only select target/source node displayed nested a "part1" node or at its + * border. + *

+ * + * @param self + * the connection usage + * @param sourceNode + * the graphical source element + * @param targetNode + * the graphical target element + * @param cacheRendering + * the current DiagramRenderingCache + * @param editingContext + * the editing context + * @return {@code true} if the edge should be rendered + */ + public boolean shouldRenderConnectionUsageEdge(ConnectionUsage self, org.eclipse.sirius.components.representations.Element sourceNode, + org.eclipse.sirius.components.representations.Element targetNode, DiagramRenderingCache cacheRendering, IEditingContext editingContext) { + Feature sourceFeature = self.getSourceFeature(); + if (this.isValidConnectionEnd(sourceFeature, sourceNode, cacheRendering, editingContext)) { + // Handle binary connection for now + EList targetFeature = self.getTargetFeature(); + if (!targetFeature.isEmpty()) { + return this.isValidConnectionEnd(targetFeature.get(0), targetNode, cacheRendering, editingContext); + } + } + + return false; + } + /** * Generate the NodeDescription Id of the given {@link Element} in the context of the given {@link Diagram}. * @@ -220,13 +283,66 @@ public Optional getNodeDescriptionId(Element element, Diagram diagram, I * Registers an information-level message to be displayed to the end-user after the tool has executed. * * @param self - * any object, it is not used by the service. + * any object, it is not used by the service. * @param message - * the message to display to the end-user. + * the message to display to the end-user. * @return self. */ public Object infoMessage(Object self, String message) { this.feedbackMessageService.addFeedbackMessage(new Message(message, MessageLevel.INFO)); return self; } + + /** + * Checks if the given node represents the given feature. This especially handle can of feature chain that target inherited member. In such case, the two last segments of the chain should be used + * to find the suitable node. + * + * @param endFeature + * the end feature of a {@link org.eclipse.syson.sysml.ConnectorAsUsage} + * @param nodeToTest + * the node to test + * @param cacheRendering + * the current cache rendering + * @param editingContext + * the editing context + * @return true if the given node is valid source/target for the given node + */ + private boolean isValidConnectionEnd(Feature endFeature, org.eclipse.sirius.components.representations.Element nodeToTest, DiagramRenderingCache cacheRendering, + IEditingContext editingContext) { + boolean isValidSource = false; + if (endFeature != null && endFeature.getChainingFeature().size() > 1) { + EList chainingFeatures = endFeature.getChainingFeature(); + // Gets the previous chain of the last segment and check if the target node is displayed in it. + Feature lastChain = chainingFeatures.get(chainingFeatures.size() - 1); + Feature beforeLastChain = chainingFeatures.get(chainingFeatures.size() - 2); + if (beforeLastChain.getOwnedFeature().contains(lastChain)) { + // If the target is owned by previous it means this is not an inherited feature + // Do not apply any restriction + isValidSource = true; + } else { + // It is an inherited feature, the end is valid only if displayed nested in the proper graphical parent + // Note that this approach will not play well if at some point SysOn allow displaying inherited feature at the root level (for example with a composition link) + isValidSource = this.isDisplayIn(beforeLastChain, nodeToTest, cacheRendering, editingContext); + } + + } else if (nodeToTest.getProps() instanceof NodeElementProps nodeElementProps) { + isValidSource = this.objectSearchService.getObject(editingContext, nodeElementProps.getTargetObjectId()).map(sourceElement -> sourceElement == endFeature).orElse(false); + } + return isValidSource; + } + + + private boolean isDisplayIn(Feature expectedSemanticParent, org.eclipse.sirius.components.representations.Element node, DiagramRenderingCache cacheRendering, IEditingContext editingContext) { + if (node.getProps() instanceof NodeElementProps sourceNodeProps) { + return cacheRendering.getParent(sourceNodeProps.getId()) + .map(org.eclipse.sirius.components.representations.Element::getProps) + .filter(NodeElementProps.class::isInstance) + .map(NodeElementProps.class::cast) + .map(NodeElementProps::getTargetObjectId) + .flatMap(id -> this.objectSearchService.getObject(editingContext, id)) + .map(semanticParent -> semanticParent == expectedSemanticParent) + .orElse(false); + } + return false; + } } diff --git a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramMutationAQLService.java b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramMutationAQLService.java index d5d11550f..6b2fce731 100644 --- a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramMutationAQLService.java +++ b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramMutationAQLService.java @@ -21,6 +21,7 @@ import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramCreationService; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IRepresentationDescriptionSearchService; +import org.eclipse.sirius.components.diagrams.Diagram; import org.eclipse.sirius.components.diagrams.Node; import org.eclipse.sirius.components.diagrams.description.NodeDescription; import org.eclipse.syson.diagram.services.DiagramMutationDiagramService; @@ -29,8 +30,17 @@ import org.eclipse.syson.diagram.services.DiagramMutationExposeService; import org.eclipse.syson.diagram.services.DiagramMutationLabelService; import org.eclipse.syson.model.services.ModelMutationElementService; +import org.eclipse.syson.sysml.BindingConnectorAsUsage; +import org.eclipse.syson.sysml.ConnectionUsage; +import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.Feature; +import org.eclipse.syson.sysml.FlowUsage; +import org.eclipse.syson.sysml.InterfaceUsage; +import org.eclipse.syson.sysml.PartUsage; +import org.eclipse.syson.sysml.PortUsage; import org.eclipse.syson.sysml.StateUsage; +import org.eclipse.syson.sysml.Usage; /** * Entry point for all diagram-related services doing mutations in diagrams and called by AQL expressions in diagram @@ -50,13 +60,17 @@ public class DiagramMutationAQLService { private final DiagramMutationDiagramService diagramMutationDiagramService; + private final ModelMutationElementService modelMutationElementService; + public DiagramMutationAQLService(DiagramMutationDndService diagramMutationDndService, DiagramMutationElementService diagramMutationElementService, - DiagramMutationExposeService diagramMutationExposeService, DiagramMutationLabelService diagramMutationLabelService, DiagramMutationDiagramService diagramMutationDiagramService) { + DiagramMutationExposeService diagramMutationExposeService, DiagramMutationLabelService diagramMutationLabelService, DiagramMutationDiagramService diagramMutationDiagramService, + ModelMutationElementService modelMutationElementService) { this.diagramMutationDndService = Objects.requireNonNull(diagramMutationDndService); this.diagramMutationElementService = Objects.requireNonNull(diagramMutationElementService); this.diagramMutationExposeService = Objects.requireNonNull(diagramMutationExposeService); this.diagramMutationLabelService = Objects.requireNonNull(diagramMutationLabelService); this.diagramMutationDiagramService = Objects.requireNonNull(diagramMutationDiagramService); + this.modelMutationElementService = Objects.requireNonNull(modelMutationElementService); } /** @@ -218,4 +232,75 @@ public Element showContentAsTree(Element element, Node selectedNode, IEditingCon public Element viewNodeAs(Element element, String newViewDefinition, IEditingContext editingContext, DiagramContext diagramContext, Node selectedNode) { return this.diagramMutationElementService.viewNodeAs(element, newViewDefinition, editingContext, diagramContext, selectedNode); } + + /** + * {@link DiagramMutationElementService#reconnectTarget(ConnectorAsUsage, Feature, Node, Node, IEditingContext, Diagram)}. + */ + public ConnectorAsUsage reconnectTarget(ConnectorAsUsage bind, Feature newTarget, Node sourceNode, Node newTargetNode, IEditingContext editingContext, + Diagram diagram) { + return this.diagramMutationElementService.reconnectTarget(bind, newTarget, sourceNode, newTargetNode, editingContext, diagram); + } + + /** + * {@link DiagramMutationElementService#reconnectSource(ConnectorAsUsage, Feature, Node, Node, IEditingContext, Diagram)}. + */ + public ConnectorAsUsage reconnectSource(ConnectorAsUsage bind, Feature newSource, Node newSourceNode, Node targetNode, IEditingContext editingContext, + Diagram diagram) { + return this.diagramMutationElementService.reconnectSource(bind, newSource, newSourceNode, targetNode, editingContext, diagram); + } + + + /** + * {@link DiagramMutationElementService#createConnectionUsage(Usage, Usage, Node, Node, IEditingContext, DiagramContext)}. + */ + public ConnectionUsage createConnectionUsage(Usage connectionSource, Usage connectionTarget, Node sourceNode, Node targetNode, IEditingContext editingContext, + DiagramContext diagramContext) { + return this.diagramMutationElementService.createConnectionUsage(connectionSource, connectionTarget, sourceNode, targetNode, editingContext, diagramContext); + } + + /** + * {@link DiagramMutationElementService#createInterfaceUsage(PortUsage, PortUsage, Node, Node, IEditingContext, DiagramContext)}. + */ + public InterfaceUsage createInterfaceUsage(PortUsage sourcePort, PortUsage targetPort, Node sourceNode, Node targetNode, IEditingContext editingContext, + DiagramContext diagramContext) { + return this.diagramMutationElementService.createInterfaceUsage(sourcePort, targetPort, sourceNode, targetNode, editingContext, diagramContext); + } + + /** + * {@link DiagramMutationElementService#createFlowUsage(Feature, Feature, Node, Node, IEditingContext, DiagramContext)}. + */ + public FlowUsage createFlowUsage(Feature source, Feature target, Node sourceNode, Node targetNode, IEditingContext editingContext, + DiagramContext diagramContext) { + return this.diagramMutationElementService.createFlowUsage(source, target, sourceNode, targetNode, editingContext, diagramContext); + } + + /** + * {@link DiagramMutationElementService#createBindingConnectorAsUsage(Feature, Feature, Node, Node, IEditingContext, DiagramContext)}. + */ + public BindingConnectorAsUsage createBindingConnectorAsUsage(Feature source, Feature target, Node sourceNode, Node targetNode, IEditingContext editingContext, + DiagramContext diagramContext) { + return this.diagramMutationElementService.createBindingConnectorAsUsage(source, target, sourceNode, targetNode, editingContext, diagramContext); + } + + /** + * {@link ModelMutationElementService#createPartUsageAndInterface(PartUsage)}. + */ + public Element createPartUsageAndInterface(PartUsage self) { + return this.modelMutationElementService.createPartUsageAndInterface(self); + } + + /** + * {@link ModelMutationElementService#createPartUsageAndBindingConnectorAsUsage(PartUsage)}. + */ + public Element createPartUsageAndBindingConnectorAsUsage(PartUsage self) { + return this.modelMutationElementService.createPartUsageAndBindingConnectorAsUsage(self); + } + + /** + * {@link ModelMutationElementService#createPartUsageAndFlowConnection(PartUsage)}. + */ + public Element createPartUsageAndFlowConnection(PartUsage self) { + return this.modelMutationElementService.createPartUsageAndFlowConnection(self); + } + } diff --git a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramQueryAQLService.java b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramQueryAQLService.java index 4c0143024..9c9f809f9 100644 --- a/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramQueryAQLService.java +++ b/backend/services/syson-diagram-services/src/main/java/org/eclipse/syson/diagram/services/aql/DiagramQueryAQLService.java @@ -12,20 +12,26 @@ *******************************************************************************/ package org.eclipse.syson.diagram.services.aql; +import java.util.List; import java.util.Objects; import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.Diagram; +import org.eclipse.sirius.components.diagrams.renderer.DiagramRenderingCache; import org.eclipse.syson.diagram.services.DiagramQueryElementService; import org.eclipse.syson.diagram.services.DiagramQueryLabelService; import org.eclipse.syson.sysml.Comment; +import org.eclipse.syson.sysml.ConnectionUsage; +import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Dependency; import org.eclipse.syson.sysml.Documentation; import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.Feature; import org.eclipse.syson.sysml.TextualRepresentation; import org.eclipse.syson.sysml.TransitionUsage; import org.eclipse.syson.sysml.Usage; +import org.eclipse.syson.sysml.metamodel.services.MetamodelElementQueryService; /** * Entry point for all diagram-related services doing queries in diagrams and called by AQL expressions in diagram @@ -39,9 +45,12 @@ public class DiagramQueryAQLService { private final DiagramQueryLabelService diagramQueryLabelService; + private final MetamodelElementQueryService metamodelElementQueryService; + public DiagramQueryAQLService(DiagramQueryElementService diagramQueryElementService, DiagramQueryLabelService diagramQueryLabelService) { this.diagramQueryElementService = Objects.requireNonNull(diagramQueryElementService); this.diagramQueryLabelService = Objects.requireNonNull(diagramQueryLabelService); + this.metamodelElementQueryService = new MetamodelElementQueryService(); } /** @@ -148,4 +157,27 @@ public String getTransitionLabel(TransitionUsage transition) { public boolean isDiagramEmpty(IEditingContext editingContext, DiagramContext diagramContext, Diagram previousDiagram, int exposedElements) { return this.diagramQueryElementService.isDiagramEmpty(editingContext, diagramContext, previousDiagram, exposedElements); } + + /** + * {@link MetamodelElementQueryService#getTarget(ConnectorAsUsage)}. + */ + public List getTarget(ConnectorAsUsage connector) { + return this.metamodelElementQueryService.getTarget(connector); + } + + /** + * {@link MetamodelElementQueryService#getSource(ConnectorAsUsage)}. + */ + public Feature getSource(ConnectorAsUsage connectorAsUsage) { + return this.metamodelElementQueryService.getSource(connectorAsUsage); + } + + /** + * + * {@link DiagramQueryElementService#shouldRenderConnectionUsageEdge(ConnectionUsage, org.eclipse.sirius.components.representations.Element, org.eclipse.sirius.components.representations.Element, DiagramRenderingCache, IEditingContext)}. + */ + public boolean shouldRenderConnectionUsageEdge(ConnectionUsage connectionUsage, org.eclipse.sirius.components.representations.Element sourceNode, + org.eclipse.sirius.components.representations.Element targetNode, DiagramRenderingCache cache, IEditingContext editingContext) { + return this.diagramQueryElementService.shouldRenderConnectionUsageEdge(connectionUsage, sourceNode, targetNode, cache, editingContext); + } } diff --git a/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelElementServices.java b/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelElementServices.java new file mode 100644 index 000000000..81d3379a4 --- /dev/null +++ b/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelElementServices.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2025 Obeo. + * 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/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.syson.model.services; + +import java.util.Objects; + +import org.springframework.stereotype.Service; + +/** + * Gather models element services. + * + * @author Arthur Daussy + */ +@Service +public record ModelElementServices(ModelQueryElementService modelQueryElementService, ModelMutationElementService modelMutationElementService) { + + public ModelElementServices { + Objects.requireNonNull(modelQueryElementService); + Objects.requireNonNull(modelMutationElementService); + } +} diff --git a/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelMutationElementService.java b/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelMutationElementService.java index 3d9481d01..1fbdd03dc 100644 --- a/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelMutationElementService.java +++ b/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelMutationElementService.java @@ -12,23 +12,22 @@ *******************************************************************************/ package org.eclipse.syson.model.services; -import java.util.Optional; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.sirius.components.emf.utils.SiriusEMFCopier; import org.eclipse.syson.sysml.Element; import org.eclipse.syson.sysml.FeatureTyping; +import org.eclipse.syson.sysml.Namespace; +import org.eclipse.syson.sysml.PartUsage; import org.eclipse.syson.sysml.Relationship; import org.eclipse.syson.sysml.SysmlFactory; import org.eclipse.syson.sysml.ViewDefinition; import org.eclipse.syson.sysml.ViewUsage; -import org.eclipse.syson.sysml.helper.EMFUtils; +import org.eclipse.syson.sysml.metamodel.services.MetamodelMutationElementService; import org.eclipse.syson.sysml.util.ElementUtil; import org.springframework.stereotype.Service; /** * Element-related services doing mutations in models. + * This class own service methods that modify the semantic model and either requires other Spring services or combine several atomic operation such as creations, deletions, moves, etc... + * For methods doing atomic SysML Operation have a look {@link MetamodelMutationElementService} . * * @author arichard */ @@ -37,7 +36,11 @@ public class ModelMutationElementService { private final ElementUtil elementUtil; + + private final MetamodelMutationElementService metamodelMutationElementService; + public ModelMutationElementService() { + this.metamodelMutationElementService = new MetamodelMutationElementService(); this.elementUtil = new ElementUtil(); } @@ -69,47 +72,92 @@ public Element setAsView(ViewUsage viewUsage, String newViewDefinition) { } /** - * Duplicates an Element. + * Create a sibling {@link PartUsage} and then connect self and the newly created {@link PartUsage} through an {@link org.eclipse.syson.sysml.BindingConnectorAsUsage} connected to 2 new + * {@link org.eclipse.syson.sysml.PortUsage}. * - * @param elementToDuplicate - * the element to duplicate - * @param duplicateContent - * holds true if the content of the object to duplicate need to be duplicated - * @param copyOutgoingReferences - * holds true if the outgoing references need to be copied of the object to duplicate need to be duplicated - * @return an optional duplicated object + * @param self + * a {@link PartUsage} + * @return the newly create {@link PartUsage} */ - public Optional duplicateElement(Element elementToDuplicate, boolean duplicateContent, boolean copyOutgoingReferences) { - Optional duplicateObject; - if (duplicateContent) { - EcoreUtil.Copier copier = new EcoreUtil.Copier(); - EObject duplicatedObject = copier.copy(elementToDuplicate); - if (copyOutgoingReferences) { - copier.copyReferences(); - } - duplicateObject = Optional.ofNullable(duplicatedObject); - } else { - SiriusEMFCopier copier = new SiriusEMFCopier(); - EObject duplicatedObject = copier.copyWithoutContent(elementToDuplicate); - if (copyOutgoingReferences) { - copier.copyReferences(); - } - duplicateObject = Optional.ofNullable(duplicatedObject); + public Element createPartUsageAndBindingConnectorAsUsage(PartUsage self) { + var parent = self.getOwner(); + if (parent instanceof Namespace parentNamespace) { + // create a new port on given part usage + var newSelfPort = SysmlFactory.eINSTANCE.createPortUsage(); + this.metamodelMutationElementService.addChildInParent(self, newSelfPort); + this.metamodelMutationElementService.initialize(newSelfPort); + // create a new part usage as a self sibling + var newPartUsage = SysmlFactory.eINSTANCE.createPartUsage(); + this.metamodelMutationElementService.addChildInParent(parent, newPartUsage); + this.metamodelMutationElementService.initialize(newPartUsage); + // create a new port on the new part usage + var newPartUsagePort = SysmlFactory.eINSTANCE.createPortUsage(); + this.metamodelMutationElementService.addChildInParent(newPartUsage, newPartUsagePort); + this.metamodelMutationElementService.initialize(newPartUsagePort); + // create binding connector as usage edge between both new ports + this.metamodelMutationElementService.createBindingConnectorAsUsage(newSelfPort, newPartUsagePort, parentNamespace); + return newPartUsage; } + return self; + } - return duplicateObject.filter(Element.class::isInstance) - .map(Element.class::cast) - .map(duplicate -> { - // Change the name of element root element (not its content) - if (elementToDuplicate.getDeclaredName() != null && !elementToDuplicate.getDeclaredName().isBlank()) { - duplicate.setDeclaredName(elementToDuplicate.getDeclaredName() + "-copy"); - } else if (elementToDuplicate.getShortName() != null && !elementToDuplicate.getShortName().isBlank()) { - duplicate.setDeclaredShortName(elementToDuplicate.getDeclaredShortName() + "-copy"); - } - // Reset all ids - EMFUtils.allContainedObjectOfType(duplicate, Element.class).forEach(element -> element.setElementId(ElementUtil.generateUUID(element).toString())); + /** + * Create a sibling {@link PartUsage} and then connect self and the newly created {@link PartUsage} through an {@link org.eclipse.syson.sysml.FlowUsage} connected to 2 new + * {@link org.eclipse.syson.sysml.PortUsage}. + * + * @param self + * a {@link PartUsage} + * @return the newly create {@link PartUsage} + */ + public PartUsage createPartUsageAndFlowConnection(PartUsage self) { + var parent = self.getOwner(); + if (parent instanceof Namespace parentNamespace) { + // create a new port on given part usage + var newSelfPort = SysmlFactory.eINSTANCE.createPortUsage(); + this.metamodelMutationElementService.addChildInParent(self, newSelfPort); + this.metamodelMutationElementService.initialize(newSelfPort); + // create a new part usage as a self sibling + var newPartUsage = SysmlFactory.eINSTANCE.createPartUsage(); + this.metamodelMutationElementService.addChildInParent(parent, newPartUsage); + this.metamodelMutationElementService.initialize(newPartUsage); + // create a new port on the new part usage + var newPartUsagePort = SysmlFactory.eINSTANCE.createPortUsage(); + this.metamodelMutationElementService.addChildInParent(newPartUsage, newPartUsagePort); + this.metamodelMutationElementService.initialize(newPartUsagePort); + // create flow connection edge between both new ports + this.metamodelMutationElementService.createFlowUsage(newSelfPort, newPartUsagePort, parentNamespace); + return newPartUsage; + } + return self; + } - return duplicate; - }); + /** + * Create a sibling {@link PartUsage} and then connect self and the newly created {@link PartUsage} through an {@link org.eclipse.syson.sysml.InterfaceUsage} connected to 2 new + * {@link org.eclipse.syson.sysml.PortUsage}. + * + * @param self + * a {@link PartUsage} + * @return the newly create {@link PartUsage} + */ + public PartUsage createPartUsageAndInterface(PartUsage self) { + var parent = self.getOwner(); + if (parent instanceof Namespace parentNamespace) { + // create a new port on given part usage + var newSelfPort = SysmlFactory.eINSTANCE.createPortUsage(); + this.metamodelMutationElementService.addChildInParent(self, newSelfPort); + this.metamodelMutationElementService.initialize(newSelfPort); + // create a new part usage as a self sibling + var newPartUsage = SysmlFactory.eINSTANCE.createPartUsage(); + this.metamodelMutationElementService.addChildInParent(parent, newPartUsage); + this.metamodelMutationElementService.initialize(newPartUsage); + // create a new port on the new part usage + var newPartUsagePort = SysmlFactory.eINSTANCE.createPortUsage(); + this.metamodelMutationElementService.addChildInParent(newPartUsage, newPartUsagePort); + this.metamodelMutationElementService.initialize(newPartUsagePort); + // create interface edge between both new ports + this.metamodelMutationElementService.createInterfaceUsage(newSelfPort, newPartUsagePort, parentNamespace); + return newPartUsage; + } + return self; } } diff --git a/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelQueryElementService.java b/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelQueryElementService.java index fd0704e32..41195f823 100644 --- a/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelQueryElementService.java +++ b/backend/services/syson-model-services/src/main/java/org/eclipse/syson/model/services/ModelQueryElementService.java @@ -12,6 +12,11 @@ *******************************************************************************/ package org.eclipse.syson.model.services; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.function.Predicate; + import org.eclipse.syson.services.UtilService; import org.eclipse.syson.sysml.Element; import org.eclipse.syson.sysml.ViewUsage; @@ -70,4 +75,37 @@ private boolean hasName(Element element) { String sName = element.getShortName(); return sName != null && !sName.isBlank(); } + + /** + * Gets the closest common owner for both given {@link Element}. + * + * @param e1 + * an Element + * @param e2 + * another Element + * @return an optional common owning ancestor with the expected type + */ + public Optional getCommonOwnerAncestor(Element e1, Element e2, Class expectedType, Predicate test) { + + // Collect all owners of e1; + List e1Owners = new ArrayList<>(); + Element currentE1Owner = e1; + while (currentE1Owner != null) { + if (expectedType.isInstance(currentE1Owner) && (test == null || test.test(expectedType.cast(currentE1Owner)))) { + e1Owners.add((T) currentE1Owner); + } + currentE1Owner = currentE1Owner.getOwner(); + } + + // Navigate on e2 owners + Element currentE2Owner = e2; + while (currentE2Owner != null) { + if (e1Owners.contains(currentE2Owner)) { + return Optional.of(expectedType.cast(currentE2Owner)); + } + currentE2Owner = currentE2Owner.getOwner(); + } + + return Optional.empty(); + } } diff --git a/backend/services/syson-model-services/src/test/java/org/eclipse/syson/model/services/ModelMutationElementServiceTests.java b/backend/services/syson-model-services/src/test/java/org/eclipse/syson/model/services/ModelMutationElementServiceTests.java index 20ca50a79..f90bbe5ed 100644 --- a/backend/services/syson-model-services/src/test/java/org/eclipse/syson/model/services/ModelMutationElementServiceTests.java +++ b/backend/services/syson-model-services/src/test/java/org/eclipse/syson/model/services/ModelMutationElementServiceTests.java @@ -14,14 +14,13 @@ import static org.assertj.core.api.Assertions.assertThat; -import java.util.Optional; +import java.util.List; -import org.eclipse.syson.sysml.Element; -import org.eclipse.syson.sysml.NamespaceImport; +import org.eclipse.syson.sysml.BindingConnectorAsUsage; import org.eclipse.syson.sysml.Package; -import org.eclipse.syson.sysml.PartDefinition; import org.eclipse.syson.sysml.PartUsage; -import org.eclipse.syson.sysml.SysmlFactory; +import org.eclipse.syson.sysml.PortUsage; +import org.eclipse.syson.sysml.metamodel.services.MetamodelElementQueryService; import org.eclipse.syson.sysml.util.ModelBuilder; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -37,84 +36,47 @@ public class ModelMutationElementServiceTests { private final ModelMutationElementService modelMutationElementService = new ModelMutationElementService(); - @Test - @DisplayName("GIVEN a element with a name, WHEN duplicating this element, THEN the name and id of the duplicated element should be modified") - public void checkElementWithNameDuplication() { - Package package1 = this.modelBuilder.createWithName(Package.class, "package1"); - String package1Id = package1.getElementId(); - Optional result = this.modelMutationElementService.duplicateElement(package1, false, false); - - assertThat(result) - .isPresent() - .as("The copied package should have a modified name") - .matches(element -> element.get().getName().equals("package1-copy")) - .as("The copied package should have a modified id") - .matches(element -> !element.get().getElementId().equals(package1Id)); - } + private final MetamodelElementQueryService metamodelElementQueryService = new MetamodelElementQueryService(); - @Test - @DisplayName("GIVEN a element with a shortname only, WHEN duplicating this element, THEN the shortname and id of the duplicated element should be modified") - public void checkElementWithShortnameDuplication() { - Package package1 = this.modelBuilder.create(Package.class); - package1.setDeclaredShortName("pk1"); - String package1Id = package1.getElementId(); - Optional result = this.modelMutationElementService.duplicateElement(package1, false, false); - - assertThat(result) - .isPresent() - .matches(element -> element.get().getShortName().equals("pk1-copy") && !element.get().getElementId().equals(package1Id)); - } + @DisplayName("GIVEN a PartUsage, WHEN using createPartUsageAndBindingConnectorAsUsage method, THEN all required elements should be created") @Test - @DisplayName("GIVEN a element with content and outgoing references, WHEN duplicating this element with its content, THEN the content is also duplicated and the outgoing references are kept") - public void checkElementWithContentDuplication() { - Package package0 = this.modelBuilder.createWithName(Package.class, "packageO"); - Package package1 = this.modelBuilder.createWithName(Package.class, "package1"); - - NamespaceImport importNamespace = SysmlFactory.eINSTANCE.createNamespaceImport(); - importNamespace.setImportedNamespace(package0); - package1.getOwnedRelationship().add(importNamespace); - - PartDefinition pd1 = this.modelBuilder.createInWithName(PartDefinition.class, package1, "PD1"); - PartUsage p1 = this.modelBuilder.createInWithName(PartUsage.class, package1, "p1"); - - this.modelBuilder.setType(p1, pd1); - Optional result = this.modelMutationElementService.duplicateElement(package1, true, true); - - assertThat(result) - .isPresent() - .matches(element -> element.get() instanceof Package); - - Package copiedPackage = (Package) result.get(); - assertThat(copiedPackage.getOwnedRelationship()).hasSize(3); - - assertThat(copiedPackage.getOwnedRelationship()) - .first() - .isInstanceOf(NamespaceImport.class) - .as("The copied import still point the Package0") - .matches(namespaceImport -> ((NamespaceImport) namespaceImport).getImportedNamespace() == package0); - - assertThat(copiedPackage.getOwnedElement()).hasSize(2); - - Element copiedPartDef = copiedPackage.getOwnedElement().get(0); - assertThat(copiedPartDef) - .isInstanceOf(PartDefinition.class) - .as("The copied PartDefinition has the same name") - .matches(partDef -> partDef.getName().equals("PD1")) - .as("The copied PartDefinition has not the same ID") - .matches(partDef -> !partDef.getElementId().equals(pd1.getElementId())); - - Element copiedPart = copiedPackage.getOwnedElement().get(1); - assertThat(copiedPart) - .isInstanceOf(PartUsage.class) - // Note that the name of the children does not change but their id does - .as("The copied PartUsage still have the same name") - .matches(partUsage -> partUsage.getName().equals("p1")) - .as("The copied part usage does not have the same id") - .matches(partUsage -> !partUsage.getElementId().equals(p1.getElementId())) - .as("The copied part usage still point to PD1") - .matches(partUsage -> ((PartUsage) partUsage).getType().contains(copiedPartDef)); - } + public void checkCreatePartUsageAndFlowConnection() { + Package root = this.modelBuilder.createWithName(Package.class, "RootPackage"); + + PartUsage sourcePart = this.modelBuilder.createInWithName(PartUsage.class, root, "part2"); + + this.modelMutationElementService.createPartUsageAndBindingConnectorAsUsage(sourcePart); + + assertThat(sourcePart.getOwnedFeature()) + .hasSize(1) + .allMatch(PortUsage.class::isInstance); + PortUsage newPort = (PortUsage) sourcePart.getOwnedFeature().get(0); + List otherParts = root.getOwnedElement().stream() + .filter(PartUsage.class::isInstance) + .map(PartUsage.class::cast) + .filter(partUsage -> partUsage != sourcePart) + .toList(); + + assertThat(otherParts) + .hasSize(1) + .allMatch(partUsage -> !partUsage.getOwnedFeature().isEmpty() && partUsage.getOwnedFeature().get(0) instanceof PortUsage); + + PortUsage targetPort = (PortUsage) otherParts.get(0).getOwnedFeature().get(0); + + + List bindings = root.getOwnedElement().stream() + .filter(BindingConnectorAsUsage.class::isInstance) + .map(BindingConnectorAsUsage.class::cast) + .toList(); + + assertThat(bindings) + .hasSize(1) + .allMatch(bindingConnectorAsUsage -> this.metamodelElementQueryService.getSource(bindingConnectorAsUsage) == newPort) + .allMatch(bindingConnectorAsUsage -> this.metamodelElementQueryService.getTarget(bindingConnectorAsUsage).get(0) == targetPort); + + + } } diff --git a/backend/services/syson-services/pom.xml b/backend/services/syson-services/pom.xml index 37794b7a7..0405644cd 100644 --- a/backend/services/syson-services/pom.xml +++ b/backend/services/syson-services/pom.xml @@ -113,6 +113,12 @@ test-jar test + + org.eclipse.syson + syson-sysml-metamodel-services + 2025.12.1 + compile + diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/DiagramDirectEditListener.java b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/DiagramDirectEditListener.java index e4142983e..ae412a3a4 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/DiagramDirectEditListener.java +++ b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/DiagramDirectEditListener.java @@ -106,6 +106,7 @@ import org.eclipse.syson.sysml.Usage; import org.eclipse.syson.sysml.helper.DeresolvingNamespaceProvider; import org.eclipse.syson.sysml.helper.LabelConstants; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; import org.eclipse.syson.util.NamedProxy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/UtilService.java b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/UtilService.java index ad14aec14..1b1e9c55a 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/UtilService.java +++ b/backend/services/syson-services/src/main/java/org/eclipse/syson/services/UtilService.java @@ -39,17 +39,13 @@ import org.eclipse.syson.sysml.Classifier; import org.eclipse.syson.sysml.ConjugatedPortTyping; import org.eclipse.syson.sysml.ConnectionUsage; -import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Definition; import org.eclipse.syson.sysml.Element; -import org.eclipse.syson.sysml.EndFeatureMembership; import org.eclipse.syson.sysml.ExhibitStateUsage; import org.eclipse.syson.sysml.Feature; -import org.eclipse.syson.sysml.FeatureChaining; import org.eclipse.syson.sysml.FeatureDirectionKind; import org.eclipse.syson.sysml.FeatureTyping; import org.eclipse.syson.sysml.FeatureValue; -import org.eclipse.syson.sysml.FlowEnd; import org.eclipse.syson.sysml.FlowUsage; import org.eclipse.syson.sysml.InterfaceUsage; import org.eclipse.syson.sysml.LibraryPackage; @@ -63,7 +59,6 @@ import org.eclipse.syson.sysml.PerformActionUsage; import org.eclipse.syson.sysml.PortUsage; import org.eclipse.syson.sysml.Redefinition; -import org.eclipse.syson.sysml.ReferenceSubsetting; import org.eclipse.syson.sysml.ReferenceUsage; import org.eclipse.syson.sysml.Relationship; import org.eclipse.syson.sysml.RenderingUsage; @@ -86,6 +81,7 @@ import org.eclipse.syson.sysml.ViewUsage; import org.eclipse.syson.sysml.helper.EMFUtils; import org.eclipse.syson.sysml.helper.NameHelper; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; import org.eclipse.syson.sysml.util.ElementUtil; import org.eclipse.syson.util.AQLUtils; import org.eclipse.syson.util.SysMLMetamodelHelper; @@ -565,40 +561,7 @@ public StateUsage createChildState(Element parentState, boolean isParallel, bool return childState; } - /** - * Create a new EndFeatureMembership to be used as {@link FlowUsage} end. - * - * @param targetedFeature - * the targeted feature (either the source or target of the flow) - * @return the new EndFeatureMembership - */ - public EndFeatureMembership createFlowConnectionEnd(Feature targetedFeature) { - EndFeatureMembership featureMembership = SysmlFactory.eINSTANCE.createEndFeatureMembership(); - - FlowEnd flowEnd = SysmlFactory.eINSTANCE.createFlowEnd(); - featureMembership.getOwnedRelatedElement().add(flowEnd); - - Type owningType = targetedFeature.getOwningType(); - if (owningType instanceof Feature owningFeature) { - var referenceSubSetting = SysmlFactory.eINSTANCE.createReferenceSubsetting(); - flowEnd.getOwnedRelationship().add(referenceSubSetting); - referenceSubSetting.setReferencedFeature(owningFeature); - } - EndFeatureMembership target = SysmlFactory.eINSTANCE.createEndFeatureMembership(); - flowEnd.getOwnedRelationship().add(target); - - ReferenceUsage referenceUsage = SysmlFactory.eINSTANCE.createReferenceUsage(); - target.getOwnedRelatedElement().add(referenceUsage); - - Redefinition redefinition = SysmlFactory.eINSTANCE.createRedefinition(); - redefinition.setRedefinedFeature(targetedFeature); - redefinition.setRedefiningFeature(referenceUsage); - - referenceUsage.getOwnedRelationship().add(redefinition); - - return featureMembership; - } /** * Checks whether {@code element} is a Parallel state. This method allows an {@link Element} as a parameter but is @@ -927,12 +890,17 @@ public List getReferenceUsagesParameters(Element element) { * Gets the closest common container for both given {@link Feature}. If none is found prefer the source owning type * as a container. In last resort use the target owning type. * + * + *

Deprecation prefer the use of DiagramMutationElementService.getConnectorAsUsageContainer. + * This method does not work well for targeting inherited features.

+ * * @param f1 * the first feature * @param f2 * the second feature * @return the common type or null */ + @Deprecated public Type getConnectorContainer(Feature f1, Feature f2) { Type sourceType = f1.getOwningType(); Type targetType = f2.getOwningType(); @@ -963,24 +931,6 @@ public FeatureValue getValuation(Feature feature) { .orElse(null); } - /** - * Sets the connector ends of a {@link ConnectorAsUsage}. - * - * @param connectorAsUsage - * The connector to configure - * @param source - * the source of the connector - * @param target - * the target of the connector - * @param connectorContainer - * the container of the connector. Use to compute the path from the feature path from the connector and - * its ends - */ - public void setConnectorEnds(ConnectorAsUsage connectorAsUsage, Feature source, Feature target, Type connectorContainer) { - this.addConnectorEnd(connectorAsUsage, source, connectorContainer); - this.addConnectorEnd(connectorAsUsage, target, connectorContainer); - } - /** * This service is called by most of the tools. It allows the get the real semantic element container of the tool * executed. If the given element is a ViewUsage, then it should be the owner of the ViewUsage, otherwise it should @@ -1081,33 +1031,5 @@ public boolean isUnsynchronized(Element element) { return isUnsynchronized; } - private ReferenceUsage addConnectorEnd(ConnectorAsUsage connectorAsUsage, Feature end, Type connectorContainer) { - FeatureChainComputer cmp = new FeatureChainComputer(); - List sourceFeaturePath = cmp.computeShortestPath(connectorContainer, end).orElse(List.of()); - EndFeatureMembership sourceEndFeatureMembership = SysmlFactory.eINSTANCE.createEndFeatureMembership(); - connectorAsUsage.getOwnedRelationship().add(sourceEndFeatureMembership); - ReferenceUsage sourceFeature = SysmlFactory.eINSTANCE.createReferenceUsage(); - sourceFeature.setIsEnd(true); - sourceEndFeatureMembership.getOwnedRelatedElement().add(sourceFeature); - this.elementInitializerSwitch.doSwitch(sourceFeature); - ReferenceSubsetting sourceReferenceSubsetting = SysmlFactory.eINSTANCE.createReferenceSubsetting(); - sourceFeature.getOwnedRelationship().add(sourceReferenceSubsetting); - this.elementInitializerSwitch.doSwitch(sourceReferenceSubsetting); - if (sourceFeaturePath.isEmpty() || sourceFeaturePath.size() == 1) { - // If no path found create a direct reference. The model will not be valid but keep track of the desire - // target - sourceReferenceSubsetting.setReferencedFeature(end); - } else { - // We need to create a feature chain here - Feature sourceFeatureChain = SysmlFactory.eINSTANCE.createFeature(); - for (Feature chainedFeature : sourceFeaturePath) { - FeatureChaining featureChaining = SysmlFactory.eINSTANCE.createFeatureChaining(); - sourceFeatureChain.getOwnedRelationship().add(featureChaining); - featureChaining.setChainingFeature(chainedFeature); - } - sourceReferenceSubsetting.setReferencedFeature(sourceFeatureChain); - sourceReferenceSubsetting.getOwnedRelatedElement().add(sourceFeatureChain); - } - return sourceFeature; - } + } diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/util/DescriptionNameGenerator.java b/backend/services/syson-services/src/main/java/org/eclipse/syson/util/DescriptionNameGenerator.java index 879b9721f..3a984dd08 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/util/DescriptionNameGenerator.java +++ b/backend/services/syson-services/src/main/java/org/eclipse/syson/util/DescriptionNameGenerator.java @@ -295,4 +295,12 @@ public String getEdgeName(String type) { public String getDiagramPrefix() { return this.diagramPrefix; } + + @Override + public boolean isCompartmentNodeDescriptionName(String name) { + if (name != null) { + return Pattern.compile(".+Compartment.*").matcher(name).matches(); + } + return false; + } } diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/util/IDescriptionNameGenerator.java b/backend/services/syson-services/src/main/java/org/eclipse/syson/util/IDescriptionNameGenerator.java index 5970e6fa5..a19aca623 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/util/IDescriptionNameGenerator.java +++ b/backend/services/syson-services/src/main/java/org/eclipse/syson/util/IDescriptionNameGenerator.java @@ -315,4 +315,11 @@ default String getCreationToolName(EReference eReference) { * @return a string used to name a {@link NodeDescription} or a {@link EdgeDescription}. */ String getDiagramPrefix(); + + /** + * Checks if the given description name match the compartment pattern name of a Node description. + * + * @return {@code true} if matches the name of a compartment description + */ + boolean isCompartmentNodeDescriptionName(String name); } diff --git a/backend/services/syson-services/src/test/java/org/eclipse/syson/util/DescriptionNameGeneratorTest.java b/backend/services/syson-services/src/test/java/org/eclipse/syson/util/DescriptionNameGeneratorTest.java index 1a970f2a0..974617674 100644 --- a/backend/services/syson-services/src/test/java/org/eclipse/syson/util/DescriptionNameGeneratorTest.java +++ b/backend/services/syson-services/src/test/java/org/eclipse/syson/util/DescriptionNameGeneratorTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2024 Obeo. + * Copyright (c) 2024, 2025 Obeo. * 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 @@ -14,6 +14,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.assertj.core.api.Assertions; import org.eclipse.syson.sysml.SysmlPackage; import org.junit.jupiter.api.Test; @@ -45,4 +46,28 @@ public void testGetCreationToolNameForDefinition() { assertEquals("New Attribute Definition", creationToolName); } + @Test + public void testIsCompartmentName() { + IDescriptionNameGenerator nameGenerator = new DescriptionNameGenerator("fakeDiag"); + this.assertIsCompartmentName(false, nameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getAttributeDefinition()), nameGenerator); + this.assertIsCompartmentName(false, nameGenerator.getEdgeName(SysmlPackage.eINSTANCE.getConnectionUsage()), nameGenerator); + this.assertIsCompartmentName(false, nameGenerator.getNodeName(SysmlPackage.eINSTANCE.getPartUsage()), nameGenerator); + this.assertIsCompartmentName(false, nameGenerator.getBorderNodeName(SysmlPackage.eINSTANCE.getPortUsage()), nameGenerator); + this.assertIsCompartmentName(false, nameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getPortUsage()), nameGenerator); + this.assertIsCompartmentName(false, nameGenerator.getInheritedBorderNodeName(SysmlPackage.eINSTANCE.getPortUsage()), nameGenerator); + + + this.assertIsCompartmentName(true, nameGenerator.getCompartmentName("concept1", "suffix1"), nameGenerator); + this.assertIsCompartmentName(true, nameGenerator.getCompartmentItemName(SysmlPackage.eINSTANCE.getPartUsage(), SysmlPackage.eINSTANCE.getUsage_NestedPort()), + nameGenerator); + this.assertIsCompartmentName(true, nameGenerator.getFreeFormCompartmentName(SysmlPackage.eINSTANCE.getPartUsage(), SysmlPackage.eINSTANCE.getUsage_NestedPort()), nameGenerator); + this.assertIsCompartmentName(true, nameGenerator.getInheritedCompartmentItemName(SysmlPackage.eINSTANCE.getPartUsage(), SysmlPackage.eINSTANCE.getUsage_NestedPort()), nameGenerator); + + } + + private void assertIsCompartmentName(boolean expect, String name, IDescriptionNameGenerator nameGenerator) { + Assertions.assertThat( + nameGenerator.isCompartmentNodeDescriptionName(name)).isEqualTo(expect); + } + } diff --git a/backend/services/syson-sysml-metamodel-services/pom.xml b/backend/services/syson-sysml-metamodel-services/pom.xml index 30aaa6bd8..b805f5be4 100644 --- a/backend/services/syson-sysml-metamodel-services/pom.xml +++ b/backend/services/syson-sysml-metamodel-services/pom.xml @@ -52,6 +52,11 @@ + + org.eclipse.sirius + sirius-components-emf + ${sirius.web.version} + org.eclipse.syson syson-sysml-metamodel diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/ElementInitializerSwitch.java b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/ElementInitializerSwitch.java similarity index 98% rename from backend/services/syson-services/src/main/java/org/eclipse/syson/services/ElementInitializerSwitch.java rename to backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/ElementInitializerSwitch.java index 8c5e2f002..ea3b0c579 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/ElementInitializerSwitch.java +++ b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/ElementInitializerSwitch.java @@ -10,7 +10,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package org.eclipse.syson.services; +package org.eclipse.syson.sysml.metamodel.services; import org.eclipse.emf.ecore.EObject; import org.eclipse.syson.sysml.AcceptActionUsage; @@ -58,7 +58,6 @@ import org.eclipse.syson.sysml.ViewUsage; import org.eclipse.syson.sysml.util.ElementUtil; import org.eclipse.syson.sysml.util.SysmlSwitch; -import org.eclipse.syson.util.StandardDiagramsConstants; /** * Switch called when a new element is created. Allows to set various attributes/references. @@ -292,7 +291,7 @@ public Element caseViewUsage(ViewUsage object) { this.caseUsage(object); var featureTyping = SysmlFactory.eINSTANCE.createFeatureTyping(); object.getOwnedRelationship().add(featureTyping); - var generalViewViewDef = this.elementUtil.findByNameAndType(object, StandardDiagramsConstants.GV_QN, ViewDefinition.class); + var generalViewViewDef = this.elementUtil.findByNameAndType(object, "StandardViewDefinitions::GeneralView", ViewDefinition.class); featureTyping.setType(generalViewViewDef); featureTyping.setTypedFeature(object); return object; diff --git a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/FeatureChainComputer.java b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputer.java similarity index 98% rename from backend/services/syson-services/src/main/java/org/eclipse/syson/services/FeatureChainComputer.java rename to backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputer.java index c9e24ef00..411359c5b 100644 --- a/backend/services/syson-services/src/main/java/org/eclipse/syson/services/FeatureChainComputer.java +++ b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputer.java @@ -10,7 +10,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package org.eclipse.syson.services; +package org.eclipse.syson.sysml.metamodel.services; import java.util.ArrayList; import java.util.Collection; @@ -31,14 +31,12 @@ import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.sysml.Type; import org.eclipse.syson.sysml.helper.EMFUtils; -import org.springframework.stereotype.Service; /** * Object in charge of computing a chain of feature to access a {@link Feature} from one {@link Type}. * * @author Arthur Daussy */ -@Service public class FeatureChainComputer { /** diff --git a/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelElementQueryService.java b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelElementQueryService.java index bc615e3c4..b0511a661 100644 --- a/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelElementQueryService.java +++ b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelElementQueryService.java @@ -12,8 +12,13 @@ *******************************************************************************/ package org.eclipse.syson.sysml.metamodel.services; +import java.util.List; +import java.util.Objects; + import org.eclipse.syson.sysml.ActorMembership; +import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.Feature; import org.eclipse.syson.sysml.PartUsage; /** @@ -36,4 +41,33 @@ public class MetamodelElementQueryService { public boolean isActor(Element element) { return element instanceof PartUsage && element.getOwningMembership() instanceof ActorMembership; } + + /** + * Gets the target of a {@link ConnectorAsUsage}. + * + * @param connector + * a {@link ConnectorAsUsage} + * @return a list of targets + */ + public List getTarget(ConnectorAsUsage connector) { + return connector.getTargetFeature().stream() + .filter(Objects::nonNull) + .map(Feature::getFeatureTarget) + .toList(); + } + + /** + * Gets the source of a {@link ConnectorAsUsage}. + * + * @param connectorAsUsage + * a {@link ConnectorAsUsage} + * @return the source feature + */ + public Feature getSource(ConnectorAsUsage connectorAsUsage) { + Feature sourceFeature = connectorAsUsage.getSourceFeature(); + if (sourceFeature != null) { + return sourceFeature.getFeatureTarget(); + } + return null; + } } diff --git a/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementService.java b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementService.java index 1103e98f1..3a5795473 100644 --- a/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementService.java +++ b/backend/services/syson-sysml-metamodel-services/src/main/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementService.java @@ -12,10 +12,35 @@ *******************************************************************************/ package org.eclipse.syson.sysml.metamodel.services; +import java.util.List; +import java.util.Optional; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.sirius.components.emf.utils.SiriusEMFCopier; +import org.eclipse.syson.sysml.BindingConnectorAsUsage; +import org.eclipse.syson.sysml.ConnectionUsage; +import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.EndFeatureMembership; +import org.eclipse.syson.sysml.Feature; +import org.eclipse.syson.sysml.FeatureChaining; +import org.eclipse.syson.sysml.FeatureMembership; +import org.eclipse.syson.sysml.FlowEnd; +import org.eclipse.syson.sysml.FlowUsage; +import org.eclipse.syson.sysml.InterfaceUsage; import org.eclipse.syson.sysml.Membership; +import org.eclipse.syson.sysml.Namespace; import org.eclipse.syson.sysml.Package; +import org.eclipse.syson.sysml.PortUsage; +import org.eclipse.syson.sysml.Redefinition; +import org.eclipse.syson.sysml.ReferenceSubsetting; +import org.eclipse.syson.sysml.ReferenceUsage; import org.eclipse.syson.sysml.SysmlFactory; +import org.eclipse.syson.sysml.Type; +import org.eclipse.syson.sysml.helper.EMFUtils; +import org.eclipse.syson.sysml.util.ElementUtil; +import org.springframework.stereotype.Service; /** * Element-related services doing mutations. This class should not depend on sirius-web services or other spring @@ -23,8 +48,16 @@ * * @author arichard */ +@Service public class MetamodelMutationElementService { + private final ElementInitializerSwitch elementInitializerSwitch; + + public MetamodelMutationElementService() { + this.elementInitializerSwitch = new ElementInitializerSwitch(); + } + + /** * Create the appropriate {@link Membership} child according to the given {@link Element}. * @@ -42,4 +75,231 @@ public Membership createMembership(Element element) { element.getOwnedRelationship().add(membership); return membership; } + + /** + * Sets the connector ends of a {@link ConnectorAsUsage}. + * + * @param connectorAsUsage + * The connector to configure + * @param source + * the source of the connector + * @param target + * the target of the connector + * @param connectorContainer + * the container of the connector. If the container is a type will intend to compute a feature chain between the container and the ends. + */ + public void setConnectorEnds(ConnectorAsUsage connectorAsUsage, Feature source, Feature target, Element connectorContainer) { + if (connectorAsUsage instanceof FlowUsage flowUsage) { + connectorAsUsage.getOwnedRelationship().add(this.createFlowConnectionEnd(source)); + connectorAsUsage.getOwnedRelationship().add(this.createFlowConnectionEnd(target)); + } else { + this.addConnectorEnd(connectorAsUsage, source, connectorContainer); + this.addConnectorEnd(connectorAsUsage, target, connectorContainer); + } + + } + + /** + * Create a new EndFeatureMembership to be used as {@link FlowUsage} end. + * + * @param targetedFeature + * the targeted feature (either the source or target of the flow) + * @return the new EndFeatureMembership + */ + // This method should be private at some point. + // We still need it public because of the old architecture relying on ViewCreateService + public EndFeatureMembership createFlowConnectionEnd(Feature targetedFeature) { + EndFeatureMembership featureMembership = SysmlFactory.eINSTANCE.createEndFeatureMembership(); + + FlowEnd flowEnd = SysmlFactory.eINSTANCE.createFlowEnd(); + featureMembership.getOwnedRelatedElement().add(flowEnd); + + Type owningType = targetedFeature.getOwningType(); + if (owningType instanceof Feature owningFeature) { + var referenceSubSetting = SysmlFactory.eINSTANCE.createReferenceSubsetting(); + flowEnd.getOwnedRelationship().add(referenceSubSetting); + referenceSubSetting.setReferencedFeature(owningFeature); + } + + EndFeatureMembership target = SysmlFactory.eINSTANCE.createEndFeatureMembership(); + flowEnd.getOwnedRelationship().add(target); + + ReferenceUsage referenceUsage = SysmlFactory.eINSTANCE.createReferenceUsage(); + target.getOwnedRelatedElement().add(referenceUsage); + + Redefinition redefinition = SysmlFactory.eINSTANCE.createRedefinition(); + redefinition.setRedefinedFeature(targetedFeature); + redefinition.setRedefiningFeature(referenceUsage); + + referenceUsage.getOwnedRelationship().add(redefinition); + + return featureMembership; + } + + public FlowUsage createFlowUsage(Feature source, Feature target, Namespace flowContainer) { + FeatureMembership featureMembership = SysmlFactory.eINSTANCE.createFeatureMembership(); + flowContainer.getOwnedRelationship().add(featureMembership); + + FlowUsage flowUsage = SysmlFactory.eINSTANCE.createFlowUsage(); + this.addChildInParent(flowContainer, flowUsage); + this.elementInitializerSwitch.doSwitch(flowUsage); + + flowUsage.getOwnedRelationship().add(this.createFlowConnectionEnd(source)); + flowUsage.getOwnedRelationship().add(this.createFlowConnectionEnd(target)); + return flowUsage; + } + + public InterfaceUsage createInterfaceUsage(PortUsage sourcePort, PortUsage targetPort, Namespace interfaceContainer) { + InterfaceUsage interfaceUsage = SysmlFactory.eINSTANCE.createInterfaceUsage(); + this.addChildInParent(interfaceContainer, interfaceUsage); + this.elementInitializerSwitch.doSwitch(interfaceUsage); + // Edges should have an empty default name. This is not the case when using the initializer, because + // InterfaceUsage can be a node, which requires a default name. + interfaceUsage.setDeclaredName(""); + + EndFeatureMembership sourceEndFeatureMembership = SysmlFactory.eINSTANCE.createEndFeatureMembership(); + interfaceUsage.getOwnedRelationship().add(sourceEndFeatureMembership); + Feature sourceFeature = SysmlFactory.eINSTANCE.createFeature(); + sourceFeature.setIsEnd(true); + sourceEndFeatureMembership.getOwnedRelatedElement().add(sourceFeature); + this.elementInitializerSwitch.doSwitch(sourceFeature); + ReferenceSubsetting sourceReferenceSubsetting = SysmlFactory.eINSTANCE.createReferenceSubsetting(); + sourceFeature.getOwnedRelationship().add(sourceReferenceSubsetting); + this.elementInitializerSwitch.doSwitch(sourceReferenceSubsetting); + sourceReferenceSubsetting.setReferencedFeature(sourcePort); + + EndFeatureMembership targetEndFeatureMembership = SysmlFactory.eINSTANCE.createEndFeatureMembership(); + interfaceUsage.getOwnedRelationship().add(targetEndFeatureMembership); + Feature targetFeature = SysmlFactory.eINSTANCE.createFeature(); + targetFeature.setIsEnd(true); + targetEndFeatureMembership.getOwnedRelatedElement().add(targetFeature); + this.elementInitializerSwitch.doSwitch(targetFeature); + ReferenceSubsetting targetReferenceSubsetting = SysmlFactory.eINSTANCE.createReferenceSubsetting(); + targetFeature.getOwnedRelationship().add(targetReferenceSubsetting); + this.elementInitializerSwitch.doSwitch(targetReferenceSubsetting); + targetReferenceSubsetting.setReferencedFeature(targetPort); + + return interfaceUsage; + } + + public BindingConnectorAsUsage createBindingConnectorAsUsage(Feature source, Feature target, Namespace container) { + return (BindingConnectorAsUsage) this.createConnectorAsUsage(source, target, container, SysmlFactory.eINSTANCE.createBindingConnectorAsUsage()); + } + + + public ConnectionUsage createConnectionUsage(Feature source, Feature target, Namespace owner) { + return (ConnectionUsage) this.createConnectorAsUsage(source, target, owner, SysmlFactory.eINSTANCE.createConnectionUsage()); + } + + public T initialize(T toInit) { + this.elementInitializerSwitch.doSwitch(toInit); + return toInit; + } + + + public void addChildInParent(Element parent, Element child) { + // Parent could be a Package where children are stored + // in OwingMembership and not in FeatureMembership. + Membership membership = SysmlFactory.eINSTANCE.createFeatureMembership(); + if (parent instanceof Package) { + membership = SysmlFactory.eINSTANCE.createOwningMembership(); + } + membership.getOwnedRelatedElement().add(child); + parent.getOwnedRelationship().add(membership); + } + + private Feature addConnectorEnd(ConnectorAsUsage connectorAsUsage, Feature end, Element connectorContainer) { + List sourceFeaturePath = List.of(); + // If the container is a type try to compute the feature chain to access the feature ends from the container + if (connectorContainer instanceof Type containerType) { + // This code will not work to connect inherited non redefined feature. In such case we should + FeatureChainComputer cmp = new FeatureChainComputer(); + sourceFeaturePath = cmp.computeShortestPath(containerType, end).orElse(List.of()); + } + + EndFeatureMembership sourceEndFeatureMembership = SysmlFactory.eINSTANCE.createEndFeatureMembership(); + connectorAsUsage.getOwnedRelationship().add(sourceEndFeatureMembership); + Feature sourceFeature = SysmlFactory.eINSTANCE.createReferenceUsage(); + sourceFeature.setIsEnd(true); + + + sourceEndFeatureMembership.getOwnedRelatedElement().add(sourceFeature); + this.elementInitializerSwitch.doSwitch(sourceFeature); + // For this use case, the generated name is not required + sourceFeature.setDeclaredName(null); + ReferenceSubsetting sourceReferenceSubsetting = SysmlFactory.eINSTANCE.createReferenceSubsetting(); + sourceFeature.getOwnedRelationship().add(sourceReferenceSubsetting); + this.elementInitializerSwitch.doSwitch(sourceReferenceSubsetting); + if (sourceFeaturePath.isEmpty() || sourceFeaturePath.size() == 1) { + // If no path found create a direct reference. The model may not be valid but keep track of the desire + // target + sourceReferenceSubsetting.setReferencedFeature(end); + } else { + // We need to create a feature chain here + Feature sourceFeatureChain = SysmlFactory.eINSTANCE.createFeature(); + for (Feature chainedFeature : sourceFeaturePath) { + FeatureChaining featureChaining = SysmlFactory.eINSTANCE.createFeatureChaining(); + sourceFeatureChain.getOwnedRelationship().add(featureChaining); + featureChaining.setChainingFeature(chainedFeature); + } + sourceReferenceSubsetting.setReferencedFeature(sourceFeatureChain); + sourceReferenceSubsetting.getOwnedRelatedElement().add(sourceFeatureChain); + } + return sourceFeature; + } + + /** + * Duplicates an Element. + * + * @param elementToDuplicate + * the element to duplicate + * @param duplicateContent + * holds true if the content of the object to duplicate need to be duplicated + * @param copyOutgoingReferences + * holds true if the outgoing references need to be copied of the object to duplicate need to be duplicated + * @return an optional duplicated object + */ + public Optional duplicateElement(Element elementToDuplicate, boolean duplicateContent, boolean copyOutgoingReferences) { + Optional duplicateObject; + if (duplicateContent) { + EcoreUtil.Copier copier = new EcoreUtil.Copier(); + EObject duplicatedObject = copier.copy(elementToDuplicate); + if (copyOutgoingReferences) { + copier.copyReferences(); + } + duplicateObject = Optional.ofNullable(duplicatedObject); + } else { + SiriusEMFCopier copier = new SiriusEMFCopier(); + EObject duplicatedObject = copier.copyWithoutContent(elementToDuplicate); + if (copyOutgoingReferences) { + copier.copyReferences(); + } + duplicateObject = Optional.ofNullable(duplicatedObject); + } + + return duplicateObject.filter(Element.class::isInstance) + .map(Element.class::cast) + .map(duplicate -> { + // Change the name of element root element (not its content) + if (elementToDuplicate.getDeclaredName() != null && !elementToDuplicate.getDeclaredName().isBlank()) { + duplicate.setDeclaredName(elementToDuplicate.getDeclaredName() + "-copy"); + } else if (elementToDuplicate.getShortName() != null && !elementToDuplicate.getShortName().isBlank()) { + duplicate.setDeclaredShortName(elementToDuplicate.getDeclaredShortName() + "-copy"); + } + // Reset all ids + EMFUtils.allContainedObjectOfType(duplicate, Element.class).forEach(element -> element.setElementId(ElementUtil.generateUUID(element).toString())); + + return duplicate; + }); + } + + private ConnectorAsUsage createConnectorAsUsage(Feature source, Feature target, Namespace owner, ConnectorAsUsage connectorInstance) { + this.addChildInParent(owner, connectorInstance); + this.elementInitializerSwitch.doSwitch(connectorInstance); + + this.setConnectorEnds(connectorInstance, source, target, owner); + + return connectorInstance; + } + } diff --git a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/ElementInitializerSwitchTest.java b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/ElementInitializerSwitchTest.java similarity index 98% rename from backend/services/syson-services/src/test/java/org/eclipse/syson/services/ElementInitializerSwitchTest.java rename to backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/ElementInitializerSwitchTest.java index 0796dfcef..624daa389 100644 --- a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/ElementInitializerSwitchTest.java +++ b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/ElementInitializerSwitchTest.java @@ -10,7 +10,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package org.eclipse.syson.services; +package org.eclipse.syson.sysml.metamodel.services; import static org.assertj.core.api.Assertions.assertThat; @@ -30,7 +30,6 @@ import org.eclipse.syson.sysml.ViewDefinition; import org.eclipse.syson.sysml.ViewUsage; import org.eclipse.syson.sysml.util.ElementUtil; -import org.eclipse.syson.util.StandardDiagramsConstants; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -174,7 +173,7 @@ public void testViewUsageDefaultType() { this.addInParent(view1, root); var initializedView1 = this.elementInitializerSwitch.doSwitch(view1); assertThat(initializedView1).isInstanceOf(ViewUsage.class); - var generalViewViewDef = this.elementUtil.findByNameAndType(view1, StandardDiagramsConstants.GV_QN, ViewDefinition.class); + var generalViewViewDef = this.elementUtil.findByNameAndType(view1, "StandardViewDefinitions::GeneralView", ViewDefinition.class); assertThat(((ViewUsage) initializedView1).getType()).contains(generalViewViewDef); } diff --git a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/FeatureChainComputerTest.java b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java similarity index 98% rename from backend/services/syson-services/src/test/java/org/eclipse/syson/services/FeatureChainComputerTest.java rename to backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java index 7f2eab5c0..566fabb42 100644 --- a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/FeatureChainComputerTest.java +++ b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/FeatureChainComputerTest.java @@ -10,7 +10,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package org.eclipse.syson.services; +package org.eclipse.syson.sysml.metamodel.services; import static java.util.stream.Collectors.joining; import static org.assertj.core.api.Assertions.assertThat; @@ -20,9 +20,9 @@ import java.util.Optional; import org.eclipse.emf.ecore.util.ECrossReferenceAdapter; -import org.eclipse.syson.services.data.ItemsModelTest; import org.eclipse.syson.sysml.Feature; import org.eclipse.syson.sysml.Type; +import org.eclipse.syson.sysml.metamodel.services.data.ItemsModelTest; import org.eclipse.syson.sysml.util.ModelBuilder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; diff --git a/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementServiceTests.java b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementServiceTests.java new file mode 100644 index 000000000..f59790606 --- /dev/null +++ b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/MetamodelMutationElementServiceTests.java @@ -0,0 +1,120 @@ +/******************************************************************************* + * Copyright (c) 2025 Obeo. + * 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/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.syson.sysml.metamodel.services; + +import static org.assertj.core.api.Assertions.assertThat; + +import java.util.Optional; + +import org.eclipse.syson.sysml.Element; +import org.eclipse.syson.sysml.NamespaceImport; +import org.eclipse.syson.sysml.Package; +import org.eclipse.syson.sysml.PartDefinition; +import org.eclipse.syson.sysml.PartUsage; +import org.eclipse.syson.sysml.SysmlFactory; +import org.eclipse.syson.sysml.util.ModelBuilder; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +/** + * Test class for {@link MetamodelMutationElementService}. + * + * @author Arthur Daussy + */ +public class MetamodelMutationElementServiceTests { + + private final ModelBuilder modelBuilder = new ModelBuilder(); + + private final MetamodelMutationElementService metamodelMutationElementService = new MetamodelMutationElementService(); + + @Test + @DisplayName("GIVEN a element with a name, WHEN duplicating this element, THEN the name and id of the duplicated element should be modified") + public void checkElementWithNameDuplication() { + org.eclipse.syson.sysml.Package package1 = this.modelBuilder.createWithName(Package.class, "package1"); + String package1Id = package1.getElementId(); + Optional result = this.metamodelMutationElementService.duplicateElement(package1, false, false); + + assertThat(result) + .isPresent() + .as("The copied package should have a modified name") + .matches(element -> element.get().getName().equals("package1-copy")) + .as("The copied package should have a modified id") + .matches(element -> !element.get().getElementId().equals(package1Id)); + } + + @Test + @DisplayName("GIVEN a element with a shortname only, WHEN duplicating this element, THEN the shortname and id of the duplicated element should be modified") + public void checkElementWithShortnameDuplication() { + Package package1 = this.modelBuilder.create(Package.class); + package1.setDeclaredShortName("pk1"); + String package1Id = package1.getElementId(); + Optional result = this.metamodelMutationElementService.duplicateElement(package1, false, false); + + assertThat(result) + .isPresent() + .matches(element -> element.get().getShortName().equals("pk1-copy") && !element.get().getElementId().equals(package1Id)); + } + + @Test + @DisplayName("GIVEN a element with content and outgoing references, WHEN duplicating this element with its content, THEN the content is also duplicated and the outgoing references are kept") + public void checkElementWithContentDuplication() { + Package package0 = this.modelBuilder.createWithName(Package.class, "packageO"); + Package package1 = this.modelBuilder.createWithName(Package.class, "package1"); + + NamespaceImport importNamespace = SysmlFactory.eINSTANCE.createNamespaceImport(); + importNamespace.setImportedNamespace(package0); + package1.getOwnedRelationship().add(importNamespace); + + PartDefinition pd1 = this.modelBuilder.createInWithName(PartDefinition.class, package1, "PD1"); + PartUsage p1 = this.modelBuilder.createInWithName(PartUsage.class, package1, "p1"); + + this.modelBuilder.setType(p1, pd1); + Optional result = this.metamodelMutationElementService.duplicateElement(package1, true, true); + + assertThat(result) + .isPresent() + .matches(element -> element.get() instanceof Package); + + Package copiedPackage = (Package) result.get(); + assertThat(copiedPackage.getOwnedRelationship()).hasSize(3); + + assertThat(copiedPackage.getOwnedRelationship()) + .first() + .isInstanceOf(NamespaceImport.class) + .as("The copied import still point the Package0") + .matches(namespaceImport -> ((NamespaceImport) namespaceImport).getImportedNamespace() == package0); + + assertThat(copiedPackage.getOwnedElement()).hasSize(2); + + Element copiedPartDef = copiedPackage.getOwnedElement().get(0); + assertThat(copiedPartDef) + .isInstanceOf(PartDefinition.class) + .as("The copied PartDefinition has the same name") + .matches(partDef -> partDef.getName().equals("PD1")) + .as("The copied PartDefinition has not the same ID") + .matches(partDef -> !partDef.getElementId().equals(pd1.getElementId())); + + Element copiedPart = copiedPackage.getOwnedElement().get(1); + assertThat(copiedPart) + .isInstanceOf(PartUsage.class) + // Note that the name of the children does not change but their id does + .as("The copied PartUsage still have the same name") + .matches(partUsage -> partUsage.getName().equals("p1")) + .as("The copied part usage does not have the same id") + .matches(partUsage -> !partUsage.getElementId().equals(p1.getElementId())) + .as("The copied part usage still point to PD1") + .matches(partUsage -> ((PartUsage) partUsage).getType().contains(copiedPartDef)); + } + + +} diff --git a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/data/ItemsModelTest.java b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/data/ItemsModelTest.java similarity index 99% rename from backend/services/syson-services/src/test/java/org/eclipse/syson/services/data/ItemsModelTest.java rename to backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/data/ItemsModelTest.java index 79f9277fc..3c7e9dfc7 100644 --- a/backend/services/syson-services/src/test/java/org/eclipse/syson/services/data/ItemsModelTest.java +++ b/backend/services/syson-sysml-metamodel-services/src/test/java/org/eclipse/syson/sysml/metamodel/services/data/ItemsModelTest.java @@ -10,7 +10,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package org.eclipse.syson.services.data; +package org.eclipse.syson.sysml.metamodel.services.data; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/DescriptionFinder.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/DescriptionFinder.java new file mode 100644 index 000000000..f933d6917 --- /dev/null +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/DescriptionFinder.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2025 Obeo. + * 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/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.syson.diagram.common.view; + +import java.util.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.sirius.components.view.diagram.DiagramElementDescription; +import org.eclipse.sirius.components.view.diagram.NodeDescription; +import org.eclipse.syson.sysml.SysmlPackage; +import org.eclipse.syson.util.IDescriptionNameGenerator; + +/** + * Finder of {@link DiagramElementDescription} that provides methods to select {@link DiagramElementDescription} among a list of given descriptions given some criteria. + * + * @author Arthur Daussy + */ +public class DescriptionFinder { + + private final IDescriptionNameGenerator descriptionNameGenerator; + + public DescriptionFinder(IDescriptionNameGenerator descriptionNameGenerator) { + this.descriptionNameGenerator = descriptionNameGenerator; + } + + /** + * Returns the all {@link NodeDescription}s representing the given type. Technical descriptions such as compartment are excluded but this methods return both nodes and bordered nodes. + * + * @param allNodeDescriptions + * collection of all {@link NodeDescription} + * @return the list of description representing usages + */ + public List getMainNodeDescriptions(List allNodeDescriptions, EClass type) { + return allNodeDescriptions.stream() + .filter(nodeDescription -> this.isDomain(nodeDescription, type)) + .filter(nodeDescription -> !this.descriptionNameGenerator.isCompartmentNodeDescriptionName(nodeDescription.getName())) + .toList(); + } + + private boolean isDomain(NodeDescription nodeDescription, EClass type) { + return nodeDescription.getDomainType() != null + && SysmlPackage.eINSTANCE.getEClassifier(nodeDescription.getDomainType().replaceFirst("sysml::", "")) instanceof EClass domain + && type.isSuperTypeOf(domain); + } +} diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractBindingConnectorAsUsageEdgeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractBindingConnectorAsUsageEdgeDescriptionProvider.java index 6f4a4f71d..220d2ddbe 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractBindingConnectorAsUsageEdgeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractBindingConnectorAsUsageEdgeDescriptionProvider.java @@ -14,6 +14,7 @@ import java.util.List; +import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.generated.diagram.DiagramBuilders; import org.eclipse.sirius.components.view.builder.generated.view.ChangeContextBuilder; @@ -136,12 +137,26 @@ protected LabelEditTool getEdgeEditTool() { @Override protected ChangeContextBuilder getSourceReconnectToolBody() { return this.viewBuilderHelper.newChangeContext() - .expression(AQLConstants.AQL + AQLConstants.EDGE_SEMANTIC_ELEMENT + ".reconnectSource(" + AQLConstants.SEMANTIC_RECONNECTION_TARGET + ")"); + .expression(ServiceMethod.of5(DiagramMutationAQLService::reconnectSource).aql( + AQLConstants.EDGE_SEMANTIC_ELEMENT, + AQLConstants.SEMANTIC_RECONNECTION_TARGET, + AQLConstants.RECONNECTION_TARGET_VIEW, + AQLConstants.OTHER_END, + IEditingContext.EDITING_CONTEXT, + AQLConstants.DIAGRAM + )); } @Override protected ChangeContextBuilder getTargetReconnectToolBody() { return this.viewBuilderHelper.newChangeContext() - .expression(AQLConstants.AQL + AQLConstants.EDGE_SEMANTIC_ELEMENT + ".reconnectTarget(" + AQLConstants.SEMANTIC_RECONNECTION_TARGET + ")"); + .expression(ServiceMethod.of5(DiagramMutationAQLService::reconnectTarget).aql( + AQLConstants.EDGE_SEMANTIC_ELEMENT, + AQLConstants.SEMANTIC_RECONNECTION_TARGET, + AQLConstants.RECONNECTION_TARGET_VIEW, + AQLConstants.OTHER_END, + IEditingContext.EDITING_CONTEXT, + AQLConstants.DIAGRAM + )); } } diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractInterfaceUsageEdgeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractInterfaceUsageEdgeDescriptionProvider.java index 0546940b4..e9d65ef52 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractInterfaceUsageEdgeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/edges/AbstractInterfaceUsageEdgeDescriptionProvider.java @@ -14,6 +14,7 @@ import java.util.List; +import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.generated.diagram.DiagramBuilders; import org.eclipse.sirius.components.view.builder.generated.view.ChangeContextBuilder; @@ -134,12 +135,26 @@ protected LabelEditTool getEdgeEditTool() { @Override protected ChangeContextBuilder getSourceReconnectToolBody() { return this.viewBuilderHelper.newChangeContext() - .expression(AQLConstants.AQL + AQLConstants.EDGE_SEMANTIC_ELEMENT + ".reconnectSource(" + AQLConstants.SEMANTIC_RECONNECTION_TARGET + ")"); + .expression(ServiceMethod.of5(DiagramMutationAQLService::reconnectSource).aql( + AQLConstants.EDGE_SEMANTIC_ELEMENT, + AQLConstants.SEMANTIC_RECONNECTION_TARGET, + AQLConstants.RECONNECTION_TARGET_VIEW, + AQLConstants.OTHER_END, + IEditingContext.EDITING_CONTEXT, + AQLConstants.DIAGRAM + )); } @Override protected ChangeContextBuilder getTargetReconnectToolBody() { return this.viewBuilderHelper.newChangeContext() - .expression(AQLConstants.AQL + AQLConstants.EDGE_SEMANTIC_ELEMENT + ".reconnectTarget(" + AQLConstants.SEMANTIC_RECONNECTION_TARGET + ")"); + .expression(ServiceMethod.of5(DiagramMutationAQLService::reconnectTarget).aql( + AQLConstants.EDGE_SEMANTIC_ELEMENT, + AQLConstants.SEMANTIC_RECONNECTION_TARGET, + AQLConstants.RECONNECTION_TARGET_VIEW, + AQLConstants.OTHER_END, + IEditingContext.EDITING_CONTEXT, + AQLConstants.DIAGRAM + )); } } diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractItemUsageBorderNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractItemUsageBorderNodeDescriptionProvider.java index 61f8c08b7..0c8ad8084 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractItemUsageBorderNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractItemUsageBorderNodeDescriptionProvider.java @@ -16,6 +16,8 @@ import java.util.Objects; import org.eclipse.emf.ecore.EReference; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; +import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.description.EdgeDescription; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -170,7 +172,12 @@ private EdgeTool createBindingConnectorAsUsageEdgeTool(List tar var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createBindingConnectorAsUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression(ServiceMethod.of5(DiagramMutationAQLService::createBindingConnectorAsUsage) + .aql(EdgeDescription.SEMANTIC_EDGE_SOURCE, EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, + EdgeDescription.EDGE_TARGET, + IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); return builder .name(this.getDescriptionNameGenerator().getCreationToolName(SysmlPackage.eINSTANCE.getBindingConnectorAsUsage()) + " (bind)") @@ -184,7 +191,11 @@ private EdgeTool createFlowUsageEdgeTool(List targetElementDesc var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createFlowUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression(ServiceMethod.of5(DiagramMutationAQLService::createFlowUsage) + .aql(EdgeDescription.SEMANTIC_EDGE_SOURCE, EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, + EdgeDescription.EDGE_TARGET, IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); return builder .name(this.getDescriptionNameGenerator().getCreationToolName(SysmlPackage.eINSTANCE.getFlowUsage()) + " (flow)") diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractPortUsageBorderNodeDescriptionProvider.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractPortUsageBorderNodeDescriptionProvider.java index 9618a5b45..3bed25386 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractPortUsageBorderNodeDescriptionProvider.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/nodes/AbstractPortUsageBorderNodeDescriptionProvider.java @@ -28,6 +28,8 @@ import org.eclipse.sirius.components.view.diagram.OutsideLabelStyle; import org.eclipse.sirius.components.view.diagram.SynchronizationPolicy; import org.eclipse.sirius.components.view.diagram.UserResizableDirection; +import org.eclipse.syson.diagram.common.view.DescriptionFinder; +import org.eclipse.syson.diagram.common.view.services.ViewEdgeToolService; import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.util.AQLConstants; import org.eclipse.syson.util.AQLUtils; @@ -142,4 +144,13 @@ protected List createPortUsageConditionalNodeStyles() { .build() ); } + + protected EdgeTool createConnectionUsageEdgeTool(IViewDiagramElementFinder cache) { + return this.getViewEdgeToolService(cache) + .createConnectionUsageEdgeTool(new DescriptionFinder(this.descriptionNameGenerator).getMainNodeDescriptions(cache.getNodeDescriptions(), SysmlPackage.eINSTANCE.getUsage())); + } + + protected ViewEdgeToolService getViewEdgeToolService(IViewDiagramElementFinder cache) { + return new ViewEdgeToolService(this.viewBuilderHelper, this.diagramBuilderHelper, cache.getNodeDescriptions(), this.descriptionNameGenerator); + } } diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java index 12b52d18f..d03c53912 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewCreateService.java @@ -21,6 +21,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramService; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.core.api.IFeedbackMessageService; @@ -31,7 +32,6 @@ import org.eclipse.sirius.components.representations.Message; import org.eclipse.sirius.components.representations.MessageLevel; import org.eclipse.syson.services.DeleteService; -import org.eclipse.syson.services.ElementInitializerSwitch; import org.eclipse.syson.services.UtilService; import org.eclipse.syson.sysml.AcceptActionUsage; import org.eclipse.syson.sysml.ActionDefinition; @@ -82,6 +82,7 @@ import org.eclipse.syson.sysml.Usage; import org.eclipse.syson.sysml.UseCaseDefinition; import org.eclipse.syson.sysml.UseCaseUsage; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; import org.eclipse.syson.sysml.metamodel.services.MetamodelMutationElementService; import org.eclipse.syson.sysml.util.ElementUtil; import org.eclipse.syson.util.NodeFinder; @@ -962,6 +963,15 @@ public Element createNamespaceImport(Element self, Namespace importedNamespace) return self; } + /** + * Deprecated. Prefer the use of : + * + *
  • + *
      {@link org.eclipse.syson.diagram.services.DiagramMutationElementService#createInterfaceUsage(PortUsage, PortUsage, Node, Node, IEditingContext, DiagramContext)}
    + *
      {@link MetamodelMutationElementService#createInterfaceUsage(PortUsage, PortUsage, Namespace)}
    + *
  • + */ + @Deprecated public InterfaceUsage createInterfaceUsage(PortUsage sourcePort, PortUsage targetPort) { Namespace interfaceContainer = this.getClosestContainingDefinitionOrPackageFrom(sourcePort); if (interfaceContainer == null) { @@ -969,7 +979,7 @@ public InterfaceUsage createInterfaceUsage(PortUsage sourcePort, PortUsage targe } InterfaceUsage interfaceUsage = SysmlFactory.eINSTANCE.createInterfaceUsage(); - this.addChildInParent(interfaceContainer, interfaceUsage); + this.metamodelElementMutationService.addChildInParent(interfaceContainer, interfaceUsage); this.elementInitializer(interfaceUsage); // Edges should have an empty default name. This is not the case when using the initializer, because // InterfaceUsage can be a node, which requires a default name. @@ -1000,6 +1010,15 @@ public InterfaceUsage createInterfaceUsage(PortUsage sourcePort, PortUsage targe return interfaceUsage; } + /** + * Deprecated. Prefer the use of : + * + *
  • + *
      {@link org.eclipse.syson.diagram.services.DiagramMutationElementService#createFlowUsage(Feature, Feature, Node, Node, IEditingContext, DiagramContext)}
    + *
      {@link MetamodelMutationElementService#createFlowUsage(Feature, Feature, Namespace)}
    + *
  • + */ + @Deprecated public FlowUsage createFlowUsage(Feature source, Feature target) { Namespace flowContainer = this.getClosestContainingDefinitionOrPackageFrom(source); if (flowContainer == null) { @@ -1009,15 +1028,24 @@ public FlowUsage createFlowUsage(Feature source, Feature target) { flowContainer.getOwnedRelationship().add(featureMembership); FlowUsage flowUsage = SysmlFactory.eINSTANCE.createFlowUsage(); - this.addChildInParent(flowContainer, flowUsage); + this.metamodelElementMutationService.addChildInParent(flowContainer, flowUsage); this.elementInitializer(flowUsage); - flowUsage.getOwnedRelationship().add(this.utilService.createFlowConnectionEnd(source)); - flowUsage.getOwnedRelationship().add(this.utilService.createFlowConnectionEnd(target)); + // Once this method is removed, set MetamodelMutationElementService.createFlowConnectionEnd private + flowUsage.getOwnedRelationship().add(this.metamodelElementMutationService.createFlowConnectionEnd(source)); + flowUsage.getOwnedRelationship().add(this.metamodelElementMutationService.createFlowConnectionEnd(target)); return flowUsage; } + /** + * Deprecated. Prefer the use of : + * + *
  • + *
      {@link org.eclipse.syson.diagram.services.DiagramMutationElementService#createBindingConnectorAsUsage(Feature, Feature, Node, Node, IEditingContext, DiagramContext)}
    + *
      {@link MetamodelMutationElementService#createBindingConnectorAsUsage(Feature, Feature, Namespace)}
    + *
  • + */ public BindingConnectorAsUsage createBindingConnectorAsUsage(Feature source, Feature target) { Type container = this.utilService.getConnectorContainer(source, target); @@ -1027,10 +1055,10 @@ public BindingConnectorAsUsage createBindingConnectorAsUsage(Feature source, Fea } BindingConnectorAsUsage bindingConnectorAsUsage = SysmlFactory.eINSTANCE.createBindingConnectorAsUsage(); - this.addChildInParent(container, bindingConnectorAsUsage); + this.metamodelElementMutationService.addChildInParent(container, bindingConnectorAsUsage); this.elementInitializer(bindingConnectorAsUsage); - this.utilService.setConnectorEnds(bindingConnectorAsUsage, source, target, container); + this.metamodelElementMutationService.setConnectorEnds(bindingConnectorAsUsage, source, target, container); return bindingConnectorAsUsage; } @@ -1128,71 +1156,6 @@ public Feature createTransitionUsage(Feature sourceUsage, Feature targetUsage, N return sourceUsage; } - public Element createPartUsageAndBindingConnectorAsUsage(PartUsage self) { - var parent = self.getOwner(); - if (parent != null) { - // create a new port on given part usage - var newSelfPort = SysmlFactory.eINSTANCE.createPortUsage(); - this.addChildInParent(self, newSelfPort); - this.elementInitializer(newSelfPort); - // create a new part usage as a self sibling - var newPartUsage = SysmlFactory.eINSTANCE.createPartUsage(); - this.addChildInParent(parent, newPartUsage); - this.elementInitializer(newPartUsage); - // create a new port on the new part usage - var newPartUsagePort = SysmlFactory.eINSTANCE.createPortUsage(); - this.addChildInParent(newPartUsage, newPartUsagePort); - this.elementInitializer(newPartUsagePort); - // create binding connector as usage edge between both new ports - this.createBindingConnectorAsUsage(newSelfPort, newPartUsagePort); - return newPartUsage; - } - return self; - } - - public Element createPartUsageAndFlowConnection(PartUsage self) { - var parent = self.getOwner(); - if (parent != null) { - // create a new port on given part usage - var newSelfPort = SysmlFactory.eINSTANCE.createPortUsage(); - this.addChildInParent(self, newSelfPort); - this.elementInitializer(newSelfPort); - // create a new part usage as a self sibling - var newPartUsage = SysmlFactory.eINSTANCE.createPartUsage(); - this.addChildInParent(parent, newPartUsage); - this.elementInitializer(newPartUsage); - // create a new port on the new part usage - var newPartUsagePort = SysmlFactory.eINSTANCE.createPortUsage(); - this.addChildInParent(newPartUsage, newPartUsagePort); - this.elementInitializer(newPartUsagePort); - // create flow connection edge between both new ports - this.createFlowUsage(newSelfPort, newPartUsagePort); - return newPartUsage; - } - return self; - } - - public Element createPartUsageAndInterface(PartUsage self) { - var parent = self.getOwner(); - if (parent != null) { - // create a new port on given part usage - var newSelfPort = SysmlFactory.eINSTANCE.createPortUsage(); - this.addChildInParent(self, newSelfPort); - this.elementInitializer(newSelfPort); - // create a new part usage as a self sibling - var newPartUsage = SysmlFactory.eINSTANCE.createPartUsage(); - this.addChildInParent(parent, newPartUsage); - this.elementInitializer(newPartUsage); - // create a new port on the new part usage - var newPartUsagePort = SysmlFactory.eINSTANCE.createPortUsage(); - this.addChildInParent(newPartUsage, newPartUsagePort); - this.elementInitializer(newPartUsagePort); - // create interface edge between both new ports - this.createInterfaceUsage(newSelfPort, newPartUsagePort); - return newPartUsage; - } - return self; - } private Element getEdgeSemanticContainer(Node source, Node target, Diagram diagram, IEditingContext editingContext) { final Element semanticContainer; @@ -1263,14 +1226,5 @@ private Namespace getClosestContainingDefinitionOrPackageFrom(Element element) { return (Namespace) owner; } - private void addChildInParent(Element parent, Element child) { - // Parent could be a Package where children are stored - // in OwingMembership and not in FeatureMembership. - Membership membership = SysmlFactory.eINSTANCE.createFeatureMembership(); - if (parent instanceof Package) { - membership = SysmlFactory.eINSTANCE.createOwningMembership(); - } - membership.getOwnedRelatedElement().add(child); - parent.getOwnedRelationship().add(membership); - } + } diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeService.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeService.java index 375c69ddf..96b52843b 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeService.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeService.java @@ -27,7 +27,6 @@ import org.eclipse.syson.services.UtilService; import org.eclipse.syson.sysml.ActionUsage; import org.eclipse.syson.sysml.AllocationUsage; -import org.eclipse.syson.sysml.ConnectorAsUsage; import org.eclipse.syson.sysml.Element; import org.eclipse.syson.sysml.EndFeatureMembership; import org.eclipse.syson.sysml.Expression; @@ -50,9 +49,9 @@ import org.eclipse.syson.sysml.SysmlFactory; import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.sysml.TransitionUsage; -import org.eclipse.syson.sysml.Type; import org.eclipse.syson.sysml.Usage; import org.eclipse.syson.sysml.UseCaseUsage; +import org.eclipse.syson.sysml.metamodel.services.MetamodelMutationElementService; import org.eclipse.syson.util.SysMLMetamodelHelper; /** @@ -66,7 +65,10 @@ public class ViewEdgeService { private final UtilService utilService; + private final MetamodelMutationElementService metamodelMutationElementService; + public ViewEdgeService(IFeedbackMessageService feedbackMessageService) { + this.metamodelMutationElementService = new MetamodelMutationElementService(); this.utilService = new UtilService(); this.feedbackMessageService = Objects.requireNonNull(feedbackMessageService); } @@ -416,35 +418,6 @@ public Feature getFeatureValueTarget(FeatureValue featureValue) { return result; } - /** - * Gets the target of a {@link ConnectorAsUsage}. - * - * @param connector - * a {@link ConnectorAsUsage} - * @return a list of targets - */ - public List getTarget(ConnectorAsUsage connector) { - return connector.getTargetFeature().stream() - .filter(Objects::nonNull) - .map(Feature::getFeatureTarget) - .toList(); - } - - /** - * Gets the source of a {@link ConnectorAsUsage}. - * - * @param connector - * a {@link ConnectorAsUsage} - * @return the source feature - */ - public Feature getSource(ConnectorAsUsage connectorAsUsage) { - Feature sourceFeature = connectorAsUsage.getSourceFeature(); - if (sourceFeature != null) { - return sourceFeature.getFeatureTarget(); - } - return null; - } - /** * Reconnects the source of a {@link FlowUsage}. * @@ -454,13 +427,14 @@ public Feature getSource(ConnectorAsUsage connectorAsUsage) { * the new source * @return the flow itself */ + // @technical-debt At some point this implementation should be aligned with org.eclipse.syson.diagram.services.DiagramMutationElementService.reconnectSource public FlowUsage reconnectSource(FlowUsage flow, Feature newSource) { EList featureMemberships = flow.getFeatureMembership(); if (!featureMemberships.isEmpty()) { FeatureMembership toDelete = featureMemberships.get(0); int index = flow.getOwnedRelationship().indexOf(toDelete); flow.getOwnedRelationship().remove(index); - flow.getOwnedRelationship().add(index, this.utilService.createFlowConnectionEnd(newSource)); + flow.getOwnedRelationship().add(index, this.metamodelMutationElementService.createFlowConnectionEnd(newSource)); } return flow; } @@ -474,87 +448,18 @@ public FlowUsage reconnectSource(FlowUsage flow, Feature newSource) { * the new target * @return the flow itself */ + // @technical-debt At some point this implementation should be aligned with org.eclipse.syson.diagram.services.DiagramMutationElementService.reconnectTarget public FlowUsage reconnectTarget(FlowUsage flow, Feature newTarget) { EList featureMemberships = flow.getFeatureMembership(); if (featureMemberships.size() >= 2) { FeatureMembership toDelete = featureMemberships.get(1); int index = flow.getOwnedRelationship().indexOf(toDelete); flow.getOwnedRelationship().remove(index); - flow.getOwnedRelationship().add(index, this.utilService.createFlowConnectionEnd(newTarget)); + flow.getOwnedRelationship().add(index, this.metamodelMutationElementService.createFlowConnectionEnd(newTarget)); } return flow; } - /** - * Set a new source {@link Element} for the given {@link ConnectorAsUsage}. Also move the given connector into the - * parent (i.e. should be a PartUsage) of the new source. - * - * @param bind - * the given {@link ConnectorAsUsage}. - * @param newSource - * the new target {@link Element}. - * @return the given {@link ConnectorAsUsage}. - */ - public ConnectorAsUsage reconnectSource(ConnectorAsUsage bind, Feature newSource) { - Optional optOldTarget = this.getTarget(bind).stream().findFirst(); - if (optOldTarget.isEmpty()) { - // Invalid model for reconnection - this.feedbackMessageService.addFeedbackMessage(new Message("Invalid connector : Missing target", MessageLevel.WARNING)); - return bind; - } - Type newContainer = this.utilService.getConnectorContainer(optOldTarget.get(), newSource); - - if (bind.getOwningType() != newContainer && newContainer != null) { - // Move to the new container - newContainer.getOwnedRelationship().add(bind.getOwningRelationship()); - } - - // Recompute both target and source chain - List endFeatureMemberships = bind.getOwnedFeatureMembership().stream() - .filter(EndFeatureMembership.class::isInstance) - .map(EndFeatureMembership.class::cast) - .toList(); - bind.getOwnedRelationship().removeAll(endFeatureMemberships); - - this.utilService.setConnectorEnds(bind, newSource, optOldTarget.get(), newContainer); - return bind; - } - - /** - * Set a new target {@link Element} for the given {@link ConnectorAsUsage}. - * - * @param bind - * the given {@link ConnectorAsUsage}. - * @param newTarget - * the new target {@link Element}. - * @return the given {@link ConnectorAsUsage}. - */ - public ConnectorAsUsage reconnectTarget(ConnectorAsUsage bind, Feature newTarget) { - Feature source = this.getSource(bind); - if (source == null) { - // Invalid model for reconnection - this.feedbackMessageService.addFeedbackMessage(new Message("Invalid connector : Missing source", MessageLevel.WARNING)); - return bind; - } - Type newContainer = this.utilService.getConnectorContainer(source, newTarget); - - if (bind.getOwningType() != newContainer && newContainer != null) { - // Move to the new container - newContainer.getOwnedRelationship().add(bind.getOwningRelationship()); - } - - // Recompute both target and source chain - - List endFeatureMemberships = bind.getOwnedFeatureMembership().stream() - .filter(EndFeatureMembership.class::isInstance) - .map(EndFeatureMembership.class::cast) - .toList(); - bind.getOwnedRelationship().removeAll(endFeatureMemberships); - - this.utilService.setConnectorEnds(bind, source, newTarget, newContainer); - return bind; - } - private Optional getAction(Element element) { Optional result = Optional.empty(); if (element instanceof Membership membership) { diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolService.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolService.java index a7ce1e99e..0cdd655d4 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolService.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolService.java @@ -18,13 +18,16 @@ import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EClassifier; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; import org.eclipse.sirius.components.collaborative.diagrams.api.IDiagramService; import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.description.EdgeDescription; import org.eclipse.sirius.components.view.builder.generated.diagram.DiagramBuilders; import org.eclipse.sirius.components.view.builder.generated.view.ViewBuilders; +import org.eclipse.sirius.components.view.diagram.DiagramElementDescription; import org.eclipse.sirius.components.view.diagram.EdgeTool; import org.eclipse.sirius.components.view.diagram.NodeDescription; +import org.eclipse.syson.diagram.services.aql.DiagramMutationAQLService; import org.eclipse.syson.diagram.services.aql.DiagramQueryAQLService; import org.eclipse.syson.sysml.SysmlPackage; import org.eclipse.syson.sysml.Usage; @@ -326,6 +329,24 @@ public EdgeTool createSubsettingEdgeTool(List targetElementDesc .build(); } + public EdgeTool createConnectionUsageEdgeTool(List targetElementDescriptions) { + var builder = this.diagramBuilderHelper.newEdgeTool(); + + var body = this.viewBuilderHelper.newChangeContext() + .expression(ServiceMethod.of5(DiagramMutationAQLService::createConnectionUsage) + .aql(org.eclipse.sirius.components.diagrams.description.EdgeDescription.SEMANTIC_EDGE_SOURCE, + org.eclipse.sirius.components.diagrams.description.EdgeDescription.SEMANTIC_EDGE_TARGET, + org.eclipse.sirius.components.diagrams.description.EdgeDescription.EDGE_SOURCE, + EdgeDescription.EDGE_TARGET, IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); + + return builder.name(this.nameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getConnectionUsage())) + .iconURLsExpression("/icons/full/obj16/ConnectionUsage.svg") + .body(body.build()) + .targetElementDescriptions(targetElementDescriptions.toArray(DiagramElementDescription[]::new)) + .build(); + } + public EdgeTool createFeatureTypingEdgeTool(List targetElementDescriptions) { var builder = this.diagramBuilderHelper.newEdgeTool(); diff --git a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolSwitch.java b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolSwitch.java index 5bc4c0a21..132ef6e66 100644 --- a/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolSwitch.java +++ b/backend/views/syson-diagram-common-view/src/main/java/org/eclipse/syson/diagram/common/view/services/ViewEdgeToolSwitch.java @@ -22,6 +22,7 @@ import org.eclipse.sirius.components.view.builder.generated.view.ViewBuilders; import org.eclipse.sirius.components.view.diagram.EdgeTool; import org.eclipse.sirius.components.view.diagram.NodeDescription; +import org.eclipse.syson.diagram.common.view.DescriptionFinder; import org.eclipse.syson.diagram.common.view.nodes.DecisionActionNodeDescriptionProvider; import org.eclipse.syson.diagram.common.view.nodes.DoneActionNodeDescriptionProvider; import org.eclipse.syson.diagram.common.view.nodes.ForkActionNodeDescriptionProvider; @@ -273,6 +274,8 @@ public List caseUsage(Usage object) { if (definitionNodeDescription.isPresent()) { edgeTools.add(this.edgeToolService.createFeatureTypingEdgeTool(List.of(definitionNodeDescription.get()))); } + + edgeTools.add(this.edgeToolService.createConnectionUsageEdgeTool(new DescriptionFinder(this.descriptionNameGenerator).getMainNodeDescriptions(this.allNodeDescriptions, SysmlPackage.eINSTANCE.getUsage()))); return edgeTools; } diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java index 48f4c43ce..4ce1aba04 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/SDVDiagramDescriptionProvider.java @@ -67,6 +67,7 @@ import org.eclipse.syson.diagram.services.aql.DiagramMutationAQLService; import org.eclipse.syson.standard.diagrams.view.edges.AllocateEdgeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.edges.BindingConnectorAsUsageEdgeDescriptionProvider; +import org.eclipse.syson.standard.diagrams.view.edges.ConnectionUsageEdgeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.edges.DefinitionOwnedActionUsageEdgeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.edges.DefinitionOwnedUsageEdgeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.edges.DependencyEdgeDescriptionProvider; @@ -82,6 +83,7 @@ import org.eclipse.syson.standard.diagrams.view.edges.SuccessionEdgeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.edges.TransitionEdgeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.edges.UsageNestedUsageEdgeDescriptionProvider; +import org.eclipse.syson.standard.diagrams.view.nodes.ActionDefinitionParameterBorderNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.ActionDefinitionParametersCompartmentNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.ActionItemNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.ActionUsageParametersCompartmentNodeDescriptionProvider; @@ -98,7 +100,6 @@ import org.eclipse.syson.standard.diagrams.view.nodes.FakeNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.GeneralViewEmptyDiagramNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.InheritedPortUsageBorderNodeDescriptionProvider; -import org.eclipse.syson.standard.diagrams.view.nodes.ActionDefinitionParameterBorderNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.PerformActionsCompartmentItemNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.PerformActionsCompartmentNodeDescriptionProvider; import org.eclipse.syson.standard.diagrams.view.nodes.PortDefinitionOwnedItemBorderNodeDescriptionProvider; @@ -734,6 +735,7 @@ private List> createAllEdgeDescriptionProv edgeDescriptionProviders.add(new BindingConnectorAsUsageEdgeDescriptionProvider(colorProvider, this.getDescriptionNameGenerator())); edgeDescriptionProviders.add(new FeatureValueEdgeDescriptionProvider(colorProvider, this.getDescriptionNameGenerator())); edgeDescriptionProviders.add(new IncludeUseCaseDescriptionProvider(colorProvider, this.getDescriptionNameGenerator())); + edgeDescriptionProviders.add(new ConnectionUsageEdgeDescriptionProvider(colorProvider, this.getDescriptionNameGenerator())); return edgeDescriptionProviders; } diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/edges/ConnectionUsageEdgeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/edges/ConnectionUsageEdgeDescriptionProvider.java new file mode 100644 index 000000000..ca96febc8 --- /dev/null +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/edges/ConnectionUsageEdgeDescriptionProvider.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2025 Obeo. + * 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/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.syson.standard.diagrams.view.edges; + +import java.util.List; +import java.util.Objects; + +import org.eclipse.sirius.components.core.api.IEditingContext; +import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; +import org.eclipse.sirius.components.view.builder.generated.view.ChangeContextBuilder; +import org.eclipse.sirius.components.view.builder.providers.IColorProvider; +import org.eclipse.sirius.components.view.diagram.ArrowStyle; +import org.eclipse.sirius.components.view.diagram.DiagramDescription; +import org.eclipse.sirius.components.view.diagram.EdgeDescription; +import org.eclipse.sirius.components.view.diagram.EdgeStyle; +import org.eclipse.sirius.components.view.diagram.LabelEditTool; +import org.eclipse.sirius.components.view.diagram.LineStyle; +import org.eclipse.sirius.components.view.diagram.NodeDescription; +import org.eclipse.sirius.components.view.diagram.SynchronizationPolicy; +import org.eclipse.syson.diagram.common.view.DescriptionFinder; +import org.eclipse.syson.diagram.common.view.edges.AbstractEdgeDescriptionProvider; +import org.eclipse.syson.diagram.services.aql.DiagramMutationAQLService; +import org.eclipse.syson.diagram.services.aql.DiagramQueryAQLService; +import org.eclipse.syson.sysml.SysmlPackage; +import org.eclipse.syson.util.AQLConstants; +import org.eclipse.syson.util.AQLUtils; +import org.eclipse.syson.util.IDescriptionNameGenerator; +import org.eclipse.syson.util.ServiceMethod; +import org.eclipse.syson.util.SysMLMetamodelHelper; +import org.eclipse.syson.util.ViewConstants; + +/** + * Used to describe an {@link org.eclipse.syson.sysml.ConnectionUsage} edge between two {@link org.eclipse.syson.sysml.Usage}. + * + * @author Arthur Daussy + */ +public class ConnectionUsageEdgeDescriptionProvider extends AbstractEdgeDescriptionProvider { + + private final IDescriptionNameGenerator descriptionNameGenerator; + + public ConnectionUsageEdgeDescriptionProvider(IColorProvider colorProvider, IDescriptionNameGenerator descriptionNameGenerator) { + super(colorProvider); + this.descriptionNameGenerator = Objects.requireNonNull(descriptionNameGenerator); + } + + @Override + public void link(DiagramDescription diagramDescription, IViewDiagramElementFinder cache) { + var optEdgeDescription = cache.getEdgeDescription(this.getName()); + if (optEdgeDescription.isPresent()) { + EdgeDescription edgeDescription = optEdgeDescription.get(); + diagramDescription.getEdgeDescriptions().add(edgeDescription); + + List sourceNodes = this.getSourceNodes(cache); + List targetNodes = this.getTargetNodes(cache); + + edgeDescription.getSourceDescriptions().addAll(sourceNodes); + + edgeDescription.getTargetDescriptions().addAll(targetNodes); + + edgeDescription.setPalette(this.createEdgePalette(cache)); + } + } + + @Override + protected LabelEditTool getEdgeEditTool() { + var callEditService = this.viewBuilderHelper.newChangeContext() + .expression(ServiceMethod.of1(DiagramMutationAQLService::editEdgeCenterLabel).aqlSelf("newLabel")); + + return this.diagramBuilderHelper.newLabelEditTool() + .name("Edit") + .initialDirectEditLabelExpression(ServiceMethod.of0(DiagramQueryAQLService::getDefaultInitialDirectEditLabel).aqlSelf()) + .body(callEditService.build()) + .build(); + } + + @Override + public EdgeDescription create() { + String domainType = SysMLMetamodelHelper.buildQualifiedName(SysmlPackage.eINSTANCE.getConnectionUsage()); + return this.diagramBuilderHelper.newEdgeDescription() + .domainType(domainType) + .isDomainBasedEdge(true) + .centerLabelExpression(ServiceMethod.of0(DiagramQueryAQLService::getEdgeLabel).aqlSelf()) + .name(this.getName()) + .semanticCandidatesExpression(AQLUtils.getSelfServiceCallExpression("getAllReachable", domainType)) + .sourceExpression("aql:self.getSource()") + .style(this.createEdgeStyle()) + .synchronizationPolicy(SynchronizationPolicy.SYNCHRONIZED) + .targetExpression("aql:self.getTarget()") + .preconditionExpression(ServiceMethod.of4(DiagramQueryAQLService::shouldRenderConnectionUsageEdge) + .aqlSelf(org.eclipse.sirius.components.diagrams.description.EdgeDescription.GRAPHICAL_EDGE_SOURCE, + org.eclipse.sirius.components.diagrams.description.EdgeDescription.GRAPHICAL_EDGE_TARGET, + org.eclipse.sirius.components.diagrams.description.DiagramDescription.CACHE, + IEditingContext.EDITING_CONTEXT) + // Needs this to avoid instantiation on inheriting concept + + "and self.oclIsTypeOf(sysml::ConnectionUsage)") + .build(); + } + + @Override + protected ChangeContextBuilder getSourceReconnectToolBody() { + return this.viewBuilderHelper.newChangeContext() + .expression(ServiceMethod.of5(DiagramMutationAQLService::reconnectSource).aql( + AQLConstants.EDGE_SEMANTIC_ELEMENT, + AQLConstants.SEMANTIC_RECONNECTION_TARGET, + AQLConstants.RECONNECTION_TARGET_VIEW, + AQLConstants.OTHER_END, + IEditingContext.EDITING_CONTEXT, + AQLConstants.DIAGRAM + )); + } + + @Override + protected ChangeContextBuilder getTargetReconnectToolBody() { + return this.viewBuilderHelper.newChangeContext() + .expression(ServiceMethod.of5(DiagramMutationAQLService::reconnectTarget).aql( + AQLConstants.EDGE_SEMANTIC_ELEMENT, + AQLConstants.SEMANTIC_RECONNECTION_TARGET, + AQLConstants.OTHER_END, + AQLConstants.RECONNECTION_TARGET_VIEW, + IEditingContext.EDITING_CONTEXT, + AQLConstants.DIAGRAM + )); + } + + private EdgeStyle createEdgeStyle() { + return this.diagramBuilderHelper.newEdgeStyle() + .borderSize(0) + .color(this.colorProvider.getColor(ViewConstants.DEFAULT_EDGE_COLOR)) + .edgeWidth(1) + .lineStyle(LineStyle.SOLID) + .sourceArrowStyle(ArrowStyle.NONE) + .targetArrowStyle(ArrowStyle.NONE) + .build(); + } + + private String getName() { + return this.descriptionNameGenerator.getEdgeName(SysmlPackage.eINSTANCE.getConnectionUsage()); + } + + private List getSourceNodes(IViewDiagramElementFinder cache) { + return new DescriptionFinder(this.descriptionNameGenerator).getMainNodeDescriptions(cache.getNodeDescriptions(), SysmlPackage.eINSTANCE.getUsage()); + } + + private List getTargetNodes(IViewDiagramElementFinder cache) { + return new DescriptionFinder(this.descriptionNameGenerator).getMainNodeDescriptions(cache.getNodeDescriptions(), SysmlPackage.eINSTANCE.getUsage()); + } +} diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/InheritedPortUsageBorderNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/InheritedPortUsageBorderNodeDescriptionProvider.java index 1900f0c1d..1ca97e583 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/InheritedPortUsageBorderNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/InheritedPortUsageBorderNodeDescriptionProvider.java @@ -99,6 +99,7 @@ protected List getEdgeTools(IViewDiagramElementFinder cache, NodeDescr edgeTools.add(this.createInterfaceUsageToPortUsageEdgeTool(List.of(nestedPort, ownedPort))); edgeTools.add(this.createFlowUsageEdgeToPortUsageTool(List.of(nestedPort, ownedPort))); } + edgeTools.add(this.createConnectionUsageEdgeTool(cache)); return edgeTools; } diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/PortUsageBorderNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/PortUsageBorderNodeDescriptionProvider.java index 2b9dd5ce3..b6f29cabc 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/PortUsageBorderNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/PortUsageBorderNodeDescriptionProvider.java @@ -17,6 +17,7 @@ import org.eclipse.emf.ecore.EReference; import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; +import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.description.EdgeDescription; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -114,6 +115,8 @@ protected List getEdgeTools(IViewDiagramElementFinder cache, NodeDescr edgeTools.add(this.createInterfaceUsageToInheritedPortUsageEdgeTool(List.of(inheritedNestedPort, inheritedOwnedPort))); edgeTools.add(this.createFlowUsageEdgeToInheritedPortUsageTool(List.of(inheritedNestedPort, inheritedOwnedPort))); } + edgeTools.add(this.createConnectionUsageEdgeTool(cache)); + return edgeTools; } @@ -121,7 +124,12 @@ private EdgeTool createBindingConnectorAsUsageEdgeTool(List tar var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createBindingConnectorAsUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression(ServiceMethod.of5(DiagramMutationAQLService::createBindingConnectorAsUsage) + .aql(EdgeDescription.SEMANTIC_EDGE_SOURCE, EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, + EdgeDescription.EDGE_TARGET, + IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); return builder .name(this.descriptionNameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getBindingConnectorAsUsage()) + " (bind)") @@ -135,7 +143,13 @@ private EdgeTool createInterfaceUsageEdgeTool(List targetElemen var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createInterfaceUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression( + ServiceMethod.of5(DiagramMutationAQLService::createInterfaceUsage) + .aql(EdgeDescription.SEMANTIC_EDGE_SOURCE, EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, EdgeDescription.EDGE_TARGET, + IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT) + ); return builder .name(this.descriptionNameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getInterfaceUsage()) + " (connect)") @@ -149,7 +163,11 @@ private EdgeTool createFlowUsageEdgeTool(List targetElementDesc var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createFlowUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression(ServiceMethod.of5(DiagramMutationAQLService::createFlowUsage) + .aql(EdgeDescription.SEMANTIC_EDGE_SOURCE, EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, EdgeDescription.EDGE_TARGET, + IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); return builder .name(this.descriptionNameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getFlowUsage()) + " (flow)") diff --git a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ReferenceUsageBorderNodeDescriptionProvider.java b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ReferenceUsageBorderNodeDescriptionProvider.java index 05dadf5a7..d9adc2189 100644 --- a/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ReferenceUsageBorderNodeDescriptionProvider.java +++ b/backend/views/syson-standard-diagrams-view/src/main/java/org/eclipse/syson/standard/diagrams/view/nodes/ReferenceUsageBorderNodeDescriptionProvider.java @@ -16,6 +16,8 @@ import java.util.List; import java.util.Objects; +import org.eclipse.sirius.components.collaborative.diagrams.DiagramContext; +import org.eclipse.sirius.components.core.api.IEditingContext; import org.eclipse.sirius.components.diagrams.description.EdgeDescription; import org.eclipse.sirius.components.view.builder.IViewDiagramElementFinder; import org.eclipse.sirius.components.view.builder.providers.IColorProvider; @@ -173,7 +175,12 @@ protected EdgeTool createBindingConnectorAsUsageEdgeTool(List t var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createBindingConnectorAsUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression(ServiceMethod.of5(DiagramMutationAQLService::createBindingConnectorAsUsage) + .aql(EdgeDescription.SEMANTIC_EDGE_SOURCE, EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, + EdgeDescription.EDGE_TARGET, + IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); return builder .name(this.descriptionNameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getBindingConnectorAsUsage()) + " (bind)") @@ -187,7 +194,11 @@ protected EdgeTool createFlowUsageEdgeTool(List targetElementDe var builder = this.diagramBuilderHelper.newEdgeTool(); var body = this.viewBuilderHelper.newChangeContext() - .expression(AQLUtils.getServiceCallExpression(EdgeDescription.SEMANTIC_EDGE_SOURCE, "createFlowUsage", EdgeDescription.SEMANTIC_EDGE_TARGET)); + .expression(ServiceMethod.of5(DiagramMutationAQLService::createFlowUsage) + .aqlSelf(EdgeDescription.SEMANTIC_EDGE_TARGET, + EdgeDescription.EDGE_SOURCE, + EdgeDescription.EDGE_TARGET, IEditingContext.EDITING_CONTEXT, + DiagramContext.DIAGRAM_CONTEXT)); return builder .name(this.descriptionNameGenerator.getCreationToolName(SysmlPackage.eINSTANCE.getFlowUsage()) + " (flow)") diff --git a/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/dto/CreateRequirementEventHandler.java b/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/dto/CreateRequirementEventHandler.java index 614d0b08b..aa88439d1 100644 --- a/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/dto/CreateRequirementEventHandler.java +++ b/backend/views/syson-table-requirements-view/src/main/java/org/eclipse/syson/table/requirements/view/dto/CreateRequirementEventHandler.java @@ -32,11 +32,11 @@ import org.eclipse.sirius.components.representations.Message; import org.eclipse.sirius.components.representations.MessageLevel; import org.eclipse.sirius.components.tables.Table; -import org.eclipse.syson.services.ElementInitializerSwitch; import org.eclipse.syson.sysml.Membership; import org.eclipse.syson.sysml.RequirementUsage; import org.eclipse.syson.sysml.SysmlFactory; import org.eclipse.syson.sysml.ViewUsage; +import org.eclipse.syson.sysml.metamodel.services.ElementInitializerSwitch; import org.eclipse.syson.util.GetIntermediateContainerCreationSwitch; import org.springframework.stereotype.Service; diff --git a/backend/views/syson-tree-explorer-view/src/main/java/org/eclipse/syson/tree/explorer/view/duplicate/SysONDuplicateDelegate.java b/backend/views/syson-tree-explorer-view/src/main/java/org/eclipse/syson/tree/explorer/view/duplicate/SysONDuplicateDelegate.java index d0cb0e496..1770d9dcf 100644 --- a/backend/views/syson-tree-explorer-view/src/main/java/org/eclipse/syson/tree/explorer/view/duplicate/SysONDuplicateDelegate.java +++ b/backend/views/syson-tree-explorer-view/src/main/java/org/eclipse/syson/tree/explorer/view/duplicate/SysONDuplicateDelegate.java @@ -14,7 +14,6 @@ import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import org.eclipse.emf.ecore.EClass; @@ -29,11 +28,11 @@ import org.eclipse.sirius.web.application.views.explorer.services.api.DuplicationSettings; import org.eclipse.sirius.web.application.views.explorer.services.api.IObjectDuplicator; import org.eclipse.sirius.web.application.views.explorer.services.api.IObjectDuplicatorDelegate; -import org.eclipse.syson.model.services.ModelMutationElementService; import org.eclipse.syson.sysml.Element; import org.eclipse.syson.sysml.Membership; import org.eclipse.syson.sysml.SysmlFactory; import org.eclipse.syson.sysml.SysmlPackage; +import org.eclipse.syson.sysml.metamodel.services.MetamodelMutationElementService; import org.springframework.stereotype.Service; /** @@ -45,11 +44,7 @@ @Service public class SysONDuplicateDelegate implements IObjectDuplicatorDelegate { - private final ModelMutationElementService modelMutationElementService; - - public SysONDuplicateDelegate(ModelMutationElementService modelMutationElementService) { - this.modelMutationElementService = Objects.requireNonNull(modelMutationElementService); - } + private final MetamodelMutationElementService metamodelMutationElementService = new MetamodelMutationElementService(); @Override public boolean canHandle(IEditingContext editingContext, EObject objectToDuplicate, EObject containerEObject, String containmentFeature, DuplicationSettings settings) { @@ -68,7 +63,7 @@ public IStatus duplicateObject(IEditingContext editingContext, EObject objectToD // An ongoing discussion should decide either to : // * provide a Sirius Web extension to be able to disable this option in downstream projects // * or provide a custom SysML duplication to handle all those case. - Optional duplicateElement = this.modelMutationElementService.duplicateElement((Element) objectToDuplicate, settings.duplicateContent(), settings.copyOutgoingReferences()); + Optional duplicateElement = this.metamodelMutationElementService.duplicateElement((Element) objectToDuplicate, settings.duplicateContent(), settings.copyOutgoingReferences()); if (duplicateElement.isPresent()) { owningMembership.getOwnedRelatedElement().add(duplicateElement.get()); final List messages = this.getMessages(settings); diff --git a/doc/content/modules/developer-guide/pages/index.adoc b/doc/content/modules/developer-guide/pages/index.adoc index 1f464f4eb..dc92cac62 100644 --- a/doc/content/modules/developer-guide/pages/index.adoc +++ b/doc/content/modules/developer-guide/pages/index.adoc @@ -476,12 +476,13 @@ Make sure to follow the contribution guidelines described in the pull request pa Since version 2025.10.2, {product} services are organized into several modules to improve maintainability and scalability. -- Services that query/mutate the model are located in the module `syson-sysml-metamodel-services`. +- Services that query/mutate the model in an atomic way are located in the module `syson-sysml-metamodel-services`. * this module will depend on `syson-sysml-metamodel`. * all services in this module won't depend on Spring, Sirius-Web or any diagram/table related code. - Services that query/mutate the model through Sirius-Web services are located in the module `syson-model-services`. * all services in this module are allowed to depend on Sirius-Web * for example, services that query the model through `IObjectSearchService`. +* this module also contains services that combine atomic SysML operations. For example, creating a connection together with its required ports. Such methods can be described as “accelerators” - Services that query/mutate a diagram are located in the module `syson-diagram-services`. * all services in this module are allowed to depend on Sirius-Web. - Services that query/mutate a table are located in the module `syson-table-services`. diff --git a/doc/content/modules/user-manual/assets/images/gv-connection-usage-edge.png b/doc/content/modules/user-manual/assets/images/gv-connection-usage-edge.png new file mode 100644 index 000000000..6101536c4 Binary files /dev/null and b/doc/content/modules/user-manual/assets/images/gv-connection-usage-edge.png differ diff --git a/doc/content/modules/user-manual/pages/features/general-view.adoc b/doc/content/modules/user-manual/pages/features/general-view.adoc index 94edd6b1b..d0ee377d0 100644 --- a/doc/content/modules/user-manual/pages/features/general-view.adoc +++ b/doc/content/modules/user-manual/pages/features/general-view.adoc @@ -158,10 +158,14 @@ image::gv-allocation-edge.png[{gv} Allocation Edge] image::gv-containment-edge.png[{gv} Containment Edge] -* Succession. +* Succession, image::gv-succession-edge.png[{gv} Succession Edge, width=60%,height=60%] +* Connection Usage. + +image::gv-connection-usage-edge.png[{gv} ConnectionUsage Edge, width=60%,height=60%] + include::user-manual:partial$manage-elements-diagram.adoc[] include::user-manual:partial$manage-relationships-diagram.adoc[] diff --git a/doc/content/modules/user-manual/pages/release-notes/2026.1.0.adoc b/doc/content/modules/user-manual/pages/release-notes/2026.1.0.adoc index 2b2187bf6..b8118ccf5 100644 --- a/doc/content/modules/user-manual/pages/release-notes/2026.1.0.adoc +++ b/doc/content/modules/user-manual/pages/release-notes/2026.1.0.adoc @@ -18,6 +18,18 @@ image::explorer-duplicate-object-dialog.png[Duplicate Object dialog, width=25%,h image::manage-elements-duplicate-from-diagram.png[Duplicate element from Diagram] +- In diagrams, a new graphical edge tool is available to create binary `ConnectionUsage` between `Usages`. + +image::gv-connection-usage-edge.png[{gv} ConnectionUsage Edge,width=60%,height=60%] + +[WARNING] +==== +For the moment, only binary `ConnectionUsage` are implemented. + +The following structure is not yet handled `connection bus : C connect (d1, d2, d3, d4);`. +==== + + == Bug fixes - Fix an issue that displayed imported libraries at the root of the project if they contained `LibraryPackage` elements and non-`Namespace` elements. diff --git a/doc/content/modules/user-manual/partials/manage-relationships-diagram.adoc b/doc/content/modules/user-manual/partials/manage-relationships-diagram.adoc index f59eb9f76..34346dda8 100644 --- a/doc/content/modules/user-manual/partials/manage-relationships-diagram.adoc +++ b/doc/content/modules/user-manual/partials/manage-relationships-diagram.adoc @@ -24,12 +24,16 @@ It is not possible for now to create a graphical edge between two graphical edge NOTE: In some cases, if {product} detects that the relationship you try to create already exists and creating a duplicate is not valid, it will tell you with a feedback message instead of creating a redundant relationship. +For edges representing a structural element such as `ConnectionUsage`, the created semantic element is owned by the most specific common context of both the source and the target. + === Reconnect relationship Users can reconnect Edges by clicking on the source or target end of the Edge to reconnect, and drag and drop it on a new element. If the new source or the new target isn't allowed for reconnection, these one will be faded. +For edges representing a structural element such as `ConnectionUsage`, reconnecting the source or target may move the semantic element to a new owner, following the rule described in the previous chapter. + === Delete relationship To delete relationship from model, user should click on the edge and click on the delete button. diff --git a/scripts/check-coverage.jsh b/scripts/check-coverage.jsh index dd6dda92b..07432708d 100755 --- a/scripts/check-coverage.jsh +++ b/scripts/check-coverage.jsh @@ -35,12 +35,12 @@ var moduleCoverageData = List.of( new ModuleCoverage("syson-application-configuration", 72.0), new ModuleCoverage("syson-common-view", 100.0), new ModuleCoverage("syson-diagram-common-view", 89.0), - new ModuleCoverage("syson-diagram-services", 80.0), + new ModuleCoverage("syson-diagram-services", 81.0), new ModuleCoverage("syson-direct-edit-grammar", 67.0), new ModuleCoverage("syson-form-services", 100.0), - new ModuleCoverage("syson-model-services", 88.0), + new ModuleCoverage("syson-model-services", 91.0), new ModuleCoverage("syson-representation-services", 100.0), - new ModuleCoverage("syson-services", 68.0), + new ModuleCoverage("syson-services", 64.0), new ModuleCoverage("syson-siriusweb-customnodes-metamodel", 44.0), new ModuleCoverage("syson-siriusweb-customnodes-metamodel-edit", 0.0), new ModuleCoverage("syson-standard-diagrams-view", 97.0), @@ -48,7 +48,7 @@ var moduleCoverageData = List.of( new ModuleCoverage("syson-sysml-import", 85.0), new ModuleCoverage("syson-sysml-metamodel", 76.0), new ModuleCoverage("syson-sysml-metamodel-edit", 16.0), - new ModuleCoverage("syson-sysml-metamodel-services", 94.0), + new ModuleCoverage("syson-sysml-metamodel-services", 95.0), new ModuleCoverage("syson-sysml-rest-api-services", 93.0), new ModuleCoverage("syson-sysml-validation", 99.0), new ModuleCoverage("syson-table-requirements-view", 77.0),