Hossny, E., S. Khattab, F. A. Omara, and H. Hassan, "STAGER: Semantic-based Framework for Generating Adapters of Service-based Generic-API for Portable Cloud Applications", IEEE Transactions on Services Computing, vol. Early Access, 2018.

Thesis Chapter 3

This chapter provides a survey about the research efforts to solve the vendor lock-in problem. The chapter ends with a comparison between our STAGER framework and the related work

emanhossny_latex_thesis_chapter3.pdf291.83 KB
Hossny, E., S. Khattab, F. Omara, and H. Hassan, "Towards a standard PaaS implementation API: A standard cloud persistent-storage API", Presented in 3rd International IBM Cloud Academy Conference ICACON 2015, Budapest, Hungary, 21 May, 2015.

STAGER Framework Technical Report

This is the full paper of my STAGER framework. Currently, this paper is under review of IEEE TCS journal. 

The STAGER framework can be used automatically generate the adapters of a generic API. It is based mainly on semantic annotations

stager_manuscript_underreview.pdf1.7 MB


Advanced Operating System (2017/2018)

      semster: spring


Software Engineering 1 (2017/2018)

      semster: spring


Hossny, E., S. Kattab, F. Omara, and H. Hassan, "Extending Generic PaaS Deployment API: Repackaging and Deploying Applications on Hetergeneous PaaS Platforms", International Journal of Big Data Intelligence, vol. 3, issue 4, pp. 257-269, 2016.
Hossny, E., S. Khattab, F. A. Omara, and H. Hassan, "Semantic-based Generation of generic-API Adapters for Portable Cloud Applications", Proceedings of the 3rd Workshop on CrossCloud Infrastructures & Platforms, London, UK, pp. 1:5, 2016.

Generated Adapters for the Blob Storage Generic API

These are JAVA adapters that are generated by the AAG component for the blob storage generic API.

Currently, it include two adapters one for GCS and the other of Azure storage.

azure_adapter.pdf206.92 KB
google_adapter.pdf206.78 KB

Automatic Adapter Generation (AAG)

The AAG module aims to provide a solution for cloud application portability problem. One approach to solve application portability problem over PaaS model is to write applications using a generic API
and implement an adapter for each specific PaaS platform. These adapters aim to translate generic API calls into specific PaaS calls. The main problem in these adapters is that they have been implemented manually. Whenever a specific PaaS API has been updated, its adapter requires refactoring or re-implementation (i.e., API synchronization problem).

So, the main objective of the AAG module is to automatically generate a generic API adapters' code. The semantic annotations of a generic API and a set of specific APIs are defined in a pre-built ontology. These semantic annotations have been used in the process of automatic code generation.

  • automaticQueryGenerationAlgorithm1.png
  • generatecode4detectionpathalgorithm2.png