SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
research:dpd:dpjf:usage [2012/03/23 14:29]
alex.binun
research:dpd:dpjf:usage [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Using DPJF ======
 +
 +===== Verify the Installation =====
 +
 +  - Start Eclipse with the required command line arguments. You can do this in one of the following ways: 
 +    * Open the folder that contains our Eclipse distribution in [[:​research:​dpd:​dpjf:​01a-install-zip|special installation for Windows 32]] and launch the file //​startup.bat//​
 +    * Use the link, alias or batch file created in step 5 of [[:​research:​dpd:​dpjf:​01b-install-components|manual installation of the individual DPJF components]]
 +  - During the first startup you might see a '​Run ​ File-Security Warning' ​
 +    message (in Windows). Just click '​Run'​ to tell Windows that the 
 +    Prolog runtime is a trusted process.
 +  - When Eclipse has finished starting, check that it displays a "​JTransformer"​ menu.
 +    Then the installation was successful.
 +
 +===== Open the DPJF Perspective =====
 +
 +If you have run the [[:​research:​dpd:​dpjf:​01a-install-zip|special installation for Windows 32]] 
 +you will see the following layout of Eclipse views, called the DPJF perspective. If it is not 
 +displayed, you can always explicitly [[:​research:​dpd:​dpjf:​setview|switch to the DPJF perspective]].
 +It consists of:
 +  - **The Package Explorer**: The upper left view displays the Java projects in your Eclipse workspace.
 +  - **The JTransformer Control Center**: The middle-left view displays installed JTransformer plugins
 +    and lets users activate, deactivate, configure and run them. DPJF is a set of such plugins.
 +  - **The JT Analysis Results View**: The middle-right view displays the anaylsis results from the installed JTransformer
 +    plugins, including the design pattern candidates found by DPJF. You will see the information about program ​
 +    elements playing roles in DP candidates and the links to the corresponding places in the source code.
 +  - **The Prolog Console**: The bottom view is the Prolog Console, which displays what happens ​
 +    under the cover. Here you can interact with DPJF or JTransformer at a low abstraction level
 +    entering queries manually. Most users will never need this layer of detail. ​
 +
 +{{:​research:​dpd:​dpjf:​dpjfperspective-start.png?​900|DPJF Perspective in Eclipse. Click to enlarge.}}
 +/​*{{:​research:​dpd:​dpjf:​eclipse_screenshot.png?​750|Eclipse with DPJF}}*/
 +
 +
 +===== Design Pattern Detection Workflow =====
 +
 +
 +=== Load Project ===
 + 
 +You can detect design patterns on any Java project in your workspace. ​
 +Eventually you might want to import one or check one out via SVN from our 
 +++collection of DPD benchmark projects| at https://​svn.iai.uni-bonn.de/​repos/​IAI_Software/​dpd/​benchmarks/​trunk/​SourceCode/​java ++
 +
 +Our [[installation]] package comes with the factbases for the [[start#​benchmarks|benchmark projects]] used for the evaluation reported in our {{binunkniesel-submission.pdf|CSMR 2012 paper}}. However, make sure that the letters "​JT"​ appear near the project(s) you want to detect patterns in. If not, you can [[generate|generate a factbase]] for this project.
 +=== Choose Factbase ===
 +
 +To enable design pattern detection on a Java project P 
 +[[generate|generate,​ load and select a factbase]] for P.
 +       
 +=== Detect Design Patterns ===
 +
 +DPJF supports two forms of Design Pattern Detection (DPD): ​
 +  * **Batch DPD**, where analysis is triggered manually by the user
 +  * **Continuous DPD**, where analysis results are automatically updated upon every saved change of a file
 +
 +DPJF supports two different batch DPD workflows, adapted to the two main user profiles:
 +  * **[[engineers|DPD for Software Engineers]]** who are interested in quick results, not in meta-issues ​
 +  * **[[researchers|DPD for Researchers]]** who want to assess the precision, recall and speed of DPJF
 +
 +Continuous DPD is a unique feature of DPJF, enabled by its very [[start#​speed|high query speed]].
 +It can be seen as an especially convenient form of [[engineers|DPD for Software Engineers]]: ​
 +  * Users simply select the DPD plugins that should always run automatically by setting the 'On Save' trigger in the JTransformer Control Center. ​
 +  * Henceforth, the results displayed in the Result View and the markers displayed in editors will be updated automatically after each file save  ​
 +
  
research/dpd/dpjf/usage.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020