ABSTRACT
The view of architecture, as a set of relevant decisions and corresponding decision based views & decision models, has been well established. However, for complex systems, there may be some uncertainty associated with the ramifications of the decisions as development unfolds. While making a decision using a decision making technique, it might not be easy to fully understand the implications of a specific alternative associated with a decision, due to knowledge gaps. When learning cycles on the decisions taken are experienced, there needs to be means for incorporating the feedback on the alternative chosen once the implication of decision is realized, and that needs to reflect back on the uncertainty associated with the alternative. Also, adequate means to subsequently augment the architectural knowledge base at an organizational level is required. This paper proposes a knowledge based decision framework for architecting complex systems, incorporating uncertainty, knowledge gaps, learning cycle, and feedback loops. The framework enables the progressive maturity of the architectural knowledge base in an organization.
- Aiguier, M., Gall, P. L. and Mabrouki, M. A Formal Definition of Complex Software. 3rd Int. Conf. on Software Engineering Advances, 2008, 415--420. Google ScholarDigital Library
- Capilla, R., Nava, F., Pérez, S., and Dueñas, J. C. A web-based tool for managing architectural design decisions. ACM SIGSOFT Software Engineering Notes, 31, 5, 2006. Google ScholarDigital Library
- Dasanayake, S., Markkula, J., Aaramaa, S., and Oivo, M. Software architecture decision-making practices and challenges: An industrial case study. 24th Australasian Software Engineering Conference, 2015, pp. 88--97. Google ScholarDigital Library
- Diaz-Pace, A., Kim, H., Bass, L., Bianco, P., and Bachmann, F. Integrating Quality-attribute Reasoning Frameworks in the ArchE Design Assistant. 4th International Conf. on the Quality of Software-Architectures, QoSA 2008, pp: 171--188. Google ScholarDigital Library
- Falessi, D., Briand, L. C., Cantone, G., Capilla, R., and Krachten, P. The value of design rationale information. ACM Trans, on Software Eng. and Methodology, 22(3), 2013. Google ScholarDigital Library
- Falessi, D., Cantone, G., Kazman, R., and Krachten, P. Decision-making techniques for software architecture design: a comparative survey. ACM Computing Surveys, 43(4), 2011. Google ScholarDigital Library
- Harrison, T. C., and Campbell, A. P. Attempting to understand the progress of software architecture decisionmaking on large Australian defence projects. 9th IEEE/IFIP Conference on Software Architecture, 2011, pp. 42--45. Google ScholarDigital Library
- Heesch, U., Avgeriou, P., and Hilliard, R. A documentation framework for architecture decisions. The Journal of Systems and Software, 85(4), 2012, pp:795-- 820. Google ScholarDigital Library
- International Council On Systems Engineering (INCOSE) - Systems Engineering Handbook, V 3.2.1, 2011.Google Scholar
- ISO/TEC/IEEE 42010 Systems and software engineering --- Architecture description, ISO, 2011.Google Scholar
- Johnson, D. M. A review of fault management techniques used in safety-critical avionic systems. Progress In Aerospace Sciences, 32 (5), 1996, pp. 415--431. Google ScholarCross Ref
- Kavulya, S. P., Joshi, K, Di-Giandomenico, F., and Priya, N. Failure Diagnosis of Complex Systems. Resilience Assessment and Evaluation, Springer Verlag, 2012.Google ScholarCross Ref
- Ladyman, J., Lambert, J. and Wiesner, K. What is a complex system? European Journal for Philosophy of Science 3:33--67, 2013. Google ScholarCross Ref
- Lago, P., Avgeriou, P., and Krachten, P. Organizing software architecture body of knowledge: Summary of 5th SHARK. ACM SIGSOFT Software Engineering Notes, 35(5), 2010. Google ScholarDigital Library
- Lattanze, A. J. The Architecture Centric Development Method. Report CMU-ISRI-05-103, CMU, 2015.Google Scholar
- Le Goaer, O, Tamzalit, D., Oussalah, M. C., and Seriai, A. D. Evolution styles to the rescue of architectural evolution knowledge. 3rd Int. Workshop on Sharing and Reusing Architectural Knowledge (SHARK '08), 2008, pp. 31--36. Google ScholarDigital Library
- Marvin, J., and Morantz, B., Whalen, T., Deiotte, R., and Garrett, R. K. Uncertainty Quantification (UQ) in Complex System of Systems (SoS) Modeling and Simulation. INCOSE International Symposium, 2014, pp:843--858.Google Scholar
- Nikolaidis, E., Mourelatos, Z., Pandey, V. Design Decisions under Uncertainty with Limited Information. CRC Press, 2011.Google ScholarCross Ref
- Sinnema, M., Salvador, J., and Deelstra, S. Using variability modeling principles to capture architectural knowledge. ACM SIGSOFT Software Engineering Notes, 31(5), 2006. Google ScholarDigital Library
- System of Systems Engineering: Innovations for the 21st Century, Editor Mo Jamshidi, John Wiley & Sons, Inc., 2009.Google Scholar
- Tofan, D., and Galster, M. Capturing & making architectural decisions: Open source online tool. European Conference on Software Architecture Workshops, Aug 2014, pp: 33:1--33:4. Google ScholarDigital Library
- Tofan, D., Galster, M. and Avgeriou, P. Difficulty of architectural decisions: a survey with professional architects. Software Architecture LNCS 7957, Springer 2013, 192--199. Google ScholarDigital Library
Index Terms
- Knowledge based decision framework for architecting complex systems
Recommendations
Sustainable Architectural Design Decisions
Software architects must sustain design decisions to endure throughout software evolution. Several criteria can help them assess decisions' sustainability. In addition, industry and research projects have applied different techniques to make ...
Making the right decision: supporting architects with design decision data
ECSA'13: Proceedings of the 7th European conference on Software ArchitectureSoftware architects are often forced to make design decisions based on limited information. In this paper, we present an approach that allows software architects to study information about design decisions made by hundreds or more software architects by ...
Using variability modeling principles to capture architectural knowledge
In the field of software architectures, there is an emerging awareness of the importance of architectural decisions. In this view, the architecting process is explained as a decision process, while the design and eventually the software system are seen ...
Comments