3 research outputs found

    Towards hybrid model persistence

    Get PDF
    Change-based persistence has the potential to support faster and more accurate model comparison, merging, as well as a range of analytics activities. However, reconstructing the state of a model by replaying its editing history every time the model needs to be queried or modified can get increasingly expensive as the model grows in size. In this work, we integrate change-based and state-based persistence mechanisms in a hybrid model persistence approach that delivers the best of both worlds. In this paper, we present the design of our hybrid model persistence approach and report on its impact on time and memory footprint for model loading, saving, and storage space usage

    Change-Based Model Differencing and Conflict Detection

    Get PDF
    In large-scale computer systems and software development, model-driven engineering is an approach that focuses on the development and management of models. The models are usually expressed in diagrams, textual notations, or code. Most of these models persist in state-based formats. While state-based persistence has certain advantages, it is problematic when it comes to detecting changes in large-scale models. As an alternative, this work proposes a change-based approach that involves persisting the full sequence of changes made to models. Persisting a model in a change-based format has the potential to deliver benefits over state-based persistence, such as the ability to perform model differencing and conflict detection much faster and more precisely. This can then yield positive follow-on effects to help developers compare and merge models in collaborative modelling environments. Nevertheless, change-based persistence also comes with downsides, including increased model loading time. This work investigates two approaches to reduce loading time. The first is to identify and ignore superseded changes, and the second uses hybrid model persistence. While the former is still greatly outperformed by loading models from state-based persistence, the latter experiences only a slight slowdown in most cases. This work also proposes an approach for faster model differencing and conflict detection. It works by exploiting the nature of change-based persistence, which allows finding differences and conflicts between two versions of a model by comparing only the last set of changes applied to them, without having to compare every element and feature in both versions as is traditionally done in state-based model comparison. This work's evaluation shows that the proposed change-based model differencing and conflict detection outperform the existing traditional state-based approach. Nevertheless, models that have been excessively modified could impair the performance of the proposed model differencing and conflict detection as numerous change records must be loaded into memory
    corecore