Information Technology Reference
In-Depth Information
edges (represented by direct callers of n ). To clarify, suppose, for example, that in
some system there is a log method of the Logger class which is called by five other
methods in different classes (the fan-in of the log method is 5). Methods with a high
fan-in (such as log) represent behaviour that is likely to be crosscutting (as it is called
from several places) and is a strong candidate for an aspect [36].
Considering the viewpoint-based model the same concept can be applied thinking
about action verbs that are referenced by some viewpoints (the viewpoint contains the
action verb in its requirements). An action verb can be automatically identified using
POS tags and getting the verbs that represent an action. For each action verb (e.g.,
“log”) its fan-in is analyzed (e.g., viewpoints X, Y, Z and W contain “log” in their
requirements). In this example “log” has a high fan-in (fan-in = 4) and is likely to be a
functional early aspect. Considering a use case-based model functional early aspects
can also be thought of as use cases with a high fan in (e.g., a log use case can
participate in an include relationship with several other use cases such as buy, sell,
register).
3.1.2 Applying Filters
When the model is initially created it is likely to have lots of candidate concepts (e.g.,
listing all nouns as candidate viewpoints can generate many candidates depending on
the size of the input document), therefore filtering options are important. Some filters
are:
Setting a threshold to get only the N most significant concepts (e.g., viewpoints).
This information can be easily obtained from NLP tools such as WMATRIX as it
returns data such as the frequency of occurrence of words. WMATRIX offers
different types of frequencies (not only simple word counts) that enables to check
what concepts are most relevant considering the context of the document;
Stemmers make it possible to recognize words such as (“driver” and “drivers”,
“gate” and “gates”, “vehicle” and “vehicles”) present in the toll system example in
Fig. 2a as the same concepts;
Synonym list tools contain operations for returning the synonyms of a specific
word. This makes it possible to identify, for example, that “freeway” and
“motorways” in Fig.2a are synonyms and should be treated as the same concept.
4 EA-Miner
EA-Miner utilizes NLP-based techniques and mining analysis discussed in Sect. 3 to
automate AORE tasks. Before detailing how EA-Miner works it is important to get a
general understanding about its architecture (Fig. 4). The tool is now implemented as
an Eclipse plug-in (the initial versions in [23, 24] were web-based) and offers several
views (e.g., a Tree-based view of the Viewpoint model) of the underlying model built
as Java objects. The Controller is responsible for checking the state of the tagging
process in WMATRIX and instantiating the specific internal model parser (e.g.,
Viewpoint parser) which parses the requirements document and generates the specific
internal model.
Search WWH ::




Custom Search