Style-based reuse for software architectures

Although numerous mechanisms for promoting software reuse have been proposed and implemented over the years, most have focused on the reuse of implementation code. There is much conjecture and some empirical evidence, however, that the most effective forms of reuse are generally found at more abstract levels of software design. We discuss software reuse at the architectural level of design. Specifically, we argue that the concept of "architectural style" is useful for supporting the classification, storage, and retrieval of reusable architectural design elements. We briefly describe the Aesop system's Software Shelf (D. Garlan et al., 1994), a tool that assists designers in selecting appropriate design elements and patterns based on stylistic information and design constraints.

[1]  Kevin Jeffay The real-time producer/consumer paradigm: a paradigm for the construction of efficient, predictable real-time systems , 1993, SAC '93.

[2]  Michael M. Gorlick,et al.  Using weaves for software construction and analysis , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

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

[4]  M.P. Stovsky,et al.  Building interprocess communication models using STILE , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track.

[5]  Gregory D. Abowd,et al.  Using style to understand descriptions of software architecture , 1993, SIGSOFT '93.

[6]  James M. Neighbors,et al.  The Draco Approach to Constructing Software from Reusable Components , 1984, IEEE Transactions on Software Engineering.

[7]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[8]  Xiaolei Qian,et al.  Correctness and composition of software architectures , 1994, SIGSOFT '94.

[9]  Ira D. Baxter,et al.  Design maintenance systems , 1991, CACM.

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

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

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

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

[14]  Charles W. Krueger,et al.  Software reuse , 1992, CSUR.

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

[16]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[17]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[18]  Don S. Batory,et al.  The GenVoca model of software-system generators , 1994, IEEE Software.

[19]  Peter Freeman,et al.  Classifying Software for Reusability , 1987, IEEE Software.

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

[21]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.