Software Engg > Tools > MDD for “the cloud”
MDD for “the cloud”

In our view, cloud computing, in essence, is SaaS with the infrastructure components abstracted away. The cloud computing space can be visualized along three dimensions (which also happen to be the key stake-holders), namely, cloud infrastructure builders, cloud operators (/integrators?) and content providers as shown below


Typically, a cloud operator would integrate the infrastructure pieces into a platform guaranteeing the desired SLAs onto which the desired content can be executed with the desired engineering properties. In addition to being an execution platform, it would also provide support for deploying, monitoring, debugging and managing the deployed artefacts. One would expect such a platform to abstract away the h/w infrastructure pieces (from the content being deployed) in the form of, say, typically, a service-oriented and/or agent-driven interface layer. A choice of the desired infrastructure pieces, namely, OS, database, disk storage, middleware etc integrated into a purpose-specific platform would constitute an implementation of the interface layer. We visualize, such a platform with "on demand" characteristics as a "purpose-specific cloud". Our principal research interests lie in coming up with a specification of the interface layer, programming abstractions and architectures to specify business applications, and the necessary tooling infrastructure to deliver into a purpose-specific cloud. We would also like to contribute to the tooling infrastructure to operationalize the entire lifecycle of a business application "on the cloud". To manage the scale effectively and efficiently, the cloud i.e. platform + content needs to be configurable and even adaptable. Ideally, it should be possible for users of the cloud to effect adaptations on their own. The adaptation machinery should also be available "in the cloud".

Research Team
Vinay Kulkarni, Souvik Barat

Engineering Team
Rahul Kumar