Creating a Concern Graph
Involves initializing the tool and opening a file in which to store the
results of your program investigation.
The first step to analyze a code base with FEAT is to create a Concern
Graph. A Concern Graph is for storing a collection of concerns relevant
to a particular task. A concern is for storing all the classes/methods/fields
of interests and the relations among themselves. There are two ways to create
an empty concern graph:
Manually creating a new concern graph object from "new" button
or menu.
- In the Package Explorer,
right-click on the project that your new concern graph will be based on.
- Select New | Other | Concern Graphs | Concern Graph (note that
you can customize your Java perspective to have Concern Graphs appear directly
in the new menu. See the Eclipse Documentation). A dialog box will appear.
- Follow the wizard pages, fill in the Concern Graph Name and select
necessary packages.
- Click finish to let FEAT analyze source code and creating an empty concern
graph.
- After progress indicator disappears, click on perspective icon to switch
to FEAT perspective to see the new concern graph created.
Important: Creating a new concern graph will unload the
currently loaded concern graph in FEAT, if there is one. Unsaved concern
graph will be lost.
Automatically invoking a new concern creation wizard.
- In the Package Explorer,
right click on a particular method/class/field that belong to the project
you want to build a concern upon, and do a query action.

- A message will pop up, saying there is currently no concern graph in FEAT,
and asking whether to create one now. Click yes.
- And now you can follow the wizard
pages, fill in the Concern Graph Name and select necessary packages.
- Click finish to let FEAT analyze source code and creating an empty concern
graph.
- After progress indicator disappears, click on perspective icon to switch
to FEAT perspective to see
the new concern graph created.
Important: this method is valid only when there's no concern
graph loaded in FEAT, otherwise no new concern creation wizard will be invoked
and a regular query will take place instead.
After an empty concern is created, the next natural step of using FEAT to explore
a changing task or feature would be querying the source
code and building a Cocnern Graph.