Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Capra"

(Added a section about customization of Capra)
Line 1: Line 1:
Capra is a configurable and extendable traceability management tool based on EMF. It is created in the context of an ITEA funded project called AMALTHEA4Public whose main aim is to develop a platform that will improve the development of embedded multicore and many core systems.
+
Eclipse Capra is a configurable and extendable traceability management tool based on EMF. It is created in the context of an ITEA funded project called AMALTHEA4Public whose main aim is to develop a platform that will improve the development of embedded multicore and many core systems.
  
 
The project website can be found [https://projects.eclipse.org/projects/modeling.capra here].
 
The project website can be found [https://projects.eclipse.org/projects/modeling.capra here].
Line 5: Line 5:
 
= How it works =
 
= How it works =
  
Capra uses the Eclipse Modelling Framework (EMF) as its base technology and stores the traceability model as an EMF model. Out of the box, it provides a number of artifact handlers that allow using, e.g., Papyrus UML models, Java methods, C functions, or Hudson builds as sources and targets for traceability links. New traceability links can be created with drag and drop and changes to the artifacts that affect the traceability links are shown in the Problems view.
+
Eclipse Capra uses the Eclipse Modelling Framework (EMF) as its base technology and stores the traceability model as an EMF model. Out of the box, it provides a number of artifact handlers that allow using, e.g., Papyrus UML models, Java methods, C functions, or Hudson builds as sources and targets for traceability links. New traceability links can be created with drag and drop and changes to the artifacts that affect the traceability links are shown in the Problems view.
  
 
The traceability metamodel is not fixed and can be defined by the user. It relies on the Eclipse Extension mechanism and provides an extension point for artifacts types to be supported. To add a new type of artifact, one simply needs to add an extension to this extension point and implement the provided interfaces.
 
The traceability metamodel is not fixed and can be defined by the user. It relies on the Eclipse Extension mechanism and provides an extension point for artifacts types to be supported. To add a new type of artifact, one simply needs to add an extension to this extension point and implement the provided interfaces.
Line 19: Line 19:
 
=== Pre-requisites ===
 
=== Pre-requisites ===
  
Before downloading and using Capra, download the [http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/neon2 Eclipse Modelling Environment] and make sure you have the listed dependencies installed. All other dependencies will be downloaded automatically when Capra is installed. In particular, parts of [https://eclipse.org/papyrus/ Papyrus], the [https://www.eclipse.org/jdt Java Development Tools], the [https://www.eclipse.org/cdt/ C/C++ Development Tools], [https://wiki.eclipse.org/Xcore Xcore], and [https://eclipse.org/xtend/ Xtend] will be installed. We understand this is cumbersome and are currently working to reduce the number of dependencies to make sure that everyone only needs those tools installed they actually use in practice. You can track the progress of this effort [https://bugs.eclipse.org/bugs/show_bug.cgi?id=508880 here] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=508881 here].
+
Before downloading and using Eclipse Capra, download the [https://www.eclipse.org/downloads/packages/ Eclipse Modelling Environment]. All dependencies will be downloaded automatically when Eclipse Capra is installed. In particular, parts of [https://eclipse.org/papyrus/ Papyrus], the [https://www.eclipse.org/jdt Java Development Tools], the [https://www.eclipse.org/cdt/ C/C++ Development Tools], [https://wiki.eclipse.org/Xcore Xcore], and [https://eclipse.org/xtend/ Xtend] will be installed. We understand this is cumbersome and are currently working to reduce the number of dependencies to make sure that everyone only needs those tools installed they actually use in practice. You can track the progress of this effort [https://bugs.eclipse.org/bugs/show_bug.cgi?id=508880 here] and [https://bugs.eclipse.org/bugs/show_bug.cgi?id=508881 here].
 
+
* [https://www.eclipse.org/rmf/download.php RMF]: Install through Eclipse's "Install new software..." feature
+
* [http://plantuml.com/eclipse.html PlantUML]: It might be necessary to install [http://www.graphviz.org Graphviz] binaries on your system to view the visualisation of traceability links via PlantUML. A visualisation with less features via Eclipse Zest is also available.
+
  
 
=== Get the source code ===
 
=== Get the source code ===
Line 28: Line 25:
 
* Open your Eclipse Environment
 
* Open your Eclipse Environment
 
* Go to File --> Import and select Git --> Projects from Git
 
* Go to File --> Import and select Git --> Projects from Git
* Use the [https://git.eclipse.org/r/capra/org.eclipse.capra Capra Git repository] and import all available projects to your workspace. Information about the developer resources and the source code repositories is available at [https://projects.eclipse.org/projects/modeling.capra/developer the project website].
+
* Use the [https://git.eclipse.org/r/capra/org.eclipse.capra Eclipse Capra Git repository] and import all available projects to your workspace. Information about the developer resources and the source code repositories is available at [https://projects.eclipse.org/projects/modeling.capra/developer the project website].
 +
* Make sure to switch to the *develop* branch if you want to use the current version of Eclipse Capra
 
* All dependencies are listed in the target platform file org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target. Set it as the active target platform by opening it and clicking on "Set as Target Platform" in the upper right corner. Eclipse will now download all dependencies. Note that this will take a while. Check the progress in the lower right corner.
 
* All dependencies are listed in the target platform file org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target. Set it as the active target platform by opening it and clicking on "Set as Target Platform" in the upper right corner. Eclipse will now download all dependencies. Note that this will take a while. Check the progress in the lower right corner.
 
* Build your workspace
 
* Build your workspace

Revision as of 15:07, 17 April 2019

Eclipse Capra is a configurable and extendable traceability management tool based on EMF. It is created in the context of an ITEA funded project called AMALTHEA4Public whose main aim is to develop a platform that will improve the development of embedded multicore and many core systems.

The project website can be found here.

How it works

Eclipse Capra uses the Eclipse Modelling Framework (EMF) as its base technology and stores the traceability model as an EMF model. Out of the box, it provides a number of artifact handlers that allow using, e.g., Papyrus UML models, Java methods, C functions, or Hudson builds as sources and targets for traceability links. New traceability links can be created with drag and drop and changes to the artifacts that affect the traceability links are shown in the Problems view.

The traceability metamodel is not fixed and can be defined by the user. It relies on the Eclipse Extension mechanism and provides an extension point for artifacts types to be supported. To add a new type of artifact, one simply needs to add an extension to this extension point and implement the provided interfaces.

Getting Started

Installing Capra from the Update Site

An update site with nightly builds of the current development branch of Capra is available here. Use the update site to install Capra through Eclipse's "Install Software..." functionality.

Installing Capra from Sourcecode

Pre-requisites

Before downloading and using Eclipse Capra, download the Eclipse Modelling Environment. All dependencies will be downloaded automatically when Eclipse Capra is installed. In particular, parts of Papyrus, the Java Development Tools, the C/C++ Development Tools, Xcore, and Xtend will be installed. We understand this is cumbersome and are currently working to reduce the number of dependencies to make sure that everyone only needs those tools installed they actually use in practice. You can track the progress of this effort here and here.

Get the source code

  • Open your Eclipse Environment
  • Go to File --> Import and select Git --> Projects from Git
  • Use the Eclipse Capra Git repository and import all available projects to your workspace. Information about the developer resources and the source code repositories is available at the project website.
  • Make sure to switch to the *develop* branch if you want to use the current version of Eclipse Capra
  • All dependencies are listed in the target platform file org.eclipse.capra.releng.target/org.eclipse.capra.releng.target.target. Set it as the active target platform by opening it and clicking on "Set as Target Platform" in the upper right corner. Eclipse will now download all dependencies. Note that this will take a while. Check the progress in the lower right corner.
  • Build your workspace
  • Make sure that all the projects have no errors.

If compilation errors occur during the first build, check if any of the dependencies above are missing. Cleaning all binaries also often helps resolve issues.

Run Capra

  • Make sure that all the projects have no errors.
  • Click on Run --> Run Configurations and create a new Eclipse Application Configuration
  • Select your running workspace
  • Click "Apply", then "Run"
  • Once the new workspace opens, create or import projects that you want to use to create traceability links
  • Go to perspectives and switch to the Capra perspective
  • Follow this video to create and visualize traceability links.

Customizing Capra

Eclipse Capra has been designed for extensibility and configurability. Many aspects of Capra can be changed by implementing a new plugin and registering it to the right extension points. This includes which artifacts Eclipse Carpa can handle, how the traceability links are persisted, and of course the traceability link types.

Adding a custom traceability meta-model

Contributing to Capra

The Capra project uses the Eclipse infrastructure for development, source code management, building, and bug tracking. Please refer to Capra/Contributing for details on how to contribute.

Back to the top