A development framework enabling the design of service-based cloud applications.
The objective of cloud application platforms such as Google App Engine, Microsoft Azure, Force.com, or other contemporary Platform-as-a-Service (PaaS) offerings, is to reduce the effort required for the development, deployment and maintenance of Web-based software applications. This, however, is typically achieved at the expense of application portability. Because of platform heterogeneity, applications developed on a particular platform are not possible to deploy on another one without undergoing significant modifications and reengineering. This leads to the phenomenon of platform ‘lock-in’.
A classic approach to address portability problems like this is to introduce an intermediate layer of abstraction between applications and the multitude of potential target platforms. The intermediate layer would provide a platform-independent application model and API which would allow applications to be developed without reference to any particular platform.
Model-driven engineering (MDE) could be deployed to create a framework that supports this type of cross-platform development and deployment of cloud applications. A particularly interesting and novel research direction is to combine ideas and techniques from model-driven engineering and model transformation with ontology-based software modeling.
An ontology-driven framework for cross-platform development and deployment of cloud applications would allow software developers to start with creating ontology-based specifications of an application’s domain model (e.g. its data objects, object relations, user types, permissible operations on objects), and subsequently apply a series of model transformations to generate artefacts/code for the data, logic, and presentation layers of one or more specific target platforms.
The framework would allow changes to applications to be carried out at the level of an application’s specification model, i.e. at a high level of abstraction, and would automate the process of propagating those changes to all platform-specific artefacts/code automatically, through transformations. Due to the automated transformations, the risk of introducing errors would be eliminated. As a result, adaptive and perfective maintenance of software applications would require significantly less effort to perform.
Gonidis F., Paraskakis I., Simons A. J. H., Kourtesis D.: Cloud Application Portability. An Initial View. In 6th Balkan Conference of Informatics, 19-21 Sep, Thessaloniki, Greece, 2013, pp.275-282, LINK
Gonidis F., Paraskakis I. “Existing approaches for cross platform development and deployment of cloud applications”, In 8th South East European Doctoral Student Conference, Sep 16-17, Thessaloniki, Greece 2013.
Gonidis F., Paraskakis I., Kourtesis D.: Addressing the Challenge of Application Portability in Cloud Platforms. In Proceedings of the 7th South East European Doctoral Student Conference (DSC 2012), Sep 24-25, Thessaloniki, Greece, 2013, pp. 565-576, PDF
Gonidis F.: Survey on state of the art work on cloud application portability. Technical Report 2013. South East European Research Centre, Thessaloniki, 2013.
Gonidis F.: Survey on cloud platforms. Technical Report 2013. South East European Research Centre, Thessaloniki, 2013.
Gonidis F.: Literature Review on Model Transformations. Technical Report 2012. South East European Research Centre, Thessaloniki, 2012.
Hamadache K., Zerva P., Polyviou A., Simko V., Dautov R,. Gonidis F., Paez Anaya I.: Cost in the Cloud Rationalisation and Research Trails. In Proceedings of the 2nd International Conference on Advanced Cloud and Big Data (CBD 2014), November 20-22, Huangshan, Anhui, China, 2014 (To appear)
Links to related work:
Main research interests:
- Cloud Computing
- Model-Driven Engineering
- Ontologies and
- Semantic Web technologies