Supporting Design Decisions in Rule-Based Model Transformations

· Source: cs.SE updates on arXiv.org · Field: Technology & Digital — Software Development & Engineering · Depth: Advanced, quick

Summary

Dejan Stojimirovic and Sinisa Neskovic propose an approach to explicitly model and manage design decisions within rule-based model transformations, enhancing flexibility, reusability, and traceability in Model Driven Engineering. Their method separates design decisions from transformation implementation using three distinct mechanisms: a decision model for capturing options independently of the source language, a binding model to link decisions to specific metamodel concepts, and a configuration model to record chosen options for source elements, including automatic defaults. During execution, transformation rules dynamically resolve variability points based on these configurations, and a trace model records applied rules and options. The authors establish a formal mathematical framework for variability-based transformations and implement these concepts in a practical four-artifact architecture, demonstrating feasibility by extending an existing embedded domain-specific language with variability support, exemplified by an ER-to-Relational transformation.

Key takeaway

For Software Engineers designing complex model transformations, explicitly managing design decisions can significantly improve maintainability and adaptability. If you are struggling with inflexible or hard-to-trace transformation logic, consider implementing a separate decision, binding, and configuration model. This approach allows you to reuse design knowledge across projects and dynamically adapt transformations without altering core implementation, reducing future development overhead and enhancing system traceability.

Key insights

Explicitly modeling design decisions in model transformations improves flexibility, reusability, and traceability.

Principles

Method

The approach involves a decision model, a binding model, and a configuration model to manage design choices, with dynamic resolution of variability points and a trace model for execution.

In practice

Topics

Best for: AI Scientist, Software Engineer, Research Scientist

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by cs.SE updates on arXiv.org.