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: 

  1. Can REACT (REquirements ArChiTecture)be applied successfully to a real world component selection problem?
  2. What are the potential benefits that REACT can offer to decision makers?
  3. 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 ArChiTecture) 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.