Skip to content

Commit

Permalink
#98 Filter source project from target model selection dialog
Browse files Browse the repository at this point in the history
Prevent the possibility to select the source Capella project as target
of the transition.

Update documentation screen capture of the target model choice.

Change-Id: I60a7ff84f19bd785f674c0713063737a1b55966c
Signed-off-by: Arnaud Dieumegard <arnaud.dieumegard@obeo.fr>
  • Loading branch information
arnauddieumegard authored and pdulth committed Nov 28, 2022
1 parent fefaf29 commit 05330ea
Show file tree
Hide file tree
Showing 5 changed files with 235 additions and 167 deletions.
Original file line number Diff line number Diff line change
@@ -1,80 +1,80 @@
<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>14.2. Usage instructions</title>
<link type="text/css" rel="stylesheet" href="PLUGINS_ROOT/org.polarsys.capella.doc/html/styles.css"/>
</head>
<body>
<h1 id="Transition_System_to_Subsystem">Transition System to Subsystem</h1>
<p>Transitions are possible from one or several logical, physical components or one Configuration Item. The Multiphase Transition is only available from one or more selected node physical components.</p>
<ol>
<li>Open the source Capella project model</li>
<li>Select one or several components (in the Project Explorer or in a diagram).</li>
<li>From the contextual menu (right click), select "System To SubSystem Transition" and then, the kind of Transition to be performed.</li>
</ol>
<p>
<img width="509" border="0" src="Images/Transfo_Cmd.png"/>
</p>
<h2 id="Configuration_of_the_transition">Configuration of the transition</h2>
<p>A configuration dialog opens with two tabs.</p>
<p>The "Main" tab allows, among others parameters, to choose the target model.</p>
<p>
<img width="682" border="0" src="Images/Config_Transition_main.png"/>
</p>
<p>The "Extensions" tab allows to add elements to take in the transition:</p>
<ul>
<li>Property Values: the list of Property Values to take in the transition along with their referencing objects,</li>
<li>Requirement Packages: the list of Requirement Packages where to look for Requirements to take in the transition along with their referencing objects.</li>
</ul>
<p>
<img width="400" border="0" src="Images/Config_Transition_extensions.png"/>
</p>
<h2 id="Gap_analysis_with_previous_iteration_of_the_transition">Gap analysis with previous iteration of the transition</h2>
<p>Once the target project selected, a Diff/Merge dialog displays the the differences between the transformation result shown in the center and the target model shown on the right.</p>
<p>It is now possible to either selectively merge changes, or to merge all planned changes by pressing the "Apply" button. </p>
<p>
<img width="814" border="0" src="Images/Diff_Display.png"/>
</p>
<p>Further information about the Diff/Merge tool can also be found in the
<a href="/wiki/../help/topic/org.polarsys.capella.diffmerge.doc/html/21.%20Model%20DiffMerge/21.1.%20Model%20DiffMerge.html?cp=5_0_8_2#Configuration_and_Features_of_the_Diff.2FMerge_Tool" title="../help/topic/org.polarsys.capella.diffmerge.doc/html/21.%20Model%20DiffMerge/21.1.%20Model%20DiffMerge.html?cp=5_0_8_2#Configuration_and_Features_of_the_Diff.2FMerge_Tool">Diff/Merge documentation</a><span class="github-link">
<a href="/wiki/https://github.com/eclipse/emf.diffmerge.core/blob/master/doc/org.eclipse.emf.diffmerge.doc/src/EMF-DiffMerge.mediawiki" title="https://github.com/eclipse/emf.diffmerge.core/blob/master/doc/org.eclipse.emf.diffmerge.doc/src/EMF-DiffMerge.mediawiki">(online documentation)</a></span>.
</p>
<h2 id="Transition_Log">Transition Log</h2>
<p>Once the transition performed, the Information view contains the listing of the actions performed. By right clicking on an action, the source and target object can be accessed:</p>
<p>
<img width="832" border="0" src="Images/Transition_Log.png"/>
</p>
<h2 id="Validation_Rules">Validation Rules</h2>
<p>The vertical transformation SA-LA-PA includes 4 validation rules that warn the user about inconsistent element allocations and deployments on target models. In general, these rules inspect the pre-allocation links generated by the multiphase transformation and crosscheck existing allocations and deployments against these pre-allocation links. A pre-allocation link is a kind of trace and thus filtered from the Capella Explorer by default. Each rule verifies a specific kind of allocation/deployment:</p>
<p>
<b>HW_01 - Logical Function Allocations</b>
</p>
<p>Checks if a Logical Function is allocated on the expected Logical Component.</p>
<p>
<b>HW_02 - Physical Component Deployment</b>
</p>
<p>Checks if a Behavioral Physical Component is deployed in the expected Node Physical Component.</p>
<p>
<b>HW_03 - Logical Functional Exchange Allocations</b>
</p>
<p>Checks if a Logical Functional Exchange is allocated on the expected Component Exchange.</p>
<p>
<b>HW_04 - Physical Component Exchange Allocations</b>
</p>
<p>Checks if a Physical Component Exchange is allocated on the expected Physical Link.</p>
<p>The validation rules can be enabled/disabled selectively by selecting Window-&gt;Preferences-&gt;Model Validation-&gt;Constraints. The multiphase transition rules can then be found under Capella-&gt;Subsystem Transition Addon:</p>
<p>
<img width="830" border="0" src="Images/Validation_Rules.png"/>
</p>
<p>To launch a validation, select a suitable model element (e.g. SystemEngineering) and choose
<i>Validate Model</i> from its context menu.
</p>
<h2 id="Subsystem_specificities">Subsystem specificities</h2>
<h4 id="Functional_chains">Functional chains</h4>
<p>When a functional chain in the System model is involving functions that are not directly linked to the selected subsystem components, the addon will try to ensure that chain remains valid on the subsystem. It will create some Functional Exchange replacing irrelevant functions to ensure chain is still involving the same chain of relevant involved functions.</p>
<h4 id="Name_of_Subsystem">Name of Subsystem</h4>
<p>Subsystem will be named based on the selected Component (or Configuration item according to the subsystem transition kind).
When subsystem is resulting from several Components, the subsystem will use default name.</p>
</body>
<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>14.2. Usage instructions</title>
<link type="text/css" rel="stylesheet" href="PLUGINS_ROOT/org.polarsys.capella.doc/html/styles.css"/>
</head>
<body>
<h1 id="Transition_System_to_Subsystem">Transition System to Subsystem</h1>
<p>Transitions are possible from one or several logical, physical components or one Configuration Item. The Multiphase Transition is only available from one or more selected node physical components.</p>
<ol>
<li>Open the source Capella project model</li>
<li>Select one or several components (in the Project Explorer or in a diagram).</li>
<li>From the contextual menu (right click), select "System To SubSystem Transition" and then, the kind of Transition to be performed.</li>
</ol>
<p>
<img width="509" border="0" src="Images/Transfo_Cmd.png"/>
</p>
<h2 id="Configuration_of_the_transition">Configuration of the transition</h2>
<p>A configuration dialog opens with two tabs.</p>
<p>The "Main" tab allows, among others parameters, to choose the target model (excluding the source model).</p>
<p>
<img width="682" border="0" src="Images/Config_Transition_main.png"/>
</p>
<p>The "Extensions" tab allows to add elements to take in the transition:</p>
<ul>
<li>Property Values: the list of Property Values to take in the transition along with their referencing objects,</li>
<li>Requirement Packages: the list of Requirement Packages where to look for Requirements to take in the transition along with their referencing objects.</li>
</ul>
<p>
<img width="400" border="0" src="Images/Config_Transition_extensions.png"/>
</p>
<h2 id="Gap_analysis_with_previous_iteration_of_the_transition">Gap analysis with previous iteration of the transition</h2>
<p>Once the target project selected, a Diff/Merge dialog displays the the differences between the transformation result shown in the center and the target model shown on the right.</p>
<p>It is now possible to either selectively merge changes, or to merge all planned changes by pressing the "Apply" button. </p>
<p>
<img width="814" border="0" src="Images/Diff_Display.png"/>
</p>
<p>Further information about the Diff/Merge tool can also be found in the
<a href="/wiki/../help/topic/org.polarsys.capella.diffmerge.doc/html/21.%20Model%20DiffMerge/21.1.%20Model%20DiffMerge.html?cp=5_0_8_2#Configuration_and_Features_of_the_Diff.2FMerge_Tool" title="../help/topic/org.polarsys.capella.diffmerge.doc/html/21.%20Model%20DiffMerge/21.1.%20Model%20DiffMerge.html?cp=5_0_8_2#Configuration_and_Features_of_the_Diff.2FMerge_Tool">Diff/Merge documentation</a><span class="github-link">
<a href="/wiki/https://github.com/eclipse/emf.diffmerge.core/blob/master/doc/org.eclipse.emf.diffmerge.doc/src/EMF-DiffMerge.mediawiki" title="https://github.com/eclipse/emf.diffmerge.core/blob/master/doc/org.eclipse.emf.diffmerge.doc/src/EMF-DiffMerge.mediawiki">(online documentation)</a></span>.
</p>
<h2 id="Transition_Log">Transition Log</h2>
<p>Once the transition performed, the Information view contains the listing of the actions performed. By right clicking on an action, the source and target object can be accessed:</p>
<p>
<img width="832" border="0" src="Images/Transition_Log.png"/>
</p>
<h2 id="Validation_Rules">Validation Rules</h2>
<p>The vertical transformation SA-LA-PA includes 4 validation rules that warn the user about inconsistent element allocations and deployments on target models. In general, these rules inspect the pre-allocation links generated by the multiphase transformation and crosscheck existing allocations and deployments against these pre-allocation links. A pre-allocation link is a kind of trace and thus filtered from the Capella Explorer by default. Each rule verifies a specific kind of allocation/deployment:</p>
<p>
<b>HW_01 - Logical Function Allocations</b>
</p>
<p>Checks if a Logical Function is allocated on the expected Logical Component.</p>
<p>
<b>HW_02 - Physical Component Deployment</b>
</p>
<p>Checks if a Behavioral Physical Component is deployed in the expected Node Physical Component.</p>
<p>
<b>HW_03 - Logical Functional Exchange Allocations</b>
</p>
<p>Checks if a Logical Functional Exchange is allocated on the expected Component Exchange.</p>
<p>
<b>HW_04 - Physical Component Exchange Allocations</b>
</p>
<p>Checks if a Physical Component Exchange is allocated on the expected Physical Link.</p>
<p>The validation rules can be enabled/disabled selectively by selecting Window-&gt;Preferences-&gt;Model Validation-&gt;Constraints. The multiphase transition rules can then be found under Capella-&gt;Subsystem Transition Addon:</p>
<p>
<img width="830" border="0" src="Images/Validation_Rules.png"/>
</p>
<p>To launch a validation, select a suitable model element (e.g. SystemEngineering) and choose
<i>Validate Model</i> from its context menu.
</p>
<h2 id="Subsystem_specificities">Subsystem specificities</h2>
<h4 id="Functional_chains">Functional chains</h4>
<p>When a functional chain in the System model is involving functions that are not directly linked to the selected subsystem components, the addon will try to ensure that chain remains valid on the subsystem. It will create some Functional Exchange replacing irrelevant functions to ensure chain is still involving the same chain of relevant involved functions.</p>
<h4 id="Name_of_Subsystem">Name of Subsystem</h4>
<p>Subsystem will be named based on the selected Component (or Configuration item according to the subsystem transition kind).
When subsystem is resulting from several Components, the subsystem will use default name.</p>
</body>
</html>
Loading

0 comments on commit 05330ea

Please sign in to comment.