Platform design space exploration using architecture decision viewpoints-A longitudinal study

The paper presents a technical action research study with ABB in Sweden.Decision viewpoints were validated for platform design space exploration.Decision viewpoints are suitable for dealing with diverging stakeholder concerns.They are also very efficient for evaluating technological alternatives. Design space exploration is the simultaneous analysis of problem and solution spaces for a specific domain or application scope. Performing this activity as part of the architectural design is beneficial, especially for software platforms, which are shared across organizations. Exploring the design space of software platforms in a multi-product and multi-domain context is not trivial, and only few methods exist to support this activity systematically.This paper reports on a longitudinal technical action research (TAR) study conducted to adapt and evaluate architecture decision viewpoints for supporting platform design space exploration. The study was conducted in the context of an ABB project, which was performed to explore the design space for a common software platform for mobile device support in several product-specific software platforms at ABB.The results indicate that the adapted decision viewpoints are well suitable for dealing with diverging stakeholder concerns, evaluating technological alternatives and uncovering relationships between decisions to be made.

[1]  Roel Wieringa,et al.  Design Science Methodology for Information Systems and Software Engineering , 2014, Springer Berlin Heidelberg.

[2]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[3]  Richard M. Young,et al.  Options and Criteria: Elements of design space analysis , 1991 .

[4]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[5]  David Tripp,et al.  Action research: a methodological introduction , 2005 .

[6]  Rita Almeida Ribeiro,et al.  Hybrid assessment method for software engineering decisions , 2011, Decis. Support Syst..

[7]  Douglas C. Schmidt,et al.  Patterns, frameworks, and middleware: their synergistic relationships , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Martin Bichler,et al.  Design science in information systems research , 2006, Wirtschaftsinf..

[9]  Roel Wieringa,et al.  Technical Action Research as a Validation Method in Information Systems Design Science , 2012, DESRIST.

[10]  Philippe Kruchten,et al.  What do software architects really do? , 2008, J. Syst. Softw..

[11]  David Garlan,et al.  The role of software architecture in requirements engineering , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[12]  A. Mcintyre,et al.  Participatory Action Research , 2007 .

[13]  Richard Baskerville,et al.  Investigating Information Systems with Action Research , 1999, Commun. Assoc. Inf. Syst..

[14]  Cathy Urquhart,et al.  Putting the ‘theory’ back into grounded theory: guidelines for grounded theory studies in information systems , 2009, Inf. Syst. J..

[15]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[16]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[17]  Ching-Lai Hwang,et al.  Multiple attribute decision making : an introduction , 1995 .

[18]  Alfred Taudes,et al.  Options Analysis of Software Platform Decisions: A Case Study , 2000, MIS Q..

[19]  Uwe Zdun Systematic pattern selection using pattern language grammars and design space analysis , 2007 .

[20]  Alan W. Brown,et al.  A Framework for Evaluating Software Technology , 1996, IEEE Softw..

[21]  Philippe Kruchten,et al.  Using grounded theory to study the experience of software development , 2011, Empirical Software Engineering.

[22]  Leonard J. Bass,et al.  Quality Attribute Design Primitives and the Attribute Driven Design Method , 2001, PFE.

[23]  Anselm L. Strauss,et al.  Qualitative Analysis For Social Scientists , 1987 .

[24]  Salvatore T. March,et al.  Design and natural science research on information technology , 1995, Decis. Support Syst..

[25]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[26]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[27]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[28]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[29]  Eoin Woods,et al.  Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives , 2005 .

[30]  Roel Wieringa,et al.  Design science as nested problem solving , 2009, DESRIST.

[31]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[32]  Roel Wieringa,et al.  Goal-Oriented Requirements Engineering and Enterprise Architecture: Two Case Studies and Some Lessons Learned , 2012, REFSQ.

[33]  Muhammad Ali Babar,et al.  A comparative study of architecture knowledge management tools , 2010, J. Syst. Softw..

[34]  Paris Avgeriou,et al.  Forces on Architecture Decisions - A Viewpoint , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[35]  Matthias Ehrgott,et al.  Multiple criteria decision analysis: state of the art surveys , 2005 .

[36]  A. T. Wood-Harper,et al.  A critical perspective on action research as a method for information systems research , 2016 .

[37]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[38]  B. A. Nuseibeh Weaving Together Requirements and Architecture Journal Article , .

[39]  B. Alexe,et al.  Multi-Attribute Decision Making E-Course , 2006, 2006 International Multi-Conference on Computing in the Global Information Technology - (ICCGI'06).

[40]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[41]  N. Mack,et al.  Qualitative research methods: a data collectors field guide. , 2005 .

[42]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[43]  Lianping Chen,et al.  Variability Management in Software Product Lines: An Investigation of Contemporary Industrial Challenges , 2010, SPLC.

[44]  Joan E. Sieber,et al.  Protecting Research Subjects, Employees and Researchers: Implications for Software Engineering , 2001, Empirical Software Engineering.

[45]  van Heescha,et al.  Does decision documentation help junior designers rationalize their decisions? A comparative multiple-case study , 2013 .

[46]  Christopher Alexander,et al.  The Timeless Way of Building , 1979 .

[47]  Roland J. Weiss,et al.  Sustainability guidelines for long-living software systems , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[48]  David Garlan,et al.  Acme: an architecture description interchange language , 2010, CASCON.

[49]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[50]  Neil B. Harrison,et al.  Decision-Centric Architecture Reviews , 2013, IEEE Software.

[51]  H. Bradbury,et al.  Handbook of action research : participative inquiry and practice , 2001 .

[52]  Daniel Gross,et al.  From Non-Functional Requirements to Design through Patterns , 2001, Requirements Engineering.

[53]  Olaf Zimmermann,et al.  Sustainable Architectural Design Decisions , 2013, IEEE Software.

[54]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[55]  Tore Dybå,et al.  The Future of Empirical Methods in Software Engineering Research , 2007, Future of Software Engineering (FOSE '07).

[56]  Daniela E. Damian,et al.  Selecting Empirical Methods for Software Engineering Research , 2008, Guide to Advanced Empirical Software Engineering.

[57]  Robert Phaal,et al.  Roadmapping for Strategy and Innovation: Aligning Technology and Markets in a Dynamic World , 2010 .

[58]  T. Saaty,et al.  The Analytic Hierarchy Process , 1985 .

[59]  Anders Wall,et al.  TechSuRe - A Method for Assessing Technology Sustainability in Long Lived Software Intensive Systems , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[60]  Ching-Lai Hwang,et al.  Fuzzy Multiple Attribute Decision Making - Methods and Applications , 1992, Lecture Notes in Economics and Mathematical Systems.

[61]  Judy McKay,et al.  The dual imperatives of action research , 2001, Inf. Technol. People.

[62]  A. Huberman,et al.  Qualitative Data Analysis: A Methods Sourcebook , 1994 .

[63]  David Tripp,et al.  Pesquisa-ação: uma introdução metodológica , 2005 .

[64]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[65]  .. V. Heescha,et al.  The Journal of Systems and Software , 2022 .

[66]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[67]  Frank Leymann,et al.  Combining Pattern Languages and Reusable Architectural Decision Models into a Comprehensive and Comprehensible Design Method , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[68]  Peter B. Seddon,et al.  Towards the improved treatment of generalization of knowledge claims in IS research: drawing general conclusions from samples , 2012, Eur. J. Inf. Syst..

[69]  Heiko Koziolek,et al.  Decision architect - A decision documentation tool for industry , 2016, J. Syst. Softw..

[70]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.