Model-driven engineering utilizes models as primary artifacts to address the complexity of large software systems. These models can be created using domain-specific languages (DSLs) that allow for higher abstraction levels. In grammar-based languages, an abstract syntax tree (AST) represents the model within a tool, serving as a key artifact for model processing. However, deriving the AST directly from grammar presents challenges: it may not straightforwardly convey essential model information, complicating tool development, and minor grammar changes can necessitate updates to dependent tools. Additionally, since various languages are often needed to represent different aspects of a software system, models must be integrated before joint analysis and synthesis. Each model requires an interface for composition with others, but the AST does not clearly display this interface. This dissertation proposes the development of an additional structure (ST) that captures crucial information for processing models and defines a language's interface for model composition, including across heterogeneous languages. Unlike the AST, the ST can incorporate information not explicitly defined in the model but still relevant. Tools can leverage the ST alongside the AST to access necessary information, enhancing model processing efficiency.
Pedram Mir Seyed Nazari Knihy
