scispace - formally typeset
Search or ask a question

Showing papers by "Leen Lambers published in 2019"


Journal ArticleDOI
TL;DR: This paper proposes the contents for a Body of Knowledge for MBE, and describes the methodology that was used to come up with the proposed list of contents, as well as the results of a survey study conducted to sound out the opinion of the community.
Abstract: Although Model-Based Software Engineering (MBE) is a widely accepted Software Engineering (SE) discipline, no agreed-upon core set of concepts and practices (i.e., a Body of Knowledge) has been defined for it yet. With the goals of characterizing the contents of the MBE discipline, promoting a global consistent view of it, clarifying its scope with regard to other SE disciplines, and defining a foundation for the development of educational curricula on MBE, this paper proposes the contents for a Body of Knowledge for MBE. We also describe the methodology that we have used to come up with the proposed list of contents, as well as the results of a survey study that we conducted to sound out the opinion of the community on the importance of the proposed topics and their level of coverage in the existing SE curricula.

21 citations


Journal ArticleDOI
TL;DR: This paper presents an approach to conflicts and dependencies in graph transformation systems based on two dimensions of granularity, and introduces a variety of new conflict notions, in particular, conflict atoms, conflict reasons, and minimal conflict reasons that relate them to the existing conflict notions of critical pairs and initial conflicts.

16 citations


Book ChapterDOI
09 Apr 2019
TL;DR: Graph repair, restoring consistency of a graph, plays a prominent role in several areas of computer science and beyond: for example, in model-driven engineering, the abstract syntax of models is usually encoded using graphs, requiring graph repair.
Abstract: Graph repair, restoring consistency of a graph, plays a prominent role in several areas of computer science and beyond: For example, in model-driven engineering, the abstract syntax of models is usually encoded using graphs. Flexible edit operations temporarily create inconsistent graphs not representing a valid model, thus requiring graph repair. Similarly, in graph databases—managing the storage and manipulation of graph data—updates may cause that a given database does not satisfy some integrity constraints, requiring also graph repair.

15 citations


Book ChapterDOI
15 Jul 2019
TL;DR: This work explores the notion of (minimal) conflict reason for the general case where the second rule of a rule pair may be deleting as well and presents new constructive characterizations of ( MINIMAL) conflict reasons distinguishing delete-read from delete-delete reasons.
Abstract: Conflict and dependency analysis (CDA) is a static analysis for the detection of conflicting and dependent rule applications in a graph transformation system. Recently, granularity levels for conflicts and dependencies have been investigated focussing on delete-use conflicts and produce-use dependencies. A central notion for granularity considerations are (minimal) conflict and dependency reasons. For a rule pair, where the second rule is non-deleting, it is well-understood based on corresponding constructive characterizations how to efficiently compute (minimal) conflict and dependency reasons. We further explore the notion of (minimal) conflict reason for the general case where the second rule of a rule pair may be deleting as well. We present new constructive characterizations of (minimal) conflict reasons distinguishing delete-read from delete-delete reasons. Based on these constructive characterizations we propose a procedure for computing (minimal) conflict reasons and we show that it is sound and complete.

4 citations


Journal ArticleDOI
TL;DR: A new transformation-level approach for the sound and automatic verification of behavior preservation captured by bisimulation resp.
Abstract: The correctness of model transformations is a crucial element for model-driven engineering of high-quality software. In particular, behavior preservation is an important correctness property avoiding the introduction of semantic errors during the model-driven engineering process. Behavior preservation verification techniques show some kind of behavioral equivalence or refinement between source and target model of the transformation. Automatic tool support is available for verifying behavior preservation at the instance level, i.e., for a given source and target model specified by the model transformation. However, until now there is no sound and automatic verification approach available at the transformation level, i.e., for all source and target models. In this article, we extend our results presented in earlier work (Giese and Lambers, in: Ehrig et al (eds) Graph transformations, Springer, Berlin, 2012) and outline a new transformation-level approach for the sound and automatic verification of behavior preservation captured by bisimulation resp. simulation for outplace model transformations specified by triple graph grammars and semantic definitions given by graph transformation rules. In particular, we first show how behavior preservation can be modeled in a symbolic manner at the transformation level and then describe that transformation-level verification of behavior preservation can be reduced to invariant checking of suitable conditions for graph transformations. We demonstrate that the resulting checking problem can be addressed by our own invariant checker for an example of a transformation between sequence charts and communicating automata.

2 citations


01 Jan 2019
TL;DR: There is a need for techniques to detect conflicts and dependencies automatically, ranging from productivity obstacles to fatal safety hazards, in software engineering.
Abstract: Conflicts and dependencies are fundamental phenomena in software engineering. For example, when a software system is developed collaboratively, a change operation can facilitate or prohibit other change operations. In concurrent programming, conflicts may arise from data races when a thread writes to a memory location accessed by another thread. From unrecognized conflicts and dependencies, severe consequences may arise, ranging from productivity obstacles to fatal safety hazards. Therefore, there is a need for techniques to detect conflicts and dependencies automatically.