ABSTRACT
The backbone of many architectures is an architectural style that provides a domain-specific design vocabulary and set of constraints on how that vocabulary can be used. Hence, designing a sound and appropriate architectural style becomes an important and intellectually challenging activity. Unfortunately, although there are numerous tools to help in the analysis of individual architectures, relatively less work has been done on tools to help the style designer. In this paper we show how to map an architectural style, expressed formally in an architectural description language, into a relational model that can be automatically checked for properties such as whether a style is consistent, whether a style satisfies some predicate over the architectural structure, whether two styles are compatible for composition, and whether one style refines another.
- G. Abowd, R. Allen, and D. Garlan. Formalizing style to understand descriptions of software architecture. ACM Transactions on Software Engineering and Methodology, October 1995.]] Google ScholarDigital Library
- R. Allen and D. Garlan. A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology, July 1997.]] Google ScholarDigital Library
- D. J. Barrett, L. A. Clarke, P. L. Tarr, and A. E. Wise. A framework for event-based software integration. ACM Trans. on Software Engineering and Methodology, 5(4):378--421, October 1996.]] Google ScholarDigital Library
- F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern Oriented Software Architecture: A System of Patterns. John Wiley & Sons, 1996.]] Google ScholarDigital Library
- S. Chaki, A. Groce, and O. Strichman. Explaining abstract counterexamples. In Foundations of Software Engineering (SIGSOFT FSE), pages 73--82. ACM SIGSOFT, October 2004.]] Google ScholarDigital Library
- P. Clements, F. Bachmann, L. Bass, D. GArlan, J. Ivers, R. Little, R. Nord, and J. Stafford. Documenting Software Architectures: Views and Beyond. Addison Wesley, 2002.]] Google ScholarDigital Library
- P. Clements, R. Kazman, and M. Klein. Evaluating Software Architectures: Methods and Case Studies. Addison Wesley Longman, 2001.]]Google Scholar
- The Common Object Request Broker: Architecture and specification. OMG Document Number 91.12.1, December 1991. Revision 1.1 (Draft 10).]]Google Scholar
- A. DiMarco and P. Inverardi. Compositional generation of software architecture performance qn models. In 4th Working IEEE/IFIP Conf. on Software Architecture (WICSA04), Oslo, Norway, June 2004.]] Google ScholarDigital Library
- J. Dingel, D. Garlan, S. Jha, and D. Notkin. Towards a formal treatment of implicit invocation. Formal Aspects of Computing, 10:193--213, 1998.]]Google ScholarCross Ref
- D. Dvorak and K. Reinholtz. Separating essential from incidentals, an execution architecture for real-time control systems. In Proc. 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Austria, 2004.]]Google ScholarCross Ref
- D. Garlan, R. Allen, and J. Ockerbloom. Exploiting style in architectural design environments. In Proc. of SIGSOFT'94: The 2nd ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 179--185. ACM Press, December 1994.]] Google ScholarDigital Library
- D. Garlan, R. T. Monroe, and D. Wile. Acme: An architecture description interchange language. In Proceedings of CASCON'97, pages 169--183, Ontario, Canada, November 1997.]] Google ScholarDigital Library
- P. Inverardi and M. Tivoli. Deadlock-free software architectures for com/dcom applications. Elsevier Journal of Systems and Software, 65(3):173--183, 2003.]] Google ScholarDigital Library
- P. Inverardi and A. Wolf. Formal specification and analysis of software architectures using the chemical, abstract machine model. IEEE Transactions on Software Engineering, Special Issue on Software Architecture, 21(4):373--386, April 1995.]] Google ScholarDigital Library
- D. Jackson. Alloy: A lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology, 2002.]] Google ScholarDigital Library
- G. Karsai and J. Sztipanovits. A model-based approach to self-adaptive software. IEEE Intelligent Systems, 14(3):46--53, May 1999.]] Google ScholarDigital Library
- J. S. Kim and D. Garlan. Automating the analysis of architectural styles. Technical Report CMU-ISRI-06-106, Carnegie Mellon University, 2006.]]Google Scholar
- J. Magee and J. Kramer. Concurrency: State Models and Java Programs. John Wiley and Sons, 1999.]] Google ScholarDigital Library
- N. Medvidovic and R. N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 26(1):70--93, January 2000.]] Google ScholarDigital Library
- S. Microsystems. J2ee information site. URL: http://java.sun.com/javaee/.]]Google Scholar
- OMG. Unified modeling language. URL: http://www.uml.info/.]]Google Scholar
- D. E. Perry and A. L. Wolf. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40--52, October 1992.]] Google ScholarDigital Library
- R. Roshandel, B. Schmerl, N. Medvidovic, D. Garlan, and D. Zhang. Understanding tradeoffs among different architectural modelling approaches. In Proc. of the 4th Working IEEE/IFIP Conf. on Software Architectures, Oslo, Norway, June 2004.]] Google ScholarDigital Library
- SAE. Sae aadl information site. URL: http://www.aadl.info/.]]Google Scholar
- B. Schmerl and D. Garlan. Acmestudio: Supporting style-centered architecture development. In Proc. of the 26th International Conference on Software Engineering (ICSE), 2004.]] Google ScholarDigital Library
- M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.]] Google ScholarDigital Library
- J. P. Sousa and D. Garlan. Formal modeling of the Enterprise JavaBeans component integration framework. In Proc. of FM'99 -- Formal Methods: World Congress on Formal Methods in the Development of Computing Systems, number 1709, pages 1281--1300, Toulouse, France, November 1999. Springer Verlag, LNCS.]] Google ScholarDigital Library
- B. Spitznagel and D. Garlan. Architecture-based performance analysis. In 10th International Conf. on Software Engineering and Knowledge Engineering (SEKE'98), San Francisco, CA, June 1998.]]Google Scholar
- B. Tekinerdogan and H. Szer. Software architecture reliability analysis using failure scenarios. In 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05), pages 203--204, 2005.]] Google ScholarDigital Library
Index Terms
- Analyzing architectural styles with alloy
Recommendations
Analyzing architectural styles
The backbone of most software architectures and component integration frameworks is one or more architectural styles that provide a domain-specific design vocabulary and a set of constraints on how that vocabulary is used. Today's architectural styles ...
Composing architectural styles from architectural primitives
Architectural styles are named collections of constraints on configurations of architectural elements, and are believed to bring economies of scale in applying software architecture techniques to software development. Existing research on architectural ...
Composing architectural styles from architectural primitives
ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineeringArchitectural styles are named collections of constraints on configurations of architectural elements, and are believed to bring economies of scale in applying software architecture techniques to software development. Existing research on architectural ...
Comments