====== How to Use Ptidej to Identify Occurrences of Design Motifs: A Quick Start ======

+

====== How to Use Ptidej to Identify Occurrences of Design Motifs ======

By [[gaochushu@googlemail.com|Chushu Gao]] and [[yann-gael.gueheneuc@polymtl.ca|Yann-Gaël Guéhéneuc]].

By [[gaochushu@googlemail.com|Chushu Gao]] and [[yann-gael.gueheneuc@polymtl.ca|Yann-Gaël Guéhéneuc]].

Line 9:

Line 9:

This guide based on the experience on Ecilpes 3.5 in WindowsXP and Fedora Eclipse released with FC11. It should work with any Eclipse version but you must install the [[https://​www.eclipse.org/​cdt/​|C/​C++ Development Tooling]] (CDT) for the C++ creator to work. To do so, install first Eclipse; then go to Help -> Install New Software, visit the [[https://​www.eclipse.org/​cdt/​|CDT Web site]], and install the CDT Main Features.

This guide based on the experience on Ecilpes 3.5 in WindowsXP and Fedora Eclipse released with FC11. It should work with any Eclipse version but you must install the [[https://​www.eclipse.org/​cdt/​|C/​C++ Development Tooling]] (CDT) for the C++ creator to work. To do so, install first Eclipse; then go to Help -> Install New Software, visit the [[https://​www.eclipse.org/​cdt/​|CDT Web site]], and install the CDT Main Features.

-

===== 2. Check out Ptidej ​projects ​=====

+

===== 2. Checking ​out the Ptidej ​Projects ​=====

You need an account to access [[https://​web.soccerlab.polymtl.ca/​rptidej/​ptidejlab/​Software/​Ptidej 5 Workspace/​|Ptidej SVN repository]],​ please ask [[yann-gael.gueheneuc@polymtl.ca|Yann-Gaël Guéhéneuc]] by e-mail. Check out Ptidej using the appropriate [[http://​www.ptidej.net/​team/​development/​psf/​|Team Set file]]. If there are build errors after checking out the projects, they usually result of missing project dependencies. Use the quick fix in Eclipse or manually add projects in the project'​s Java Build Path. Other errors may relate to the incorrect library setting, such as JUnit or JRE.

You need an account to access [[https://​web.soccerlab.polymtl.ca/​rptidej/​ptidejlab/​Software/​Ptidej 5 Workspace/​|Ptidej SVN repository]],​ please ask [[yann-gael.gueheneuc@polymtl.ca|Yann-Gaël Guéhéneuc]] by e-mail. Check out Ptidej using the appropriate [[http://​www.ptidej.net/​team/​development/​psf/​|Team Set file]]. If there are build errors after checking out the projects, they usually result of missing project dependencies. Use the quick fix in Eclipse or manually add projects in the project'​s Java Build Path. Other errors may relate to the incorrect library setting, such as JUnit or JRE.

-

===== 3. Run in Eclipse =====

+

===== 3. Running ​in Eclipse =====

==== 3.1 Ptidej UI Viewer Swing Standalone ====

==== 3.1 Ptidej UI Viewer Swing Standalone ====

-

Even if there are projects ​that failed ​to build, the Ptidej UI Viewer Swing Standalone ​is still able to start thanks to the use of reflection. In Eclipse, run it as an application and see the video for details on how to use the GUI ([[http://​www.ptidej.net/​downloads/ptidejdemo/PtidejDemo.avi]]).

+

Even if some projects ​fail to build, the ''​Ptidej UI Viewer Swing Standalone''​ can still run thanks to the use of reflection. In Eclipse, run it as an application and watch [[http://​www.ptidej.net/​download/misc/|this video]] for details on how to use the GUI.

-

==== 3.2 Batch mode ====

+

==== 3.2 Batch Mode ====

-

Make sure the project '​Ptidej Solver ​Test' is successfully built. Some projects are not required though listed in the required projects section of Java Build Path. My working set of projects includes CPL, JChoco, PADL, PADL Analyses, PADL Creator ClassFile, PADL Design Motifs, Ptidej, and Ptidej Solver 4.

+

Make sure the project ​''​Ptidej Solver ​Tests'' is successfully built. Some projects are not required though listed in the required projects section of the project properties, under Java Build Path. A working set of projects includes ​''​CPL''​, ''​JChoco''​, ''​PADL''​, ''​PADL Analyses''​, ''​PADL Creator ClassFile''​, ''​PADL Design Motifs''​, ''​Ptidej''​, and ''​Ptidej Solver 4'',​ see also the available [[http://​www.ptidej.net/​team/​development/​psf/​|Team Project Files]]. The path to the JAR or class files that you want to analyse must be set in class ''​ptidej.solver.helper.DesignMotifsIdentifer'':​ modify its code to fit your settings and run its main method. The path for the result files is also set in this class.

-

The path to JAR or class files you want to analyse is in the class DesignMotifIdentificationCaller ("/​Ptidej Solver Tests/​src/​ptidej/​solver/​helper/​DesignMotifIdentificationCaller.java"​). Modify code to fit your settings and run this class. The path to the result file is also set in this class.

+

===== 4. Running as a JAR =====

-

+

The classes necessary to identify occurrences of design motifs can be packaged ​into a runnable JAR using ''​Run Configuration'' ​in Step 3.2 and the Eclipse Export ​in Eclipse 3.5 on Windows XP. You may get the error messages below when running this JAR on Fedora, where the default JDK is OpenJDK1.6:

-

+

-

===== 4. Run as JAR =====

+

-

+

-

I Compile the project ​into a runnable JAR with the Run Configuration in step 3.2 using Eclipse Export ​on Eclipse 3.5 in WinXP. You will get the error messages below when running this JAR in Fedora where default JDK is OpenJDK1.6:

+

<​code>​

<​code>​

Line 51:

Line 47:

</​code>​

</​code>​

-

So you may consider to run this JAR in the java environment ​using SunJDK.

+

Please contact [[yann-gael.gueheneuc@polymtl.ca|Yann-Gaël Guéhéneuc]] if you run into this problem or consider running ​this JAR using Sun's JDK.

-

+

===== 5. Memory Usage =====

===== 5. Memory Usage =====

-

For big JAR or class files, give enough memory to the JVM, wit -Xmx2048M ​you will be able to anlyse the UI part of JDT 3.0.

+

When analysing large JAR files or large sets of class files, give enough memory to the JVM, with ''​-Xmx2048M''​. Tests show that it is possible to analyse Eclipse entirely.