Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Udo Kelter

dblp:k/UdoKelter · DBLP profile ↗
← Back
38ranked-venue papers
11as first author
2since 2021 · last 2021
0000-0003-2052-4912ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 24 · 1 first-author · 1 since 2021Databases, data management, data science and information retrieval · 6 · 6 first-authorSecurity and privacy · 4 · 3 first-authorTheory of computation · 3 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 1 first-author · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2Artificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
13 papers
Requirements engineering and software design · 58% Software maintenance and evolution · 22% Program verification · 6%
Databases, data mining, and information retrieval
2 papers
Transaction processing and concurrency control · 75% Database system architecture and tuning · 25%

Topics — the 28 heaviest of 31, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
model-driven engineering
1.382017
Incrementally slicing editable submodels · ASE 2017
SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering · ASE 2015
Workspace updates of visual models · ASE 2014
Requirements engineering and software design
software product lines
1.032019
Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software · ACM Trans. Softw. Eng. Methodol. 2019
SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-Based Analysis of Variant-Rich Software · ASE 2019
SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering · ASE 2015
Software maintenance and evolution › software variability
family-based analysis
0.822019
Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software · ACM Trans. Softw. Eng. Methodol. 2019
SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-Based Analysis of Variant-Rich Software · ASE 2019
Requirements engineering and software design
software architecture
0.632017
Incrementally slicing editable submodels · ASE 2017
SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering · ASE 2015
Generating realistic test models for model processing tools · ASE 2011
Requirements engineering and software design › model-driven engineering › model management
model versioning
0.532014
Workspace updates of visual models · ASE 2014
Consistency-preserving edit scripts in model versioning · ASE 2013
A rule-based approach to the semantic lifting of model differences in the context of model versioning · ASE 2011
Requirements engineering and software design › model-driven engineering › model management
model differencing
0.432017
Incrementally slicing editable submodels · ASE 2017
Difference computation of large models · ESEC/SIGSOFT FSE 2007
SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering · ASE 2015
Software maintenance and evolution
software merging
0.412019
SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-Based Analysis of Variant-Rich Software · ASE 2019
Program verification
model slicing
0.312017
Incrementally slicing editable submodels · ASE 2017
Software maintenance and evolution
software evolution
0.342017
Incrementally slicing editable submodels · ASE 2017
Difference computation of large models · ESEC/SIGSOFT FSE 2007
SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering · ASE 2015
Empirical software engineering › mining software repositories
version history analysis
0.222021
History-based Model Repair Recommendations · ACM Trans. Softw. Eng. Methodol. 2021
Analyzing model evolution · ICSE 2008
Software testing › test generation
unit test generation
0.222019
Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software · ACM Trans. Softw. Eng. Methodol. 2019
SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-Based Analysis of Variant-Rich Software · ASE 2019
Software maintenance and evolution › program differencing
edit script generation
0.212013
Consistency-preserving edit scripts in model versioning · ASE 2013
Requirements engineering and software design › model-driven engineering › model management
model comparison
0.112012
Adaptability of model comparison tools · ASE 2012
Requirements engineering and software design › model-driven engineering
model generation
0.112011
Generating realistic test models for model processing tools · ASE 2011
Program verification
model checking
0.112019
Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software · ACM Trans. Softw. Eng. Methodol. 2019
Requirements engineering and software design › model-driven engineering
model management
0.112017
Incrementally slicing editable submodels · ASE 2017
Software maintenance and evolution › software configuration management
version control
0.012003
Differences between versions of UML diagrams · ESEC / SIGSOFT FSE 2003
Software testing
test generation
0.012011
Generating realistic test models for model processing tools · ASE 2011
Requirements engineering and software design › model-driven engineering
model-driven development
0.012008
Analyzing model evolution · ICSE 2008
Database system architecture and tuning › database security
database access control
0.011991
Discretionary Access Controls in a High-Performance Object Management System · S&P 1991
Transaction processing and concurrency control › deadlock
deadlock avoidance
0.011988
The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol · PODS 1988
Transaction processing and concurrency control › concurrency control › locking
deadlock-free locking
0.011988
The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol · PODS 1988
Transaction processing and concurrency control › concurrency control
locking protocols
0.011988
The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol · PODS 1988
Transaction processing and concurrency control › concurrency control › locking protocols
non-two-phase locking
0.011988
The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol · PODS 1988
Authentication and access control › access control › access control mechanisms
access control list
0.011991
Discretionary Access Controls in a High-Performance Object Management System · S&P 1991
Authentication and access control › access control models
discretionary access control
0.011991
Discretionary Access Controls in a High-Performance Object Management System · S&P 1991
Transaction processing and concurrency control
concurrency control
0.011988
The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol · PODS 1988
Transaction processing and concurrency control › concurrency control › locking
shared and exclusive locks
0.011988
The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol · PODS 1988

Methods — techniques the papers use, named apart from their topics

model merging · 0.8history-based analysis · 0.5similarity propagation · 0.4control-flow automata · 0.4incremental computation · 0.3model comparison · 0.2edit script generation · 0.2edit script execution · 0.2model transformation · 0.2incremental matching · 0.1caching · 0.0ACL numbering · 0.0protocol design · 0.0concurrency analysis · 0.0
YearPublicationVenuePosition
2021 IdentiBug: Model-Driven Visualization of Bug Reports by Extracting Class Diagram Excerpts
abstract
Bug reports are essential software artifacts that describe software bugs using natural language. Bug localization tools can help developers to understand the relation between bug reports and a software system. However, most approaches for localizing bugs work with unstructured textual information from the source codes and bug reports. This paper proposes an approach for locating and visualizing bug reports based on class diagrams representing the overall structural design of a software system. Our approach called IdentiBug takes advantage of deep learning techniques to train our bug localization model to predict connections between a bug report and the system’s class diagram. The result is a ranked list of classes from which we extract and rank a list of class diagram excerpts for assisting the developers during bug documentation and localization.
Gelareh Meidanipour Lahijany, Manuel Ohrndorf, Johannes Zenkert, Madjid Fathi, Udo Kelter
SMC5
2021 History-based Model Repair Recommendations
abstract
Models in Model-driven Engineering are primary development artifacts that are heavily edited in all stages of software development and that can become temporarily inconsistent during editing. In general, there are many alternatives to resolve an inconsistency, and which one is the most suitable depends on a variety of factors. As also proposed by recent approaches to model repair, it is reasonable to leave the actual choice and approval of a repair alternative to the discretion of the developer. Model repair tools can support developers by proposing a list of the most promising repairs. Such repair recommendations will be only accepted in practice if the generated proposals are plausible and understandable, and if the set as a whole is manageable. Current approaches, which mostly focus on exhaustive search strategies, exploring all possible model repairs without considering the intention of historic changes, fail in meeting these requirements. In this article, we present a new approach to generate repair proposals that aims at inconsistencies that have been introduced by past incomplete edit steps that can be located in the version history of a model. Such an incomplete edit step is either undone or it is extended to a full execution of a consistency-preserving edit operation. The history-based analysis of inconsistencies as well as the generation of repair recommendations are fully automated, and all interactive selection steps are supported by our repair tool called R E V ISION . We evaluate our approach using histories of real-world models obtained from popular open-source modeling projects hosted in the Eclipse Git repository, including the evolution of the entire UML meta-model. Our experimental results confirm our hypothesis that most of the inconsistencies, namely, 93.4, can be resolved by complementing incomplete edits. 92.6% of the generated repair proposals are relevant in the sense that their effect can be observed in the models’ histories. 94.9% of the relevant repair proposals are ranked at the topmost position.
Manuel Ohrndorf, Christopher Pietsch, Udo Kelter, Lars Grunske, Timo Kehrer
ACM Trans. Softw. Eng. Methodol.3
2019 SiMPOSE - Configurable N-Way Program Merging Strategies for Superimposition-Based Analysis of Variant-Rich Software
abstract
Modern software often exists in many different, yet similar versions and/or variants, usually derived from a common code base (e.g., via clone-and-own). In the context of product-line engineering, family-based analysis has shown very promising potential for improving efficiency in applying quality-assurance techniques to variant-rich software, as compared to a variant-by-variant approach. Unfortunately, these strategies rely on a product-line representation superimposing all program variants in a syntactically well-formed, semantically sound and variant-preserving manner, which is manually hard to obtain in practice. We demonstrate the SiMPOSE methodology for automatically generating superimpositions of N given program versions and/or variants facilitating family-based analysis of variant-rich software. SiMPOSE is based on a novel N-way model-merging technique operating at the level of control-flow automata (CFA) representations of C programs. CFAs constitute a unified program abstraction utilized by many recent software-analysis tools. We illustrate different merging strategies supported by SiMPOSE, namely variant-by-variant, N-way merging, incremental 2-way merging, and partition-based N/2-way merging, and demonstrate how SiMPOSE can be used to systematically compare their impact on efficiency and effectiveness of family-based unit-test generation. The SiMPOSE tool, the demonstration of its usage as well as related artifacts and documentation can be found at http://pi.informatik.uni-siegen.de/projects/variance/simpose.
Dennis Reuling, Udo Kelter, Sebastian Ruland, Malte Lochau
ASE2
2019 Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software
abstract
Nowadays software tends to come in many different, yet similar variants, often derived from a common code base via clone-and-own. Family-based-analysis strategies have recently shown very promising potential for improving efficiency in applying quality-assurance techniques to such variant-rich programs, as compared to variant-by-variant approaches. Unfortunately, these strategies require a single program representation superimposing all program variants in a syntactically well-formed, semantically sound, and variant-preserving manner, which is usually not available and manually hard to obtain in practice. In this article, we present a novel methodology, called S i MPOSE, for automatically generating superimpositions of existing program variants to facilitate family-based analyses of variant-rich software. To this end, we propose a novel N-way model-merging methodology to integrate the control-flow automaton (CFA) representations of N given variants of a C program into one unified CFA representation. CFA constitute a unified program abstraction used by many recent software-analysis tools for automated quality assurance. To cope with the inherent complexity of N-way model-merging, our approach (1) utilizes principles of similarity-propagation to reduce the number of potential N-way matches, and (2) enables us to decompose a set of N variants into arbitrary subsets and to incrementally derive an N-way superimposition from partial superimpositions. We apply our tool implementation of S i MPOSE to a selection of realistic C programs, frequently considered for experimental evaluation of program-analysis techniques. In particular, we investigate applicability and efficiency/effectiveness trade-offs of our approach by applying S i MPOSE in the context of family-based unit-test generation as well as model-checking as sample program-analysis techniques. Our experimental results reveal very impressive efficiency improvements by an average factor of up to 2.6 for test-generation and up to 2.4 for model-checking under stable effectiveness, as compared to variant-by-variant approaches, thus amortizing the additional effort required for merging. In addition, our results show that merging all N variants at once produces, in almost all cases, clearly more precise results than incremental step-wise 2-way merging. Finally, our comparison with major existing N-way merging techniques shows that S i MPOSE constitutes, in most cases, the best efficiency/effectiveness trade-off.
Dennis Reuling, Udo Kelter, Johannes Bürdek, Malte Lochau
ACM Trans. Softw. Eng. Methodol.2
2018 A Formal Framework for Incremental Model Slicing
abstract
Program slicing is a technique which can determine the simplest program possible that maintains the meaning of the original program w.r.t. a slicing criterion. The concept of slicing has been transferred to models, in particular to statecharts. In addition to the classical use cases of slicing adopted from the field of program understanding, model slicing is also motivated by specifying submodels of interest to be further processed more efficiently, thus dealing with scalability issues when working with very large models. Slices are often updated throughout specific software development tasks. Such a slice update can be performed by creating the new slice from scratch or by incrementally updating the existing slice. In this paper, we present a formal framework for defining model slicers that support incremental slice updates. This framework abstracts from the behavior of concrete slicers as well as from the concrete model modification approach. It forms a guideline for defining incremental model slicers independent of the underlying slicer’s semantics. Incremental slice updates are shown to be equivalent to non-incremental ones. Furthermore, we present a framework instantiation based on the concept of edit scripts defining application sequences of model transformation rules. We implemented two concrete model slicers for this instantiation based on the Eclipse Modeling Framework.
Gabriele Taentzer, Timo Kehrer, Christopher Pietsch, Udo Kelter
FASE4
2017 Incrementally slicing editable submodels
abstract
Model slicers are tools which provide two services: (a) finding parts of interest in a model and (b) displaying these parts somehow or extract these parts as a new, autonomous model, which is referred to as slice or sub-model. This paper focuses on the creation of editable slices, which can be processed by model editors, analysis tools, model management tools etc. Slices are useful if, e.g., only a part of a large model shall be analyzed, compared or processed by time-consuming algorithms, or if sub-models shall be modified independently. We present a new generic incremental slicer which can slice models of arbitrary type and which creates slices which are consistent in the sense that they are editable by standard editors. It is built on top of a model differencing framework and does not require additional configuration data beyond those available in the differencing framework. The slicer can incrementally extend or reduce an existing slice if model elements shall be added or removed, even if the slice has been edited meanwhile. We demonstrate the usefulness of our slicer in several scenarios using a large UML model. A screencast of the demonstrated scenarios is provided at http://pi.informatik.uni-siegen.de/projects/SiLift/ase2017.
Christopher Pietsch, Manuel Ohrndorf, Udo Kelter, Timo Kehrer
ASE3
2016 Reasoning about product-line evolution using complex feature model differences
Johannes Bürdek, Timo Kehrer, Malte Lochau, Dennis Reuling, Udo Kelter, Andy Schürr
Autom. Softw. Eng.5
2016 A framework for capturing, statistically modeling and analyzing the evolution of software models
Hamed Shariat Yazdi, Lefteris Angelis, Timo Kehrer, Udo Kelter
J. Syst. Softw.4
2015 Shape-based Object Retrieval and Classification with Supervised Optimisation
Oliver Tiebe, Pit Pietsch, Christian Feinen, Udo Kelter, Marcin Grzegorzek
ICPRAM (1)5
2015 SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering
abstract
Model-based development has become a widely-used approach to implement software, e.g. for embedded systems. Models replace source code as primary executable artifacts in these cases. Software product line technologies for these domains must be able to generate models as instances of an SPL. This need is addressed among others by an implementation technology for SPLs known as delta modeling. Current approaches to delta modeling require deltas to be written manually using delta languages, and they offer only very limited support for creating and testing a network of deltas. This paper presents a new approach to delta modeling and a supporting tool suite: the abstract notion of a delta is refined to be a consistency-preserving edit script which is generated by comparing two models. The rich structure of edit scripts allows us to detect conflicts and further relations between deltas statically and to implement restructurings in delta sets such as the merging of two deltas. We illustrate the tooling using a case study.
Christopher Pietsch, Timo Kehrer, Udo Kelter, Dennis Reuling, Manuel Ohrndorf
ASE3
2015 Fault-based product-line testing: effective sample generation based on feature-diagram mutation
abstract
Testing every member of a product line individually is often impracticable due to large number of possible product configurations. Thus, feature models are frequently used to generate samples, i.e., subsets of product configurations under test. Besides the extensively studied combinatorial interaction testing (CIT) approach for coverage-driven sample generation, only few approaches exist so far adopting mutation testing to emulate faults in feature models to be detected by a sample. In this paper, we present a mutation-based sampling framework for fault-based product-line testing. We define a comprehensive catalog of atomic mutation operators on the graphical representation of feature models. This way, we are able (1) to also define complex mutation operators emulating more subtle faults, and (2) to classify operators semantically, e.g., to avoid redundant and equivalent mutants. We further introduce similarity-based mutant selection and higher order mutation strategies to reduce testing efforts. Our implementation is based on the graph transformation engine Henshin and is evaluated concerning effectiveness/efficiency trade-offs.
Dennis Reuling, Johannes Bürdek, Serge Rotärmel, Malte Lochau, Udo Kelter
SPLC5
2014 Shape-based object retrieval by contour segment matching
abstract
In this paper we introduce an approach for object retrieval that uses contour segment matching for shape similarity computation. The object contour is partitioned into segments by skeleton endpoints. Each contour segment is represented by a rotation and scale invariant, 12-dimensional feature vector. The similarity of two objects is determined by matching their contour segments using the Hungarian algorithm. Our method is insensitive to object deformation and outperforms existing shape-based object retrieval algorithms. The most significant scientific contributions of this paper include (i) the introduction of a new feature extraction technique for contour segments as well as (ii) a new similarity measure for contour segments cleverly modelling the human perception and easily adapting to concrete application domains, and (iii) the impressive robustness of the method in an object retrieval scenario.
Oliver Tiebe, Pit Pietsch, Christian Feinen, Udo Kelter, Marcin Grzegorzek
ICIP5
2014 Workspace updates of visual models
abstract
In MDE, large models must be collaboratively developed in teams. Collaboration is usually supported by optimistic versioning based on workspaces and a repository. Workspace copies of a model are synchronize with the repository version by an update function. Most update functions currently available compromise the consistency of a model. We present a new approach which guarantees updated models to be consistent and processable by standard visual editors without post-processing. Our approach assumes changes in the repository to be represented as a consistency-preserving edit script. This edit script is executed in a controlled, interactive manner on the workspace copy. Unlike 3-way merging, our approach needs no conflict analysis. Conflicts are detected and resolved interactively. Our approach offers improved usability and requires less implementation effort than existing approaches.
Timo Kehrer, Udo Kelter, Dennis Reuling
ASE2
2013 Consistency-preserving edit scripts in model versioning
abstract
In model-based software development, models are iteratively evolved. To optimally support model evolution, developers need adequate tools for model versioning tasks, including comparison, patching, and merging of models. A significant disadvantage of tools currently available is that they display, and operate with, low-level model changes which refer to internal model representations and which can lead to intermediate inconsistent states. Higher-level consistency-preserving edit operations including refactorings are better suited to explain changes or to resolve conflicts. This paper presents an automatic procedure which transforms a low-level difference into an executable edit script which uses consistency-preserving edit operations only. Edit scripts support consistent model patching and merging on a higher abstraction level. Our approach to edit script generation has been evaluated in a larger real-world case study.
Timo Kehrer, Udo Kelter, Gabriele Taentzer
ASE2
2012 Understanding model evolution through semantically lifting model differences with SiLift
abstract
In model-based software development, models are primary artifacts which iteratively evolve and which have many versions during their lifetime. A clear representation of the changes between different versions of a model is the key to understanding and successfully managing the evolution of a model-based system. However, model comparison tools currently available display model differences on a low level of abstraction, namely in terms of basic graph operations on the abstract syntax graph of a model. These low-level model differences are often hard or even impossible to understand for normal tool users who are not familiar with meta-models. In this paper we present SiLift, a generic tool environment which is able to semantically lift low-level differences of EMF-based models into representations of user-level edit operations.
Timo Kehrer, Udo Kelter, Manuel Ohrndorf, Tim Sollbach
ICSM2
2012 Adaptability of model comparison tools
abstract
Modern model-based development methodologies require a large number of efficient, high-quality model comparison tools. They must be carefully adapted to the specific model type, user preferences and application context. Implementing a large number of dedicated, monolithic tools is infeasible, the only viable approach are generic, adaptable tools. Generic tools currently available provide only partial or low-quality solutions to this challenge; their results are not satisfactory for model types such as state machines or block diagrams. This paper presents the SiDiff approach to model comparison which includes a set of highly configurable incremental matchers and a specification language to control their application.
Timo Kehrer, Udo Kelter, Pit Pietsch, Maik Schmidt
ASE2
2011 A rule-based approach to the semantic lifting of model differences in the context of model versioning
abstract
In model-based software engineering, models are primary artifacts which iteratively evolve and which are often developed in teams. Therefore, comparison and merge tools for models are indispensable. These tools must compare models in a technology-dependent runtime representation and will initially derive low-level changes, which can differ considerably from user-level editing commands. Low-level differences are often incomprehensible and should be semantically lifted to the level of editing operations. This transformation of differences depends on the model type, supported editing operations, and user preferences; thus specific transformers are needed, and building them is a challenge. We present a rule-based approach to this problem: low-level differences are represented based on the Eclipse Modeling Framework. They are transformed into representations of editing operations using a rule-based model transformation engine. The necessary transformation rules are automatically derived from basic transformation rules for the editing operations.
Timo Kehrer, Udo Kelter, Gabriele Taentzer
ASE2
2011 Generating realistic test models for model processing tools
abstract
Test models are needed to evaluate and benchmark algorithms and tools in model driven development. Most model generators randomly apply graph operations on graph representations of models. This approach leads to test models of poor quality. Some approaches do not guarantee the basic syntactic correctness of the created models. Even if so, it is almost impossible to guarantee, or even control, the creation of complex structures, e.g. a subgraph which implements an association between two classes. Such a subgraph consists of an association node, two association end nodes, and several edges, and is normally created by one user command. This paper presents the SiDiff Model Generator, which can generate models, or sets of models, which are syntactically correct, contain complex structures, and exhibit defined statistical characteristics.
Pit Pietsch, Hamed Shariat Yazdi, Udo Kelter
ASE3
2009 Evolution analysis with animated and 3D-visualizations
abstract
Large software systems typically exist in many revisions. In order to analyze such systems, their evolution needs to be analyzed, too. The main challenge in this context is to cope with the large volume of data and to visualize the system and its evolution as a whole. This paper presents an approach for visualizing the evolution of large-scale systems which uses three different, tightly integrated visualizations that are 3-dimensional and/or animated and which support different analysis tasks. According to a first empirical study, all tasks are supported well by at least one visualization.
Sven Wenzel, Jens Koch, Udo Kelter, Andreas Kolb 0001
ICSM3
2008 Analyzing model evolution
abstract
Model-driven development leads to development processes in which a large number of different versions of models are produced. We present FAME, a tool environment which enables fine-grained analysis of the version history of a model. The tool is generic in the sense that it can work with various model types including UML and domain-specific languages.
Sven Wenzel, Udo Kelter
ICSE2
2007 Enforcing Privacy by Means of an Ontology Driven XACML Framework
abstract
Nowadays enforcing privacy in enterprises is recognized as an issue of impact. Actually, it is a big challenge to adapt normative laws and regulations in a software system. It is a challenging task to include the formalized laws and rules in enterprises since e.g. more than one regulation may affect the terms of privacy concerning one situation. Traditional access control provides a general mechanism for assigning rights to individual users or roles. In the context of privacy this is insufficient; it offers no means to fulfil certain aspects such as limitations to the duration for which private data may be stored. To enforce privacy in enterprises we further need a fine granular access control mechanism on the data entities to ensure that every aspect of privacy can be reflected. This paper provides a novel solution for this by means of ontologies. The usage of ontologies in our approach differs from the conventional form in focusing on generating access control policies which are adapted from our software framework to provide fine granular access on the diverse data sources.
Dhiah el Diehn I. Abou-Tair, Stefan Berlik, Udo Kelter
IAS3
2007 Tracing Model Elements
abstract
In model-driven engineering developers work mainly or only with models, which exist in many versions. This paper presents an approach to trace single model elements or groups of elements within a version history of a model. It also offers analysis capabilities such as detection of logical coupling between model elements. The approach uses a differencing algorithm blown as SiDiff to identify similar elements in different versions of a model. SiDiff is highly configurable and thus our tracing approach can be adapted to all diagram types of the UML and to a large set of domain specific languages. The approach has been implemented as an Eclipse plug-in that visualizes all relevant information about the traces and it allows developers to interactively explore details. It has been evaluated by several groups of test persons; they considered most of the functions of the tool to be very useful.
Sven Wenzel, Hermann Hutter, Udo Kelter
ICSM3
2007 Difference computation of large models
abstract
Modern software engineering practices lead to large models which exist in many versions. Version management systems should offer a service to compare, and possibly merge, these models. The computation of a difference between large models is a big challenge; current algorithms are too inefficient here. We present a new technique for computing differences between models. In practical tests, this technique has been an order of magnitude faster than currently known algorithms. The main idea is to use a high-dimensional search tree for efficiently finding similar model elements. Individual elements are mapped onto a vector of numerical values using a collection of metrics for models and a numerical representation of the names which occur in a model.
Christoph Treude, Stefan Berlik, Sven Wenzel, Udo Kelter
ESEC/SIGSOFT FSE4
2003 Difference Tools for Analysis and Design Documents
abstract
This paper presents a concept and tools for the detection and visualization of differences between versions of graphical software documents such as ER, class or object diagrams, state charts, etc. We first analyze the problems which occur when comparing graphical documents and displaying their similarities and differences. Our basic approach is to use a unified document which contains the common and specific parts of both base documents with the specific parts being highlighted. The central problem is how to reduce the amount of highlighted elements and enable the developer to have a certain amount of control over the changes be selectively highlighted. With regard to tool construction, we assume that software documents are modeled in a fine-grained way, that they are stored as syntax trees in XML (eXtensible Markup Language) files or a repository system and that a version management system is used. By using the features of the data model and the version model we are able to detect and visualize differences between diagram versions, including structural changes (e.g. shifting of a method from one class to another). We further exploit information about the version history delivered by the underlying version management system by highlighting only differences based on structural or logical changes.
Dirk Ohst, Michael Welle, Udo Kelter
ICSM3
2003 Differences between versions of UML diagrams
abstract
This paper addresses the problem of how to detect and visualise differences between versions of UML documents such as class or object diagrams. Our basic approach for showing the differences between two documents is to use a unified document which contains the common and specific parts of both base documents; the specific parts are highlighted. The main problems are (a) how to abstract from modifications done to the layout and other (document type-specific) details which are considered irrelevant; (b) how to deal with structural changes such as the shifting of an operation from one class to another; (c) how to reduce the amount of highlighted information. Our approach is based on the assumption that software documents are modelled in a fine-grained way, i.e. they are stored as syntax trees in XML files or in a repository system, and that the version management system supports fine-grained data. Our difference computation algorithm detects structural changes and enables their appropriate visualisation. Highlighting can be restricted on the basis of the types of the elements and on the basis of the revision history, e.g. only changes which occurred during a particular editing session are highlighted.
Dirk Ohst, Michael Welle, Udo Kelter
ESEC / SIGSOFT FSE3
2002 A Fine-Grained Version and Confguration Model in Analysis and Design
abstract
In this paper we present a model of version and configuration management in the early phases of software development and an implementation of this model. We assume that software documents are modeled in a fine-grained way, that they are stored as syntax trees in XML files or a repository system, and that tools directly operate on these syntax trees. In contrast to file-based systems, structural changes in the document, e.g. the shifting of a method between two classes, can be identified in our model. Configurations allow us to manage groups of single modifications; such a group will mostly correspond to a specific design task or a similar activity. Configurations are thus a means to establish a connection to a change management system.
Dirk Ohst, Udo Kelter
ICSM2
1996 An Assessment of Non-Standard DBMSs for CASE Environments
Udo Kelter, Dirk Däberitz
EDBT1
1993 Verwaltung persistenter Daten in einer Prototyping-Umgebung
Ernst-Erich Doberkat, Wolfgang Franke, Udo Kelter, Wolfgang Seelbach
Requirements Engineering3
1992 H-PCTE-a high performance object management system for system development environments
abstract
H-PCTE is an object management system (OMS) for distributed, open, and integrated system development environments. H-PCTE performs up to several thousand simple operations per second. H-PCTE is intended to be a basis for environments in which tools operate directly on fine-grained data stored in the object base. Fine-grained data modeling has several important implications for the architecture of environments, for tool design, and for the necessary functionality of the OMS. H-PCTE's performance is due to main-memory-oriented implementation techniques and to a careful adaptation of the OMS services to the data management needs of tools. As a result, tools need not pay for OMS services which they do not really need. This applies in particular to recovery and the external view facilities.>
Udo Kelter
COMPSAC1
1992 Type-Level Access Controls for Distributed Structurally Object-Oriented Database Systems
Udo Kelter
ESORICS1
1991 Discretionary Access Controls in a High-Performance Object Management System
abstract
A method for efficiently implementing access control lists (ACLs) in the main memory object-oriented database systems (OODBSs) is proposed. The main features of the method are the following: ACLs are not stored directly, but via ACL numbers; and each process has a cache which records results of evaluations of ACLs for this process and certain ACL numbers. The particular implementation of ACL numbers in the High-Performance Portable Common Tool Environment (H-PCTE) is considered, and a set of measures which speed up access controls in the most time-critical data manipulation operations is presented. The author then compares the proposed method with other approaches, and discusses whether and how the proposed method can be used to implement ACLs in a disc-oriented system.>
Udo Kelter
S&P1
1990 Group-Oriented Discretionary Access Controls for Distributed Structurally Object-Oriented Database Systems
Udo Kelter
ESORICS1
1989 The Pitfall Paradox and its Solution with Virtual Objects
Udo Kelter
Inf. Process. Lett.1
1989 Deadlock-freedom of large transactions in object management systems
Udo Kelter
Inf. Syst.1
1988 The Queue Protocol: A Deadlock-free Homogeneous Non-Two-Phase Locking Protocol
abstract
The M-pitfall protocol (MPP) is the most general homogeneous non-two-phase locking protocol which supports shared and exclusive locks. It has two major disadvantages: it is not deadlock-free and it has the paradoxical property that concurrency is often reduced if shared locks are used instead of exclusive locks. This paper presents a new protocol, the Queue Protocol (QP), which removes these deficiencies. Although the QP can be regarded an enhancement of the MPP, pitfalls are no more used in the QP; thus, the QP has the further advantage that processing overhead due to pitfalls is avoided.
Udo Kelter
PODS1
1987 The Complexity of Strict Serializability Revisited
Udo Kelter
Inf. Process. Lett.1
1987 Concurrency Control for Design Objects with Versions in CAD Databases
Udo Kelter
Inf. Syst.1
1986 Strictness and Serializability
Udo Kelter
STACS1