Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSalome Maro2016-09-23 08:09:10 +0000
committerJan-Philipp Steghöfer2016-09-27 09:50:29 +0000
commita9fd2f35b87f70112711da00f554787f91eb7d91 (patch)
tree9ac1b280ded6e0a1b40dbcfe6f0eb7608f11a762
parent660715b4e1f7221f8b2b3fe1da2cdeaa4175ee9e (diff)
downloadorg.eclipse.capra-a9fd2f35b87f70112711da00f554787f91eb7d91.tar.gz
org.eclipse.capra-a9fd2f35b87f70112711da00f554787f91eb7d91.tar.xz
org.eclipse.capra-a9fd2f35b87f70112711da00f554787f91eb7d91.zip
Updated img tags, added a layer of Table of Contents to make it look neat, renamed files to remove spaces
-rw-r--r--org.eclipse.capra.documentation/docu/Capra Documentation-toc.xml57
-rw-r--r--org.eclipse.capra.documentation/docu/capraDocumentation-toc.xml57
-rw-r--r--org.eclipse.capra.documentation/docu/capraDocumentation.html (renamed from org.eclipse.capra.documentation/docu/Capra Documentation.html)58
-rw-r--r--org.eclipse.capra.documentation/docu/capraDocumentation.textile (renamed from org.eclipse.capra.documentation/docu/Capra Documentation.textile)56
-rw-r--r--org.eclipse.capra.documentation/mainTOC.xml18
-rw-r--r--org.eclipse.capra.documentation/plugin.xml6
6 files changed, 137 insertions, 115 deletions
diff --git a/org.eclipse.capra.documentation/docu/Capra Documentation-toc.xml b/org.eclipse.capra.documentation/docu/Capra Documentation-toc.xml
deleted file mode 100644
index 3c4ffe68..00000000
--- a/org.eclipse.capra.documentation/docu/Capra Documentation-toc.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version='1.0' encoding='utf-8' ?>
-<toc topic="docu/Capra Documentation.html" label="Capra Documentation">
- <topic href="docu/Capra Documentation.html" label="Capra Help Contents">
- <topic href="docu/Capra Documentation.html#user-guide" label="User Guide">
- <topic href="docu/Capra Documentation.html#introduction-what-is-capra" label="Introduction - What is Capra?"></topic>
- <topic href="docu/Capra Documentation.html#getting-started" label="Getting Started">
- <topic href="docu/Capra Documentation.html#prerequisites" label="Prerequisites"></topic>
- <topic href="docu/Capra Documentation.html#installing-capra" label="Installing Capra">
- <topic href="docu/Capra Documentation.html#installing-through-an-update-site" label="Installing through an update site"></topic>
- <topic href="docu/Capra Documentation.html#manual-installation-import-from-git" label="Manual installation (Import from Git)"></topic>
- </topic>
- </topic>
- <topic href="docu/Capra Documentation.html#traceability-concepts" label="Traceability Concepts">
- <topic href="docu/Capra Documentation.html#definition-of-traceability" label="Definition of traceability"></topic>
- <topic href="docu/Capra Documentation.html#what-is-a-traceability-link" label="What is a traceability link?"></topic>
- <topic href="docu/Capra Documentation.html#types-of-traceability-links" label="Types of traceability links"></topic>
- <topic href="docu/Capra Documentation.html#what-is-an-artifact" label="What is an artifact?"></topic>
- <topic href="docu/Capra Documentation.html#what-is-an-artifact-handler" label="What is an artifact handler?"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#practical-examples" label="Practical Examples">
- <topic href="docu/Capra Documentation.html#creating-traceability-links" label="Creating Traceability Links">
- <topic href="docu/Capra Documentation.html#a-link-from-a-requirement-to-a-feature-representing-the-requirement-in-the-feature-model" label="A link from a requirement to a feature representing the requirement in the feature model"></topic>
- <topic href="docu/Capra Documentation.html#a-link-from-a-feature-to-the-state-machine-that-describes-the-behavior-of-the-feature" label="A link from a feature to the state machine that describes the behavior of the feature"></topic>
- <topic href="docu/Capra Documentation.html#a-link-from-a-state-machine-to-test-case-that-tests-the-behavior-described-by-the-state-machine" label="A link from a state machine to test case that tests the behavior described by the state machine"></topic>
- <topic href="docu/Capra Documentation.html#a-link-from-a-requirement-to-a-pdf-document-that-describes-safety-issues-that-need-to-be-considered" label="A link from a requirement to a PDF document that describes safety issues that need to be considered"></topic>
- <topic href="docu/Capra Documentation.html#a-link-from-a-task-ticket-to-a-requirement-that-is-associated-with-the-ticket" label="A link from a task ticket to a requirement that is associated with the ticket"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#visualizing-traceability-links" label="Visualizing Traceability Links">
- <topic href="docu/Capra Documentation.html#graphical-view" label="Graphical view"></topic>
- <topic href="docu/Capra Documentation.html#traceability-matrix" label="Traceability matrix"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#detecting-and-fixing-inconsistencies" label="Detecting and Fixing Inconsistencies"></topic>
- <topic href="docu/Capra Documentation.html#analyzing-change-impact" label="Analyzing change impact"></topic>
- </topic>
- </topic>
- <topic href="docu/Capra Documentation.html#developer-guide" label="Developer Guide">
- <topic href="docu/Capra Documentation.html#architecture-of-capra" label="Architecture of Capra">
- <topic href="docu/Capra Documentation.html#traceability-metamodel" label="Traceability Metamodel"></topic>
- <topic href="docu/Capra Documentation.html#artifact-handler" label="Artifact Handler"></topic>
- <topic href="docu/Capra Documentation.html#persistence-handler" label="Persistence Handler"></topic>
- <topic href="docu/Capra Documentation.html#priority-handler" label="Priority Handler"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#capra-api" label="Capra API">
- <topic href="docu/Capra Documentation.html#adding-a-custom-traceability-metamodel" label="Adding a custom Traceability Metamodel"></topic>
- <topic href="docu/Capra Documentation.html#adding-a-custom-artifact-metamodel" label="Adding a custom Artifact metamodel"></topic>
- <topic href="docu/Capra Documentation.html#adding-a-new-artifact-handler" label="Adding a new artifact handler"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#changing-the-storage-location-of-the-traceability-model" label="Changing the storage location of the traceability model">
- <topic href="docu/Capra Documentation.html#edit-existing-persistence-handler" label="Edit existing Persistence Handler"></topic>
- <topic href="docu/Capra Documentation.html#add-a-new-persistence-handler" label="Add a new Persistence Handler"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#taking-care-of-multiple-handlers-for-the-same-artifact-type" label="Taking care of multiple handlers for the same artifact type"></topic>
- <topic href="docu/Capra Documentation.html#adding-new-source-files" label="Adding new source files"></topic>
- </topic>
- <topic href="docu/Capra Documentation.html#rerefences" label="Rerefences"></topic>
- </topic>
-</toc> \ No newline at end of file
diff --git a/org.eclipse.capra.documentation/docu/capraDocumentation-toc.xml b/org.eclipse.capra.documentation/docu/capraDocumentation-toc.xml
new file mode 100644
index 00000000..183c9e34
--- /dev/null
+++ b/org.eclipse.capra.documentation/docu/capraDocumentation-toc.xml
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='utf-8' ?>
+<toc label="Capra Documentation" link_to="capraDocumentation" topic="docu/capraDocumentation.html">
+ <topic href="docu/capraDocumentation.html" label="Capra Help Contents">
+ <topic href="docu/capraDocumentation.html#user-guide" label="User Guide">
+ <topic href="docu/capraDocumentation.html#introduction-what-is-capra" label="Introduction - What is Capra?"></topic>
+ <topic href="docu/capraDocumentation.html#getting-started" label="Getting Started">
+ <topic href="docu/capraDocumentation.html#prerequisites" label="Prerequisites"></topic>
+ <topic href="docu/capraDocumentation.html#installing-capra" label="Installing Capra">
+ <topic href="docu/capraDocumentation.html#installing-through-an-update-site" label="Installing through an update site"></topic>
+ <topic href="docu/capraDocumentation.html#manual-installation-import-from-git" label="Manual installation (Import from Git)"></topic>
+ </topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#traceability-concepts" label="Traceability Concepts">
+ <topic href="docu/capraDocumentation.html#definition-of-traceability" label="Definition of traceability"></topic>
+ <topic href="docu/capraDocumentation.html#what-is-a-traceability-link" label="What is a traceability link?"></topic>
+ <topic href="docu/capraDocumentation.html#types-of-traceability-links" label="Types of traceability links"></topic>
+ <topic href="docu/capraDocumentation.html#what-is-an-artifact" label="What is an artifact?"></topic>
+ <topic href="docu/capraDocumentation.html#what-is-an-artifact-handler" label="What is an artifact handler?"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#practical-examples" label="Practical Examples">
+ <topic href="docu/capraDocumentation.html#creating-traceability-links" label="Creating Traceability Links">
+ <topic href="docu/capraDocumentation.html#a-link-from-a-requirement-to-a-feature-representing-the-requirement-in-the-feature-model" label="A link from a requirement to a feature representing the requirement in the feature model"></topic>
+ <topic href="docu/capraDocumentation.html#a-link-from-a-feature-to-the-state-machine-that-describes-the-behavior-of-the-feature" label="A link from a feature to the state machine that describes the behavior of the feature"></topic>
+ <topic href="docu/capraDocumentation.html#a-link-from-a-state-machine-to-test-case-that-tests-the-behavior-described-by-the-state-machine" label="A link from a state machine to test case that tests the behavior described by the state machine"></topic>
+ <topic href="docu/capraDocumentation.html#a-link-from-a-requirement-to-a-pdf-document-that-describes-safety-issues-that-need-to-be-considered" label="A link from a requirement to a PDF document that describes safety issues that need to be considered"></topic>
+ <topic href="docu/capraDocumentation.html#a-link-from-a-task-ticket-to-a-requirement-that-is-associated-with-the-ticket" label="A link from a task ticket to a requirement that is associated with the ticket"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#visualizing-traceability-links" label="Visualizing Traceability Links">
+ <topic href="docu/capraDocumentation.html#graphical-view" label="Graphical view"></topic>
+ <topic href="docu/capraDocumentation.html#traceability-matrix" label="Traceability matrix"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#detecting-and-fixing-inconsistencies" label="Detecting and Fixing Inconsistencies"></topic>
+ <topic href="docu/capraDocumentation.html#analyzing-change-impact" label="Analyzing change impact"></topic>
+ </topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#developer-guide" label="Developer Guide">
+ <topic href="docu/capraDocumentation.html#architecture-of-capra" label="Architecture of Capra">
+ <topic href="docu/capraDocumentation.html#traceability-metamodel" label="Traceability Metamodel"></topic>
+ <topic href="docu/capraDocumentation.html#artifact-handler" label="Artifact Handler"></topic>
+ <topic href="docu/capraDocumentation.html#persistence-handler" label="Persistence Handler"></topic>
+ <topic href="docu/capraDocumentation.html#priority-handler" label="Priority Handler"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#capra-api" label="Capra API">
+ <topic href="docu/capraDocumentation.html#adding-a-custom-traceability-metamodel" label="Adding a custom Traceability Metamodel"></topic>
+ <topic href="docu/capraDocumentation.html#adding-a-custom-artifact-metamodel" label="Adding a custom Artifact metamodel"></topic>
+ <topic href="docu/capraDocumentation.html#adding-a-new-artifact-handler" label="Adding a new artifact handler"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#changing-the-storage-location-of-the-traceability-model" label="Changing the storage location of the traceability model">
+ <topic href="docu/capraDocumentation.html#edit-existing-persistence-handler" label="Edit existing Persistence Handler"></topic>
+ <topic href="docu/capraDocumentation.html#add-a-new-persistence-handler" label="Add a new Persistence Handler"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#taking-care-of-multiple-handlers-for-the-same-artifact-type" label="Taking care of multiple handlers for the same artifact type"></topic>
+ <topic href="docu/capraDocumentation.html#adding-new-source-files" label="Adding new source files"></topic>
+ </topic>
+ <topic href="docu/capraDocumentation.html#rerefences" label="Rerefences"></topic>
+ </topic>
+</toc>
diff --git a/org.eclipse.capra.documentation/docu/Capra Documentation.html b/org.eclipse.capra.documentation/docu/capraDocumentation.html
index c7b79887..8879a0ee 100644
--- a/org.eclipse.capra.documentation/docu/Capra Documentation.html
+++ b/org.eclipse.capra.documentation/docu/capraDocumentation.html
@@ -63,7 +63,7 @@
<a href="#creating-traceability-links">Creating Traceability Links</a>.
</li>
</ul>
- <p><figure><img src="../images/updatesite.png" width="600"></img><figcaption>Figure 1: Installing Capra from the Updatesite</figcaption></figure></p>
+ <p><figure><img src="../images/updatesite.png" width="600"/><figcaption>Figure 1: Installing Capra from the Updatesite</figcaption></figure></p>
<h5 id="manual-installation-import-from-git">Manual installation (Import from Git)</h5>
<ul>
<li>Open your Eclipse Environment</li>
@@ -120,7 +120,7 @@
</li>
</ul>
<p>These artifacts are shown in the figure below in the context of the development environment of the HVAC system.</p>
- <p><figure><img src="../images/hvacProjects.png" width="800"></img><figcaption>Figure 2: Resources for the HVAC system</figcaption></figure></p>
+ <p><figure><img src="../images/hvacProjects.png" width="800"/><figcaption>Figure 2: Resources for the HVAC system</figcaption></figure></p>
<h4 id="creating-traceability-links">Creating Traceability Links</h4>
<p>Capra provides the functionality to create traceability links between different artifacts as long as artifact handlers for those artifact types are available. The current version supports tracing to EMF models, Java code (up to method level), C/C++ code (up to function level), Task tickets from ticketing systems supported by Mylyn, arbitrary files (such as PDF or word), Test executions (Hudson and Jenkins), Papyrus models, and Capella models. </p>
<p>To show how traceability links can be created, we continue with the HVAC example and its artifacts as described above. Our aim is to establish the following links. </p>
@@ -139,13 +139,13 @@
</li>
<li>Expand the model to see the requirements. Drag Req 3 and drop it in the Selection view. </li>
<li>Next, open the feature model (
- <code>HVAC_Variants.pld</code>), drag and drop the feature named &#8220;Blower&#8221; into the selection view as well as shown in the figure below. <figure> <img src="../images/selectionView1.png" width="400"></img> <figcaption> Figure 3: Capra Selection View </figcaption> </figure>
+ <code>HVAC_Variants.pld</code>), drag and drop the feature named &#8220;Blower&#8221; into the selection view as well as shown in the figure below. <figure> <img src="../images/selectionView1.png" width="400"/> <figcaption> Figure 3: Capra Selection View </figcaption> </figure>
</li>
- <li>Right click on the selection view and click on &#8220;Create Trace&#8221;. <figure> <img src="../images/createTrace.png" width="400"></img> <figcaption> Figure 4: Creating a traceability link </figcaption> </figure> </li>
+ <li>Right click on the selection view and click on &#8220;Create Trace&#8221;. <figure> <img src="../images/createTrace.png" width="400"/> <figcaption> Figure 4: Creating a traceability link </figcaption> </figure> </li>
<li>A pop up window will appear, showing the types of links that can be created based on the selected element.</li>
- <li>Choose a traceability link type to create (in our case &#8220;RelatedTo&#8221;) and click OK. <figure> <img src="../images/relatedTo.png" width="400"></img> <figcaption> Figure 5: Creating a traceability link of type &#8220;RelatedTo&#8221; </figcaption> </figure> Since this is our first traceability link, a new folder will appear in the workspace with the name
+ <li>Choose a traceability link type to create (in our case &#8220;RelatedTo&#8221;) and click OK. <figure> <img src="../images/relatedTo.png" width="400"/> <figcaption> Figure 5: Creating a traceability link of type &#8220;RelatedTo&#8221; </figcaption> </figure> Since this is our first traceability link, a new folder will appear in the workspace with the name
<code>__WorkspaceTraceModels</code>. This folder contains your trace model which contains the traceability link we just created and an artifact wrapper model which contains EMF representations of artifacts that are not in EMF format. In our case the artifact model should be empty since the artifacts we used to create the traceability link are all EMF elements. The trace model (
- <code>traceModel.xmi</code>) should contain only one traceability link. <figure> <img src="../images/traceLink.png" width="700"></img> <figcaption> Figure 6: A traceability link of type &#8220;RelatedTo&#8221; </figcaption> </figure>
+ <code>traceModel.xmi</code>) should contain only one traceability link. <figure> <img src="../images/traceLink.png" width="700"/> <figcaption> Figure 6: A traceability link of type &#8220;RelatedTo&#8221; </figcaption> </figure>
</li>
<li>To remove the elements from the selection view, there are two options:
<ol>
@@ -211,12 +211,12 @@
<h5 id="graphical-view">Graphical view</h5>
<p>To view the traceability links related to an artifact and the connected artifacts, simply select the artifact while in the &#8220;Sample Reflective Editor&#8221; View. The &#8220;Plant UML View&#8221; needs to be open as well.</p>
<p>The graphical view allows you to explore directly connected elements or transitively connected elements. To use the latter functionality, click on the downward arrow on right hand corner of the Plant UML View and click on &#8220;Toggle Transitivity&#8221;. This enables you to move from viewing only directly connected elements to the selected element, to viewing all the transitively connected elements. Use the same button to return to the previously active view.</p>
- <p><figure> <img src="../images/toggleTransitivity.pdf" width="600"></img> <figcaption> Figure 7: Toggle Transitivity </figcaption></figure></p>
+ <p><figure> <img src="../images/toggleTransitivity.pdf" width="600"/> <figcaption> Figure 7: Toggle Transitivity </figcaption></figure></p>
<h5 id="traceability-matrix">Traceability matrix</h5>
<p>The traceability matrix can be created by selecting at least two model elements when the &#8220;Plant UML View&#8221; is open. This will list all the model elements as rows and columns and an &#8220;x&#8221; mark will appear to show that there is a traceability link between two elements. For instance, the picture below shows the resulting matrix when selecting Req3 and the artifact wrapper representing the PDF document. </p>
- <p><figure> <img src="../images/matrixView.png" width="400"></img> <figcaption> Figure 8: Matrix View as a result of selecting two elements </figcaption></figure></p>
+ <p><figure> <img src="../images/matrixView.png" width="400"/> <figcaption> Figure 8: Matrix View as a result of selecting two elements </figcaption></figure></p>
<p>Selecting more than two model elements expands the matrix into a square matrix with same elements listed vertically and horizontally. </p>
- <p><figure> <img src="../images/matrixViewMany.png" width="600"></img> <figcaption> Figure 9: Matrix view as a result of selecting more than two elements </figcaption></figure></p>
+ <p><figure> <img src="../images/matrixViewMany.png" width="600"/> <figcaption> Figure 9: Matrix view as a result of selecting more than two elements </figcaption></figure></p>
<h4 id="detecting-and-fixing-inconsistencies">Detecting and Fixing Inconsistencies</h4>
<p>Traceability links need to be updated as the artifacts they connect evolve. Capra provides a feature to notify users when these artifacts evolve and give suggestions on how the traceability links can be evolved. The suggestions are offered as quick fixes to the user and if the user wants to make the changes suggested by the quick fix, the fix can be applied automatically by clicking on it. Currently Capra can uses the Eclipse notification Framework to detect changes and can capture rename, move, change and delete actions made on artifacts that have traceability links.</p>
<p>The problems detected by Capra are shown in the
@@ -230,11 +230,11 @@
</li>
<li>Look at the
<code>Problems view</code> and you will see a warning with a type &#8220;Capra Problem&#8221;. The issue tells you that there is a traceability link that points to a file named
- <code>BlowerTest.java</code>, but that file has been deleted. <figure> <img src="../images/problemView.png" width="700"></img> <figcaption> Figure 9: Problem view showing Capra errors </figcaption> </figure>
+ <code>BlowerTest.java</code>, but that file has been deleted. <figure> <img src="../images/problemView.png" width="700"/> <figcaption> Figure 9: Problem view showing Capra errors </figcaption> </figure>
</li>
<li>Right click on the warning and select Quick fix.</li>
<li>A window will appear showing the quick fixes options available. In this case there is one option, which is to delete the traceability link related to
- <code>BlowerTest.java</code> file. <figure> <img src="../images/quickFix.png" width="500"></img> <figcaption> Figure 10: Quick Fixes </figcaption> </figure>
+ <code>BlowerTest.java</code> file. <figure> <img src="../images/quickFix.png" width="500"/> <figcaption> Figure 10: Quick Fixes </figcaption> </figure>
</li>
<li>Click Finish.</li>
<li>Notice that the traceability link has been deleted and the warning disappears.</li>
@@ -245,11 +245,11 @@
<code>REQ-3</code> and then using the visualization, one can see all other artefacts that are related to
<code>REQ-3</code> too.
</p>
- <p><figure> <img src="../images/toggleTransitivity.pdf" width="700"></img> <figcaption> Figure 11: Capra graphical view showing directly connected elements </figcaption></figure> </p>
+ <p><figure> <img src="../images/toggleTransitivity.pdf" width="700"/> <figcaption> Figure 11: Capra graphical view showing directly connected elements </figcaption></figure> </p>
<p>For further analysis, clicking on Toggle transitivity as shown in th figure below will show all artifacts connected to
<code>REQ-3</code> and their connnections to other artifacts. The end user can therefore use this information as a starting point for performing impact analysis.
</p>
- <p><figure> <img src="../images/graphical-view-transitive.pdf" width="500"></img> <figcaption> Figure 12: Capra graphical view showing transitively connected elements </figcaption></figure> </p>
+ <p><figure> <img src="../images/graphical-view-transitive.pdf" width="500"/> <figcaption> Figure 12: Capra graphical view showing transitively connected elements </figcaption></figure> </p>
<h2 id="developer-guide">Developer Guide</h2>
<p>The following subsection describes the technical architecture of the tool. This information is also available in more detail in a tool demonstration paper (1). Our motivation for choosing this architecture design is based on a study on factors and guidelines that affect how a traceability tool can support traceability maintenance(2). </p>
<h3 id="architecture-of-capra">Architecture of Capra</h3>
@@ -264,7 +264,7 @@
</ol>
<p>Additionally, Capra has an API which makes traceability data available to other tools. The current version uses the provided traceability data to visualize it graphically.</p>
<p>The figure below depicts the extension points. The rationale for each of them is described in the following.</p>
- <p><figure> <img src="../images/capraArchitecture.png" width="600"></img> <figcaption> Figure 13: The Architecture of Capra </figcaption></figure> </p>
+ <p><figure> <img src="../images/capraArchitecture.png" width="600"/> <figcaption> Figure 13: The Architecture of Capra </figcaption></figure> </p>
<h4 id="traceability-metamodel">Traceability Metamodel</h4>
<p>Depending on the company, development context, and process used, the traceability links required can differ. For example, traceability links for a company developing web-based solutions are not the same as links for companies developing embedded software. In the former case, traceability links can help connect certain entries in the server configuration files to specific requirements. The traceability links for embedded software need to relate, e.g., the hardware specification to the software design. Both concepts do not make sense in the respective other domain.</p>
<p>To address the different link types, the tool offers an extension point for the traceability metamodel. Here the end user (company), can define the types of links through a metamodel and supply it to the tool. Examples of link types are &#8220;verifies&#8221;, &#8220;implements&#8221;, &#8220;refines&#8221;, &#8220;related to&#8221; etc. In addition to link types, the metamodel can also define additional information to be stored with each link. It might be desirable, e.g., to store the date and time the link was created or which user created it.</p>
@@ -292,7 +292,7 @@
<br/>
<code>TraceMetamodelAdapter</code> interface.
</p>
- <p><figure> <img src="../images/interface.png" width="600"></img> <figcaption> Figure 14: Use of the method &#8220;isThereATraceBetween()&#8221; provided by the `TraceMetamodelAdapter` interface </figcaption></figure></p>
+ <p><figure> <img src="../images/interface.png" width="600"/> <figcaption> Figure 14: Use of the method &#8220;isThereATraceBetween()&#8221; provided by the `TraceMetamodelAdapter` interface </figcaption></figure></p>
<h4 id="adding-a-custom-traceability-metamodel">Adding a custom Traceability Metamodel</h4>
<p>To define your own traceability metamodel follow the steps below:</p>
<ol>
@@ -306,7 +306,7 @@
<code>model</code> folder create a new file and name it
<code>MyTraceabilityMetaModel.xcore</code>. A pop up window will appear asking if you want to add the Xtext nature to the project. Click &#8220;Yes&#8221;.
</li>
- <li>Define your traceability metamodel as required. In our example, we add two types of traceability links i.e &#8220;implements&#8221; and &#8220;tests&#8221; <figure> <img src="../images/traceMetamodelDefinition.pdf" width="400"></img> <figcaption> Figure 15: Tracemetamodel Definition </figcaption> </figure> </li>
+ <li>Define your traceability metamodel as required. In our example, we add two types of traceability links i.e &#8220;implements&#8221; and &#8220;tests&#8221; <figure> <img src="../images/traceMetamodelDefinition.pdf" width="400"/> <figcaption> Figure 15: Tracemetamodel Definition </figcaption> </figure> </li>
<li>Open the
<code>plugin.xml</code> file of the new project and click on the &#8220;Extension Points&#8221; tab
</li>
@@ -314,19 +314,19 @@
<li>In the text box for the &#8220;Extension point filter&#8221; type &#8220;Traceability&#8221; and select
<code>org.eclipse.capra.configuration.TraceabilityMetaModel</code>
</li>
- <li>Click Finish. <figure> <img src="../images/addTraceExtension.pdf" width="500"></img> <figcaption> Figure 16: Adding the Trace metamodel extension point </figcaption> </figure> </li>
+ <li>Click Finish. <figure> <img src="../images/addTraceExtension.pdf" width="500"/> <figcaption> Figure 16: Adding the Trace metamodel extension point </figcaption> </figure> </li>
<li>Another pop up window will appear asking if you want to add the project
<code>org.eclipse.capra.core</code> to the list of plugin dependencies. Click Yes
</li>
<li>Right click on the newly added extension, and click on &#8220;New&#8221; then
<code>TraceabilityMetaModelAdapter</code>. A new
- <code>TraceabilityMetaModelAdapter</code> will be created <figure> <img src="../images/newTMAdapter.pdf" width="700"></img> <figcaption> Figure 17: Adding the Trace metamodel extension point </figcaption> </figure>
+ <code>TraceabilityMetaModelAdapter</code> will be created <figure> <img src="../images/newTMAdapter.pdf" width="700"/> <figcaption> Figure 17: Adding the Trace metamodel extension point </figcaption> </figure>
</li>
<li>Click on the newly created
<code>TraceabilityMetaModelAdapter</code>. On the right hand side, we need to provide a class for this extension, where we will implement all the required interfaces.
</li>
<li>Click on &#8220;Class&#8221; and a pop up window for creating a new class will appear. Make sure the folder is
- <code>src</code> and name your class <figure> <img src="../images/newClass.pdf" width="700"> </img> <figcaption> Figure 18: Add new Class </figcaption> </figure> <figure> <img src="../images/addNewTraceAdapterClass.png" width="500"></img> <figcaption> Figure 19: Add new Trace Adapter Class </figcaption> </figure>
+ <code>src</code> and name your class <figure> <img src="../images/newClass.pdf" width="700"> </img> <figcaption> Figure 18: Add new Class </figcaption> </figure> <figure> <img src="../images/addNewTraceAdapterClass.png" width="500"/> <figcaption> Figure 19: Add new Trace Adapter Class </figcaption> </figure>
</li>
<li>Click Finish and a class will be created with the methods to be implemented in it. </li>
<li>Implement all the methods according to your new custom metamodel. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name. </li>
@@ -338,7 +338,7 @@
<code>model</code> folder, create a new file and name it
<code>artifact.xcore</code>.
</li>
- <li>Define the artifact metamodel as in the picture below. Note that you can modify this definition to fit your needs. <figure> <img src="../images/artifactMetamodelDefinition.png" width="400"></img> <figcaption> Figure 20: Artifact Metamodel definition </figcaption> </figure> </li>
+ <li>Define the artifact metamodel as in the picture below. Note that you can modify this definition to fit your needs. <figure> <img src="../images/artifactMetamodelDefinition.png" width="400"/> <figcaption> Figure 20: Artifact Metamodel definition </figcaption> </figure> </li>
<li>Next, open the
<code>plugin.xml</code> file of the project and click on the &#8220;Extension Points&#8221; tab
</li>
@@ -348,10 +348,10 @@
</li>
<li>Right click on the newly added extension, and click on &#8220;New&#8221; then
<code>ArtifactMetamodelAdapter</code>. A new
- <code>ArtifactMetamodelAdapter</code> will be created <figure> <img src="../images/newArtifactAdapter.png" width="600"></img> <figcaption> Figure 21: Artifact adapter definition </figcaption> </figure>
+ <code>ArtifactMetamodelAdapter</code> will be created <figure> <img src="../images/newArtifactAdapter.png" width="600"/> <figcaption> Figure 21: Artifact adapter definition </figcaption> </figure>
</li>
<li>Click on &#8220;Class&#8221; and a pop up window for creating a new class will appear. Make sure the folder is
- <code>src</code> and name your class <figure> <img src="../images/newArtifactAdapterClass.png" width="500"></img> <figcaption> Figure 22: Artifact adapter Class definition </figcaption> </figure>
+ <code>src</code> and name your class <figure> <img src="../images/newArtifactAdapterClass.png" width="500"/> <figcaption> Figure 22: Artifact adapter Class definition </figcaption> </figure>
</li>
<li>Click Finish and a class will be created with the methods to be implemented in it. </li>
<li>Implement all the methods according to your new custom metamodel. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name. </li>
@@ -383,13 +383,13 @@
<code>org.eclipse.capra.core</code> to the list of plugin dependencies. Click Yes
</li>
<li>Right click on the newly added extension, and click on &#8220;New&#8221;, then &#8220;ArtifactHandler&#8221;. A new
- <code>ArtifactHandler</code> will be created. <figure> <img src="../images/newArtifactHandler.png" width="600"></img> <figcaption> Figure 23: New Artifact Handler definition </figcaption> </figure>
+ <code>ArtifactHandler</code> will be created. <figure> <img src="../images/newArtifactHandler.png" width="600"/> <figcaption> Figure 23: New Artifact Handler definition </figcaption> </figure>
</li>
<li>Click on the newly created
<code>ArtifactHandler</code>. On the right hand side, we need to provide a class for this extension, where we will implement all the required interfaces.
</li>
<li>Click on &#8220;Class&#8221; and a pop up window for creating a new class will appear. Make sure the folder is
- <code>src</code> and name your class <figure> <img src="../images/newArtifactClass.png" width="500"></img> <figcaption> Figure 24: New Artifact Handler Class definition </figcaption> </figure>
+ <code>src</code> and name your class <figure> <img src="../images/newArtifactClass.png" width="500"/> <figcaption> Figure 24: New Artifact Handler Class definition </figcaption> </figure>
</li>
<li>Click Finish and a class will be created with the methods to be implemented in it. In this case there are only two methods.</li>
<li>Implement all the methods according to your new custom metamodel. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name. </li>
@@ -415,7 +415,7 @@
<li>Edit the static variables
<code>DEFAULT_PROJECT_NAME</code>,
<code>DEFAULT_TRACE_MODEL_NAME</code> and
- <code>DEFAULT_ARTIFACT_WRAPPER_MODEL_NAME</code> to reflect the new location and new model names for your traceability model and artifact wrapper model. <figure> <img src="../images/editPersistenceHandler.png" width="700"></img> <figcaption> Figure 25: Editing existing Persistence Handler </figcaption> </figure>
+ <code>DEFAULT_ARTIFACT_WRAPPER_MODEL_NAME</code> to reflect the new location and new model names for your traceability model and artifact wrapper model. <figure> <img src="../images/editPersistenceHandler.png" width="700"/> <figcaption> Figure 25: Editing existing Persistence Handler </figcaption> </figure>
</li>
<li>Save the project and Run Capra</li>
</ol>
@@ -435,19 +435,19 @@
<li>Click on Add. A pop up window will appear with a list of available extension points.</li>
<li>Un-check the checkbox that says &#8220;Show only extension points from the required plugins&#8221; </li>
<li>In the textbox for &#8220;Extension point filter&#8221; type &#8220;Persistence&#8221;, select
- <code>org.eclipse.capra.configuration.persistenceHandler</code> and click Finish. <figure> <img src="../images/addPersistenceHandler.png" width="500"></img> <figcaption> Figure 26: Add new Persistence Handler </figcaption> </figure>
+ <code>org.eclipse.capra.configuration.persistenceHandler</code> and click Finish. <figure> <img src="../images/addPersistenceHandler.png" width="500"/> <figcaption> Figure 26: Add new Persistence Handler </figcaption> </figure>
</li>
<li>Another pop up window will appear asking if you want to add the project
<code>org.eclipse.capra.core</code> to the list of plugin dependencies. Click Yes.
</li>
<li>Right click on the newly added extension, and click on &#8220;New&#8221;, then
- <code>persistenceHandler</code>. A new Persistence Handler will be created. <figure> <img src="../images/newPersistenceHandler.png" width="600"></img> <figcaption> Figure 27: New Persistence Handler </figcaption> </figure>
+ <code>persistenceHandler</code>. A new Persistence Handler will be created. <figure> <img src="../images/newPersistenceHandler.png" width="600"/> <figcaption> Figure 27: New Persistence Handler </figcaption> </figure>
</li>
<li>Click on the newly created
<code>persistenceHandler</code>. On the right hand side, we need to provide a class for this extension, where we will implement all the required interfaces.
</li>
<li>Click on &#8220;Class&#8221; and a pop up window for creating a new class will appear. Make sure the folder is
- <code>src</code> and name your class. <figure> <img src="../images/newPersistenceHandlerClass.png" width="500"></img> <figcaption> Figure 28: New Persistence Handler Class </figcaption> </figure>
+ <code>src</code> and name your class. <figure> <img src="../images/newPersistenceHandlerClass.png" width="500"/> <figcaption> Figure 28: New Persistence Handler Class </figcaption> </figure>
</li>
<li>Click Finish and a class will be created with the methods to be implemented in it. In this case there are only two methods.</li>
<li>Implement all the methods according to your needs. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name.</li>
@@ -465,7 +465,7 @@
<code>DefaultPriorityHander.java</code>.
</li>
<li>Modify the code to have the right handler selected. For instance, the code below selects a
- <code>hudsonHandler</code> when the element selected is a Test element and also a build element. <figure> <img src="../images/priorityHandlerCode.png" width="700"></img> <figcaption> Figure 29: Code for the Priority Handler </figcaption> </figure>
+ <code>hudsonHandler</code> when the element selected is a Test element and also a build element. <figure> <img src="../images/priorityHandlerCode.png" width="700"/> <figcaption> Figure 29: Code for the Priority Handler </figcaption> </figure>
</li>
</ol>
<h3 id="adding-new-source-files">Adding new source files</h3>
diff --git a/org.eclipse.capra.documentation/docu/Capra Documentation.textile b/org.eclipse.capra.documentation/docu/capraDocumentation.textile
index 9b64f6f6..0794204e 100644
--- a/org.eclipse.capra.documentation/docu/Capra Documentation.textile
+++ b/org.eclipse.capra.documentation/docu/capraDocumentation.textile
@@ -45,7 +45,7 @@ h5(#installing-through-an-update-site). Installing through an update site
* Go to perspectives and switch to the Capra perspective
* Now you can create traceability links as described in "Creating Traceability Links":#creating-traceability-links.
-<figure><img src="../images/updatesite.png" width="600"></img><figcaption>Figure 1: Installing Capra from the Updatesite</figcaption></figure>
+<figure><img src="../images/updatesite.png" width="600"/><figcaption>Figure 1: Installing Capra from the Updatesite</figcaption></figure>
h5(#manual-installation-import-from-git). Manual installation (Import from Git)
@@ -102,7 +102,7 @@ To demonstrate features of Capra, we take an example of the development of a Hea
These artifacts are shown in the figure below in the context of the development environment of the HVAC system.
-<figure><img src="../images/hvacProjects.png" width="800"></img><figcaption>Figure 2: Resources for the HVAC system</figcaption></figure>
+<figure><img src="../images/hvacProjects.png" width="800"/><figcaption>Figure 2: Resources for the HVAC system</figcaption></figure>
h4(#creating-traceability-links). Creating Traceability Links
@@ -122,10 +122,10 @@ h5(#a-link-from-a-requirement-to-a-feature-representing-the-requirement-in-the-f
# To start, open the requirements (@HVAC_Requirements.reqif@ file), with the "Sample Reflective Ecore Editor" view.
# Expand the model to see the requirements. Drag Req 3 and drop it in the Selection view.
-# Next, open the feature model (@HVAC_Variants.pld@), drag and drop the feature named "Blower" into the selection view as well as shown in the figure below. <figure> <img src="../images/selectionView1.png" width="400"></img> <figcaption> Figure 3: Capra Selection View </figcaption> </figure>
-# Right click on the selection view and click on "Create Trace". <figure> <img src="../images/createTrace.png" width="400"></img> <figcaption> Figure 4: Creating a traceability link </figcaption> </figure>
+# Next, open the feature model (@HVAC_Variants.pld@), drag and drop the feature named "Blower" into the selection view as well as shown in the figure below. <figure> <img src="../images/selectionView1.png" width="400"/> <figcaption> Figure 3: Capra Selection View </figcaption> </figure>
+# Right click on the selection view and click on "Create Trace". <figure> <img src="../images/createTrace.png" width="400"/> <figcaption> Figure 4: Creating a traceability link </figcaption> </figure>
# A pop up window will appear, showing the types of links that can be created based on the selected element.
-# Choose a traceability link type to create (in our case "RelatedTo") and click OK. <figure> <img src="../images/relatedTo.png" width="400"></img> <figcaption> Figure 5: Creating a traceability link of type "RelatedTo" </figcaption> </figure> Since this is our first traceability link, a new folder will appear in the workspace with the name @__WorkspaceTraceModels@. This folder contains your trace model which contains the traceability link we just created and an artifact wrapper model which contains EMF representations of artifacts that are not in EMF format. In our case the artifact model should be empty since the artifacts we used to create the traceability link are all EMF elements. The trace model (@traceModel.xmi@) should contain only one traceability link. <figure> <img src="../images/traceLink.png" width="700"></img> <figcaption> Figure 6: A traceability link of type "RelatedTo" </figcaption> </figure>
+# Choose a traceability link type to create (in our case "RelatedTo") and click OK. <figure> <img src="../images/relatedTo.png" width="400"/> <figcaption> Figure 5: Creating a traceability link of type "RelatedTo" </figcaption> </figure> Since this is our first traceability link, a new folder will appear in the workspace with the name @__WorkspaceTraceModels@. This folder contains your trace model which contains the traceability link we just created and an artifact wrapper model which contains EMF representations of artifacts that are not in EMF format. In our case the artifact model should be empty since the artifacts we used to create the traceability link are all EMF elements. The trace model (@traceModel.xmi@) should contain only one traceability link. <figure> <img src="../images/traceLink.png" width="700"/> <figcaption> Figure 6: A traceability link of type "RelatedTo" </figcaption> </figure>
# To remove the elements from the selection view, there are two options:
## Right click on an element and select "Remove from Selection". This will only remove the selected element.
## Right click anywhere on the selection view and click on "Clear selection". This will remove all elements in the selection view.
@@ -177,17 +177,17 @@ To view the traceability links related to an artifact and the connected artifact
The graphical view allows you to explore directly connected elements or transitively connected elements. To use the latter functionality, click on the downward arrow on right hand corner of the Plant UML View and click on "Toggle Transitivity". This enables you to move from viewing only directly connected elements to the selected element, to viewing all the transitively connected elements. Use the same button to return to the previously active view.
-<figure> <img src="../images/toggleTransitivity.pdf" width="600"></img> <figcaption> Figure 7: Toggle Transitivity </figcaption></figure>
+<figure> <img src="../images/toggleTransitivity.pdf" width="600"/> <figcaption> Figure 7: Toggle Transitivity </figcaption></figure>
h5(#traceability-matrix). Traceability matrix
The traceability matrix can be created by selecting at least two model elements when the "Plant UML View" is open. This will list all the model elements as rows and columns and an "x" mark will appear to show that there is a traceability link between two elements. For instance, the picture below shows the resulting matrix when selecting Req3 and the artifact wrapper representing the PDF document.
-<figure> <img src="../images/matrixView.png" width="400"></img> <figcaption> Figure 8: Matrix View as a result of selecting two elements </figcaption></figure>
+<figure> <img src="../images/matrixView.png" width="400"/> <figcaption> Figure 8: Matrix View as a result of selecting two elements </figcaption></figure>
Selecting more than two model elements expands the matrix into a square matrix with same elements listed vertically and horizontally.
-<figure> <img src="../images/matrixViewMany.png" width="600"></img> <figcaption> Figure 9: Matrix view as a result of selecting more than two elements </figcaption></figure>
+<figure> <img src="../images/matrixViewMany.png" width="600"/> <figcaption> Figure 9: Matrix view as a result of selecting more than two elements </figcaption></figure>
h4(#detecting-and-fixing-inconsistencies). Detecting and Fixing Inconsistencies
@@ -197,9 +197,9 @@ The problems detected by Capra are shown in the @Problems View@ with a type "Cap
# Go to the "Project Explorer" and expand the project containing test cases.
# Delete the file @BlowerTest.java@.
-# Look at the @Problems view@ and you will see a warning with a type "Capra Problem". The issue tells you that there is a traceability link that points to a file named @BlowerTest.java@, but that file has been deleted. <figure> <img src="../images/problemView.png" width="700"></img> <figcaption> Figure 9: Problem view showing Capra errors </figcaption> </figure>
+# Look at the @Problems view@ and you will see a warning with a type "Capra Problem". The issue tells you that there is a traceability link that points to a file named @BlowerTest.java@, but that file has been deleted. <figure> <img src="../images/problemView.png" width="700"/> <figcaption> Figure 9: Problem view showing Capra errors </figcaption> </figure>
# Right click on the warning and select Quick fix.
-# A window will appear showing the quick fixes options available. In this case there is one option, which is to delete the traceability link related to @BlowerTest.java@ file. <figure> <img src="../images/quickFix.png" width="500"></img> <figcaption> Figure 10: Quick Fixes </figcaption> </figure>
+# A window will appear showing the quick fixes options available. In this case there is one option, which is to delete the traceability link related to @BlowerTest.java@ file. <figure> <img src="../images/quickFix.png" width="500"/> <figcaption> Figure 10: Quick Fixes </figcaption> </figure>
# Click Finish.
# Notice that the traceability link has been deleted and the warning disappears.
@@ -207,11 +207,11 @@ h4(#analyzing-change-impact). Analyzing change impact
In this section, we describe scenarios in which Capra can be used to facilitate change impact analysis. Change impact analysis means being able to evaluate the effect a change to an artifact will have to other artifacts. Using the HVAC example, assume that the customer requests a change on the requirement @REQ-3@. Before such a change is made, it is important for the company to know which other artefacts will be affected. With Capra, this can be done by selecting @REQ-3@ and then using the visualization, one can see all other artefacts that are related to @REQ-3@ too.
-<figure> <img src="../images/toggleTransitivity.pdf" width="700"></img> <figcaption> Figure 11: Capra graphical view showing directly connected elements </figcaption></figure>
+<figure> <img src="../images/toggleTransitivity.pdf" width="700"/> <figcaption> Figure 11: Capra graphical view showing directly connected elements </figcaption></figure>
For further analysis, clicking on Toggle transitivity as shown in th figure below will show all artifacts connected to @REQ-3@ and their connnections to other artifacts. The end user can therefore use this information as a starting point for performing impact analysis.
-<figure> <img src="../images/graphical-view-transitive.pdf" width="500"></img> <figcaption> Figure 12: Capra graphical view showing transitively connected elements </figcaption></figure>
+<figure> <img src="../images/graphical-view-transitive.pdf" width="500"/> <figcaption> Figure 12: Capra graphical view showing transitively connected elements </figcaption></figure>
h2(#developer-guide). Developer Guide
@@ -230,7 +230,7 @@ Additionally, Capra has an API which makes traceability data available to other
The figure below depicts the extension points. The rationale for each of them is described in the following.
-<figure> <img src="../images/capraArchitecture.png" width="600"></img> <figcaption> Figure 13: The Architecture of Capra </figcaption></figure>
+<figure> <img src="../images/capraArchitecture.png" width="600"/> <figcaption> Figure 13: The Architecture of Capra </figcaption></figure>
h4(#traceability-metamodel). Traceability Metamodel
@@ -259,7 +259,7 @@ Capra provides several programming interfaces that can be used by other plugins
A good example on how these methods can be used is in the plugin @org.eclipse.capra.ui.plantuml@. This plugin utilizes the methods to get the traceability model and its links and also to determine which artifacts are connected by the links. The plugin uses the results of these methods to create a string that can be rendered as a diagram using the PlantUML view. For example in the file @VisualizationHelper@, the method @CreateMatrix()@ calls a method @isThereATraceBetween()@ which is part of the
@TraceMetamodelAdapter@ interface.
-<figure> <img src="../images/interface.png" width="600"></img> <figcaption> Figure 14: Use of the method "isThereATraceBetween()" provided by the `TraceMetamodelAdapter` interface </figcaption></figure>
+<figure> <img src="../images/interface.png" width="600"/> <figcaption> Figure 14: Use of the method "isThereATraceBetween()" provided by the `TraceMetamodelAdapter` interface </figcaption></figure>
h4(#adding-a-custom-traceability-metamodel). Adding a custom Traceability Metamodel
@@ -268,15 +268,15 @@ To define your own traceability metamodel follow the steps below:
# Create a Java project and name it @org.eclipse.capra.MyTraceabilityMetaModel@
# Create a new folder and name it @model@
# In the @model@ folder create a new file and name it @MyTraceabilityMetaModel.xcore@. A pop up window will appear asking if you want to add the Xtext nature to the project. Click "Yes".
-# Define your traceability metamodel as required. In our example, we add two types of traceability links i.e "implements" and "tests" <figure> <img src="../images/traceMetamodelDefinition.pdf" width="400"></img> <figcaption> Figure 15: Tracemetamodel Definition </figcaption> </figure>
+# Define your traceability metamodel as required. In our example, we add two types of traceability links i.e "implements" and "tests" <figure> <img src="../images/traceMetamodelDefinition.pdf" width="400"/> <figcaption> Figure 15: Tracemetamodel Definition </figcaption> </figure>
# Open the @plugin.xml@ file of the new project and click on the "Extension Points" tab
# Un-check the check box that says "Show only extension points from the required plugins"
# In the text box for the "Extension point filter" type "Traceability" and select @org.eclipse.capra.configuration.TraceabilityMetaModel@
-# Click Finish. <figure> <img src="../images/addTraceExtension.pdf" width="500"></img> <figcaption> Figure 16: Adding the Trace metamodel extension point </figcaption> </figure>
+# Click Finish. <figure> <img src="../images/addTraceExtension.pdf" width="500"/> <figcaption> Figure 16: Adding the Trace metamodel extension point </figcaption> </figure>
# Another pop up window will appear asking if you want to add the project @org.eclipse.capra.core@ to the list of plugin dependencies. Click Yes
-# Right click on the newly added extension, and click on "New" then @TraceabilityMetaModelAdapter@. A new @TraceabilityMetaModelAdapter@ will be created <figure> <img src="../images/newTMAdapter.pdf" width="700"></img> <figcaption> Figure 17: Adding the Trace metamodel extension point </figcaption> </figure>
+# Right click on the newly added extension, and click on "New" then @TraceabilityMetaModelAdapter@. A new @TraceabilityMetaModelAdapter@ will be created <figure> <img src="../images/newTMAdapter.pdf" width="700"/> <figcaption> Figure 17: Adding the Trace metamodel extension point </figcaption> </figure>
# Click on the newly created @TraceabilityMetaModelAdapter@. On the right hand side, we need to provide a class for this extension, where we will implement all the required interfaces.
-# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class <figure> <img src="../images/newClass.pdf" width="700"> </img> <figcaption> Figure 18: Add new Class </figcaption> </figure> <figure> <img src="../images/addNewTraceAdapterClass.png" width="500"></img> <figcaption> Figure 19: Add new Trace Adapter Class </figcaption> </figure>
+# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class <figure> <img src="../images/newClass.pdf" width="700"> </img> <figcaption> Figure 18: Add new Class </figcaption> </figure> <figure> <img src="../images/addNewTraceAdapterClass.png" width="500"/> <figcaption> Figure 19: Add new Trace Adapter Class </figcaption> </figure>
# Click Finish and a class will be created with the methods to be implemented in it.
# Implement all the methods according to your new custom metamodel. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name.
@@ -285,12 +285,12 @@ h4(#adding-a-custom-artifact-metamodel). Adding a custom Artifact metamodel
To define your own artifact metamodel, follow the steps below:
# In the same project used to define the traceability metamodel, go to the @model@ folder, create a new file and name it @artifact.xcore@.
-# Define the artifact metamodel as in the picture below. Note that you can modify this definition to fit your needs. <figure> <img src="../images/artifactMetamodelDefinition.png" width="400"></img> <figcaption> Figure 20: Artifact Metamodel definition </figcaption> </figure>
+# Define the artifact metamodel as in the picture below. Note that you can modify this definition to fit your needs. <figure> <img src="../images/artifactMetamodelDefinition.png" width="400"/> <figcaption> Figure 20: Artifact Metamodel definition </figcaption> </figure>
# Next, open the @plugin.xml@ file of the project and click on the "Extension Points" tab
# Un-check the checkbox that says "Show only extension points from the required plugins"
# In the textbox for "Extension point filter" type "Artifact" and select @org.eclipse.capra.configuration.ArtifactMetamodel@
-# Right click on the newly added extension, and click on "New" then @ArtifactMetamodelAdapter@. A new @ArtifactMetamodelAdapter@ will be created <figure> <img src="../images/newArtifactAdapter.png" width="600"></img> <figcaption> Figure 21: Artifact adapter definition </figcaption> </figure>
-# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class <figure> <img src="../images/newArtifactAdapterClass.png" width="500"></img> <figcaption> Figure 22: Artifact adapter Class definition </figcaption> </figure>
+# Right click on the newly added extension, and click on "New" then @ArtifactMetamodelAdapter@. A new @ArtifactMetamodelAdapter@ will be created <figure> <img src="../images/newArtifactAdapter.png" width="600"/> <figcaption> Figure 21: Artifact adapter definition </figcaption> </figure>
+# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class <figure> <img src="../images/newArtifactAdapterClass.png" width="500"/> <figcaption> Figure 22: Artifact adapter Class definition </figcaption> </figure>
# Click Finish and a class will be created with the methods to be implemented in it.
# Implement all the methods according to your new custom metamodel. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name.
@@ -309,9 +309,9 @@ As an example, we describe how the Java artifact handler was added using the fol
# Un-check the checkbox that says "Show only extension points from the required plugins"
# In the textbox for "Extension point filter" type "Artifact" and select @org.eclipse.capra.configuration.ArtifactMetaModel@ and click Finish.
# Another pop up window will appear asking if you want to add the project @org.eclipse.capra.core@ to the list of plugin dependencies. Click Yes
-# Right click on the newly added extension, and click on "New", then "ArtifactHandler". A new @ArtifactHandler@ will be created. <figure> <img src="../images/newArtifactHandler.png" width="600"></img> <figcaption> Figure 23: New Artifact Handler definition </figcaption> </figure>
+# Right click on the newly added extension, and click on "New", then "ArtifactHandler". A new @ArtifactHandler@ will be created. <figure> <img src="../images/newArtifactHandler.png" width="600"/> <figcaption> Figure 23: New Artifact Handler definition </figcaption> </figure>
# Click on the newly created @ArtifactHandler@. On the right hand side, we need to provide a class for this extension, where we will implement all the required interfaces.
-# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class <figure> <img src="../images/newArtifactClass.png" width="500"></img> <figcaption> Figure 24: New Artifact Handler Class definition </figcaption> </figure>
+# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class <figure> <img src="../images/newArtifactClass.png" width="500"/> <figcaption> Figure 24: New Artifact Handler Class definition </figcaption> </figure>
# Click Finish and a class will be created with the methods to be implemented in it. In this case there are only two methods.
# Implement all the methods according to your new custom metamodel. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name.
@@ -327,7 +327,7 @@ h4(#edit-existing-persistence-handler). Edit existing Persistence Handler
# Expand the project @org.eclipse.capra.generic.persistance@.
# Expand the @src@ folder and then the @org.eclipse.capra.generic.persistence@ package
# Open the file @TracePersistenceAdapter.java@.
-# Edit the static variables @DEFAULT_PROJECT_NAME@, @DEFAULT_TRACE_MODEL_NAME@ and @DEFAULT_ARTIFACT_WRAPPER_MODEL_NAME@ to reflect the new location and new model names for your traceability model and artifact wrapper model. <figure> <img src="../images/editPersistenceHandler.png" width="700"></img> <figcaption> Figure 25: Editing existing Persistence Handler </figcaption> </figure>
+# Edit the static variables @DEFAULT_PROJECT_NAME@, @DEFAULT_TRACE_MODEL_NAME@ and @DEFAULT_ARTIFACT_WRAPPER_MODEL_NAME@ to reflect the new location and new model names for your traceability model and artifact wrapper model. <figure> <img src="../images/editPersistenceHandler.png" width="700"/> <figcaption> Figure 25: Editing existing Persistence Handler </figcaption> </figure>
# Save the project and Run Capra
h4(#add-a-new-persistence-handler). Add a new Persistence Handler
@@ -337,11 +337,11 @@ h4(#add-a-new-persistence-handler). Add a new Persistence Handler
# Expand the @META-INF@ folder , Open the @MANIFEST.MF@ file and click on the "Extensions" tab.
# Click on Add. A pop up window will appear with a list of available extension points.
# Un-check the checkbox that says "Show only extension points from the required plugins"
-# In the textbox for "Extension point filter" type "Persistence", select @org.eclipse.capra.configuration.persistenceHandler@ and click Finish. <figure> <img src="../images/addPersistenceHandler.png" width="500"></img> <figcaption> Figure 26: Add new Persistence Handler </figcaption> </figure>
+# In the textbox for "Extension point filter" type "Persistence", select @org.eclipse.capra.configuration.persistenceHandler@ and click Finish. <figure> <img src="../images/addPersistenceHandler.png" width="500"/> <figcaption> Figure 26: Add new Persistence Handler </figcaption> </figure>
# Another pop up window will appear asking if you want to add the project @org.eclipse.capra.core@ to the list of plugin dependencies. Click Yes.
-# Right click on the newly added extension, and click on "New", then @persistenceHandler@. A new Persistence Handler will be created. <figure> <img src="../images/newPersistenceHandler.png" width="600"></img> <figcaption> Figure 27: New Persistence Handler </figcaption> </figure>
+# Right click on the newly added extension, and click on "New", then @persistenceHandler@. A new Persistence Handler will be created. <figure> <img src="../images/newPersistenceHandler.png" width="600"/> <figcaption> Figure 27: New Persistence Handler </figcaption> </figure>
# Click on the newly created @persistenceHandler@. On the right hand side, we need to provide a class for this extension, where we will implement all the required interfaces.
-# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class. <figure> <img src="../images/newPersistenceHandlerClass.png" width="500"></img> <figcaption> Figure 28: New Persistence Handler Class </figcaption> </figure>
+# Click on "Class" and a pop up window for creating a new class will appear. Make sure the folder is @src@ and name your class. <figure> <img src="../images/newPersistenceHandlerClass.png" width="500"/> <figcaption> Figure 28: New Persistence Handler Class </figcaption> </figure>
# Click Finish and a class will be created with the methods to be implemented in it. In this case there are only two methods.
# Implement all the methods according to your needs. Note that information about what each method does and its parameters can be obtained by hovering the mouse over the respective method name.
@@ -352,7 +352,7 @@ There are cases where for one artifact type, there are several handlers availabl
# Expand the project @org.eclipse.capra.generic.priority@.
# Expand the src folder and then the @org.eclipse.capra.generic.priority@ package.
# Open the file @DefaultPriorityHander.java@.
-# Modify the code to have the right handler selected. For instance, the code below selects a @hudsonHandler@ when the element selected is a Test element and also a build element. <figure> <img src="../images/priorityHandlerCode.png" width="700"></img> <figcaption> Figure 29: Code for the Priority Handler </figcaption> </figure>
+# Modify the code to have the right handler selected. For instance, the code below selects a @hudsonHandler@ when the element selected is a Test element and also a build element. <figure> <img src="../images/priorityHandlerCode.png" width="700"/> <figcaption> Figure 29: Code for the Priority Handler </figcaption> </figure>
h3(#adding-new-source-files). Adding new source files
diff --git a/org.eclipse.capra.documentation/mainTOC.xml b/org.eclipse.capra.documentation/mainTOC.xml
new file mode 100644
index 00000000..2147aef1
--- /dev/null
+++ b/org.eclipse.capra.documentation/mainTOC.xml
@@ -0,0 +1,18 @@
+<toc label="Capra Documentation">
+<link toc="toc/capra_Documentation.xml"/>
+<anchor id="capraDocumentation"/>
+
+<topic href="docu/capraDocumentation.html#user-guide" label="User Guide">
+<link toc="toc/capra_Documentation.xml"/>
+<topic href="docu/capraDocumentation.html#introduction-what-is-capra" label="Introduction - What is Capra?"></topic>
+<topic href="docu/capraDocumentation.html#getting-started" label="Getting Started"></topic>
+<topic href="docu/capraDocumentation.html#traceability-concepts" label="Traceability Concepts"></topic>
+<topic href="docu/capraDocumentation.html#practical-examples" label="Practical Examples"></topic>
+</topic>
+<topic href="docu/capraDocumentation.html#developer-guide" label="Developer Guide">
+<link toc="toc/capra_Documentation.xml"/>
+<topic href="docu/capraDocumentation.html#architecture-of-capra" label="Architecture of Capra"></topic>
+<topic href="docu/capraDocumentation.html#capra-api" label="Capra API"></topic>
+<topic href="docu/capraDocumentation.html#rerefences" label="Rerefences"></topic>
+</topic>
+</toc> \ No newline at end of file
diff --git a/org.eclipse.capra.documentation/plugin.xml b/org.eclipse.capra.documentation/plugin.xml
index 79764167..7cd1503a 100644
--- a/org.eclipse.capra.documentation/plugin.xml
+++ b/org.eclipse.capra.documentation/plugin.xml
@@ -4,9 +4,13 @@
<extension
point="org.eclipse.help.toc">
<toc
- file="docu/Capra Documentation-toc.xml"
+ file="mainTOC.xml"
primary="true">
</toc>
+ <toc
+ file="docu/capraDocumentation-toc.xml"
+ primary="false">
+ </toc>
</extension>
</plugin>

Back to the top