Speaker: Igor Gelfgat

 

Title: Granulated Code Generation Of Interfering Functionalities

 

Abstract:

The Model-Driven Software Development approach is becoming widely used as powerful model-driven tools are becoming available for the developer. Its primary goals are portability, interoperability and reusability, through architectural separation of concerns. Yet, it is not suitable to model, and therefore to generate the code, for all the aspects handled in the development stage. As a result, the Model-Driven Software Development is not as widely used as it could.

 

In this talk we present a technique that extends the capabilities of Model Driven Engineering with behavioral aspects, by modeling concerns and using them in code generation. Common concerns can be defined for design patterns, software infrastructures and other common aspects. Software architects are advised to apply those common concerns to their system models and also to create system-specific concerns and apply them at the modeling stage. We name it enriching a model with concerns. With the help of code definition for each concern, our tool automatically generates code for the enriched model. Thus, at the end of the modeling stage the developers will have the structure of the code and all the glue code ready, so they will only have to fill the business logic in the manual implementation methods created for them. They will also maintain the enriched model and not the code they would otherwise write manually. We argue that our technique decreases the required development effort and increases the quality of the software.

 

The talk is based on Igor's MSc thesis, co-supervised by Shmuel Tyszberowicz and Amiram Yehudai.