Towards a Text Generation Template Language for Modelica (original) (raw)

MontiCore: Efficient Development of Composed Modeling Language Essentials

2017

Model-driven engineering exploits models as first-class artifacts to tackle the complexity and heterogeneity of large software systems. Such models can be built with domain-specific languages (DSLs) that enable higher-levels of abstraction and also facilitate separation of concerns and reuse. Unlike general-purpose languages, a DSL allows specification of system aspects by using the terminology of the domain. This, in turn, enables domain experts—who rarely have software engineering skills—to become directly involved in the development process. In textual, grammar-based languages, an abstract syntax tree (AST) technically represents the model within a tool and thus serves as the central artifact for model processing, e.g., for static analysis or code generation. Deriving the AST directly from the grammar keeps it consistent with the concrete syntax [KRV07b] and, hence, reduces maintenance efforts. Thus, the AST greatly depends on the grammar in terms of both content and structure, l...

Composing textual modelling languages in practice

Complex systems require descriptions using multiple modelling languages, or languages able to express different concerns, like timing or data dependencies. In this paper, we propose techniques for the modular definition and composition of languages, including their abstract, concrete syntax and semantics. These techniques are based on (meta-)model templates, where interface elements and requirements for their connection can be established. We illustrate the ideas using the MetaDepth textual meta-modelling tool.

AN INTEGRATED MODELICA ENVIRONMENT FOR MODELING, DOCUMENTATION AND SIMULATION1

Summer Computer Simulation Conference, 1998

Modelica is a new object-oriented multi-domain modeling lan- guage based on algebraic and differential equations. In this paper we present an environment that integrates different phases of the Modelica development lifecycle. This is achieved by using the Mathematica environment and its structured documents, "note- books". Simulation models are represented in the form of struc- tured documents, which integrate source code,

Modelica CDV A Tool for Visualizing the Structure of Modelica Libraries

2006

The simulation language Modelica is an object oriented language with all the advantages and potential drawbacks that are characteristic for object oriented programming languages. The reusability of source code and the possibility to develop nicely structured libraries using inheritance, aggregation and polymorphism are two of the main advantages object oriented languages have to offer. Although there are good mechanisms given to structure libraries, one of the drawbacks is that it can become very hard to understand large libraries especially for users who just want to use them to carry out simulations without getting into all the details. The presented work has the goal to provide an easy to use tool that is capable of graphically visualizing the structure of Modelica libraries and that therefore enables the developer as well as the end user of Modelica libraries to better control and understand the structure of libraries.