How To Use FEAT

Concepts and Functionality

This is a brief overview of the use of FEAT. More detailed information about the features of FEAT can be found in the description of tasks and views. With FEAT, a typical usage scenario begins with first identifying a concern of interest. A concern of interest is typically a subset of the code which needs to be considered to perform a change to a Java program. For example, in a GUI-based application, a typical concern is the support for adding menus and attaching actions to these menus. Concerns of interests are identified outside of FEAT.

When a concern of interest is identified, it can be modeled with FEAT. To do so, it is necessary to Create a Concern Graph. A Concern Graph can represent multiple concerns all relevant to a task.

Once a Concern Graph is created, it is possible to either add Java elements (such as methods or classes) to the current concern in the Participants View, or to query an element in the Projection View. Elements can be queried or added to a concern or projection through the context menu either in the Eclipse Package Explorer or Outline View. Adding the element to the concern does not affect the state of Eclipse. To view the concern with the newly added element, the FEAT Perspective must be opened. Adding the element to the FEAT Projection opens the FEAT Perspective.

The FEAT Perspective shows the Concern Graphs View, the Participants View, the Relations View, and the a pane of FEAT Editors. A concern is typically built by either adding relations to the concern for the Relations View, or by performing queries on the elements in the Participants View and Projection View and adding the results to the concern.

Concerns can also be compared, and saved to disk. Inconsistent concerns can be detected and repaired. New changes made to the source code can be recorded and extracted to a new concern.