two communication parties. Message Exchange Pat-
terns (MEP) can be classified into two main cate-
gories, one-way or two-way. The one-way MEP is
usually referred to as the event driven MEP, or pub-
lish subscribe (pub/sub), in which the participating
parties are not fully aware of each other. A tempo-
rary storage in the form of a queue is usually used
to accomplish this. One party will push a message,
and the second will pull it from the queue. This is
one of the common communication patterns between
CloudFrontTasks and CloudRotorTasks. On the other
hand, the two way MEP is usually referred to as re-
quest/response MEP. It can be either a synchronous
(blocking) or asynchronous (non-blocking). This is
an interactive communication that is usually needed
when you have direct interaction with the user. Cloud-
FrontTasks must support this type of interaction with
the application user.
5 CONCLUSIONS
This paper presented a meta-model for cloud applica-
tions. Cloud computing is a new paradigm for devel-
oping elastic and flexible applications with less time
to market. The promise is to reduce the overhead of
developing, configuring, deploying, and maintaining
cloud applications. Currently, there is no common
vocabulary, developmentmethodologies,or best prac-
tices that distinguish the cloud development paradigm
from the existing ones. The lack of standardization
and common terminologies challenges portability and
migration between different cloud platforms. On the
other hand, the lack of software architectural models
and design patterns makes cloud application develop-
ment an ad-hock approach.
To address the previous problems, in this paper we
defined a cloud application meta-model that is capa-
ble of capturing the syntax and some of the semantics
of cloud applications. This meta-model can be used
by developers to better understand cloud applications
independent of any specific cloud development envi-
ronment. This meta-model will serve as a first step to-
ward a cloud modeling language that we are currently
working on.
Future directions include refining the syntax and
defining semantics of the proposed reference model,
mapping the reference model to different cloud plat-
forms, and creating a platform independent modeling-
language for cloud applications.
REFERENCES
Armbrust, M., Fox, A., Griffith, R., Joseph, A., Katz, R.,
Konwinski, A., Lee, G., Patterson, D., Rabkin, A.,
Stoica, I., et al. (2009). Above the clouds: A berkeley
view of cloud computing. EECS Department, Univer-
sity of California, Berkeley, Tech. Rep. UCB/EECS-
2009-28.
CA Labs (2009). Cloud computing Web-Services offering
and IT management aspects. In OOPSLA09, 14th con-
ference companion on Object Oriented Programming
Systems Languages and Applications, pages 27–39.
Charlton, S. (2009). Model driven design and operations for
the cloud. In OOPSLA09, 14th conference companion
on Object Oriented Programming Systems Languages
and Applications, pages 17–26.
Frey, S. and Hasselbring, W. (2010). Model-Based migra-
tion of legacy software systems into the cloud: The
CloudMIG approach. In WSR2010, 12th Workshop
Software-Reengineering, pages 1–2.
Google (2010). Google app engine. Retrieved: December
2010, from http://code.google.com/appengine/.
Matthews, C., Neville, S., Coady, Y., McAffer, J., and
Bull, I. (2009). Overcast: Eclipsing high profile open
source cloud initiatives. In OOPSLA09, 14th con-
ference companion on Object Oriented Programming
Systems Languages and Applications, pages 7–15.
Maximilien, E. M., Ranabahu, A., Engehausen, R., and An-
derson, L. C. (2009). Toward cloud-agnostic middle-
wares. In OOPSLA09, 14th conference companion
on Object Oriented Programming Systems Languages
and Applications, pages 619–626.
Microsoft (2010). Windows azure microsoft’s cloud ser-
vice platform. Retrieved: December 2010, from
http://www.microsoft.com/windowsazure/.
Sirtl, H. (2008). Software plus Services: New IT-and
Business Opportunities by Uniting SaaS, SOA and
Web 2.0. In IEEE EDOC’08, 12th International En-
terprise Distributed Object Computing Conference,
pages 1541–7719.
Tsai, W., Sun, X., and Balasooriya, J. (2010). Service-
Oriented Cloud Computing Architecture. In ITNG10,
7th International Conference on Information Technol-
ogy: New Generations, pages 684–689.
Zhang, L. J. and Zhang, J. (2009). Architecture-Driven vari-
ation analysis for designing cloud applications. In
IEEE CLOUD09, 2nd International Conference on
Cloud Computing, pages 125–134.
Zhang, W., Berre, A. J., Roman, D., and Huru, H. A. (2009).
Migrating legacy applications to the service cloud. In
OOPSLA09, 14th conference companion on Object
Oriented Programming Systems Languages and Ap-
plications, pages 59–68.
A REFERENCE MODEL FOR DEVELOPING CLOUD APPLICATIONS
103