Skip navigation.
Home
Semantic Software Lab
Concordia University
Montréal, Canada

Semantic Assistants: Eclipse Plug-In

Printer-friendly versionPrinter-friendly versionPDF versionPDF version

1. Overview

Our Eclipse plug-in integrates the Eclipse development environment into the Semantic Assistants architecture. It provides a user interface for offering various Natural Language Processing services to users. In particular, when using Eclipse as a software development environment, you can now offer novel semantic analysis services, such as named entity detection or quality analysis of source code comments, to software developers [1].

Semantic Assistants in EclipseSemantic Assistants in Eclipse

2. Features

The Semantic Assistants plug-in is basically a Java archive (JAR) file that ships with its own specific content and a description file to introduce itself to the Eclipse plug-in loader. Once the Semantic Assistants plug-in is installed, it adds a new menu item to the Eclipse toolbar through which a user can inquire about available Natural Language Processing services and execute them on one or multiple files and even complete projects residing inside the Eclipse workspace.

Semantic Assistants menu in EclipseSemantic Assistants menu in Eclipse

Subsequently, the results of successful service invocations are provided in a view part inside Eclipse as it is shown in the picture above. The Semantic Assistants plug-in also offers additional, Eclipse-specific features. For instance, when executing source code related NLP services special markers are dynamically generated to attach annotation instances to the corresponding document (provided the invocation results contain the position of the generated annotations in the code). This offers a convenient way for users to navigate directly from annotation instances in the Semantic Assistants view to the line of code in the project where it actually belongs.

Semantic Assistants view in EclipseSemantic Assistants view in Eclipse

Below you can see an example of Semantic Assistants generated markers inside the Eclipse editor part. Here, the generated marker is highlighting the line of code where an annotation generated by the Java comment analysis service (JavadocMiner) invocation was added. By hovering over the markers on the left ruler of the editor, the list of the annotation's features are presented to the user. The Semantic Assistants plug-in is designed in such a way that it can handle multiple markers on one line. In such a situation, multiple markers are shown as a list to the user and each can be identified separately in the Eclipse markers view.

Semantic Assistants generated markers in EclipseSemantic Assistants generated markers in Eclipse

For more information about how to install and use this plug-in, please refer to the Eclipse plug-in documentation that comes with the Semantic Assistants architecture. For a general motivation and application examples, please read our research paper:Butz, C., and P. Lingras (Eds.), Witte, R., B. Sateli, N. Khamis, and J. Rilling, "Intelligent Software Development Environments: Integrating Natural Language Processing with the Eclipse Platform", 24th Canadian Conference on Artificial Intelligence (Canadian AI 2011), vol. 6657, St. John's, Newfoundland and Labrador, Canada : Springer-Verlag, pp. 408–419, May 25–27, 2011.

3. Download & Installation

If you just want to install the plug-in, you can do this directly from within Eclipse (Help → Install New Software) and add our repository at the Location: http://sa-eclipse.semanticsoftware.info. Then select the "Semantic Assistants" plug-in and follow the installation steps. It is recommended to read the Eclipse chapter in the User's Guide.

If you also want to install your own Semantic Assistants server (offering NLP services), or do development on the plug-in itself, you should obtain the complete Semantic Assistants Architecture.


References

  1. Butz, C., and P. Lingras (Eds.), Witte, R., B. Sateli, N. Khamis, and J. Rilling, "Intelligent Software Development Environments: Integrating Natural Language Processing with the Eclipse Platform", 24th Canadian Conference on Artificial Intelligence (Canadian AI 2011), vol. 6657, St. John's, Newfoundland and Labrador, Canada : Springer-Verlag, pp. 408–419, May 25–27, 2011.