After a first brainstorming session , we have developed our ideas about how cloud computing can change the way people use model-driven engineering nowadays. These ideas have been written down in a position paper that will be presented in a couple of weeks in the MDE4ServiceCloud workshop, part of the ECMFA conference (btw, if we’ve never meet before and plan to be there let me know and “devirtualize” ourselves!).
Model-driven engineering (MDE) is becoming the dominant software engineering paradigm to specify, develop and maintain software systems. At the same time, service-orientation is gaining popularity as the standard way of designing and deploying software applications over the internet (Software As a Service – SaaS). Therefore, it is just natural that we wonder how both paradigms can be integrated and benefit from each other. We have identified two main collaboration scenarios between MDE and SaaS:
- MDE FOR the cloud
- MDE IN the cloud
MDE FOR the cloud refers to the use of MDE techniques to facilitate and (semi)automate the development of SaaS applications. This includes the use of model-driven reverse engineering techniques (as our own MoDisco framework) to cloud-enable existing software (that should now be considered as legacy software from a cloud point of view).
MDE IN the cloud corresponds to our Modeling AS a Service (MaaS) initiative . Similar to SaaS, MaaS would allow the deployment and on-demand execution of
modeling and model-driven services over the Internet. We are confident that MaaS will contribute to widen even more the adoption of MDE among software practitioners and that has the potential to bring many benefits to the MDE community. For instance, it would allow developers to define modeling mash-ups as a combination of model-driven engineering services from different vendors, to ensure the scalability of MDE techniques when dealing with very large models (e.g. a model verification service IN the cloud could overcome some of the limitations defined above), to facilitate the deployment and evolution of software applications (designers could forget about setting up the RIGHT infrastructure to compile and deploy the applications and would be able to rely on the cloud for that) and to access collaborative and distributed modeling tools.
Of course, we would love your feedback on this paper/topic. It’s still an emergent area so all contributions are important!! Do you agree on the importance of MaaS? What modeling services would you like to see? What challenges do you think need to be solved? Can the cloud become the new core infrastructure for MDE?