Publications

With our publications we cover the most diverse research areas that arise in the field of man, task and technology. In addition to traditional Business Information Systems topics such as knowledge management and business process management, you will also find articles on current topics such as blended learning, cloud computing or smart grids. Use this overview to get an impression of the range and possibilities of research in Business Information Systems at the University of Duisburg-Essen.

Type of Publication: Article in Collected Edition

An Extended Concept of Delegation and its Implementation within a Modelling and Programming Language Architecture

Author(s):
Clark, Tony; Frank, Ulrich; Gulden, Jens; Töpel, Daniel
Title of Anthology:
Enterprise Modelling and Information Systems Architectures. Vol. 19, No. 2
Publication Date:
2024
Keywords:
Delegation, Inheritance, Specialization, Subclassing, Object-oriented Modelling, Software-architecture
Digital Object Identifier (DOI):
doi:10.18417/emisa.19.2
Fulltext:
An Extended Concept of Delegation and its Implementation within a Modelling and Programming Language Architecture (3.43 MB)
Citation:
Download BibTeX

Abstract

Object-oriented modeling languages provide various concepts to express abstractions, which foster reuse and integrity. Among these concepts, generalization/specialization is of specific relevance. However, in many cases where generalization/specialization seems to be a natural choice, its use is likely to jeopardize a system’s integrity. Delegation has for long been known as an alternative that allows preventing the accidental damage caused by the inproper use of specialization. Nevertheless, delegation is ignored by most tools for object-oriented modeling as well as by many textbooks, which may be caused by the fact that there is no unified conception of delegation, and that delegation is not supported by most object-oriented programming languages. This paper aims at a revival of delegation. To that end, the need for delegation is motivated by the analysis of counter-intuitive effects of specialization. Based on an extensive requirements analysis, a new, extended conception of delegation is presented. It allows for using delegation between classes on any (meta-) level and introduces the "delegation to class" pattern. Delegation in multi-level environments enables an additional reduction of redundancy and, hence, promotes integrity. The paper also presents design guidelines to foster the appropriate use of delegation. With respect to the implementation of delegation with object-oriented programming languages, two alternative flavours of delegation are analyzed. Finally, a prototypical implementation within a language engineering and execution environment does not only demonstrate the use of delegation in a modeling tool, but also its seamless implementation, by featuring a common representation of models and code at runtime.