Hi, I'm Adrian

I am a PhD student at IT University of Copenhagen in Denmark.
I am interested in Software Engineering and Computer Graphics!
Below, you can find some of my work and hobby projects.

April 2021

Augmenting Metamodels with Seamless Support for Planning, Tracking, and Slicing Model Evolution Timelines

Extended journal version of our GPCE'19 paper "Automated Metamodel Augmentation for Seamless Model Evolution Tracking and Planning" (cf. October 2019):

In model-based software engineering, models are central artifacts for management, design and implementation. To meet new requirements, engineers need to plan and perform model evolution. So far, model evolution histories are captured using version control systems, e.g., Git. However, these systems are unsuitable for planning model evolution as they do not have a notion of future changes. Furthermore, formally assigning responsibilities to engineers for performing evolution of model parts is achieved by using additional tools for access control. To remedy these shortcomings, we provide a method to generate evolution-aware modeling notations by augmenting existing metamodels with concepts for capturing previous performed and planned evolution as first-class entity. To provide a clear overview, we automatically generate a Gantt-style viewer for augmented models and capabilities to slice models for certain time periods. Our method enables engineers to seamlessly plan future model evolution while actively developing the current model state using a centralized access point for evolution. With the generated Gantt-style viewers and the slicing functionality, we enable engineers to inspect relevant model evolution while reducing model size and hiding unnecessary complexity. In our evaluation, we provide an implementation of our method in the tool TemporalRegulator3000. We show applicability for real-world metamodels and capture the entire evolution timeline of corresponding models.

February 2021

ISA Spaceship Interior

January 2021

ISA - Immersive Software Archaeology

My work at ITU is supported by the DFF (Independent Research Fund Denmark) within the project ISA – Immersive Software Archaeology (0136-00070B).

ISA is about helping software engineers with understanding large-scale legacy software systems by immersing them into an intuitive VR visualization of a system and letting them explore it from the inside.

Long-living legacy software systems grow old over time in tact with engineers retiring or changing jobs and technologies becoming obsolete even though they are still in use. Software archaeology helps new generations of engineers to understand such legacy systems to enable maintenance and modernization. Yet, the code base is large, hard to navigate and incomprehensible. The project ISA will exploit immersive 3D virtual reality to increase the effectiveness of software archaeology. We will create a virtual reality representation of a software system that can be explored interactively, for example, a city with buildings, floors and streets representing modules, functions and dependencies. We will analyze system usage to guide through meaningful exploration routes and highlight particularly important system areas as targets. The project will be conducted by internationally recognized researchers from the ITU Copenhagen in collaboration with a world-leading Swiss visualization expert, a high-tech German startup and two Danish virtual reality companies. The project results have the potential to substantially advance practices in software archaeology and make the field more accessible to classically trained software engineers, which is fundamental for coping with a dramatically increased number of legacy systems in the future.

January 2021

PhD Student - IT University of Copenhagen (ITU)

I am a PhD student at ITU since January 2021 where I work in the computer science department.

October 2020

Member of SQUARE Research Group

Three months prior to my PhD, I joined the Software Quality Research (or short: SQUARE) research group at ITU.

October 2020

Consistency-Preserving Evolution Planning on Feature Models

In this paper, we present a method that enables to safely plan evolution based on an evolving feature model:

A software product line (SPL) enables large-scale reuse in a family of related software systems through configurable features. SPLs represent a long-term investment so that their ongoing evolution becomes paramount and requires careful planning. While existing approaches enable to create an evolution plan for an SPL on feature-model (FM) level, they assume the plan to be rigid and do not support retroactive changes. In this paper, we present a method that enables to create and retroactively adapt an FM evolution plan while preventing undesired impacts on its structural and logical consistency. This method is founded in structural operational semantics and linear temporal logic. We implement our method using rewriting logic, integrate it within an FM tool suite and perform an evaluation using a collection of existing FM evolution scenarios.

November 2019

Super Sportscar

October 2019

Automated Metamodel Augmentation for Seamless Model Evolution Tracking and Planning

In this paper, we present a method that allows to automatically extend any given model with the ability to keep track its evolution:

In model-based software engineering, models are central artifacts used for management, design and implementation. To meet new requirements, engineers need to plan and perform model evolution. So far, model evolution histories are captured using version control systems, e.g., Git. However, these systems are unsuitable for planning model evolution as they do not have a notion of future changes. Furthermore, formally assigning responsibilities to engineers for performing evolution of model parts is achieved by using additional tools for access control. To remedy these shortcomings, we provide a method to generate evolution-aware modeling notations by augmenting existing metamodels with concepts for capturing past and planned evolution as first-class entity. Our method enables engineers to seamlessly plan future model evolution while actively developing the current model state, both using a centralized access point for evolution. In our evaluation, we provide an implementation of our method in the tool TemporalRegulator3000, show applicability for realworld metamodels, and capture the entire evolution time line of corresponding models.

September 2019

DarwinSPL - Evolution-Aware Feature Modeling

DarwinSPL is a tool for modeling and analyzing evolving software product lines. It was started, developed and maintained by Michael Nieke at TU Braunschweig's ISF.

In 2019, I joined the DarwinSPL development team and started to work on a development branch where I implemented the concepts that we created in the LTEP project. That branch was later merged into DarwinSPL's master branch where LTEP's evolution-planning functionality is available since.

DarwinSPL is a great tool, it can be downloaded from its GitHub repository (link below) where I also linked a tutorial video :)

January 2019

Miniature Room

January 2019

LTEP - Long-Term Evolution Planning for Highly Variable Software Systems

LTEP was a research project funded by the German Academic Exchange Service (DAAD) and the Research Council of Norway (NFR).

Starting in 2019, it paved the way for a great collaboration between four researchers from Norway and three researchers from Germany (i.a., me), on different academic career levels from MSc students to PhD students, post-docs and associate professors.

The objectives of LTEP were:

  • Strengthening / reinforcement of academic relations
  • Complementary cooperative research work at a high academic level
  • Qualification of young academics in an international environment
June 2018

Jet Scene

February 2018

Blacksmith

December 2017

Kids at a Lake

November 2017

Magic Sword

August 2017

Mecha Spider

June 2017

Meadow House

February 2017

Character on Bridge

April 2016

DeltaJava - Delta-Oriented Programming for Java

DeltaJava is a programming language, designed to implement Software Product Lines within the Java environment. As its name suggests, DeltaJava follows the delta-oriented programming work-flow; code is encapsulated within delta modules which can add, remove, or modify functionality to and from an existing code base or other delta modules. Appliyng different sets of deltas thus results in different products.

DeltaJava can be downloaded from its web site, where I also uploaded a tutorial :)

November 2015

Research Assistant - TU Braunschweig

During my bachelor's at Technische Universität Braunschweig, I became a research assistant for the Institute of Software Engineering and Automotive Informatics (ISF).

September 1997

The beginning

Equipped with nothing more than Microsoft Paint, I began my journey as a hobby CG artist. It took quite some time until I produced my first reasonably "presentable" rendering though ;-)