Formulating a theory about interoperability among heterogeneous software systems, based on the Semat kernel (2019)
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.