Virtual Textual Model Composition for Supporting Versioning and Aspect-Orientation
The maintenance of modern systems often requires developers to perform complex and error-prone cognitive tasks, which are caused by the obscurity, redundancy, and irrelevancy of code, distracting from essential maintenance tasks. Typical maintenance scenarios include multiple branches of code in repositories, which involves dealing with branch-interdependent changes, and aspects in aspect-oriented programming, which requires in-depth knowledge of behavior-interdependent changes. Thus, merging branched files as well as validating the behavior of statically composed code requires developers to conduct exhaustive individual introspection.
In this work we present the VirtualEdit for associative, commutative, and invertible model composition that enables simultaneous editing of multiple model versions or variants through dynamically derived virtual models. We implemented the approach in terms of an open-source framework that enables the maintenance of multi-versioned and aspect-oriented software through selective focus on specific parts of code, which are significant for a particular maintenance task.
The VirtualEdit framework is evaluated based on its application to the most popular publicly available Xtext-based languages. Our results indicate that our approach is surprisingly easy to include in other languages and can be used in a prototypical fashion
Mon 23 Oct Times are displayed in time zone: Tijuana, Baja California change
|13:30 - 13:53|
|Towards a Taxonomy of Grammar Smells|
|13:53 - 14:15|
|Deep Priority Conflicts in the Wild: A Pilot Study|
Luis Eduardo de Souza AmorimDelft University of Technology, Netherlands, Michael J. SteindorferDelft University of Technology, Eelco VisserDelft University of TechnologyDOI
|14:16 - 14:38|
|Virtual Textual Model Composition for Supporting Versioning and Aspect-Orientation|
Robert BillVienna University of Technology, Patrick NeubauerUniversity of York, UK, Manuel WimmerTU WienDOI
|14:38 - 15:00|
|Robust Projectional Editing|