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)
  • 1