TY - JOUR
T1 - Augmenting Metamodels with Seamless Support for Planning, Tracking, and Slicing Model Evolution Timelines
AU - Nieke, Michael
AU - Hoff, Adrian
AU - Seidl, Christoph
AU - Schaefer, Ina
PY - 2021
Y1 - 2021
N2 - 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.
AB - 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.
KW - Model Based Software Engineering
KW - Metamodel
KW - Model
KW - Evolution
KW - Planning
KW - History
KW - Timeline
U2 - 10.1016/j.cola.2021.101031
DO - 10.1016/j.cola.2021.101031
M3 - Journal article
SN - 2590-1184
JO - Journal of Computer Languages
JF - Journal of Computer Languages
ER -