<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>REDEPEND: Tool support for i* modelling in large- scale industrial projects</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>James Lockerbie</string-name>
          <email>J.Lockerbie@soi.city.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Neil Maiden</string-name>
          <email>N.A.M.Maiden@city.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centre for HCI Design, City University London</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <fpage>69</fpage>
      <lpage>72</lpage>
      <abstract>
        <p>This paper describes our REDEPEND tool for i* modelling and analysis, and its features designed to make it more usable and useful in industrial projects. We present usability features, pattern-based techniques that generate text requirements statements from i* models, an extension to i* means-end links using satisfaction arguments, and an approach to integrate i* with an existing in-house requirements process.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Whilst the i* approach [1] has been developed and applied to case studies for some
time, it has not been applied widely in industrial requirements projects. This is despite
the undoubted strengths of i*, which include a simple but formal and stable
semantics, a graphical modelling notation that is simple to use, models that are amenable to
computational analysis, and applicability in both agent-oriented and goal-oriented
requirements methods. We believe this lack of industrial uptake is due to: (i) the lack
of robust, useful and usable tools for developing and analysing i* models; (ii)
inadequate semantics to express i* means-end links; and (iii) poor integration with
inhouse requirements processes. These points form the basis of one of main research
objectives – to deliver a usable and useful i* modelling tool along with new
techniques to integrate the i* approach successfully in large-scale industrial requirements
projects.</p>
      <p>The remainder of this paper presents our i* modelling tool, REDEPEND, and a
summary of our research results over the past 6 years.</p>
    </sec>
    <sec id="sec-2">
      <title>The REDEPEND i* Modelling Tool</title>
      <p>The REDEPEND tool provides systems engineers with i* modelling and analysis
functions, coupled with additional functionality and reliability of Microsoft Visio. It
provides a graphical palette from which systems engineers can drag-and-drop i*
concepts to develop Strategic Dependency (SD) and Rationale (SR) models. REDEPEND
also provides systems engineers with simple functions to assist modelling, such as
providing a verification alert if a model change violates i* modelling constraints.</p>
      <p>We have successfully applied i* and REDEPEND to model requirements for major
air traffic management systems [2, 3, 4]. These projects have provided valuable
recommendations from analysts to enable us to improve the usability of REDEPEND,
and to extend its features to better integrate i* with in-house requirements processes.
We believe that these new features and approaches are essential to the successful
uptake of i* in industrial projects. The following sections describe these features.</p>
    </sec>
    <sec id="sec-3">
      <title>Usability Features of REDEPEND</title>
      <p>REDEPEND has been developed to contain features that make it more usable when
handling larger i* models. For example, the user can link corresponding actors in
related models to facilitate simple navigation and rapid access to different parts of a
modelled system according to viewpoints – commonly between SD and SR models.
This link feature also provides the user with change synchronization options to enable
model consistency, e.g. changing an actor name in one model can be propagated
through to another. REDEPEND also provides colour-coding and check features to
highlight and shade-out model elements using layers, to partition and mark up models
during analysis and review tasks. Some of these features can be seen in Figure 1(a).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Productivity Features of REDEPEND</title>
      <p>To make REDEPEND more useful to requirements analysts we designed simple
patterns – recurring syntactic and semantic structures in i*– that are applied
automatically to any SD model expressed in REDEPEND to generate textual requirement
statements. Each pattern defines one or more desired properties (requirements) on the
future system that must be satisfied for the SD model dependency to hold for the
future system. As such, the SD model, which has been signed off as complete and
correct, informs further discovery and specification of requirements statements. The
concepts and patterns underlying this approach are described at length in [4].
b
c</p>
      <p>Figure 1 demonstrates how REDEPEND generates requirements from an analyst’s
perspective: (a) the analyst accesses the requirements generation function from the
REDEPEND pull-down menu. (b) REDEPEND delivers the candidate requirements
into tailored MS Excel sheets. The analyst can tick and un-tick selected requirement
statements prior to generating structured VOLERE [5] shells in MS Word, as
depicted in (c). Each requirement in the document is structured using and expressed
with a partially complete VOLERE shell specifying: a unique id; the requirement
type; the requirement description; a rationale of canned text describing how the
requirement was generated; and the source dependency in the SD model.</p>
    </sec>
    <sec id="sec-5">
      <title>Requirements Process Integration Using REDEPEND</title>
      <p>We extended REDEPEND to support the specification of satisfaction arguments
from REVEAL [6] to provide additional information to i* means-end links by
associating them with important properties of the problem domain. REDEPEND
automatically generates a new satisfaction argument sheet for the selected goal or soft goal as
shown in Figure 2a. The selected goal or soft goal is the default end-element, and
each element that is a means to the goal or soft goal is a means-element.
Meanselements from within the same actor boundary as the end-element are documented in
the internal tab, with the external tab displaying means-elements from other actors.
Changes made by the analyst to the satisfaction argument sheet and model are
propagated automatically to both, thus keeping each model and its arguments consistent.
The analyst manually completes each satisfaction argument by selecting an existing
property from the database or adding a new one to it. The domain properties are
stored in a global database (see Figure 2b) associated with the SR model to ensure
effective reuse of properties that, we believe, can improve the specification of
satisfaction arguments.</p>
      <p>We also implemented a procedure to analyse the impact of software requirements
on system-wide goals and soft goals using an embedded functional requirement-SR
matrix, as shown in Figure 3. An analyst copies functional requirements into the left
column, then REDEPEND automatically generates the other columns with tasks and
resources from the selected software actor in the SR model. The analyst then
completes the matrix by adding a simple + or – to indicate whether the task or resource is
enhanced or detracted by the functional requirement. The analyst can then use the tool
to propagate this mapping through to goals and soft goals in the model. To aid this
task REDEPEND supports 2-way navigation between elements in the SR model and
the matrix. We consider such model navigation is essential to support the analysis of
large systems. Full details of this work can be found in [3]</p>
    </sec>
    <sec id="sec-6">
      <title>Future Research</title>
      <p>We continue our research to develop and refine the use, and hence effectiveness, of
REDEPEND through its application in industrial projects. Work is already under way
in the following areas:
• Incorporating the SR model in the pattern-based requirements generation
facility.
• Automatically generating a first cut SR model from a complete SD model.
• Exploration into the new functionality of Visio 2007, such as improved external
data linking and presentation capabilities.</p>
      <p>• Collapsing actor boundaries for improved model scalability.
7
1
2
3
4
Hammond J., Rawlings R. &amp; Hall A., 2001, ‘Will It Work?’, Proceedings 5th IEEE
International Symposium on Requirements Engineering, IEEE Computer Society,
102109.</p>
    </sec>
  </body>
  <back>
    <ref-list />
  </back>
</article>