Extract
Extractor: quick overview
Extractor, is an approach for automatic usage model extraction. It extracts the static architecture of a system, augments it with the behavioral information obtained from control-flow analysis of its components and test cases, and generates the system's usage models. These usage models enable researchers to conduct a broad area of experiments which otherwise requires having access to already available usage models or manually crafting ones. These experiments fall into a large spectrum spanning over fault tolerance analysis, reliability analysis, stress testing, performance prediction, and even more subjective quality related aspects of a system such as responsiveness and usability.
Get Extract
ARCADE
ARCADE can be used as it is. It can be downloaded here: [1] A manual how it can be used can be found here: [2]
Prepare Development Environment
To get Extract you have to follow the following instructions. The first step to run Extract or contribute to the development is to prepare the development environment:
- Download and run the Mars release of Eclipse Modeling Tools
- Install Subversive (SVN Team Provider) and a svn connector (e.g. SVN-Kit) using the Eclipse Marketplace
- Install JaMoPP 1.4.1 from the nightly update site called "update_trunk" (do not use the Eclipse Marketplace as this will give you JaMoPP 1.4)
- we did some performance optimizations to JaMoPP. If you want to have this code clone our fork from JaMoPP from the following link: JaMoPP Fork
- Install the "Palladio Bench Core Features" from the PCM release update site
- To get the source code framework you have to:
- import the Team Project Set (user: anonymous password: anonymous) and references to all projects from the svn repository (user: anonymous password: anonymous)
- Package Explorer context menu: Import - Team - Team Project Set - URL
- If you cannot import directly from svn, try to save the Team Project Set and to import from disk
- import the Team Project Set (user: anonymous password: anonymous) and references to all projects from the svn repository (user: anonymous password: anonymous)
Run Extract
After you set up Extract correctly you can run it as follows with one of our test projects:
- download the following file: Test projects. You need a program that is able to extract 7zip files to extract the archive. For Windows you can use [3]. Within the file you find a lot of projects and the output of extracted files using Extract.
- Within the ConfigurationFile you can find configuration files.
- a configuration file specifies the information for the project you want to investigate, e.g. the source code path
- you can adapt the provided configuration files to work on your local machine by setting the correct path
- In your Eclipse: create a new run configuration and choose the main Arcade2PCMWorkflow.
- In the Argument tab you need to specify the path to the configuration file, which you like to execute
- We also recommended to specify the memory the program can use. You can do this by adding, for example, -Xms1024m -Xmx4096m to the "VM arguments" section in the Arguments Tab of your new configuration.
- now you can run the program. After it has finished you can find the output in the output folder you specified in the configuration file.
Evaluation Data
- we conducted a case study to show the i) that we are able to create correct usage models for CoCoME, a project with already existing use cases and tests that cover the use cases, and ii) the scalability of the approach for real world software projects
- the input data as well as the resulting files can be downloaded here (Note: the file is about 400 MB).
- You need a program that is able to extract 7zip files to extract the archive. For Windows you can use [4].
- You can see the results for the projects in the project folders.
- The usage models, for example, we extracted for CoCoME are in the CoCoME folder.