ABSTRACT
A reference architecture describes core elements of the software architecture for systems that stem from the same domain. A reference architecture ensures interoperability of systems through standardization. It also facilitates the instantiation of new concrete architectures. However, we currently lack procedures for systematically designing reference architectures that are empirically-grounded. Being empirically-grounded would increase the validity and reusability of a reference architecture. We therefore present an approach which helps systematically design reference architectures. Our approach consists of six steps performed by the software architect and domain experts. It helps design reference architectures either from scratch, or based on existing architecture artifacts. We also illustrate how our approach could be applied to the design of two existing reference architectures found in literature.
- Pohl, K., Boeckle, G. and van der Linden, F. 2005. Software Product Line Engineering - Foundations, Principles, and Techniques. Springer Verlag, Berlin / Heidelberg. Google ScholarDigital Library
- Bass, L., Clements, P. and Kazman, R. 2003. Software Architecture in Practice. Addison-Wesley, Boston, MA. Google ScholarDigital Library
- Eklund, U., Askerdal, O., Granholm, J., Alminger, A. and Axelsson, J. 2005. Experience of Introducing Reference Architectures in the Development of Automotive Electronic Systems. ACM SIGSOFT Software Engineering Notes, 30, 4, 1--6. Google ScholarDigital Library
- Karow, M., Pfeiffer, D. and Raeckers, M. 2008. Empirical-based Construction of Reference Models in Public Administrations. In Proceedings of the Multikonferenz Wirtschaftsinformatik (Munich, Germany). Gito-Verlag, 1613--1624.Google Scholar
- Cloutier, R., Muller, G., Verma, D., Nilchiani, R., Hole, E. and Bone, M. 2010. The Concept of Reference Architectures. Systems Engineering, 13, 1, 14--27. Google ScholarDigital Library
- High, R., Kinder, S. and Graham, S. 2005. IBM's SOA Foundation - An Architectural Introduction and Overview. Technical Report. IBM.Google Scholar
- Angelov, S. and Grefen, P. 2008. An E-contracting Reference Architecture. Journal of Systems and Software, 81, 11, 1816--1844. Google ScholarDigital Library
- Grosskurth, A. and Godfrey, M. 2005. A Reference Architecture for Web Browsers. In Proceedings of the International Conference on Software Maintenance (Budapest, Hungary). IEEE Computer Society, 661--664. Google ScholarDigital Library
- Vogel, O., Arnold, I., Chughtai, A., Ihler, E., Kehrer, T., Mehlig, U. and Zdun, U. 2009. Software-Architektur - Grundlagen - Konzepte - Praxis. Spektrum Akademischer Verlag, Berlin / Heidelberg.Google Scholar
- Angelov, S., Trienekens, J. and Grefen, P. 2008. Towards a Method for the Evaluation of Reference Architectures: Experiences from a Case. In Proceedings of the Second European Conference on Software Architecture (Paphos, Cyprus). Springer, 225--240. Google ScholarDigital Library
- Bayer, J., Ganesan, D., Girard, J.-F., Knodel, J., Kolb, R. and Schmid, K. 2003. Definition of Reference Architectures Based on Existing Systems. Technical Report. Fraunhofer Institute for Experimental Software Engineering.Google Scholar
- Angelov, S., Grefen, P. and Greefhorst, D. 2009. A Classification of Software Reference Architectures: Analyzing Their Success and Effectiveness. In Proceedings of the Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture (WICSA/ECSA) (Cambridge, UK). IEEE Computer Society, 141--150.Google Scholar
- Nakagawa, E. Y., Martins, R. M., Felizardo, K. R. and Maldodano, J. C. 2009. Towards a Process to Design Aspect-oriented Reference Architectures. In Proceedings of the XXXV Latin American Informatics Conference (CLEI'2009) (Pelotas, Brazil), 1--10.Google Scholar
- Ahlemann, F. and Gastl, H. 2007. Process Model for an Empirically Grounded Reference Model Construction. In Reference Modeling for Business Systems Analysis, P. Fettke and P. Loos, Eds. IGI Global, Hershey, PA, 77--97.Google Scholar
- Beneken, G. 2006. Referenzarchitekturen. In Handbuch der Softwarearchitektur, R. Reussner and W. Hasselbring, Eds. dpunkt Verlag, Heidelberg, 357--370.Google Scholar
- Bouma, T. D. Process Analysis and Requirement Specification of Software as Service for WMO Provision Applications at Dutch Municipalities. Master thesis, University of Groningen, Groningen, The Netherlands, 2010.Google Scholar
- ISO/IEC. 2010 Systems and Software Engineering - Architecture Description. ISO/IEC 42010, Geneva, Switzerland.Google Scholar
- Stricker, V., Lauenroth, K., Corte, P., Gittler, F., Panfilis, S. D. and Pohl, K. 2010. Creating a Reference Architecture for Service-based Systems - A Pattern-based Approach. In Towards the Future Internet, G. Tselentis, A. Galis, A. Gavras, S. Krco, V. Lotz, E. Simperl, B. Stiller and T. Zahariadis, Eds. IOS Press, Amsterdam, 149--160.Google Scholar
Index Terms
- Empirically-grounded reference architectures: a proposal
Recommendations
Towards a Method for the Evaluation of Reference Architectures: Experiences from a Case
ECSA '08: Proceedings of the 2nd European conference on Software ArchitectureReference architectures provide major guidelines for the structure of a class of information systems. Because of their fundamental role, reference architectures have to be of high quality. Before accepting a reference architecture, it has to go through ...
Towards an Understanding of Technical Debt in Reference Architectures
SBES '22: Proceedings of the XXXVI Brazilian Symposium on Software EngineeringReference architectures refer to a special type of software architecture that has supported the development, evolution, and standardization of software systems in several critical domains. However, important decisions made while designing a reference ...
A Reference Architecture for Web Servers
WCRE '00: Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)Reference software architecture for a domain defines the fundamental components of the domain and the relations between them. Research has shown the benefits of having reference architecture for product development, software reuse, and maintenance. Many ...
Comments