27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 1.<br />

Figure 1 shows an overview of the process of prospectively<br />

capturing traceability links—numbers denote steps, triangled<br />

steps denote user actions, a nd circled steps denote autom ated<br />

tool support. A user may select which rules to apply prior to<br />

any recording session (Step A). The user initiates a recording<br />

session in the trace tool (1). The trace tool invokes appropriate<br />

tool-specific recorders (2, brown arrows) whenever the user<br />

opens specific artifacts. As the user perform s development<br />

tasks and accesses, generates, or edits artifacts (3), each<br />

recorder captures the user interaction eve nts. Each e vent<br />

captured is associated with the resource path and perha ps a<br />

location within the resource. When the user ends the recording<br />

session of the trace tool (4), the adapters output the ca ptured<br />

events to a common event log (5, green arrows). The trace tool<br />

orders the events sequentiall y. Rules may be autom atically<br />

applied to transform the event log into traceability links (6).<br />

Finally, the new traceability links are added to the linkbase (7).<br />

IV. TOOL SUPPORT<br />

We implemented ACTS within ArchStudio, an<br />

architecture-centric development environment integrated with<br />

Eclipse [10] 1 . We focused on relating artifacts to the structural<br />

representation of the architecture and we de signed our system<br />

to achieve the goals of supporting stakeholder-driven<br />

traceability and prospectively capturing links ac ross<br />

heterogeneous artifacts. Detailed usage scenarios are in [7].<br />

A. Using Open Hypermedia Concepts<br />

A main difficulty with current traceability approac hes is<br />

tracing across heterogeneous artifacts and tools [14]. Previous<br />

efforts to integrate off-the-shelf (OTS ) software development<br />

tools required the framework to adjust to the assumptions of the<br />

OTS tools [25] or required OTS developers to adhere to the<br />

environment's framework [1]. In contrast, our approach<br />

loosely integrates existing independently developed tools into a<br />

traceability framework via open hypermedia techniques such as<br />

adapters and first class traceability links (see [7]).<br />

To support us er-customized link capture, we designed the<br />

tool to have an explicit ex tension point for incorporating<br />

custom adapters. The adapters, which utilize a third party tool's<br />

API, are external to the trace tool and are i ndependent of each<br />

Prospectively capturing traceability links<br />

other. In addition to the concept of rendering adapters that are<br />

used in a hypermedia system [3], we cre ated recording and<br />

maintenance adapters. Recording ada pters capture user<br />

interactions within the context of the tools. Rendering adapters<br />

render the artifacts within th e context of the third-pa rty tool<br />

when a link is navigated. Finally, maintenance adapters detect<br />

if a traced artifact has been deleted, modified, or moved.<br />

Capturing links across heteroge neous artifacts is supported<br />

through tool-specific recorders. The following tools are<br />

supported: Eclipse, Mozilla F irefox, MS Office (Word, Excel,<br />

Powerpoint), and Adobe Acrobat. Currently, only the artifacts<br />

launched within these tools can be prospectively captured;<br />

however, adapters can also be implemented for other tools.<br />

To support queries and upda tes, we use first class n-ary<br />

traceability links. We currently use a xADL file [28] whi ch is<br />

an XML-based architecture descri ption language to store our<br />

linkbase; xADL was extende d with a traceability schem a. A<br />

traceability link consists of a set of two or more endpoints that<br />

share a common relationship.<br />

B. Using Rules<br />

We use rules to analyze a potentially la rge set of user<br />

interaction events and to aut omate the capture of traceability<br />

links. Rules are used to filter noise by ignoring user<br />

interactions based on a criterion (e.g., “ignore files<br />

*ProjectX*”, “ignore Save events”). Rules are also used to<br />

transform the user interactions to traceability links by using a<br />

criterion (e.g., patterns of events or primary trace artifact). To<br />

decouple heuristics from the trace tool, rul es are external to<br />

ACTS. Rules are im plemented as XSL Transformations<br />

(XSLT) on XML, and Xalan-Java acts as our rule engine. A<br />

rule is usually represented by a single XSLT file.<br />

Rules may be applied in the background or interactively. To<br />

apply rules in the background, the user selects the rules prior to<br />

a recording se ssion. The rules are automatically applied after<br />

each recording session. To apply rules interactive ly, ACTS<br />

prompts the user to select a rule after each recording session.<br />

The status of link transformation is displayed and additional<br />

rules may be applied. In both cases, traceability links are added<br />

to the linkbase after the rule application.<br />

1 For info on the tool, see http://faculty.washington.edu/hazeline/acts/<br />

414

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!