Requirements-driven configuration of software systems

Configuring large-scale software to meet different user requirements is a challenging process, since endusers do not know the technical details of the system in the first place. We present an automatic process to connect high-level user requirements with low-level system’s configurations. The process takes into account different user preferences and expectations, making configuration easier and more user-centered. Since it reuses a software system’s configuration mechanisms, the configuration process is transparent to the system development. Moreover, it is very easy to plug different reasoning frameworks into the configuration process. As a case study, we have reengineered the Mozilla Firefox web browser into a requirements-driven software system, without changing its source code.

[1]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[2]  John Mylopoulos,et al.  Requirements analysis for customizable software: a goals-skills-preferences framework , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[3]  Yijun Yu,et al.  Reverse engineering goal models from legacy code , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[4]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[5]  Yijun Yu,et al.  Towards requirements-driven autonomic systems design , 2005, ACM SIGSOFT Softw. Eng. Notes.

[6]  Stephen Fickas,et al.  Personal and contextual requirements engineering , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[7]  Stephen Fickas Clinical requirements engineering , 2005, ICSE.

[8]  John Mylopoulos,et al.  Reasoning with Goal Models , 2002, ER.

[9]  John Mylopoulos,et al.  Simple and Minimum-Cost Satisfiability for Goal Models , 2004, CAiSE.

[10]  Thomas A. Corbi,et al.  The dawning of the autonomic computing era , 2003, IBM Syst. J..

[11]  Meir M. Lehman,et al.  Evolution in software and related areas , 2001, IWPSE '01.

[12]  Yijun Yu,et al.  Configuring common personal software: a requirements-driven approach , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[13]  David G. Mitchell,et al.  Finding hard instances of the satisfiability problem: A survey , 1996, Satisfiability Problem: Theory and Applications.

[14]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[15]  Yijun Yu,et al.  From Stakeholder Goals to High-Variability Software Design , 2005 .