A.R. Lomuscio et al. (Eds.): ICSOC 2013 Workshops, LNCS 8377, pp. 381–393, 2014.
© Springer International Publishing Switzerland 2014
Towards a Formal Model for Cloud Computing
Zakaria Benzadri, Faiza Belala, and Chafia Bouanaka
LIRE Laboratory
Department of Software and Information Systems Technology
University of Constantine 2, Constantine, Algeria
benzadri@gmail.com, belalafaiza@hotmail.com,
c.bouanaka@umc.edu.dz
Abstract. The use of formal methods is an effective means to improve complex
systems reliability and quality. In this context, we adopt one of these methods to
formalize cloud computing concepts. We focus on modeling interactions
between cloud services and customers. Based on Bigraphical Reactive Systems,
the formalization process is realized via the definition of a Cloud General
Bigraph (CGB) obtained by associating; primarily, a CCB (Cloud Customers
Bigraph) to cloud customers. Then, a Cloud Services Bigraph (CSB) is pro-
posed to formally specify cloud services structure. Finally, juxtaposing these
two bigraphs (CSB and CCB) gives rise to the suited CGB. In addition, a natu-
ral specification of cloud deployment models is specified. This paper also ad-
dresses cloud service dynamics by defining a set of reaction rules on bigraphs in
a way that is amenable to reconfigure the designed cloud system.
Keywords: Cloud Computing, Bigraphical Reactive Systems, Formal Methods,
Cloud Model, Cloud General Bigraph, Cloud Customers Bigraph, Cloud Ser-
vices Bigraph.
1 Introduction
Software reusability has permanently triggered researchers and practitioners of software
engineering. From the notion of modules defined by Djikstra to the well-known web
services, we are still aiming on maximizing software reusability and thus reducing devel-
opment cost. Based on service oriented paradigm and service oriented architectures and
putting forward reduction of not only software development cost but also deployment
effort, cloud computing [1] generalizes service reuse to all computer resources. The main
principle behind this model is offering computing, storage, and software “as a service”. It
implies dynamic provisioning with on demand shared computing resources, and provides
computing resources as services in an attempt to reduce IT capital and operating costs.
Nevertheless, cloud computing is actually changing software design and development
practices and involves revisiting and redefining some fundamentals and concepts. Much
as service-oriented architecture (SOA), cloud architecture must be defined, governed, and
managed independently [2].