CDMerge: Semantically Sound Merging of Class Diagrams for Software Component Integration

By: Achim Lindt, Bernhard Rumpe, Max Stachon, Sebastian Stüber

Abstract

Abstraction, refinement and (de-)composition are fundamental techniques for engineering large software systems. In the context of Model Driven Development (MDD), these techniques are primarily applied to models. Our goal is to integrate automated composition of data models into the development process. We focus primarily on Class Diagrams (CDs) which are widely used to model object-oriented systems. In particular, we consider the variant of UML/P CDs which are equipped with a formal semantics for both the closed-world and open-world assumptions and allow for underspecified associations. A sound merge of CDs must include precisely the information of its components and preserve their semantic implications. In this paper we introduce a merge operator for CDs that considers both formal and implementation-oriented soundness requirements. The operator is able to support a divide-and-conquer approach for modeling and code-generation of large object-oriented software systems. We clarify why we deem an open-world approach necessary and outline merge conflicts and variants. Finally, we discuss integration of automated merging into the development process and provide an outlook on run-time data integration.

Keywords

class diagrams, uml, composition, merge, semantics, model-driven engineering.

Cite as:

Achim Lindt, Bernhard Rumpe, Max Stachon, Sebastian Stüber, “CDMerge: Semantically Sound Merging of Class Diagrams for Software Component Integration”, Journal of Object Technology, Volume 22, no. 2 (July 2023), pp. 2:1-14, doi:10.5381/jot.2023.22.2.a1.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact