Master Thesis MSTR-2022-122

BibliographySpaney, Patrick: Implementing an enumerative semantic differencing operator for OPC UA.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 122 (2022).
63 pages, english.
Abstract

The OPC Unified Architecture (OPC UA) is a widely adopted set of communication standards for industrial automation that provides its own extensible data model. To understand the evolution of models over time and the differences between model versions, differencing is an essential tool. Differencing is commonly done syntactically, e.g., consisting of add and delete operations for model elements that transform one version into the other. In contrast to the usual syntactic approach, differencing can also be done on a semantic level by providing a model or an enumeration of instances, so-called witnesses, that can be derived from one model but not from another. OPC UA’s semantics, i.e., the rules for instantiation of its types, are rather complicated. This can make the precise semantic differences between model versions difficult to see. Furthermore, OPC UA information models may often be designed by domain experts of various engineering disciplines with little prior modeling experience. To tackle this problem, we introduce uadiff, an enumerative semantic differencing operator for OPC UA models. Moreover, uadiff uses a complete interpretation, i.e., references are only present on instances if they are present in the type definition. We aim to simplify comparisons of model versions and thus model development, reduce redundant models and through our stricter instantiation rules improve the overall model quality. To our knowledge, no semantic differencing operator exists for OPC UA models. However, such operators have been described and implemented for other modeling languages, such as UML class diagrams (CDs). We present an ATL transformation from OPC UA to CD, which, in composition with a slightly modified CD semantic differencing operator, forms uadiff. The combination of these components lets uadiff preserve many semantic intricacies that are not present in UML. The uadiff operator is implemented as a Java demonstrator application executing the transformation and applying the modified CD differencing solution to the results. We demonstrate the operator and its implementation with a simple example and evaluate the performance on models relevant in practice. We conclude the thesis with a discussion on the applicability and limitations of our approach, as well as an outlook on possible future research.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Software Quality and Architecture
Superviser(s)Becker, Prof. Steffen; Wortmann, Jun.-Prof. Andreas
Entry dateJuly 2, 2024
   Publ. Computer Science