An architecture-driven, business-specific, and component-based approach to software engineering

The paper describes an approach to software reuse which is under development and evaluation at Andersen Consulting. Instead of restricting reuse to just code, we are exploring reuse of architectures that include component interfaces, interconnections between components, and platform configuration. The approach assumes that first a desired architecture is chosen and tailored according to the constraints at hand. Then, appropriate components are retrieved from a repository, subjected to restricted modifications if necessary and "glued" together following the architectural guidelines. Finally, a version of a system is automatically packaged from the selected components and the architectural specifications. The paper presents the approach and some initial experiments in the design of an interface specification language and an environment in which modules can be interconnected and their interface specifications used to determining the integrity of the connections.<<ETX>>

[1]  Premkumar T. Devanbu,et al.  LaSSIE: a knowledge-based software information system , 1990, [1990] Proceedings. 12th International Conference on Software Engineering.

[2]  James M. Purtilo,et al.  Writing distributed programs in Polylith , 1990 .

[3]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975 .

[4]  John R. Callahan Software packaging , 1993 .

[5]  Steven P. Rei Connecting Tools Using Message Passing in the Field Environment , 1990 .

[6]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[7]  Gerhard Fischer,et al.  Embedding computer-based critics in the contexts of design , 1993, INTERCHI.

[8]  G. Arango Domain analysis: from art form to engineering discipline , 1989, IWSSD '89.

[9]  Stefano Ceri,et al.  Toward megaprogramming , 1992, CACM.

[10]  Joseph Wilson Thomas Module interconnection in programming systems supporting abstraction. , 1976 .

[11]  Walter F. Tichy Software development control based on module interconnection , 1979, ICSE 1979.

[12]  James M. Purtilo,et al.  The POLYLITH software bus , 1994, TOPL.

[13]  D. Perry The Inscape Environment , 1989, 11th International Conference on Software Engineering.

[14]  Don S. Batory,et al.  Scalable software libraries , 1993, SIGSOFT '93.

[15]  Rebecca Wirfs-Brock,et al.  Designing object-oriented software , 1990 .

[16]  Marc H. Graham,et al.  The Domain-Specific Software Architecture Program , 1992 .

[17]  Rubén Prieto-Díaz,et al.  Domain analysis: an introduction , 1990, SOEN.

[18]  Patrick A. V. Hall,et al.  Object oriented module interconnection languages , 1993, [1993] Proceedings Advances in Software Reuse.

[19]  Martin L. Griss,et al.  Hybrid domain-specific kits for a flexible software factory , 1994, SAC '94.

[20]  Vigyan Singhal P~-~-: a language for large-scale reusable software , 1993 .

[21]  Rubén Prieto-Díaz,et al.  Module interconnection languages , 1986, J. Syst. Softw..

[22]  Rubén Prieto-Díaz Implementing faceted classification for software reuse , 1991, CACM.

[23]  Premkumar T. Devanbu,et al.  LaSSIE—a knowledge-based software information system , 1991, ICSE '90.

[24]  Martin L. Griss,et al.  Software Reuse: From Library to Factory , 1993, IBM Syst. J..

[25]  Steven P. Reiss Interacting with the field environment , 1990, Softw. Pract. Exp..