Knowledge based decision framework for architecting complex systems

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.

[1]  Philippe Kruchten,et al.  The value of design rationale information , 2013, TSEM.

[2]  CapillaRafael,et al.  A web-based tool for managing architectural design decisions , 2006 .

[3]  Thomas Whalen,et al.  8.3.2 Uncertainty Quantification (UQ) in Complex System of Systems (SoS) Modeling and Simulation (M&S) Environments , 2014 .

[4]  Marc Aiguier,et al.  A Formal Definition of Complex Software , 2008, 2008 The Third International Conference on Software Engineering Advances.

[5]  Philippe Kruchten,et al.  Organizing a software architecture body of knowledge: summary of the 5th SHARK workshop, at ICSE 2010 , 2010, SOEN.

[6]  Dalila Tamzalit,et al.  Evolution styles to the rescue of architectural evolution knowledge , 2008, SHARK '08.

[7]  David M. Johnson,et al.  A review of fault management techniques used in safety-critical avionic systems , 1996 .

[8]  A. Peter Campbell,et al.  Attempting to Understand the Progress of Software Architecture Decision-Making on Large Australian Defence Projects , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[9]  Leonard J. Bass,et al.  Integrating Quality-Attribute Reasoning Frameworks in the ArchE Design Assistant , 2008, QoSA.

[10]  Matthias Galster,et al.  Capturing and Making Architectural Decisions: an Open Source Online Tool , 2014, ECSAW '14.

[11]  Paris Avgeriou,et al.  Difficulty of Architectural Decisions - A Survey with Professional Architects , 2013, ECSA.

[12]  Rafael Capilla,et al.  A web-based tool for managing architectural design decisions , 2006, SOEN.

[13]  Priya Narasimhan,et al.  Failure Diagnosis of Complex Systems , 2012, Resilience Assessment and Evaluation of Computing Systems.

[14]  Vijitashwa Pandey,et al.  Design Decisions under Uncertainty with Limited Information: Structures and Infrastructures Book Series, Vol. 7 , 2011 .

[15]  Rick Kazman,et al.  Decision-making techniques for software architecture design: A comparative survey , 2011, CSUR.

[16]  .. V. Heescha,et al.  A documentation framework for architecture decisions , 2011 .

[17]  Mohammad Jamshidi,et al.  System of systems engineering : innovations for the 21st century , 2008 .

[18]  Anthony J. Lattanze The Architecture Centric Development Method , 2005 .

[19]  K. Wiesner,et al.  What is a complex system? , 2012, European Journal for Philosophy of Science.

[20]  Marco Sinnema,et al.  Using variability modeling principles to capture architectural knowledge , 2006, SOEN.

[21]  Sandun Dasanayake,et al.  Software Architecture Decision-Making Practices and Challenges: An Industrial Case Study , 2015, 2015 24th Australasian Software Engineering Conference.