Tesis
Formulating a theory about interoperability among heterogeneous software systems, based on the Semat kernel
Date
2019-08-09Author
Torres Ricaurte, Diana Maria
Institutions
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. Resumen: La interoperabilidad es una propiedad de calidad del software asociada con el intercambio de información entre sistemas de software que poseen características heterogéneas. La interoperabilidad se desarrolla en niveles, es decir, técnica, sintáctica, semántica y organizacional. La interoperabilidad involucra elementos esenciales y proposiciones (relaciones entre los elementos esenciales) los cuales se identifican y declaran en una teoría. El objetivo de algunas propuestas es formalizar la interoperabilidad usando marcos comunes, modelos comunes y metamodelos. Las propuestas de marcos comunes incluyen un conjunto de conceptos, prácticas y criterios que se enfocan en la identificación y solución de problemas de interoperabilidad. Los modelos comunes son representaciones que se usan para entender, describir y controlar la interoperabilidad. Los metamodelos se usan para representar modelos de los problemas de interoperabilidad. Adicionalmente, algunas revisiones sistemáticas de la literatura se usan para recolectar evidencia empírica acerca de la interoperabilidad. Las propuestas anteriores presentan dificultades al proponer una teoría debido a cuatro razones principales: (i) usan una terminología desunificada sobre la interoperabilidad; (ii) desconocen los elementos esenciales de interoperabilidad; (iii) dejan de lado los principios de la interoperabilidad; y (iv) tienen una vista parcial de la interoperabilidad. En esta Tesis de Doctorado se propone una teoría de la interoperabilidad entre sistemas de software heterogéneos. Primero, se unifica la terminología sobre interoperabilidad y se reconocen siete elementos esenciales. Luego, se declaran las proposiciones asociadas con cada elemento esencial para explicar la interoperabilidad. Los elementos esenciales y las proposiciones se representan en el núcleo de Semat (Software Engineering Methods and Theory), que proporciona un lenguaje con elementos esenciales asociados con la ingeniería de software. También se presentan ejemplos de algunas de las proposiciones. Como validación de la teoría se proponen dos métodos: validación con expertos y aplicación de las proposiciones en algunos escenarios. La teoría propuesta permitirá unificar la terminología acerca de la interoperabilidad, identificar siete elementos esenciales, declarar las proposiciones para explicar como sucede la interoperabilidad y como se logra la interoperabilidad mediante el uso de los elementos esenciales identificados.