Automatic enforcement of constraints in real-time collaborative architectural decision making

Abstract Making and documenting architectural design decisions becomes increasingly important in the process of software architecting. However, the remoteness of different decision stakeholders, ranging from local distribution in an office environment to globally distributed teams, as well as the different domain knowledge, expertise and responsibilities of the stakeholders hinder effective and efficient collaboration. Existing tools and methods for collaborative architectural decision making focus mainly on sharing and reusing of knowledge, making trade-offs, and achieving consensus, but do not consider the various stakeholders’ decision making constraints due to their roles in the development process. To address this problem, we propose a meta-model for a set of decision making constraints, with precisely defined semantics, as well as a collaborative architectural decision making approach based on this meta-model. We also present tool support, called CoCoADvISE, which automatically enforces the constraints at runtime. The evaluation of this tool in a controlled experiment with 48 participants shows that our approach, besides preventing constraint violations, significantly increases both the time and effort related efficiency, as well as the effectiveness of users in collaborative decision making.

[1]  Arie van Deursen,et al.  Adinda: a knowledgeable, browser-based IDE , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[2]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[3]  R Core Team,et al.  R: A language and environment for statistical computing. , 2014 .

[4]  Robert L. Nord,et al.  A Structured Approach for Reviewing Architecture Documentation , 2009 .

[5]  Cesare Pautasso,et al.  Team Situational Awareness and Architectural Decision Making with the Software Architecture Warehouse , 2013, ECSA.

[6]  Olaf Zimmermann,et al.  Architectural Decisions as Reusable Design Assets , 2011, IEEE Software.

[7]  Daniela E. Damian,et al.  Global software development: growing opportunities, ongoing challenges , 2003, Softw. Process. Improv. Pract..

[8]  Yael Dubinsky,et al.  Effective management of roles and responsibilities: Driving accountability in software development teams , 2010, IBM J. Res. Dev..

[9]  Mark Strembeck,et al.  Reusable Architectural Decisions for DSL Design: Foundational Decisions in DSL Projects , 2009, EuroPLoP.

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

[11]  Antony Tang,et al.  Does decision documentation help junior designers rationalize their decisions? A comparative multiple-case study , 2013, J. Syst. Softw..

[12]  Tero Päivärinta,et al.  Describing and Communicating Software Architecture in Practice: Observations on Stakeholders and Rationale , 2002, CAiSE.

[13]  Mark Strembeck,et al.  Modeling process-related RBAC models with extended UML activity models , 2011, Inf. Softw. Technol..

[14]  Andreas Schaad,et al.  Model-driven business process security requirement specification , 2009, J. Syst. Archit..

[15]  Hans van Vliet,et al.  Stakeholder Perception of Enterprise Architecture , 2008, ECSA.

[16]  Avi Yaeli,et al.  Roles, rights, and responsibilities: Better governance through decision rights automation , 2009, 2009 ICSE Workshop on Software Development Governance.

[17]  Mark Strembeck Scenario-Driven Role Engineering , 2010, IEEE Security & Privacy.

[18]  Matti Rossi,et al.  Architecture as a coordination tool in multi-site software development , 2003, Softw. Process. Improv. Pract..

[19]  Peng Liang,et al.  Knowledge Architect: A Tool Suite for Managing Software Architecture Knowledge , 2009 .

[20]  Henderik A. Proper,et al.  Challenges of Involving Stakeholders When Creating Enterprise Architecture , 2010, EIS.

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

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

[23]  Piyush Maheshwari,et al.  Supporting ATAM with a collaborative Web-based software architecture evaluation tool , 2005, Sci. Comput. Program..

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

[25]  Frank D. Valencia,et al.  Formal Methods for Components and Objects , 2002, Lecture Notes in Computer Science.

[26]  Mark Strembeck,et al.  Generic Algorithms for Consistency Checking of Mutual-Exclusion and Binding Constraints in a Business Process Context , 2010, OTM Conferences.

[27]  Henderik Alex Proper,et al.  Supplementing Enterprise Architecture Approaches with Support for Executing Collaborative Tasks - a Case of TOGAF ADM , 2013, Int. J. Cooperative Inf. Syst..

[28]  Rob Miller,et al.  Real-time collaborative coding in a web IDE , 2011, UIST.

[29]  Henry Muccini,et al.  Suitability of Software Architecture Decision Making Methods for Group Decisions , 2014, ECSA.

[30]  Uwe Zdun,et al.  Using Patterns to Capture Architectural Decisions , 2007, IEEE Software.

[31]  Mark Strembeck,et al.  Reusable Architectural Decisions for DSL Design Foundational Decisions in DSL Development , 2009 .

[32]  Frank Leymann,et al.  Reusable Architectural Decision Models for Enterprise Application Development , 2007, QoSA.

[33]  James D. Herbsleb,et al.  Collaboration In Software Engineering Projects: A Theory Of Coordination , 2006, ICIS.

[34]  Cesare Pautasso,et al.  ADkwik: Web 2.0 Collaboration System for Architectural Decision Engineering , 2007, SEKE.

[35]  H. B. Mann,et al.  On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other , 1947 .

[36]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[37]  Rainer Weinreich,et al.  Classification of Design Decisions - An Expert Survey in Practice , 2013, ECSA.

[38]  Henry Muccini,et al.  A Study on Group Decision-Making in Software Architecture , 2014, 2014 IEEE/IFIP Conference on Software Architecture.

[39]  Peter A. Flach First-Order Logic , 2018, Encyclopedia of Machine Learning.

[40]  Monde Kalumbilo Effective specification of decision rights and accountabilities for better performing software engineering projects , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[41]  Jason Crampton,et al.  The consistency of task-based authorization constraints in workflow , 2004 .

[42]  Jutta Eckstein Agile Software Development with Distributed Teams , 2010 .

[43]  Paris Avgeriou,et al.  Past and future of software architectural decisions - A systematic mapping study , 2014, Inf. Softw. Technol..

[44]  Frank Leymann,et al.  Managing architectural decision models with dependency relations, integrity constraints, and production rules , 2009, J. Syst. Softw..

[45]  Peng Liang,et al.  Improving understandability of architecture design through visualization of architectural design decision , 2010, SHARK '10.

[46]  Daniela Cruzes,et al.  Coordination of Software Development Teams across Organizational Boundary -- An Exploratory Study , 2013, 2013 IEEE 8th International Conference on Global Software Engineering.

[47]  Stefan Sobernig,et al.  Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study , 2012, 2012 Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture.

[48]  Cesare Pautasso,et al.  Architectural decision modeling with reuse: challenges and opportunities , 2010, SHARK '10.

[49]  Patricia Lago,et al.  Using wikis to support architectural knowledge management in global software development , 2010, SHARK '10.

[50]  Peng Liang,et al.  Architectural design decision: Existing models and tools , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

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

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

[53]  Schahram Dustdar,et al.  Reusable Architectural Decision Model for Model and Metadata Repositories , 2008, FMCO.

[54]  Uwe Zdun,et al.  Supporting entailment constraints in the context of collaborative web applications , 2013, SAC '13.

[55]  Edsel A. Peña,et al.  Global Validation of Linear Model Assumptions , 2006, Journal of the American Statistical Association.

[56]  Peng Liang,et al.  Architectural design decision visualization for architecture design: preliminary results of a controlled experiment , 2011, ECSA '11.

[57]  James D. Herbsleb,et al.  Architectures, coordination, and distance: Conway’s law and beyond , 1999 .

[58]  Ioanna Lytra,et al.  Supporting Consistency between Architectural Design Decisions and Component Models through Reusable Architectural Knowledge Transformations , 2013, ECSA.

[59]  S. Shapiro,et al.  An Analysis of Variance Test for Normality (Complete Samples) , 1965 .

[60]  Muhammad Ali Babar,et al.  A Tool for Managing Software Architecture Knowledge , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[61]  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).

[62]  Patricia Lago,et al.  Effective Tool Support for Architectural Knowledge Sharing , 2007, ECSA.

[63]  Uwe Zdun,et al.  The supportive effect of patterns in architecture decision recovery - A controlled experiment , 2012, Sci. Comput. Program..

[64]  Andreas Schaad,et al.  Task-based entailment constraints for basic workflow patterns , 2008, SACMAT '08.

[65]  Walt Scacchi,et al.  Governance in Open Source Software Development Projects: A Comparative Multi-level Analysis , 2010, OSS.

[66]  Meiko Jensen,et al.  A Security Modeling Approach for Web-Service-Based Business Processes , 2009, 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems.

[67]  Frank Leymann,et al.  Architectural Decision Models as Micro-Methodology for Service-Oriented Analysis and Design , 2007 .

[68]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).