A guideline for software architecture selection based on ISO 25010 quality related characteristics

As the complexity of software increases, the choice of the appropriate software architecture becomes a critical task. This paper provides a guideline for selecting the appropriate software architecture based on pertinent ISO 25010 quality characteristics. The guideline was established through an analytical survey of 113 papers published from 2010 to 2014. Through this survey, we first identified a set of commonly used software architectures in the software engineering literature. Secondly, we applied the Formal Concept Analysis technique to classify each one of these architectures according to ISO 25010 quality characteristics. Finally, we identified the relationships among ISO 25010 quality characteristics, which in turn helped us to develop a guideline on how to select the appropriate software architecture with respect to ISO 25010 quality characteristics. In order to make sure about the validation of the proposed guideline, a survey with industrial experts is in progress. Data were collected from two companies working in the software development field (ST2i and Telnet).

[1]  Mohamed Jemni,et al.  User Centered Model to Provide Accessible e-Learning Systems , 2010, 2010 10th IEEE International Conference on Advanced Learning Technologies.

[2]  Lu Yongquan,et al.  A New Software Architecture for Ultra-large-scale Rendering Cloud , 2012, 2012 11th International Symposium on Distributed Computing and Applications to Business, Engineering & Science.

[3]  Zibin Zheng,et al.  Collaborative reliability prediction of service-oriented systems , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[4]  Basel Magableh,et al.  Detecting the Onset of Dementia Using Context-Oriented Architecture , 2012, 2012 Sixth International Conference on Next Generation Mobile Applications, Services and Technologies.

[5]  Frans A. Henskens,et al.  Expanding the Cloud: A Component-Based Architecture to Application Deployment on the Internet , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[6]  Huai Liu,et al.  Metamorphic Testing for Web Services: Framework and a Case Study , 2011, 2011 IEEE International Conference on Web Services.

[7]  Waseem Ahmed,et al.  Reliability Prediction Model for SOA Using Hidden Markov Model , 2013, 2013 8th ChinaGrid Annual Conference.

[8]  Bernhard Hoisl,et al.  Modeling and enforcing secure object flows in process-driven SOAs: an integrated model-driven approach , 2012, Software & Systems Modeling.

[9]  Juan Pavón,et al.  A model-driven process for the modernization of component-based systems , 2012, Sci. Comput. Program..

[10]  June M. Verner,et al.  Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, USA, October 17–19, 1989 , 1990 .

[11]  Jiankun Hu,et al.  Seamless integration of dependability and security concepts in SOA: A feedback control system based framework and taxonomy , 2011, J. Netw. Comput. Appl..

[12]  Samuel Kounev,et al.  Modeling of Event-based Communication in Component-based Architectures: State-of-the-Art and Future Directions , 2013, Electron. Notes Theor. Comput. Sci..

[13]  Aniruddha S. Gokhale,et al.  Supporting component-based failover units in middleware for distributed real-time and embedded systems , 2011, J. Syst. Archit..

[14]  Jan-Ou Wu,et al.  Software synthesis of middleware for heterogeneous embedded systems , 2012, 2012 2nd International Conference on Consumer Electronics, Communications and Networks (CECNet).

[15]  Changhai Zhao,et al.  Event-Driven Fault Tolerance for Building Nonstop Active Message Programs , 2013, 2013 IEEE 10th International Conference on High Performance Computing and Communications & 2013 IEEE International Conference on Embedded and Ubiquitous Computing.

[16]  Xiaoqing Li,et al.  A ten-year survey of software architecture , 2010, 2010 IEEE International Conference on Software Engineering and Service Sciences.

[17]  G. Shanmugasundaram,et al.  Research opportunities in service reusability of service oriented architecture , 2012, 2012 International Conference on Emerging Trends in Science, Engineering and Technology (INCOSET).

[18]  Rita Suzana Pitangueira Maciel,et al.  Applying a model-driven process for a collaborative service-oriented architecture , 2010, The 2010 14th International Conference on Computer Supported Cooperative Work in Design.

[19]  José Nuno Oliveira,et al.  Preparing for a Literature Survey of Software Architecture using Formal Concept Analysis , 2011 .

[20]  Xiao Jun,et al.  A model weaver for dynamic evolution base on MDA aspect-oriented software architecture , 2010, 2010 3rd International Conference on Advanced Computer Theory and Engineering(ICACTE).

[21]  Cecília M. F. Rubira,et al.  Components meet aspects: Assessing design stability of a software product line , 2011, Inf. Softw. Technol..

[22]  T. Abdellatif Building reliable security systems: The case of an e-voting system , 2012, 2012 International Conference on Information Technology and e-Services.

[23]  Jalel Akaichi,et al.  Pervasive e-healthcare system based on self-adaptability of SOA to the context , 2013, 2013 3rd International Conference on Information Technology and e-Services (ICITeS).

[24]  Mohamed Jemni,et al.  Personalizing Accessibility to E-Learning Environments , 2010, 2010 10th IEEE International Conference on Advanced Learning Technologies.

[25]  Paolo Bocciarelli,et al.  A model-driven method for enacting the design-time QoS analysis of business processes , 2013, Software & Systems Modeling.

[26]  Bin Wang,et al.  Holographic view language hvl4dcam for aspectual middleware platform , 2010 .

[27]  Min Liu,et al.  Object-oriented methodology meets MDA software paradigm , 2012, 2012 IEEE International Conference on Computer Science and Automation Engineering.

[28]  Rudy Hirschheim,et al.  Service-Oriented Architecture Maturity , 2011, Computer.

[29]  Franjo Cecelja,et al.  An Ontological Approach to Inter-Operation of Mobile Services , 2011, 2011 4th IFIP International Conference on New Technologies, Mobility and Security.

[30]  Marc Lacoste,et al.  Virtual Security Kernel: A Component-Based OS Architecture for Self-Protection , 2010, 2010 10th IEEE International Conference on Computer and Information Technology.

[31]  Yong Ren A dynamic comprehensive Web service for content management , 2011, 2011 IEEE 3rd International Conference on Communication Software and Networks.

[32]  L. O'Brien Lero,et al.  Quality Attributes for Service-Oriented Architectures , 2007, International Workshop on Systems Development in SOA Environments (SDSOA'07: ICSE Workshops 2007).

[33]  Noëmie Simoni,et al.  Ubiquity and QoS for Cloud Security , 2012, 2012 41st International Conference on Parallel Processing Workshops.

[34]  Frank Reichert,et al.  A REST-based publish/subscribe platform to support things-to-services communications , 2013, 2013 19th Asia-Pacific Conference on Communications (APCC).

[35]  Sagar Chaki,et al.  Using Architecturally Significant Requirements for Guiding System Evolution , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[36]  Philippe Merle,et al.  R-MOM: A Component-Based Framework for Interoperable and Adaptive Asynchronous Middleware Systems , 2012, 2012 IEEE 16th International Enterprise Distributed Object Computing Conference Workshops.

[37]  Ying Liang,et al.  A Security Ontology with MDA for Software Development , 2013, 2013 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.

[38]  Thaís Vasconcelos Batista,et al.  Stability assessment of aspect-oriented software architectures: A quantitative study , 2010, J. Syst. Softw..

[39]  Soo Dong Kim,et al.  Software Approaches to Assuring High Scalability in Cloud Computing , 2010, 2010 IEEE 7th International Conference on E-Business Engineering.

[40]  Hasan Rashidi,et al.  Software Architecture: A Survey and Classification , 2010, 2010 Second International Conference on Communication Software and Networks.

[41]  Tetsuo Kotoku,et al.  Native Robot Software Framework Inter-operation , 2010, SIMPAR.

[42]  Harry M. Sneed,et al.  Reusing existing object-oriented code as web services in a SOA , 2013, 2013 IEEE 7th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems.

[43]  Nafiseh Hajrahimi,et al.  Which Factors Affect Software Projects Maintenance Cost More? , 2013, Acta informatica medica : AIM : journal of the Society for Medical Informatics of Bosnia & Herzegovina : casopis Drustva za medicinsku informatiku BiH.

[44]  Sanjay Kumar Dubey,et al.  Comparative Study of the Factors that Affect Maintainability , 2011 .

[45]  Tao Tang,et al.  Research on distributed simulation framework of train control system based on SOA , 2013, 2013 IEEE International Conference on Intelligent Rail Transportation Proceedings.

[46]  Robert B. Grady,et al.  Practical Software Metrics for Project Management and Process Improvement , 1992 .

[47]  Premek Brada,et al.  Enhanced Type-based Component Compatibility Using Deployment Context Information , 2011, FESCA@ETAPS.

[48]  Jing Hu,et al.  Architecture Security Evaluation Method Based on Security of the Components , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[49]  Mourad Oussalah,et al.  Adaptation patterns for service based inter-organizational workflows , 2013, IEEE 7th International Conference on Research Challenges in Information Science (RCIS).

[50]  Thomas Reichherzer,et al.  Understanding Interoperable Systems: Challenges for the Maintenance of SOA Applications , 2012, 2012 45th Hawaii International Conference on System Sciences.

[51]  Romain Laborde,et al.  A deployment framework for self-contained policies , 2010, 2010 International Conference on Network and Service Management.

[52]  Xavier Defago,et al.  Reliability Prediction for Component-Based Software Systems with Architectural-Level Fault Tolerance Mechanisms , 2013, 2013 International Conference on Availability, Reliability and Security.

[53]  Valeriy Vyatkin,et al.  Time-Complemented Event-Driven Architecture for Distributed Automation Systems , 2015, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[54]  Sang Hyuk Son,et al.  Semantics-aware communication in sensor network applications , 2011, 2011 IEEE International Conference on Service-Oriented Computing and Applications (SOCA).

[55]  Linpeng Huang,et al.  Evaluation of Software Architectures Reliability Based on Hypergraph Grammar , 2013, 2013 IEEE 37th Annual Computer Software and Applications Conference.

[56]  Franz Wotawa,et al.  SOA Grey Box Testing -- A Constraint-Based Approach , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[57]  Siobhán Clarke,et al.  An aspect-oriented, model-driven approach to functional hardware verification , 2012, J. Syst. Archit..

[58]  W. Abdelmoez,et al.  Comparing maintainability evolution of object-oriented and aspect-oriented software product lines , 2012, 2012 8th International Conference on Informatics and Systems (INFOS).

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

[60]  Fang Cheng MDA Implementation Based on Patterns and Action Semantics , 2010, 2010 Third International Conference on Information and Computing.

[61]  Thomas L. Saaty,et al.  DECISION MAKING WITH THE ANALYTIC HIERARCHY PROCESS , 2008 .

[62]  Premek Brada,et al.  Visualization of Component-Based Applications Structure Using AIVA , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[63]  Zheng Hong,et al.  Aspect-oriented design method for embedded systems based on timed statecharts , 2013, China Communications.

[64]  Zachary J. Oster Reasoning with qualitative preferences to develop optimal component-based systems , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[65]  Paulette Acheson Methodology for object-oriented system architecture development , 2010, 2010 IEEE International Systems Conference.

[66]  Márcio Eduardo Delamaro,et al.  Built-In Structural Testing of Web Services , 2010, 2010 Brazilian Symposium on Software Engineering.

[67]  Sébastien Salva,et al.  A Preliminary Study on BPEL Process Testability , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[68]  Marcel Staroswiecki,et al.  On reconfiguration-based Fault Tolerance , 2010, 18th Mediterranean Conference on Control and Automation, MED'10.

[69]  Gabriel Wainer,et al.  Solutions for scalability in building information modeling and simulation-based design , 2013, ANSS 2013.

[70]  Tomás Bures,et al.  Strengthening Component Architectures by Modeling Fine-Grained Entities , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[71]  Riadh Ben Halima,et al.  DRF4SOA: A Dynamic Reconfigurable Framework for Designing Autonomic Application Based on SOA , 2012, 2012 IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[72]  Mohamed Jmaiel,et al.  System of systems software architecture description using the ISO/IEC/IEEE 42010 standard , 2017, SAC.

[73]  Rose F. Gamble,et al.  Introducing Replaceability into Web Service Composition , 2014, IEEE Transactions on Services Computing.

[74]  Vahid Rafe,et al.  Style-based modeling and verification of fault tolerance service oriented architectures , 2011, WCIT.

[75]  R. G. Dromey,et al.  Cornering the Chimera , 1996, IEEE Softw..

[76]  Lei Luo,et al.  Reliability Analysis of Task Model in Real-Time Fault-Tolerant Systems , 2012, 2012 IEEE 12th International Conference on Computer and Information Technology.

[77]  Lei Chen,et al.  Legacy Asset Analysis and Integration in Model-Driven SOA Solution , 2010, 2010 IEEE International Conference on Services Computing.

[78]  Frank Lüders,et al.  Use of component-based software architectures in industrial control systems , 2003 .

[79]  Laura Díaz,et al.  Integration of Environmental Models in Spatial Data Infrastructures: A Use Case in Wildfire Risk Prediction , 2013, IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing.

[80]  Kirti Tyagi,et al.  An adaptive neuro fuzzy model for estimating the reliability of component-based software systems , 2014 .

[81]  Jacek Kobusinski,et al.  Failure Detection in a RESTful Way , 2011, PPAM.

[82]  Kênia Santos de Oliveira,et al.  A Systematic Review on Aspects in Software Architecture Design , 2012, 2012 31st International Conference of the Chilean Computer Science Society.

[83]  Eila Niemelä,et al.  Survey of reliability and availability prediction methods from the viewpoint of software architecture , 2007, Software & Systems Modeling.

[84]  Amar Ramdane-Cherif,et al.  Quality Characteristics for Software Architecture , 2003, J. Object Technol..

[85]  Connie U. Smith,et al.  Model Interoperability for Performance Engineering: Survey of Milestones and Evolution , 2010, PERFORM.

[86]  Kresimir Fertalj,et al.  Models for the development of Web service orchestrations , 2012, 2012 Proceedings of the 35th International Convention MIPRO.

[87]  Shoab Ahmad Khan,et al.  Factors effecting service oriented architecture implementation , 2013, 2013 Science and Information Conference.

[88]  Pasqualina Potena,et al.  Optimization of adaptation plans for a service-oriented architecture with cost, reliability, availability and performance tradeoff , 2013, J. Syst. Softw..

[89]  Miriam A. M. Capretz,et al.  Intelligent security and access control framework for service-oriented architecture , 2010, Inf. Softw. Technol..

[90]  Ernest Mnkandla,et al.  Defining Agile Software Quality Assurance , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[91]  Wolfgang Hesse,et al.  Formal Concept Analysis Used for Software Analysis and Modelling , 2005, Formal Concept Analysis.

[92]  Ricardo Quintero,et al.  Model-driven software development of applications based on web services , 2010 .

[93]  Atika Qazi,et al.  Model driven architecture with encapsulated quality check and enhancement feature , 2013, Third International Conference on Innovative Computing Technology (INTECH 2013).

[94]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[95]  Thomas Ledoux,et al.  Reliable Dynamic Reconfigurations in a Reflective Component Model , 2010, CBSE.

[96]  Uwe Zdun,et al.  Enterprise integration using event actor based event transformations , 2013, SAC '13.

[97]  Deng Yue,et al.  Based on SOA architecture and component software reuse architecture research , 2010, 2010 2nd IEEE International Conference on Information Management and Engineering.

[98]  Peter Reimann,et al.  Event-driven business process management in Engineer-to-Order supply chains , 2011, Proceedings of the 2011 15th International Conference on Computer Supported Cooperative Work in Design (CSCWD).

[99]  Marin Silic,et al.  Reliability modeling for SOA systems , 2012, 2012 Proceedings of the 35th International Convention MIPRO.

[100]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.

[101]  Reiner R. Dumke,et al.  Efficient Reference Architecture for Integrated Legacy Applications based-SOA , 2012, 2012 Joint Conference of the 22nd International Workshop on Software Measurement and the 2012 Seventh International Conference on Software Process and Product Measurement.

[102]  Lars Asplund,et al.  A component based architecture to improve testability, targeted FPGA-based vision systems , 2011, 2011 IEEE 3rd International Conference on Communication Software and Networks.

[103]  Michel S. Soares,et al.  Extensions of SysML for Modeling an Aspect Oriented Software Architecture with Multiple Views , 2013, 2013 10th International Conference on Information Technology: New Generations.

[104]  Arnaud Lanoix,et al.  Using Temporal Logic for Dynamic Reconfigurations of Components , 2010, FACS.

[105]  O. P. Gandhi,et al.  Maintenance cost minimization of manufacturing systems using PSO under reliability constraint , 2016, Int. J. Syst. Assur. Eng. Manag..

[106]  Kurt Stenzel,et al.  Model-Driven Development of Secure Service Applications , 2012, 2012 35th Annual IEEE Software Engineering Workshop.

[107]  Monique Snoeck,et al.  Using formal concept analysis for the verification of process-data matrices in conceptual domain models , 2010, ICSE 2010.

[108]  Michael J. Flaherty,et al.  Review of Practical software metrics for project management and process improvement by Robert B. Grady, Prentice Hall, Englewood Cliffs 1992 , 1993 .

[109]  Esteban Zimányi,et al.  EQS: An Elastic and Scalable Message Queue for the Cloud , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[110]  Samuel Kounev,et al.  Integration of event-based communication in the palladio software quality prediction framework , 2011, QoSA-ISARCS '11.

[111]  Emin Gün Sirer,et al.  Logical attestation: an authorization architecture for trustworthy computing , 2011, SOSP.

[112]  Chen Wei,et al.  Research on Modeling and Model Converting Approaches Based on MDA , 2010, 2010 Second World Congress on Software Engineering.

[113]  Miguel A. Redondo,et al.  Blackboard architecture to integrate components and agents in heterogeneous distributed eLearning systems: An application for learning to program , 2012, J. Syst. Softw..

[114]  Hoang Pham,et al.  An analysis of factors affecting software reliability , 2000, J. Syst. Softw..

[115]  Ying Zhang,et al.  Model driven configuration of fault tolerance solutions for component-based software system , 2012, MODELS'12.

[116]  Duy Nguyen,et al.  EBC: Application-level migration on multi-site cloud , 2012, 2012 International Conference on Systems and Informatics (ICSAI2012).

[117]  E. D. Yuan,et al.  An event-driven service oriented architecture for Space Command and Control decision making , 2012, 2012 IEEE Aerospace Conference.

[118]  Federica Paganelli,et al.  A lightweight and extensible Complex Event Processing system for sense and respond applications , 2012, Expert Syst. Appl..

[119]  Yijun Yu,et al.  Adaptive Model-Driven User Interface Development Systems , 2014, ACM Comput. Surv..

[120]  Liam O'Brien,et al.  Quality Attributes and Service-Oriented Architectures , 2005 .

[121]  Heiko Koziolek,et al.  Parameterized Reliability Prediction for Component-Based Software Architectures , 2010, QoSA.

[122]  Wang Pu,et al.  A Model Transformation Platform Design Based on Model Driven Architecture , 2010, 2010 International Conference on Intelligent Computation Technology and Automation.

[123]  David Garlan,et al.  Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events , 2003, SFM.

[124]  Xu Tao,et al.  Web Services Security Problem in Service-oriented Architecture , 2012 .

[125]  Seyed Morteza Babamir,et al.  Improving Service Accessibility in Service-Oriented HIS , 2012, Journal of Medical Systems.

[126]  Vicente Pelechano,et al.  Systematic Reuse of Web Services through Software Product Line Engineering , 2011, 2011 IEEE Ninth European Conference on Web Services.

[127]  Andy Zaidman,et al.  Maintenance Research in SOA - Towards a Standard Case Study , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[128]  Zhao Yang,et al.  A method of selecting appropriate software architecture styles: Quality Attributes and Analytic Hierarchy Process , 2012 .