Ilie Savga

Learn More
The evolution of a software framework may invalidate existing plugins - modules that used one of its previous versions. To preserve <i>binary compatibility</i> (i.e., plugins will link and run with a new framework release without recompilation), we automatically create an adaptation layer that translates between plugins and the framework. The creation of(More)
This paper investigates how software composition and transformation can be applied to domain specific languages used today in modeling and simulation of physical systems. More specifically, we address the composition and transformation of the Modelica language. The composition targets the ModelicaXML dialect which is the XML representation of the Modelica(More)
Although the API of a software framework should stay stable, in practice it often changes during maintenance. When deploying a new framework version such changes may invalidate plugins - modules that used one of its previous versions. While manual plugin adaptation is expensive and error-prone, automatic adaptation demands cumbersome specifications, which(More)
The adapter design pattern [1], commonly used for integration and evolution in component-based systems, is originally described by roles. In class-based systems, the conventional realization of the pattern maps these roles to classes. The recent appearance of mature languages supporting roles as first order programming constructs poses the question whether(More)
Maintenance of a software framework often requires restructuring its API (<i>refactoring</i>). Upon framework upgrade structural API changes may invalidate existing plugins - modules that used one of its previous versions. To preserve plugins, we use refactoring trace to automatically create an adaptation layer that translates between plugins and the(More)
Any software composition system requires, among other things, a component model, which describes how components look and how they can be interfaced with each other. Previously, the component models for languages have been handwritten. We demonstrate a prototype tool for automatic derivation of a component model for any language given the description of the(More)
Development of a component model for a given language is tedious, time-consuming, and error-prone. Moreover, many tasks of this process have to be repeated when modeling sets of related languages. In this paper, we propose to use the meta-modeling approach and for a given language to derive an invasive component model as its derived meta-model. The(More)