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.