A Typology of Architectural Strategies for Interoperability

An increasing interest in researching the development, integration, composition, and evolution of large-scale, software-intensive systems (LSSIS) have been observed in the last years. These systems are presented in different domains as connected health, industry 4.0, military, smart cities, smart grids, and smart agriculture. These systems are realized through the cooperation among heterogeneous, independent, highly distributed, individual, and heterogeneous systems to achieve their business goals. For the success of these larger systems, their individual parts must interoperate among them allowing the execution of more complex functionalities. However, there are many concerns that software engineers must overcome during the composition of these systems, that can be related to (i) the misunderstanding of data formats, data semantic, procedures, contracts, standards, quality, and interfaces structures provided by individual systems; and (ii) the absence of high-level architectures to analyze, comprehend, and guide how interoperability can be addressed. The goal of this work is to present a typology of existing and proven strategies for achieving interoperability. Strategies were identified through a systematic search in scientific databases and patterns repositories. The selected strategies were categorized according to the level of interoperability they support, namely, technical, syntactic, semantic, and organizational. In each level, the strategies were divided by the type of solution their propose, i.e., technique, and architectural styles, patterns, and tactics. Moreover, statements explaining how each strategy address interoperability are given. Results of this work can be used by architects to identify and understand solutions for achieving interoperability requirements during the composition of larger systems. The resulting typology in this study is the first step to consolidate a patterns-language for interoperability in software architectures.

[1]  Tim Benson,et al.  Principles of Health Interoperability: SNOMED CT, HL7 and FHIR , 2016 .

[2]  Gordon S. Blair,et al.  Interoperability in Complex Distributed Systems , 2011, SFM.

[3]  Arie van Deursen,et al.  An Architectural Style for Ajax , 2006, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[4]  Daniel Plakosh,et al.  System of Systems Interoperability (SOSI): Final Report , 2004 .

[5]  William H. Glick,et al.  Typologies As a Unique Form Of Theory Building: Toward Improved Understanding and Modeling , 1994 .

[6]  Katia Romero Felizardo,et al.  Quality Attributes of Systems-of-Systems: A Systematic Literature Review , 2015, 2015 IEEE/ACM 3rd International Workshop on Software Engineering for Systems-of-Systems.

[7]  Neil B. Harrison,et al.  How do architecture patterns and tactics interact? A model and annotation , 2010, J. Syst. Softw..

[8]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  El Benany,et al.  Choreography for interoperability in the e-Government applications , 2018, 2018 International Conference on Intelligent Systems and Computer Vision (ISCV).

[10]  Azad M. Madni,et al.  System of Systems Integration: Key Considerations and Challenges , 2014, Syst. Eng..

[11]  Fernanda Campos,et al.  Towards pragmatic interoperability to support collaboration: A systematic review and mapping of the literature , 2016, Inf. Softw. Technol..

[12]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[13]  Olaf Zimmermann,et al.  Microservices tenets , 2017, Computer Science - Research and Development.

[14]  Kim H. Veltman,et al.  Syntactic and semantic interoperability: New approaches to knowledge and the semantic web , 2001 .

[15]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[16]  Sai Peck Lee,et al.  An interoperability model for ultra large scale systems , 2014, Adv. Eng. Softw..

[17]  Minsu Jang,et al.  Automated Question Answering Using Semantic Web Services , 2007 .

[18]  Liang-Jie Zhang,et al.  S3: A Service-Oriented Reference Architecture , 2007, IT Professional.

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

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

[21]  Wolfgang Mayer,et al.  Semantic Web Service Composition by Consistency-Based Model Refinement , 2007 .

[22]  Idabc European Interoperability Framework for Pan-European eGovernment Services , 2004 .

[23]  Najhan M. Ibrahim,et al.  A survey on different interoperability frameworks of SOA systems towards seamless interoperability , 2010, 2010 International Symposium on Information Technology.

[24]  Tim Kelly,et al.  Using Agent-Based Modelling Approaches to Support the Development of Safety Policy for Systems of Systems , 2006, SAFECOMP.

[25]  Nicolai M. Josuttis,et al.  Soa In Practice The Art Of Distributed System Design , 2007 .

[26]  Yérom-David Bromberg,et al.  OverStar: An Open Approach to End-to-End Middleware Services in Systems of Systems , 2012, Middleware.

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

[28]  Valérie Issarny,et al.  Formal Methods for Eternal Networked Software Systems , 2011, Lecture Notes in Computer Science.

[29]  K. Bailey Typologies and taxonomies: An introduction to classification techniques. , 1994 .

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

[31]  R. Keshav,et al.  Towards a taxonomy of architecture integration strategies , 1998, ISAW '98.

[32]  Stephan Winter,et al.  Ontology and semantic interoperability , 2005 .

[33]  Claire Ingram,et al.  Architectural Modelling Patterns for Systems of Systems , 2015 .

[34]  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 .

[35]  H. Dieter Rombach,et al.  Software Interoperability Analysis in Practice: A Survey , 2017, EASE.

[36]  Flávio Oquendo,et al.  Foreword: Towards Reference Architectures for Systems-of-Systems , 2015, 2015 IEEE/ACM 3rd International Workshop on Software Engineering for Systems-of-Systems.

[37]  Flávio Oquendo,et al.  Towards a Taxonomy of Software Mediators for Systems-of-Systems , 2018, SBCARS '18.

[38]  Brian J. Sauser,et al.  Revisiting “The Meaning of Of” as a Theory for Collaborative System of Systems , 2017, IEEE Systems Journal.

[39]  Geoffrey Muchiri Muketha,et al.  A Review of Agent Based Interoperability Frameworks and Interoperability Assessment Models , 2014 .

[40]  Christine Legner,et al.  Preface to the Focus Theme Section: 'Business Interoperability' Business Interoperability Research: Present Achievements and Upcoming Challenges , 2007, Electron. Mark..

[41]  Hans Jochen Scholl,et al.  Layers of Interoperability , 2011 .

[42]  Iohan Gonçalves Vargas,et al.  Approaches for Integration in System of Systems: A Systematic Review , 2016, 2016 IEEE/ACM 4th International Workshop on Software Engineering for Systems-of-Systems (SESoS).

[43]  Sonali Agarwal,et al.  A Complete Survey on Software Architectural Styles and Patterns , 2015 .

[44]  Guy Doumeingts,et al.  Architectures for enterprise integration and interoperability: Past, present and future , 2008, Comput. Ind..

[45]  Mark Richards,et al.  Software architecture patterns : understanding common architecture patterns and when to use them , 2015 .

[46]  Paris Avgeriou,et al.  Qualitative Analysis of the Impact of SOA Patterns on Quality Attributes , 2012, 2012 12th International Conference on Quality Software.

[47]  Hans Jochen Scholl,et al.  Organizational Interoperability in E-Government - Lessons from 77 European Good-Practice Cases , 2011 .

[48]  Eduardo B. Fernández,et al.  Revisiting Architectural Tactics for Security , 2015, ECSA.

[49]  Amit K. Chopra Business process interoperability: extended abstract , 2008, AAMAS.

[50]  Giuseppe Procaccianti,et al.  Challenges on the Relationship between Architectural Patterns and Quality Attributes , 2017, 2017 IEEE International Conference on Software Architecture (ICSA).

[51]  Kecheng Liu,et al.  Semiotic Interoperability - A Critical Step towards Systems Integration , 2013, KDIR/KMIS.

[52]  Mohammed Atiquzzaman,et al.  Interoperability in Internet of Things: Taxonomies and Open Challenges , 2018, Mobile Networks and Applications.

[53]  Tim Benson,et al.  Principles of Health Interoperability , 2016, Health Information Technology Standards.

[54]  Jane Hunter MetaNet: a metadata term thesaurus to enable semantic interoperability between metadata domains , 2001 .