Abstract
The essence of architectural styles is component communication. In this paper, we relate architectural styles to adaptors in the GenVoca model of software construction. GenVoca components are refinements that have a wide range of implementations, from binaries to rule-sets of program transformation systems. We explain that architectural styles can (1) be understood as refinements (like other GenVoca components) and (2) that they are generalizations of the 00 concept of adaptors. By implementing adaptors as program transformations, complex architectural styles can be realized in GenVoca that simply could not be expressed using less powerful implementation techniques (e.g., object adaptors). Examples from avionics are given.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-0-387-35563-4_35
This paper is derived from two ADAGE technical reports (Batory and Coglianese, 1993; Batory and Smaragdakis, 1995) that were sponsored by U.S. D.o.D. A.R.P.A. in cooperation with the U.S. Wright Laboratory Avionics Directorate under contract F33615-91C-1788. This research is sponsored in part by Microsoft, Schlumberger, the University of Texas Applied Research Labs, and U.S. D.O.D. A.R.P.A. under contract F30602-96-2-0226.
Chapter PDF
References
Batory, D. and O’Malley, S. (1992), “The Design and Implementation of Hierarchical Software Systems with Reusable Components”, ACM TOSEM, pp. 355–398.
Batory, D. and Coglianese, L. (1993), “Techniques for Software System Synthesis in ADAGE”, ADAGE-UT-93–05, Loral Federal Systems Division.
Batory, D., et al. (1993), “Scalable Software Libraries”, Proc. ACM SIGSOFT.
Batory, D. and Smaragdakis, Y. (1995), “Architectural Styles and Adage”, UT-ADAGE-9502, Loral Federal Systems Division.
Batory, D. and Geraci, B.J. (1997), “Composition Validation and Subjectivity in GenVoca Generators”, IEEE Transactions on Software Engineering, pp. 67–82.
Biggerstaff, T. (1994), “The Library Scaling Problem and the Limits of Concrete Component Reuse”, International Conference on Software Reuse, pp. 102–109.
Blaine, L. and Goldberg, A. (1991), “DTRE - A Semi-Automatic Transformation System”, in Constructing Programs from Specifications, Elsevier Science Publishers.
Coglianese, L. and Szymanski, R. (1993), “DSSA-ADAGE: An Environment for Architecture-based Avionics Development”, Proc. AGARD.
Cohen, S., et al. (1995), “Models for Domains and Architectures: A Prescription for Systematic Software Reuse”, AIAA Computing in Aerospace.
DeLine, R. (1996), “Toward User-Defined Element Types and Architectural styles”, position paper in Second International Software Architecture Workshop, pp.47–49.
Dijkstra, E.W. (1968), “The Structure of THE Multiprogramming System”, Communications of ACM, pp. 341–346.
Gamma, E.; Helm, R.; Johnson, R. and Vlissides, J. (1994), Design Patterns: Elements of Reusable Object-Oriented Software,Addison-Wesley.
Garlan, D., et al. (1994), “Exploiting Style in Architectural Design Environments”, ACM SIGSOFT, pp. 175–188.
Garlan, D., et al (1995), “Architectural Mismatch or Why It’s Hard to Build Systems out of Existing Parts”, Int. Conf. on Softw. Eng.
Gorlick, M.M. and Razouk, R.R. (1991), “Using Weaves for Software Construction and Analysis”, Int. Conf. Softw. Eng., 23–34.
Harrison, W. and Ossher, H. (1993), “Subject-Oriented Programming (A Critique of Pure Objects)”, OOPSLA, pp. 411–427.
Heidemann, J. and Popek, G. (1993), “File System Development with Stackable Layers”, ACM TOCS.
Hutchinson, N. and Peterson, L. (1991), “The x-kernel: An Architecture for Implementing Network Protocols”, IEEE TSE, pp. 64–76.
do Prado Leite, J.C.S., et al. (1994), “Draco-PUC: A Technology Assembly for Domain-Oriented Software Development”, International Conference on Software Reuse, 94–101.
McIlroy, M. D. (1968), “Mass-Produced Software Components”, In Proceedings of the NATO Conference on Software Engineering.
Neighbors, J. (1980), “Software Construction Using Components”, Ph.D. Thesis, ICS-TR160, University of California at Irvine.
Parnas, D. L. (1976), “On the Design and Development of Program Families”, IEEE Transactions on Software Engineering.
Perry, D. E. and Wolf, A. L. (1992), “Foundations for the Study of Software Architecture”, Software Engineering Notes, 17 (4).
Shaw, M. and Clements, P. (1997), ‘A Field Guide to Boxology: Preliminary Classification of Architectural Styles for Software Systems“, Proc. COMPSAC97, 21st International Computer Software and Applications Conference, pp. 6–13.
Smaragdakis, Y. and Batory, D. (1997), “DiSTiL: a Transformation Library for Data Structures”, Conference on Domain Specific Languages (DSL ‘87).
Smaragdakis, Y. and Batory, D. (1998), “Implementing Layered Designs with Mixin Layers”, European Conference on Object-Oriented Programming.
Weiss, D.M. (1990), Synthesis Operational Scenarios,Technical Report 90038-N. Version 1.00.01, Software Productivity Consortium.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Batory, D., Smaragdakis, Y., Coglianese, L. (1999). Architectural Styles as Adaptors. In: Donohoe, P. (eds) Software Architecture. WICSA 1999. IFIP — The International Federation for Information Processing, vol 12. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35563-4_12
Download citation
DOI: https://doi.org/10.1007/978-0-387-35563-4_12
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6536-6
Online ISBN: 978-0-387-35563-4
eBook Packages: Springer Book Archive