wiki:EclipseInterface

Version 2 (modified by manualwiki, 13 years ago) (diff)

--

ErlIDE is an Eclipse-based development environment, which aims to assist programming of large scale Erlang applications. In order to integrate RefactorErl? into Eclipse, we are engaged in creating an Eclipse plugin based on ErlIDE, which can enable access to all the functionality provided by RefactorErl?, whilst utilising ErlIDE features as well. A prototype of the Eclipse plugin is already available.

Installation

Software requirements

  • The plugin is being developed and tested in Eclipse 3.5.2. (It likely works with newer versions as well.)
  • This user interface is built upon ErlIDE, therefore it is required to have it with Eclipse. Inasmuch as the main structure of ErlIDE has been changed in its version v0.11.6.201107010651, it is necessary to get the latest version.
  • Finally, you can download the plugin itself from the RefactorErl? homepage.

Deployment

To install this plugin you need to download the source code from the home page of the RefactorErl. In order to generate the binaryes of the plugin you can compile it using ant or the compiler of Eclipse. Finally you have to copy the generated jar files into your Eclipse plugin directory. In Eclipse 3.5.x:

<user home>/.eclipse/org.eclipse.platform_3.5.0_155965261/plugin

Compiling the plugin in Eclipse

todo

Compile plugin using Ant

todo

Configuration

The plugin, in order to be able to access RefactorErl?, has to be set up before the first usage. For the configuration dialog, go to Window / Preferences / RefactorErl?.

Start background process automatically
If set, the plugin launches a new instance of the tool, otherwise an already running RefactorErl? process will be used.
RefactorErl? directory
The installation directory of the tool.
Working directory
A temporary directory, used to store the configuration files of RefactorErl?. It is assumed to be a writable directory.
Waiting time
This parameter represents the waiting time (in seconds) after starting RefactorErl? process (has to be set to greater than 1). The slower access is possible to Erlang nodes, the greater value is suggested.
Synchronize workspace automatically then model changed
If a source file has been changed, the extension automatically updates its inner representation within the tool.
Reset database before full synchronization
Resets the database and erases its contents in the case of a full synchronisation. The use of this feature is recommended for RefactorErl? developers only.

Database management

The Eclipse extension supports every database management functionality that is available in the RefactorErl? tool. These can be executed from the top menu:

  • Add file,
  • Drop file,
  • Reset database,
  • Load directory,
  • Undo (one step only).

You can get a list of the database contents by clicking on RefactorErl? / Files / Database contents. A new tab, called Database contents pops up showing the modules having been loaded into RefactorErl?. Also, you can select and drop modules from the tool database, and you can open files for editing.

Executing refactoring transformations

todo

Executing semantic queries

todo

Clustering

The RefactorErl? tool provides a feature for reorganising the structure of the software, called clustering. It determines semantic dependencies among the modules and functions and makes suggestion to the developer how to repartition the software: blocks of modules, headers etc. As the RefactorErl? tool, the Eclipse plugin supports the clustering on different entities like functions or modules. Although the module clustering can be executed using both genetic and agglomerative algorithms, the function clustering supports only the former one.

To execute a clustering algorithm, you should select either of them from the top menu (e.g: RefactorErl? / Module / Genetic). Every clustering method has the same input window, where you can adjust the parameters of the algorithm. (It's the usage and the required parameters of the different methods are detailed in Clustering section). When the calculation has been finished, a new window pops up with the results of the clustering algorithm.

Attachments (12)

Download all attachments as: .zip