Software
Engineering Institute (SEI)
Carnegie Mellon University
Pittsburgh, Pennsylvania 15213
USA
Subject: Summer '03, Independent
Study (MSE Program, SCS, Carnegie Mellon)
Student:
Vijay Sai
Prin. Software Engineer & Business
Analyst
SEI , Carnegie Mellon
Mentor:
Patricia Oberndorf
Director,
Dynamic Systems Program
SEI,
Carnegie Mellon
Advisor:
Dave Root
Lecturer
ISRI: Institute for Software Research
International
School of Computer Science
Carnegie Mellon
Research paper: Driving Component Selection through
Actor-oriented Models and Use Cases
Authors:
Vijay Sai, Software Engineering
Institute, Carnegie Mellon University, Pittsburgh
Xavier Franch, Universitat Plitecnica de
Catalunya (UPC), Barcelona
Neil Maiden, Center for HCI Design, City University, London
Purpose:
- To reason out COTS (Commercial-off-the-Shelf) software component
selection through the use of actor-oriented models (i* approach to
strategic dependency modeling) and use case analysis.
- The results allow us to answer the three research questions
listed below:
- Can REACT (REquirements ArChiTecture)be
applied successfully to a real world component selection problem?
- What are the potential benefits that REACT can offer to
decision makers?
- What new problems must REACT overcome to be useful and usable
in decision making?
Notes:
(i) this work is the result of the joint effort of Dr.Neil Maiden, City University,
London, Dr.Xavier Franch,
University of Catalunya, Barcelona, Spain and myself, the Project Manager on
the SEI Hyperion
Interactive Planning System (SHIPS) implementation project which is the
case study used in the paper
(ii) the text below is directly extracted from the paper with few
changes bearing no material change to
the meaning and intent of the work
Abstract:
The paper reports results from a
retrospective application of
REACT (
REquirements
Ar
Chi
Tecture)
approach to COTS software selection for a real world
financial planning,
forecasting and budgeting application. Starting from existing use
cases, we derived some
actor-oriented models for representing the architecture
of the system at two
different levels of detail (decomposition). Then, we investigated the
combination of
components that may be
plugged into the system as instances of modeled actors.
We applied some assessment
methods and techniques (AHP) to evaluate the resulting
architectures and the
behavior of the components therein. The results led us to conclude that
REACT has demonstrated its exploitability in
a real case study.
Conclusions and Future Work
This paper reports results from a
retrospective application of REACT to aid the selection of
components for a real world financial planning, forecasting and
budgeting application.
The authors applied REACT to select between 3 candidate architectures,
each of which involved
three or more individual off-the-shelf components and custom-built
modules. The application
of the methodology was a success. The team was able to apply the REACT
process to develop
the models and undertake an analyses. i* modeling was effective for
modeling the architecture
of both the socio-technical and software systems. REACT heuristics were
applied to explore
the architecture- and component-level properties of the candidate
solutions.
The results allow us to answer the 3
research questions reported at the beginning
of the paper. The first question was can REACT be applied successfully
to a real-world
component selection problem. The answer is a qualified yes. REACT was
applied, albeit retrospectively. REACT has the potential to aid
selection between
components in a medium-sized application, although scalability to large
applications
remains to be shown. Furthermore, several specific lessons were learned:
Use cases and the RESCUE (Requirements Engineering with Scenarios in
User-Centred Environments)
heuristics [8] were an effective starting point for i* modelling, thus
enabling REACT to be integrated with mainstream development
methods such as the (Rational Unified Process) RUP, although more work
needs to be done to complete and
refine these heuristics in REACT; Overlapping the application of
REACT’s architecture-level and component-level
analyses can be beneficial, in particular to discover and assess
consequences for
the architecture from the selection of different permutations of
components.
The second question was what are the potential benefits that REACT can
offer to
decision-makers. One observed benefit is that it encourages and
supports wider
stakeholder involvement in selection by allowing them to define and
reason with
requirements. Likewise the models allowed architects, developers and
integrators to
communicate and develop a shared understanding of the new application.
The third question was what new problems must REACT overcome to be
useful
and usable in decision-making. We extended REACT beyond the version
reported in
[1] in four distinct ways that demonstrate how we are already
overcoming problems
that were encountered. Firstly, REACT now has a more defined 7-stage
process that
the team followed to develop and analyze different i* models in a
particular sequence.
Secondly, REACT has been extended with use case modelling, and in
particular use
case descriptions, which are well-established and effective techniques
for
acquiring and describing a system’s requirements and architecture.
Thirdly, we have
extended REACT’s original simple heuristics through the introduction of
correction
and weighting factors in metrics; however, experiences suggest that
these factors will
require refinement to become a central component of REACT. Fourthly, we
have
integrated local, cost-effective use of multi-criteria decision-making
techniques such
as the AHP [15] to support fit-cut architecture selection decisions
prior to more rigorous
analyses. This approach applies the AHP to undertake pair-wise
comparisons
of the subset of compliant architectures with a subset of the
requirements to provide
a ranking of the architectures. The AHP adds rigour to the evaluation;
nevertheless,
users need to be aware that the quantification of subjective, pair-wise
comparisons
may imply a level of precision not available with the AHP.
To conclude, this paper reports a first evaluation of REACT. We are
currently
seeking new challenges, in particular to evaluate the method by using
it during other
medium- and large-scale system development projects.