Design reuse: chemical engineering vs. software engineering

The evolution of software engineering to a mature engineering discipline can be accelerated by adopting practices from other mature engineering disciplines. Mature engineering disciplines such as a chemical engineering have extensive systematic design reuse practices. In this paper, design reuse in chemical engineering is compared to current and emerging design reuse in software engineering. This comparison is based on the analogy that a chemical process that is implemented as a chemical plant is comparable to a software architecture that is implemented as a software system. The goal is to gain some insights on how engineering models are used to support systematic design reuse. These insights will help form the basis of model based software engineering.

[1]  David C. Luckham,et al.  Event-Based Concepts and Language for System , 1993 .

[2]  Mary Shaw,et al.  Prospects for an engineering discipline of software , 1990, IEEE Software.

[3]  Robert Sedgewick,et al.  Algorithms in C , 1990 .

[4]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[5]  Toshinori Munakata Knowledge for sale: The advent of industry-specific class libraries. , 1993 .

[6]  Guillermo Arango,et al.  Design as evolution and reuse , 1993, [1993] Proceedings Advances in Software Reuse.

[7]  Doug Lea,et al.  Christopher Alexander: an introduction for object-oriented designers , 1998, SOEN.

[8]  Grady Booch,et al.  Software Component with ADA , 1987 .

[9]  Thomas G. Lane A Design Space and Design Rules for User Interface Software Architecture , 1990 .

[10]  Donald Ervin Knuth,et al.  The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information , 1978 .

[11]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[12]  Mark Klein,et al.  A practitioner's handbook for real-time analysis - guide to rate monotonic analysis for real-time systems , 1993, The Kluwer international series in engineering and computer science.

[13]  Guillermo Arango,et al.  A process for consolidating and reusing design knowledge , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[14]  A. S. Peterson,et al.  Mapping a Domain Model and Architecture to a Generic Design , 1994 .

[15]  Thomas R. Gruber,et al.  Toward principles for the design of ontologies used for knowledge sharing? , 1995, Int. J. Hum. Comput. Stud..

[16]  Guillermo Arango,et al.  The Graft-Host method for design change , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[17]  Joseph S. Dumas Designing User Interfaces for Software , 1988 .

[18]  Ralph E. Johnson,et al.  Design Patterns: Abstraction and Reuse of Object-Oriented Design , 1993, ECOOP.

[19]  Takuya Katayama,et al.  Proceedings of the 15th international conference on Software Engineering , 1982, ICSE 1993.

[20]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[21]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

[22]  T. Capers Jones Reusability in Programming: A Survey of the State of the Art , 1984, IEEE Transactions on Software Engineering.

[23]  Barr and Feigenbaum Edward A. Avron,et al.  The Handbook of Artificial Intelligence , 1981 .

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