Adding Features to Component-Based Systems

Features and components are two different structuring mechanisms for software systems. Both are very useful, but lead to different structures for the same system. Usually, features are spread over more than one component. In this paper, we aim at reconciling the two structuring mechanisms. We show how component orientation can support adding new features to a base system. We present a method for adding features in a systematic way to component-based systems that have been specified according to the method proposed by Cheesman and Daniels [5].

[1]  Chris Dollin,et al.  Object-oriented development: the fusion method , 1994 .

[2]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[3]  Pamela Zave Architectural Solutions to Feature-Interaction Problems in Telecommunications , 1998, FIW.

[4]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[5]  David S. Munro,et al.  Garbage collecting the world: one car at a time , 1997, OOPSLA '97.

[6]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[7]  Maritta Heisel,et al.  Toward a Formal Model of Software Components , 2002, ICFEM.

[8]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[9]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[10]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[11]  Maritta Heisel,et al.  A method for guiding software evolution , 2004, IASTED Conf. on Software Engineering.

[12]  Eric Lefebvre,et al.  Java modeling in color with UML: enterprise components and process , 1999 .

[13]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[14]  Pamela Zave Feature-Oriented Description, Formal Methods, and DFC , 2000, FIREworks.

[15]  Chang Jun CORBA Component Model , 2003 .

[16]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[17]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[18]  Maritta Heisel,et al.  A Heuristic Algorithm to Detect Feature Interactions in Requirements , 2000, FIREworks.

[19]  Muffy Calder,et al.  Detecting Feature Interactions: How Many Components Do We Need? , 2003, Objects, Agents, and Features.

[20]  Flavio Oquendo,et al.  Software Architecture , 2004, Lecture Notes in Computer Science.

[21]  Arvinder Kaur,et al.  Component Based Software Engineering , 2010 .

[22]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[23]  Alexander L. Wolf,et al.  A conceptual basis for feature engineering , 1999, J. Syst. Softw..

[24]  Stephen Gilmore,et al.  Language Constructs for Describing Features , 2001, Springer London.

[25]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[26]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[27]  Clemens Szyperski,et al.  Component software , 1997 .

[28]  Matthias Jarke,et al.  Requirements tracing , 1998, CACM.