ABSTRACT
Software architecture entails the making of architectural decisions based on a set of both functional and quality requirements, as well as trade-offs between them, which have to be considered to achieve design goals. Access to accumulated and documented architectural knowledge facilitates this process. In this paper, we present a set of tools that support creative decision making in the different stages an architecture specification goes through. These tools are structured around a central repository, where acquired knowledge is stored for reuse. The approach is motivated by the challenges arising from the particular needs of the software ecosystem environment, where the software design process is characterized by the participation of multiple and diverse stakeholders and the existence of multiple software applications built on a common platform. Our aim is to provide tool support for making quality-driven design decisions in a flexible and reusable manner, facilitating the system's evolvability, as well as enhancing its understandability to the stakeholders involved.
- L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2 edition, 2003. Google ScholarDigital Library
- L. J. Bass, M. Klein, and F. Bachmann. Quality attribute design primitives and the attribute driven design method. In Revised Papers from the 4th International Workshop on Software Product-Family Engineering, PFE '01, pages 169--186, London, UK, UK, 2002. Springer-Verlag. Google ScholarDigital Library
- J. Bosch. From software product lines to software ecosystems. In Proceedings of the 13th International Software Product Line Conference, SPLC '09, pages 111--119, Pittsburgh, PA, USA, 2009. Carnegie Mellon University. Google ScholarDigital Library
- F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. Wiley, Chichester, UK, 1996. Google ScholarDigital Library
- R. Farenhorst, R. Izaks, P. Lago, and H. Van Vliet. A just-in-time architectural knowledge sharing portal. In Software Architecture, 2008. WICSA 2008. Seventh Working IEEE/IFIP Conference on, pages 125--134, Feb 2008. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1 edition, Nov. 1994. Google ScholarDigital Library
- N. B. Harrison and P. Avgeriou. How do architecture patterns and tactics interact? a model and annotation. Journal of Systems and Software, 83(10):1735--1758, 2010. Google ScholarDigital Library
- N. B. Harrison, P. Avgeriou, and U. Zdun. Using patterns to capture architectural decisions. IEEE Softw., 24(4):38--45, July 2007. Google ScholarDigital Library
- A. Jansen and J. Bosch. Software architecture as a set of architectural design decisions. In Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, WICSA '05, pages 109--120, Washington, DC, USA, 2005. IEEE Computer Society. Google ScholarDigital Library
- S. Jansen. How quality attributes of software platform architectures influence software ecosystems. In Proceedings of the 2013 International Workshop on Ecosystem Architectures, WEA 2013, pages 6--10, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- R. Kazman, J. Asundi, and M. Klein. Quantifying the costs and benefits of architectural decisions. In Software Engineering, 2001. ICSE 2001. Proceedings of the 23rd International Conference on, pages 297--306, May 2001. Google ScholarDigital Library
- P. Kroll and P. Kruchten. The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2003. Google ScholarDigital Library
- F. Li, S. Qanbari, M. Voegler, and S. Dustdar. Constructing green software services: From service models to cloud-based architecture. In C. Calero and M. Piattini, editors, Green in Software Engineering, pages 83--104. Springer International Publishing, 2015.Google Scholar
- F. Li, M. Vogler, S. Sehic, S. Qanbari, S. Nastic, H.-L. Truong, and S. Dustdar. Web-scale service delivery for smart cities. Internet Computing, IEEE, 17(4):78--83, July 2013. Google ScholarDigital Library
- I. Lytra, G. Engelbrecht, D. Schall, and U. Zdun. Reusable architectural decision models for quality-driven decision support: A case study from a smart cities software ecosystem. In 3rd International Workshop on Software Engineering for Systems-of-Systems (SESoS), May 2015, May 2015.Google ScholarDigital Library
- A. MacLean, R. M. Young, V. M. E. Bellotti, and T. P. Moran. Questions, options, and criteria: Elements of design space analysis. Hum.-Comput. Interact., 6(3):201--250, Sept. 1991. Google ScholarDigital Library
- C. Mazza, J. Fairclough, M. Bryan, P. Daniel, S. Adriaan, S. Richard, J. Michael, and G. Alvisi. Software Engineering Guides. Prentice-Hall International (UK), 1996. Google ScholarDigital Library
Index Terms
- Tool Support for the Architectural Design Decisions in Software Ecosystems
Recommendations
Viability for codifying and documenting architectural design decisions with tool support
Current software architecture practices have been focused on modeling and documenting the architecture of a software system by means of several architectural views. In practice, the standard architecture documentation lacks explicit description of the ...
Exploring Extensibility of Architectural Design Decisions
SHARK-ADI '07: Proceedings of the Second Workshop on SHAring and Reusing architectural Knowledge Architecture, Rationale, and Design IntentSoftware architectures represent the design of a system for describing its main relevant parts. Recently, recording and documenting architectural design decisions has attracted the attention of the software architecture community. Design decisions are ...
Supporting quality-driven architectural design decisions in software ecosystems
ECSAW '16: Proccedings of the 10th European Conference on Software Architecture WorkshopsSystem quality attributes (QAs) are often considered as the most important decision drivers. In this paper, motivated by the decision making in a smart-city software ecosystem, we extend our previous approach that integrates reusable architectural ...
Comments