Henning Berg
University of Oslo
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Henning Berg.
system analysis and modeling | 2012
Henning Berg; Birger Møller-Pedersen
Composition of models is a key operation in model-driven engineering where it is used for, e.g., elaborating models with additional concepts, acquiring a holistic system view, or making model variants. However, there are few state-of-the-art composition mechanisms that support type-safe symmetric composition of metamodels and their behavioural semantics. This hampers the flexible customisation and reuse of metamodels in model-driven engineering approaches. This paper presents a new mechanism for composing metamodels by defining metamodels as reusable templates. Composition of metamodels is achieved using template instantiations that allow customising the metamodel classes as part of the composition process. The work includes a prototypical metamodel composition tool that supports the ideas presented. The result is an approach for composing metamodels in a type-safe manner, where name conflict resolution, composition of behavioural semantics and reuse of tools are supported.
acm conference on systems programming languages and applications software for humanity | 2011
Henning Berg; Birger Møller-Pedersen; Stein Krogdahl
Domain-Specific Languages (DSLs) allow modelling concerns at a high abstraction level. This simplifies the modelling process and ensures that non-technical stakeholders can be more closely involved in software development. However, increasing the abstraction level causes details of the problem domain to be excluded from the problem space. In some situations, this may render a DSL useless since required details can not be captured by the language. In this paper we explore how generic metamodels can be parameterised to model additional details and thereby increase the reuse value of DSLs.
international conference on model-driven engineering and software development | 2015
Ingrid Chieh Yu; Henning Berg
Metamodels are important artefacts in Model-Driven Engineering. Composition and adaptation of metamodels have been studied thoroughly during the last decade. However, there are still challenges concerning how to co-evolve modelling artefacts as metamodels are changed. Specifically, conformant models will no longer be valid instances of their changed metamodel. In this paper, we propose a formal analysis-based framework for composition and adaptation of metamodels. The framework enables an arbitrary number of metamodels to evolve based on adaptation strategies. During the analysis we accumulate information that are used to re-establish conformance between existing models and the metamodels. We prove how model conformance is ensured based on the accumulated information from the analysis.
international conference on model-driven engineering and software development | 2015
Henning Berg; Birger Møller-Pedersen
An essential operation in model-driven engineering is composition of models and their metamodels. There exist several mechanisms for model composition. However, most of these only consider composition of either models or metamodels and not both kinds of models simultaneously, and do not address how the composition impacts modelling artefacts like editors, transformations and semantics. Moreover, model composition mechanisms typically deal with model structure and do not consider operational semantics. In this paper, we discuss a novel approach for the composition of both models and metamodels in a virtually non-intrusive manner. We achieve this by utilising a placeholder mechanism where classes in one metamodel may represent classes of another. The ideas presented have been validated by the construction of a framework. We will illustrate how non-intrusive composition allows linking the operational semantics of different languages without rendering existing modelling artefacts inconsistent. This increases the flexibility in how languages can be combined, and reduces the amount of necessary changes of tools and other modelling utilities.
international conference on model-driven engineering and software development | 2015
Ingrid Chieh Yu; Henning Berg
Supporting adaptation of metamodels is essential for realising Model-Driven Engineering. However, adapting and changing metamodels impact other artefacts of the metamodelling ecosystem. In particular, conformant models will no longer be valid instances of their changed metamodel. This gives rise to co-evolution issues where metamodels and models are no longer synchronised. This is critical as systems become inconsistent. A typical approach for re-establishing conformance is to manually craft transformations which update existing models for the new metamodel variant. In this paper we present an analysis-based approach that addresses this concern. The approach enables an arbitrary number of metamodels to evolve based on an adaptation strategy. During analysis we accumulate information required to automatically transform existing models to ensure conformance. We formalise the approach and prove model conformance.
international conference on model-driven engineering and software development | 2015
Henning Berg; Birger Møller-Pedersen
Several metamodel composition mechanisms have been proposed during the course of the last decade. However, most of the composition mechanisms do not consider existing models or other artefacts like editors, transformations and semantics which are defined relatively to a metamodel. Consequently, the models and the artefacts typically become invalid as metamodels are composed. Moreover, very few of the available metamodel composition mechanisms support composition of metamodels’ operational semantics. In this paper we discuss an approach for composing metamodels, and their models, by integrating their operational semantics. This is achieved by using a placeholder mechanism; classes in one metamodel may represent classes of other metamodels. We have validated our approach by the construction of a framework.
international conference on model-driven engineering and software development | 2014
Henning Berg; Birger Møller-Pedersen
In order to be able to specialise metamodels and thereby enhance reusability of metamodels, we introduce the notions of metamodel types and subtypes. Model-driven engineering considers models and metamodels as first-class entities, however, there has not been much work on how to type models or metamodels. In this paper we discuss how a metamodel can be enclosed within a class and how this enclosing class defines the type for the metamodel. This allows us to use established object-oriented mechanisms on the metamodel level and supports specialisation of metamodels.
international conference on model-driven engineering and software development | 2014
Henning Berg; Birger Møller-Pedersen
In model-driven engineering, models are considered first-class entities. Model-driven engineering has been around for over a decade. Still, there has not been much work on how to type models or metamodels, which is important to realise true model-driven software development. In this paper, we discuss how a metamodel can be typed by means of an enclosing class whose state can be utilised by tools such as editors and interpreters. This allows using established object-oriented mechanisms on the metamodel level and supports specialisation of metamodels.
international conference on software and data technologies | 2012
Henning Berg
Metamodel composition is a central operation in model-driven engineering approaches. Composition of metamodels is not trivial. The essence of the problem is that metamodels are not defined as reusable artefacts. Moreover, most composition mechanisms focus on the structural aspects of metamodels without considering how metamodels may be composed semantically. Hence, models of different metamodels can not exchange data directly during execution at runtime. In this paper we investigate a new approach for integrating metamodels and their models by considering metamodels as reusable services at a conceptual level. In particular, the behavioural semantics of metamodels can be coupled in a loosely manner, without entanglement of semantically different concepts. This allows creating complex metamodel architectures where separation of concerns is high.
7th International Conference on Software Paradigm Trends | 2018
Henning Berg