Formulating a Theory About Interoperability Among Heterogeneous Software Systems, Based on the Semat Kernel
Total Page:16
File Type:pdf, Size:1020Kb
Formulating a theory about interoperability among heterogeneous software systems, based on the Semat kernel Diana Maria Torres Ricaurte Universidad Nacional de Colombia Facultad de Minas, Departamento de Ciencias de la Computación y de la Decisión Medellín, Colombia 2019 Formulating a theory about interoperability among heterogeneous software systems, based on the Semat kernel Diana Maria Torres Ricaurte Tesis presentada como requisito parcial para optar al título de: Doctor en Ingeniería—Sistema e Informática Director: Ph.D. Carlos Mario Zapata Jaramillo Codirectora: Ph.D. Mónica Villavicencio Cabezas Línea de Investigación: Calidad de Software Grupo de Investigación: Lenguajes Computacionales Universidad Nacional de Colombia Facultad de Minas, Departamento de Ciencias de la Computación y de la Decisión Medellín, Colombia 2019 Dedication To my husband Andres Saavedra, my son Tomas Saavedra Torres, and my baby Celeste Saavedra Torres, my most important life mates. To my mother Francis Ricaurte, my siblings Carlos and Luisa Torres, my nieces Sofia Martinez and Salome Diaz, I am very lucky to have them. To my father Carlos Torres, I will always love him. Acknowledgments This Ph.D. study was supported by Colciencias (Management department of science, technology, and innovation). Special thanks to my advisor Carlos Mario Zapata Jaramillo; his teachings transcended the academic field. I also want to thank to my co-advisor Monica Katiuska Villavicencio Cabezas; her advises and dedication certainly contributed to the results. I want to thank to the Professor David Chen; his experience and disposition helped to make successful my research stay at University of Bordeaux. A heartfelt gratitude to my friends Paola Noreña and Claudia Durango. They were always available to support me in all the aspect of my life that I needed. Thanks also for my co-workers Grissa Maturana, Juan Cogollo, Jesus Insuasti, Wilder Perdomo, and Maria Gomez. Together we made a great support group. Finally, I want to thank the collaborative work with the University of Bordeaux Abstract Interoperability is a software quality property related to the information exchange among software systems with heterogeneous characteristics. Interoperability is developed in levels—e.g., technical, syntactic, semantic, and organizational. Interoperability involves essential elements and propositions—i.e., relationships between the essential elements— which can be identified and stated as a theory. Some proposals are intended to formalize interoperability by using common frameworks, common models, and meta-models. Common framework proposals include a set of concepts, practices, and criteria focused on identifying and solving interoperability problems. Common models are intended to represent in some way the interoperability, aiming to understand, describe, and control it. Meta-model proposals include models of interoperability problems. Additionally, systematic literature reviews are intended to agree empirical evidence about interoperability. Previous work fails in proposing a theory due to four main reasons: (i) a disunified terminology about interoperability is used; (ii) essential elements of interoperability are unidentified; (iii) interoperability principles are left aside; and (iv) a general view of interoperability is unreached. In this Ph.D. Thesis we propose a theory about interoperability among heterogeneous software systems. First, we unify the interoperability terminology and we recognize seven essential elements for unifying interoperability vocabulary. Then, we state the propositions associated to such essential elements for explaining interoperability. Essential elements and propositions are represented on the Semat (Software Engineering Method and Theory) Essence kernel, since it has a set of essential elements related to software engineering and a simple language for describing such elements. We also exemplify some of the propositions. The validation of the theory is carried out in two ways (1) expert consultation and (2) application of the propositions to some scenarios. The proposed theory helps to unify terminology about interoperability by identifying seven essential elements, stating the propositions for explaining how interoperability happens, and explaining how to achieve interoperability by using the minimal defined set of elements. Keywords: Interoperability, Theory, Semat, Heterogeneous software systems. Table of contents 1. Introduction ........................................................................................................................................................1 2. Theoretical Framework .......................................................................................................................................5 2.1 Interoperability ................................................................................................................................................ 5 2.2 Software system heterogeneity ....................................................................................................................... 6 2.3 Interoperability levels ...................................................................................................................................... 6 2.4 Theories in software engineering .................................................................................................................... 7 2.4.1 Types of theories in software engineering ............................................................................................7 2.4.2 Framework for describing theories in software engineering ..................................................................8 2.4.3 Axiomatic approach ..............................................................................................................................8 2.5 Semat (Software Engineering Method and Theory) ........................................................................................ 9 2.6 Pre-conceptual schemas .............................................................................................................................. 11 3. State-of-the-art review and problem statement ................................................................................................. 13 3.1 Common frameworks.................................................................................................................................... 13 3.1.1 Interoperability standards ................................................................................................................... 13 3.1.2 Other frameworks ............................................................................................................................... 13 3.2 Common models .......................................................................................................................................... 14 3.3 Meta-models ................................................................................................................................................. 15 3.3.1 Meta-models for general interoperability ............................................................................................. 15 3.3.2 Meta-models focused on interoperability data .................................................................................... 15 3.4 Systematic literature reviews ........................................................................................................................ 16 3.5 Problem statement ....................................................................................................................................... 18 3.6 Hypothesis .................................................................................................................................................... 19 3.7 General Objective ......................................................................................................................................... 20 3.8 Specific Objectives ....................................................................................................................................... 20 3.9 Methodology ................................................................................................................................................. 20 4. Solution ............................................................................................................................................................ 23 4.1 Systematic literature review process............................................................................................................. 23 4.1.1 Planning the review activity ................................................................................................................ 23 4.1.2 Conducting the review activity ............................................................................................................ 24 4.1.3 Reviewing the obtained studies activity .............................................................................................. 24 4.2 Terminology unification process ................................................................................................................... 25 4.2.1 Identifying interoperability essential elements ..................................................................................... 25 4.2.2 Understanding the meaning of essential elements ............................................................................. 26 4.2.3 Tracking essential