Good architectural design has always been a major factor in determining the success of a complex software system. However, while there are many useful compositional paradigms (pipelines, layered systems, client-server organizations etc.), they are typically understood only in an idiomatic way and applied in an ad hoc fashion. Consequently, software system designers have been unable to fully exploit commonalities in system architectures, make principled choices among design alternatives, or teach their craft to others. To address these issues my research has three complementary components:
[Garlan et al. 95]
Garlan, D., Allen, R., and Ockerbloom, J. ``Architectural Mismatch, or, Why it's hard to build systems out of existing parts,'' in Proceedings of the 17th International Conference on Software Engineering, 1995.[Garlan et al. 94]
Garlan, D., Allen, R., and Ockerbloom, J. ``Exploiting Style in Architectural Design Environments,'' in Proceedings of SIGSOFT'94: Foundations of Software Engineering, 1994.[Allen and Garlan 94]
Allen, R. and Garlan, D. ``Formalizing Architectural Connection.'' in Proceedings of the 16th International Conference on Software Engineering, 1994.[Abowd et al. 93]
Abowd, G., Allen, R., and Garlan, D. ``Using Style to Give Meaning to Software Architecture.'' in Proceedings of SIGSOFT'93: Foundations of Software Engineering. Software Engineering Notes 118(3) ACM Press, 1993.[Garlan and Shaw 93]
Garlan, D. and Shaw, M. ``An Introduction to Software Architecture,'' in Advances in Software Engineering and Knowledge Engineering, Volume I, edited by V. Ambriola and G. Tortora. World Scientific Publishing Company, 1993.[Garlan et al. 92]
Garlan, D., Shaw, M., Okasaki, C., Scott, C., and Swonger, R. ``Experience with a Course on Architectures for Software Systems,'' in Proceedings of the Sixth SEI Conference on Software Engineering Education. Springer Verlag, LNCS 376, 1992.[Garlan and Notkin 91]
Garlan, D. and Notkin, D. ``Formalizing Design Spaces: Implicit Invocation Mechanisms,'' in VDM'91: Formal Software Development Methods. Springer-Verlag, LNCS 551, Noordwijkerhout, The Netherlands, 1991.[Garlan and Delisle 90]
Garlan, D. and Delisle, N. ``Formal Specifications as Reusable Frameworks,'' in VDM'90: VDM and Z -- Formal Methods in Software Development. Springer-Verlag, LNCS 428, Kiel, Germany, 1990.