SearcharxivSearch

arXiv subjects

Sinisa Neskovic

Publications and source records attributed to Sinisa Neskovic.

2 recordsLinked to original sources

Supporting Design Decisions in Rule-Based Model Transformations

Model Driven Engineering relies on model transformations to automate the derivation of target models or source code from source models. However, the design decisions that govern how source elements are mapped to target artifacts typically remain embedded in the transformation source code, limiting flexibility, reusability, and traceability. This paper proposes an approach to explicitly model and manage design decisions in rule-based model transformations. Design decisions are separated from transformation implementation through three mechanisms. First, a decision model captures design decisions and their options independently of any source modeling language for a given transformation domain. Second, a binding model connects these decisions to specific metamodel concepts in a given source modeling language, enabling reuse of the same design knowledge across transformations from similar languages. Third, a configuration model records the specific option chosen for each applicable source model element, with defaults pre-selected automatically. During execution, variability points in transformation rules are resolved dynamically according to configured choices. A trace model records which rules and options were applied to produce each target element. We establish a formal mathematical framework that defines the core concepts of variability-based transformations and proves key properties of the resulting transformations. The formal concepts are realized in a practical architecture of four interconnected artifact models. We demonstrate practical feasibility by extending an existing embedded domain-specific language for model-driven engineering with variability support and illustrate the approach with a complete ER-to-Relational transformation example.

cs.SE

Models as Values in a Model Expression Algebra: A Functional Approach to Model Driven Engineering

This paper proposes a functional foundation for model driven engineering that unifies model construction, metamodels, templates, and transformations under a single formalism: the model expression algebra. In this algebra, models are values, model expressions are terms, and evaluation is the interpretation homomorphism from terms to values. Model expressions are composed from four operators: model creation and element creation operators, reference operators for retrieving models and elements, and computation operators that embed functional computations. Metamodels are type schemas that constrain the algebra, and model templates, understood as parameterized model expressions, are formalized as open terms with free variables. Model transformations then arise naturally as model templates whose input parameter is a source model. We prove type preservation under evaluation and type safety of transformation execution. Since models are themselves model elements, the algebra also supports megamodels and weaving models without additional mechanisms. The approach is realized through an embedded domain-specific language (DSL) that demonstrates how a single mainstream language can serve simultaneously as the metamodeling, model construction, and transformation language, with formal guarantees enforced by the language's type system.

cs.SE