Search-based many-to-one component substitution

In this paper, we present a search-based automatic many-to-one component substitution mechanism. When a component is removed from an assembly to overcome component obsolescence, failure or unavailability, most existing systems perform component-to-component (one-to-one) substitution. Thus, they only handle situations where a specific candidate component is available. As this is not the most frequent case, it would be more flexible to allow a single component to be replaced by a whole component assembly (many-to-one component substitution). We propose such an automatic substitution mechanism, which does not require the possible changes to be anticipated and which preserves the quality of the assembly. This mechanism requires components to be enhanced with ports, which provide synthetic information on components' assembling capabilities. Such port-enhanced components then constitute input data for a search-based mechanism that looks for possible assemblies using various heuristics to tame complexity. Copyright © 2008 John Wiley & Sons, Ltd.

[1]  Kurt C. Wallnau,et al.  Volume III: A Technology for Predictable Assembly from Certifiable Components , 2003 .

[2]  Jan Kofron,et al.  Behavior Protocols Verification: Fighting State Explosion , 2004 .

[3]  Frantisek Plasil,et al.  Reducing Component Systems' Behavior Specification , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[4]  Ralf H. Reussner,et al.  Reasoning about Software Architectures with Contractually Specified Components , 2003, Component-Based Software Quality.

[5]  Antonio Vallecillo,et al.  Component-Based Software Quality , 2003, Lecture Notes in Computer Science.

[6]  Jirí Adámek,et al.  Partial bindings of components - any harm? , 2004, 11th Asia-Pacific Software Engineering Conference.

[7]  David Notkin,et al.  ArchJava: connecting software architecture to implementation , 2002, ICSE '02.

[8]  Cliff B. Jones,et al.  Systematic software development using VDM (2. ed.) , 1990, Prentice Hall International Series in Computer Science.

[9]  Remco M. Dijkman,et al.  Verifying the correctness of component-based applications that support business processes , 2003 .

[10]  Rina Dechter,et al.  Constraint Processing , 1995, Lecture Notes in Computer Science.

[11]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[12]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[13]  Frantisek Plasil,et al.  Behavior Protocols for Software Components , 2002, IEEE Trans. Software Eng..

[14]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[15]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[16]  Victor J. Rayward-Smith,et al.  The next release problem , 2001, Inf. Softw. Technol..

[17]  Petr Hnetynka,et al.  SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[18]  Premek Brada Component Change and Version Identification in SOFA , 1999, SOFSEM.

[19]  Ludovic Apvrille,et al.  Specifying Fractal and GCM Components with UML , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[20]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[21]  Marianne Huchard,et al.  Automated and Unanticipated Flexible Component Substitution , 2007, CBSE.

[22]  Ivica Crnkovic Component-based software engineering - new challenges in software development , 2001, Softw. Focus.

[23]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[24]  Mark Harman,et al.  The Current State and Future of Search Based Software Engineering , 2007, Future of Software Engineering (FOSE '07).

[25]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[26]  Petr Tuma,et al.  Streaming State Space: A Method of Distributed Model Verification , 2007, First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE '07).

[27]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[28]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[29]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[30]  Paola Inverardi,et al.  Static checking of system behaviors using derived component assumptions , 2000, TSEM.

[31]  Marianne Huchard,et al.  Precalculating Component Interface Compatibility using FCA , 2007, CLA.

[32]  Wilhelm Hasselbring,et al.  On A Software Architecture Description supporting Component Deployment and System Runtime Reconfiguration , 2004 .

[33]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[34]  Alan W. Brown,et al.  The Current State , 2016 .

[35]  Marianne Huchard,et al.  Automating the Building of Software Component Architectures , 2006, EWSA.