SlideShare a Scribd company logo
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6



                           Reusability Framework for Cloud Computing
                                        Sukhpal Singh1, Rishideep Singh2
                1
                   M.E. (S.E.) Co mputer Science and Engineering Depart ment, Thapar Un iversity, Patiala, India,
               2
                   Assistant Professor, Depart ment of Information Technology, N.W.I.E.T. Dhudike, Moga, India.




Abstract:
Cloud based development is a challenging task for several software engineering projects, especially for those which needs
development with reusability. Present time of cloud computing is allowing new professional models for using the software
development. The expected upcoming trend of computing is assumed to be this cloud computing because of speed of
application deployment, shorter time to market, and lower cost of operation. Until Cloud Co mputing Reusability Model is
considered a fundamental capability, the speed of developing services is very slow. Th is paper spreads cloud computing wit h
component based development named Cloud Co mputing Reusability Model (CCR) and enable reusability in cloud computing.
In this paper Cloud Co mputing Reusability Model has been proposed. The model has been validated by Cloudsim an d
experimental result shows that reusability based cloud computing approach is effective in minimizing cost and time to market.

Keywords: Cloud based software development, Co mponent based development, Cloud Co mponent, Cloud computing,
Reusability, Software engineering, Software reuse.

1. Introduction
          Reusability means using a segment of source code that can be used again to add new functionalities with slight or no
modification. In most engineering disciplines, systems are designed by composing existing components that have been used in
other systems [26]. Software engineering has been more focused on original develop ment but it is now recognized that to
achieve better software, more quickly and at lower cost, we need to adopt a design process that is based on systematic software
reuse [1]. Reverse engineering means evaluating something to understand how it works in order to duplicate or enhance it. It
allo ws the reuse of the know-how h idden inside already implemented programs [12] [14]. The object oriented software
developers now admit that thinking about object-oriented program understanding and comprehension to be relatively easier is
not that easy. Programs are even more co mp lex and difficu lt to comprehend, unless rigorously documented. What if the
documentation is improper? To affect change management, even a simpler upgrade may become cu mbersome then [3] [25].
This is the reason why eminent development houses now focusing on advanced documentation support [39]. Re-engineerin g
code environment hence largely affect the problem issues regarding program co mprehension when the software size grows
enormously. Reverse Engineering is a methodology that greatly reduces the time, effo rt and complexity involved in solving
these issues providing efficient program understanding as an integral constituent of re -engineering paradigm [2] [26]. Clou d
computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically
the Internet) [33] [38]. The name comes fro m the use of a cloud-shaped symbol as an abstraction for the complex infrastructure
it contains in system diagrams. Cloud computing [11] [30] entrusts remote services with a user's data, software and computation
[13] shown in Figure 1. In Section 2 the related work has been described. The challenges of cloud computing platform fo r
software is analyzed in Section 3. In Section 4 the Cloud Co mputing Reusability Model (CCR) has been discussed. The
experimental results are exp lained in Section 5. The advantages of proposed model have been discussed in Section 6. The
Section 7 concludes the whole work and provides future work in Sect ion 8.

2. Related work
          Reverse engineering is a systematic form of program understanding that takes a program and constructs a high -level
representation useful for documentation, maintenance, or reuse. To accomplish this, reverse engineering technique begins by
analyzing a program’s structure [24]. The structure is determined by lexical, syntactic, and semantic rules for legal program
construction. Because we know how to proceed on these kinds of analysis, it is natural to try and apply them to understand
programs. In itially reverse engineering term was evolved in the context of legacy software support but now has ventured into
the important issue of code security such that it doesn’t remain confined to legacy systems. We will come to the discussion into
this effect after a while. Transformations are applied under the process of Re-engineering [25] after analy zing the software to
apply changes incorporating new features and provide support for latest environment. Object -oriented software development
methodology primarily has three phases of Analysis, Design and Implementation [36]. W ith the view of the tradit ional waterfall
model, reverse engineering this is looking back to design from imp lementation and to analysis from implementation. The
important thing is that it actually is a reverse forward engineering i.e. fro m imp lementation; analysis is not reached before

Issn 2250-3005(online)                                          October | 2012                              Page    169
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6



design. The software system or p rogram under study is neither modified nor re -imp lemented because of not bringing it under
Re-engineering. [23] Software Re-engineering is the area which deals with mod ifying software to efficiently adapt new changes
that can be incorporated within as software aging is a well-known issue. Reverse engineering provided cost effective solutions
for modify ing software or programs to adapt change management through Re -engineering application [25] [10]. Reusable
architectures [31] can be developed fro m reusable architectural patterns [11] as in FIM architecture [12] wh ich operates at three
different levels of reuse: Federation, domain and application. Paulisch F. et. al. focuses on how non-functional property
reusability relates to the software architecture (SOA) of a system [4] [7]p. K.S. J. and Dr. Vasantha R. presented a software
process model for reuse based software development approach [5] [17] [18]. Fro m the overall literature survey, it can be
concluded that: code, design, test cases etc can be reused. Reuse can be systematic (software develop ment for reuse), or
opportunistic (software development with reuse) Reuse does not just happen; it needs to be planned and require p roper
documentation and design. Reverse-engineering can be used for reusability or it can be said that reusability can be achieved
using reverse-engineering. Reverse engineering helps to understand the legacy system by creating its UML model and once the
model of the legacy system is created, that model can be used with little or no modification in the underdevelopment or in the
future project to promote reusability and to increase productivity of the organization [6] [12]. There are lots of UML tools
available to perform reverse-engineering process [9] [15]. Reverse-Engineering can be used to make the poorly designed and
poorly documented legacy software system developed with cloud development process; Re-usable by extracting the component
fro m the legacy system using UML models [8] [26].




                                       Figure 1. Cl oud Computing and its services [13]

          Reuse based software engineering and cloud development is an open research area in rap id development. We had
conducted a survey on the number of approaches existing for Cloud Based Development [14, 9], and Reusability [11] [16]
individually, but the proposed model co mbines both Cloud co mputing and Reusability [19] into a single approach for ach ievin g
efficient classificat ion, storage and retrieval of software co mponents and improve time to market and reduce cost. The cost
without reusability is increasing phase to phase as shown in Figure 2. Presently there is no such approach as presented in
proposed model which co mbines the Co mponent based Development (Reusability) [24] [29] and Cloud computing [15].

3. Analysis
         In the rapidly changing computing environ ment with cloud platform, software develop ment is going to be very
challenging. The software development process will involve heterogeneous platforms, distributed web services, multiple
enterprises geographically dispersed all over the world. Figure 2 shows the cost of development is increasing from requiremen t
to maintenance without reusability for a small project, the development with reuse will cut an initial cost and reduce time to
market. The organizat ions need to incorporate reuse in their development [20] [32]; it will be a long term investment process.
Figure 3 summarizes incremental reuse levels (solid line) and related reuse approaches (dotted lines) [21]. The reuse of ad-hoc
reuse events with in itial benefits is the only level of reuse which can be achieved without investing in software reuse; inst ead
the experience of prev ious projects is used to copy relevant pieces of code.




Issn 2250-3005(online)                                          October | 2012                                Page   170
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6




                                          Figure 2. Evol uti on of Software Engineering

           This reuse level is defined as level 0. The first real reuse level presents a form of code -leverage, where p ieces of code
are made available and can be reused by multiple part ies. The pieces of code are made available through the use of a reuse
lib rary, provid ing a central p lace where the components are stored [37].




                                             Figure 3. Incremental stages of reuse [21]
           The use of these leveraged components is not restricted and can be considered as white-bo x reuse; the code may be
adjusted and changed to the specific context in which the component is applied [27] [35]. This strategy works for a while up to
the point that multip le copies, each slightly d ifferent, have to be managed. The choice can be made to stop using components as
white-bo x and start using them as black-bo x co mponents instead. Black-bo x co mponents may no longer be internally adjusted;
rather its environ ment should be adjusted to support the component. Previous research has pointed out that with black -bo x reuse
higher reuse levels can be achieved than with white-bo x reuse [22] [36]. The reason for this is that there are reduced costs in
component maintenance and maintenance across products using these components. However, black -bo x reuse also has its
limitat ions.



Issn 2250-3005(online)                                           October | 2012                                 Page   171
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6




                                          Figure 4. Assets and reuse operations [22].

           The axis of the three dimensional model are exp lained by an underlying model, a lso presented in Tomer et al. [22].
The underlying model is presented in Figure 4. For simp licity Tomer et al. transferred the underlying model to a two
dimensional model, where develop ment and maintenance are comb ined into one axis [34]. A key assumption made in this
model is that reuse activities cannot be freely transferred between specific products without first storing and cataloguing the
assets in a central repository [22]. Hence incorporating reuse in cloud co mputing will be beneficial if the general co mponent
will be used mu ltiple times for developing cloud projects and services.

4. Cloud Computing Reusability (CCR) Model
          Innovative software engineering is required to leverage all the benefits of cloud computing and mit igate its challenges
strategically to push forward its advances. Here we propose an extended version of software development, reusability process
model for cloud computing platform and na me it Cloud Co mputing Reusability (CCR) Model [Figure 5]. A model capable o f
developing cloud based applications with reusability by retrieving the components from the cloud component repository by
using pattern matching algorithms and various retrieval methods. There are some different 6 retrieval methods available for the
classification of co mponents in the software library. This model will help to make searching faster based on classification o f
components and develop the cloud based application accordin g to cloud customer requirements to improve time to market as
compared to traditional software development approach. The Cloud Co mponent Architecture of proposed Cloud Computin g
Reusability (CCR) Model is shown in Figure 6. In the Unified Modeling Language, a component diagram depicts how clou d
components are wired together to form larger co mponent. They are used to illustrate the structure of arbitrarily co mplex clou d
systems.




Issn 2250-3005(online)                                         October | 2012                                Page   172
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6




                          Dirty Source Code                                          IaaS         PaaS         SaaS


                               Code                                                   Cloud Based Developed
                           Restructuring                                                  System/Service
     Document                                             Data
                         Reverse     Engineering
    Restructuring                                     Restructuring


      Clean                    Clean                        Clean
  Documentation             Source Code                     Data



                             Analysis



                 Identification Reusable Component Process
                                                                                                          Cloud
                                       Reusable Cloud Component
                                                                                                        Component
                                          Component Validation and Testing                              Repository

                                           Cloud Component Searching


        Component
                                                Cloud Component
        Adaptation
                                                    Qualify?
    White Box Reuse          No


                                             Yes

                                   Component                                     Component
                                   Integration                                   Composition
                                        Black Box Reuse


                                         Cloud Based
                                      Development Process

                                  Figure 5. Cloud Computing Reusability (CCR) Model


Issn 2250-3005(online)                                     October | 2012                              Page   173
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6



4.1 Cloud B ased Developed System/Service
In cloud computing, three services are provided to the customer; Infrastructure as a Service, Platform as a Service and Software
as a Service. The organization reuses their developed projects by black bo x reuse and if the cloud service or project is
developed by another organization then it will be used by reverse engineering in cloud computing then if it will be fu rther
updated by white box reuse.

4.2 Reverse Engineering
The dirty source code is obtained from cloud based development and service and then code, data and document restructuring
will be performed to find a clean document (UML), data (Meta Data) and Code (coding style). After that it will be analyzed for
future use, to check whether it is feasible or not, if feasible then identify reusable process. The reusable cloud component will
be obtained through this process and then validation and verificat ion of cloud component will be performed and then sent to the
cloud component repository.




                                           Figure 6. Cloud Component Architecture

4.3 Cloud Component Repository
The refined cloud developed components by reverse engineering with traditional development model will be stored in cloud
component repository and retrieved it at a later stage for other cloud application development. There is some different storage
and retrieval methods (Information retrieval methods, Operational semantics methods, Descriptive methods, Denotational
semantics methods, Topological methods and Structural methods) are available for the classificat ion of components in the
software library. This model will help to make searching faster based on classification of cloud components and use these cloud
components in other projects by searching and send back to cloud component repository after updating.

4.3 Cloud Component Reuse Process
The searched cloud component will be send through the phase cloud component qualificat ion to check whether the c omponent
support required architecture, functionality and interfaces. If it qualifies then it will reused as a black bo x otherwise it will be
reused as a white box reuse through the modification then the component will be integrated with current cloud application and
send back to cloud component repository for future use.

5. Results and Discussion
         The results of Cloud Co mputing Reusability (CCR) Model as compared to tradit ional cloud based development have
been described in the Table 1. The result with Cloud Co mputing Reusability (CCR) Model has been ve rified with the help of
Cloudsim.




Issn 2250-3005(online)                                           October | 2012                                Page   174
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6



                                Table 1. Comparison of CCR method and traditi onal method
       Criteria                              CCR Method                             Traditional Methods
       Approach                              Adaptive                               Predictive
       Success Measurement                   Business Value                         Confirmation To Plan
       Project Size                          Small                                  Large
       Management S tyle                     Decentralized                          Autocratic
       Perspective To Change                 Change Adaptability                    Change Sustainability
       Culture                               Leadership Collaboration               Command Control
       Documentation                         Low                                    Heavy
       Emphasis                              People Oriented                        Process Oriented
       Cycles                                Numerous                               Limited
       Domain                                Unpredictable/Exploratory              Predictable
       Upfront Panning                       M inimal                               Comprehensive
       Return On Investment                  Early In Project                       End Of Project
       Team Size                             Small/Creative                         Large
       Cost                                  Less                                   M ore
       Time To Market                        Less                                   M ore

Figure 7 shows the HR application developments in cloud computing as a development for reuse, and then it will be four times
used in four projects. The HR application which has been stored in cloud component repository, now used in cloud computing
projects: MRI Imagining, Clinical Trial, Viral Marketing and Molecule Research.


               MRI Imaging                 HR App.                             HR App.             Clinical Trial
                                                           Cloud
                                           HR App.       Component             HR App.
             Viral Marketing                                                                   Molecule Research
                                                         Repository
                               Figure 7. Reuse of HR App. Cl oud component in other projects
         The services provided by cloud provider will be easily reusable for new cloud projects. The evaluation of Cloud
Co mputing Reusability (CCR) Model has been summarized in Table 1. The cost and time to market reduces in Cloud
Co mputing Reusability (CCR) Model as compared to traditional software development, better services will be delivered to the
cloud user with large satisfaction level, and these results were verified by Cloudsim. The cost reduction and imp rovement in
time to market proved by Cloudsim shown in Figure 8.




                  Figure 8. The comparison of cost and ti me to market for Traditional and CCR Model

6. Advantage of Proposed Approach
          This proposed Cloud Co mputing Reusability (CCR) will help to 1) developing application quickly 2) reduces cost 3)
improves reusability 4) reduce time to market and make searching faster based on classification of components and introducing
reusability in Software Develop ment. It will be accepted widely if pattern based architecture designing, design patterns [27]
Issn 2250-3005(online)                                        October | 2012                                Page    175
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6



[28], UM L based analysis and designing is incorporated. The six impo rtant ways Cloud Co mputing Reusability (CCR)
enhances cloud based development.
      Enhance the productivity and improve the quality and reliab ility of the new software systems.
      Identify independent components having a low coupling and high cohesion.
      Accelerate cloud based development
      Improve time to market
      Reduce cost
      Increase generality

7. Conclusion
          In this paper, we have presented a Cloud Co mputing Reusability (CCR) Model. The objective is to min imize the
complexity, cost, time to market and increase reusability, development speed and generality. Soft ware Development wit h
reusability has encouraging future in the software industry and is capable of fulfilling the requirements of the cloud industry.
Thus, at times it co mpro mises with quality and is incapable of providing reusability of its cloud based developed components.
Traditional Soft ware Develop ment offers particular solutions whereas Reuse and Cloud component based Development believe
in generalized solutions to satisfy the demands of cloud customer. Co mponent based development is a standard shift over the
traditional way of developing and deploying of software. The amount of effort required for evolv ing software with reusabilit y
will dimin ish but there will be added commun ication and coordination requirement with the developer which makes software
development project more difficult. The main objective of this paper is that the leading software process models should
incorporate this new dimension of interaction with the reusability. A new Cloud Co mputing Reusability (CCR) Model is
proposed in this paper which includes the expected communication requirement with the application developer and component
developer which will dimin ish all the challenges of software development on a cloud computing platform and make it more
beneficial to develop and deploy software on the cloud computing platform. The model is based on Reverse Engineering for
identifying and creating reusable software component and reused that component. A model based on pattern matching
technique is used to search the cloud component from the cloud component repository. This model encompasses the reverse
engineering methodology to extract components of the object oriented legacy cloud system development. It utilizes cloud
component repository to store and manage the tested components and restructures the new system that finally integrates the
new system with the reusable components. The reusability of the cloud component is the most popular way to enhance the
productivity and improve the quality and reliability of the new software systems by reducing the development costs. Due to
these reasons, it is very important to identify independent components having a low coupling and high cohesion. Also a
systematic approach to identify reusable component fro m the object oriented legacy system through cloud component
architecture has been proposed. The proposed approach has been validated by using a UML and also its components are tested
for reusability and illustrated that how these components can be reused in other cloud projects.

8. Future Work
          The future scope of this work is to analyze and to incorporate risk fa ctors in Component Based Development
systematically and find the critical success factors of the Cloud Computing Reusability (CCR) and also identify the various risk
factors using risk analysis of introducing reusability in component based development and offer a model that will help us to
achieve reusability in Cloud Develop ment. Reusability can also be automated in cloud development using an automated tool.
Current results have been gathered through the simu lation on Cloudsim but in future the s ame results would be verified actually
by cloud providers. In future, if this proposed methodology can be fully automated by an automatic tool then it could be more
effective and less time consuming. Co mponent based software engineering and cloud co mputing is an op en research area in
fast growth.
                                                            References
[1]      Radha Guha. Toward The Intelligent Web Systems. In Proceedings of IEEE CS, First International Conference on Computational
         Intelligence, Communication Systems and Network, Pages 459-463, July 2009.
[2]      J. Handler, N. Shadbolt, W. Hall, T. Berners-Lee and D. Weitzner. Web Science: An Interdisciplinary Approach to Understanding
         the Web. Communications of the ACM , Vol. 51, No. 7, July 2008.
[3]       F. Chong and G. Carraro. Architecture Strategies for Catching the Long Tail. M icrosoft Corporation, April 2006.
[4]       J. Banerjee and S. Aziz. SOA: The missing link between Enterprise Architecture and Solution Architecture. SETLabs briefing, Vol.
         5, No 2, Pages 69-80, M arch 2007.
[5]      HADOOP. http://en.wikipedia.org/wiki/Hadoop, February 2010.
[6]      D. Taft. IBM 's M 2 Project Taps Hadoop for M assive M ashups.www.eweek.com, February 2010.
[7]      Sun M icrosystem. Introduction to Cloud Computing architecture. White Paper, 1st Edition, June 2009
[8]      Sun M icrosystem. Open Source & Cloud Computing: On-Demand, Innovative IT On a M assive Scale.
[9]      A. Singh, M . Korupolu, D. M ahapatra. Server-Storage Virtualization: Integration and Load Balancing in Data Centers. IEEE/ACM
         Supercomputing (SC), 2008


Issn 2250-3005(online)                                             October | 2012                                   Page   176
I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6


[10]    VM WARE. Virtualization Overview. www.vmware.com.
[11]    Reservoir Consortium. Resources and Services Virtualization without Barriers. Scientific Report. 2009.
[12]    R. Pressman. Software Engineering: A Practitioner's Approach.7th Edition. M cGraw-Hill Higher Education (2009).
[13]    I. Sommerville. Software Engineering, 8th Edition, Pearson Education, 2006.
[14]    M . Brambilla et al. A Software Engineering Approach to Design and Development of Semantic Web Service Applications
[15]    Vaquero, L.M ., Rodero-M erino, L., Caceres, J., Lindner, M .: A break in the clouds towards a cloud definition. ACM SIGCOMM
        Comput. Commun. Rev. 39(1), 50–55 (2009)
[16]    T. DeM arco and T. Lister. Waltzing with Bears: M anaging Risk on Software Projects, Dorset House Publishing
        Company, Incorporated. M arch 2003.
[17]    Paulisch F., Siemens AG,” Software Architecture and Reuse – an Inherent Conflict?” 3rd International Conference on
        Software Reuse, Nov. 1994, pp. 214.
[18]    www.win.tue.nl/~mchaudro/cbse2007/managing%20CBSE%20and %20reuse.pdf
[19]    Garlen D., Allen R., and Ockerbloom J., “Architectural M ismatch: Why Reuse is So Hard”, IEEE Software,
        November1995, vol. 12, no 6, pp 17-26.
[20]    The Open Group: Building return on investment from cloud computing. A white paper, cloud business artifacts project. Cloud
        Computing Work Group (2010)
[21]    M . Griss. (1996, April). Systematic Software Reuse: Architecture, Process and Organization are Crucial. Available:
        http://martin.griss.com/pubs/fusion1.htm
[22]    A. Tomer, et al., "Evaluating software reuse alternatives: A model and its application to an industrial case study,"
        IEEE Transactions on Software Engineering, vol. 30, pp. 601-612, 2004.
[23]    Chikofsky E.J., Cross II J.H. (1990), Reverse Engineering and Design Recovery: a Taxonomy , p-p13-17, IEEE
        Software, volume 7, January 1990.
[24]    Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 .
        http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7/Presentations/PDF/ch18.pdf
[25]    Asit Kumar Gahalaut ,2010,REVERSE ENGINEERING: AN ESSENCE FOR SOFTWARE RE-ENGINEERING
        AND PROGRAM ANALYSIS. http://http://www.ijest.info/docs/IJEST10-02-06-131.pdf
[26]    Basili, V., Rombach, D. Support for comprehensive reuse. Department of Computer Science, University of M aryland
        at College Park, UM IACS-TR-91-23, CSTR- 2606, 1991..
[27]    J.H. Chuang. Potential-Based Approach for Shape M atching and Recognition. Pattern Recognition, 29:463-
        470, 1996.
[28]    Gomma H. and Farrukh G.A., “Composition of Software Architectures from Reusable Architecture Patterns”,
        Foundations of Software Engineering, Proceedings of 3rd International Workshop on Software Architecture, Orlando,
        Florida, US, 1998, pp. 45-48.
[29]    K.S. J., and Dr. Vasantha R., “A New Process M odel for Reuse based Software Development Approach”, Proceedings
        of the World Congress on Engineering, London U.K, July 2008, vol. 1.
[30]    M onaco, Ania (7 June 2012 [last update]). "A View Inside the Cloud". The institute.ieee.org (IEEE). Retrieved August 21, 2012.
[31]    Bhaskar Prasad Rimal et. al., Architectural Requirements for Cloud Computing Systems: An Enterprise Cloud
        Approach, Springer Science Business M edia B.V. 2010, J Grid Computing (2011) 9:3–26
[32]    Radha Guha et.al., Impact of Web 2.0 and Cloud Computing Platform on Software Engineering, 2010 International
        Symposium on Electronic System Design, 213-218.
[33]    Armbrust, M ., Fox, A., Griffith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee, G., Patterson, D.A., Rabkin, A.,
        Stoica, I., Zaharia, M .: Above the clouds: a Berkeley view of cloud computing. Technical Report No. UCB/EECS-
        2009-28, Electrical Engineering and Computer Sciences, University of California at Berkeley (2009)
[34]    Bonvin, N., Papaioannou, T.G., Aberer, K.: Dynamic cost-efficient replication in data clouds. In: Proceedings of the
        1st Workshop on Automated Control for Datacenters and Clouds (2009)
[35]    Dash, D., Kantere, V., Ailamaki, A.: An economic model for self-tuned cloud caching. In: Proceedings of the IEEE
        International Conference on Data Engineering (2009)
[36]    Fingar, P.: Extreme Competition: Cloud Oriented Business Architecture. Business Process Trends (2009)
[37]    Foster, I., Zhao, Y., Raicu, I., Lu, S.: Cloud computing cloud computing and Grid computing 360 degree compared. In: Grid
        Computing Environments Workshop (2008)
[38]    Gellman, R.: Privacy in the clouds: risks to privacy and confidentiality from cloud computing. In: World Privacy Forum (2009) 35.
        Golden, B.: Virtualization
[39]    M ell, P., Grance, T.: Perspectives on Cloud Computing and Standards. National Institute of Standards and Technology (NIST),
        Information Technology Laboratory (2009)




Issn 2250-3005(online)                                            October | 2012                                  Page   177

More Related Content

What's hot

G213538
G213538G213538
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsPiyush Gogia
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
IAESIJEECS
 
Developing a gui based design software in
Developing a gui based design software inDeveloping a gui based design software in
Developing a gui based design software in
Laukik Raut
 
Extending open up for autonomic computing english_finalversionupload 6
Extending open up for autonomic computing english_finalversionupload 6Extending open up for autonomic computing english_finalversionupload 6
Extending open up for autonomic computing english_finalversionupload 6vpssantos
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
SIMONTHOMAS S
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
Indu Sharma Bhardwaj
 
Mounika_Sushma_Abinitio(11)
Mounika_Sushma_Abinitio(11)Mounika_Sushma_Abinitio(11)
Mounika_Sushma_Abinitio(11)Mounika Sushma
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyZainab Nayyar
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Software Architecture in Distributed Software Development
Software Architecture in Distributed Software DevelopmentSoftware Architecture in Distributed Software Development
Software Architecture in Distributed Software Development
Werner Heijstek
 
An Approach of Improve Efficiencies through DevOps Adoption
An Approach of Improve Efficiencies through DevOps AdoptionAn Approach of Improve Efficiencies through DevOps Adoption
An Approach of Improve Efficiencies through DevOps Adoption
IRJET Journal
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
Nikolay Grozev
 
Multi-objective Genetic Algorithm for Interior Lighting Design
Multi-objective Genetic Algorithm for Interior Lighting DesignMulti-objective Genetic Algorithm for Interior Lighting Design
Multi-objective Genetic Algorithm for Interior Lighting Design
Mario Pavone
 
BIM research report
BIM research reportBIM research report
BIM research reportChen Zhong
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
eSAT Publishing House
 
The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.Nareshkumar Kannathasan
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
IJEACS
 
Application of Building Information Modelling Software’s for Planning and Sch...
Application of Building Information Modelling Software’s for Planning and Sch...Application of Building Information Modelling Software’s for Planning and Sch...
Application of Building Information Modelling Software’s for Planning and Sch...
IRJET Journal
 

What's hot (20)

G213538
G213538G213538
G213538
 
Chapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_modelsChapter 2 software_development_life_cycle_models
Chapter 2 software_development_life_cycle_models
 
30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)30 8948 prakash paper64 (edit ndit)
30 8948 prakash paper64 (edit ndit)
 
Developing a gui based design software in
Developing a gui based design software inDeveloping a gui based design software in
Developing a gui based design software in
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Extending open up for autonomic computing english_finalversionupload 6
Extending open up for autonomic computing english_finalversionupload 6Extending open up for autonomic computing english_finalversionupload 6
Extending open up for autonomic computing english_finalversionupload 6
 
CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5CS8494 SOFTWARE ENGINEERING Unit-5
CS8494 SOFTWARE ENGINEERING Unit-5
 
Software resuse
Software  resuseSoftware  resuse
Software resuse
 
Mounika_Sushma_Abinitio(11)
Mounika_Sushma_Abinitio(11)Mounika_Sushma_Abinitio(11)
Mounika_Sushma_Abinitio(11)
 
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_SurveyPaper_19-Software_Architecture_Reconstruction_Method_a_Survey
Paper_19-Software_Architecture_Reconstruction_Method_a_Survey
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Software Architecture in Distributed Software Development
Software Architecture in Distributed Software DevelopmentSoftware Architecture in Distributed Software Development
Software Architecture in Distributed Software Development
 
An Approach of Improve Efficiencies through DevOps Adoption
An Approach of Improve Efficiencies through DevOps AdoptionAn Approach of Improve Efficiencies through DevOps Adoption
An Approach of Improve Efficiencies through DevOps Adoption
 
Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...Presentation - "A comparison of component-based software engineering and mode...
Presentation - "A comparison of component-based software engineering and mode...
 
Multi-objective Genetic Algorithm for Interior Lighting Design
Multi-objective Genetic Algorithm for Interior Lighting DesignMulti-objective Genetic Algorithm for Interior Lighting Design
Multi-objective Genetic Algorithm for Interior Lighting Design
 
BIM research report
BIM research reportBIM research report
BIM research report
 
Developing reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systemsDeveloping reusable software components for distributed embedded systems
Developing reusable software components for distributed embedded systems
 
The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.The Computer Aided Design Concept in the Concurrent Engineering Context.
The Computer Aided Design Concept in the Concurrent Engineering Context.
 
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion TechniqueAn Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
An Empirical Study of the Improved SPLD Framework using Expert Opinion Technique
 
Application of Building Information Modelling Software’s for Planning and Sch...
Application of Building Information Modelling Software’s for Planning and Sch...Application of Building Information Modelling Software’s for Planning and Sch...
Application of Building Information Modelling Software’s for Planning and Sch...
 

Viewers also liked

IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing pptshibamughal
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
Aaron Irizarry
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 

Viewers also liked (6)

IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Cloud computing ppt
Cloud computing pptCloud computing ppt
Cloud computing ppt
 
Designing Teams for Emerging Challenges
Designing Teams for Emerging ChallengesDesigning Teams for Emerging Challenges
Designing Teams for Emerging Challenges
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Reusability Framework for Cloud Computing

A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
cscpconf
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
IJERA Editor
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
IJERA Editor
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
prince mukherjee
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
Rvishnupriya2
 
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
IJECEIAES
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.ppt
gdfgdfgdf1
 
Looking Forwards to Going Backwards
Looking Forwards to Going BackwardsLooking Forwards to Going Backwards
Looking Forwards to Going Backwards
Jonathan Francis Roscoe
 
Approaches and Challenges of Software Reusability: A Review of Research Liter...
Approaches and Challenges of Software Reusability: A Review of Research Liter...Approaches and Challenges of Software Reusability: A Review of Research Liter...
Approaches and Challenges of Software Reusability: A Review of Research Liter...
IRJET Journal
 
Best Practices for Improving User Interface Design
Best Practices for Improving User Interface DesignBest Practices for Improving User Interface Design
Best Practices for Improving User Interface Design
ijseajournal
 
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
ijseajournal
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
Deniz Kılınç
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
IRJET Journal
 
Agile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software DevelopmentAgile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software Development
Raja Bavani
 
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
IDES Editor
 

Similar to Reusability Framework for Cloud Computing (20)

50120130405029
5012013040502950120130405029
50120130405029
 
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITYA FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
A FRAMEWORK STUDIO FOR COMPONENT REUSABILITY
 
An Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using MetricsAn Approach to Calculate Reusability in Source Code Using Metrics
An Approach to Calculate Reusability in Source Code Using Metrics
 
D502023439
D502023439D502023439
D502023439
 
D502023439
D502023439D502023439
D502023439
 
M046056672
M046056672M046056672
M046056672
 
A Survey of Software Reusability
A Survey of Software ReusabilityA Survey of Software Reusability
A Survey of Software Reusability
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
A Novel Optimization towards Higher Reliability in Predictive Modelling towar...
 
Ch18
Ch18Ch18
Ch18
 
Software Reuse.ppt
Software Reuse.pptSoftware Reuse.ppt
Software Reuse.ppt
 
Looking Forwards to Going Backwards
Looking Forwards to Going BackwardsLooking Forwards to Going Backwards
Looking Forwards to Going Backwards
 
Approaches and Challenges of Software Reusability: A Review of Research Liter...
Approaches and Challenges of Software Reusability: A Review of Research Liter...Approaches and Challenges of Software Reusability: A Review of Research Liter...
Approaches and Challenges of Software Reusability: A Review of Research Liter...
 
Best Practices for Improving User Interface Design
Best Practices for Improving User Interface DesignBest Practices for Improving User Interface Design
Best Practices for Improving User Interface Design
 
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
BEST PRACTICES FOR IMPROVING USER INTERFACE DESIGN
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
IRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the SoftwareIRJET- Code Reuse & Reusability of the Software
IRJET- Code Reuse & Reusability of the Software
 
Agile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software DevelopmentAgile Practices and Cloud Computing in Software Development
Agile Practices and Cloud Computing in Software Development
 
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
Visual Programming and Program Visualization – Towards an Ideal Visual Softwa...
 

More from Dr Sukhpal Singh Gill

RESEARCH METHODOLOGY: A PRACTITIONER APPROACH
RESEARCH METHODOLOGY: A PRACTITIONER APPROACHRESEARCH METHODOLOGY: A PRACTITIONER APPROACH
RESEARCH METHODOLOGY: A PRACTITIONER APPROACH
Dr Sukhpal Singh Gill
 
Cloud Data Centers and the Challenge of Sustainable Energy
Cloud Data Centers and the Challenge of Sustainable EnergyCloud Data Centers and the Challenge of Sustainable Energy
Cloud Data Centers and the Challenge of Sustainable Energy
Dr Sukhpal Singh Gill
 
If you know nothing about HTML, this is where you can start !!
If you know nothing about HTML, this is where you can start !!If you know nothing about HTML, this is where you can start !!
If you know nothing about HTML, this is where you can start !!
Dr Sukhpal Singh Gill
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
Dr Sukhpal Singh Gill
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Dr Sukhpal Singh Gill
 
Network Topologies
Network TopologiesNetwork Topologies
Network Topologies
Dr Sukhpal Singh Gill
 
How to Write an Effective Research Paper
How to Write an Effective Research PaperHow to Write an Effective Research Paper
How to Write an Effective Research Paper
Dr Sukhpal Singh Gill
 
GREEN CLOUD COMPUTING-A Data Center Approach
GREEN CLOUD COMPUTING-A Data Center ApproachGREEN CLOUD COMPUTING-A Data Center Approach
GREEN CLOUD COMPUTING-A Data Center Approach
Dr Sukhpal Singh Gill
 
End-to-End Security in Mobile-Cloud Computing
End-to-End Security in Mobile-Cloud ComputingEnd-to-End Security in Mobile-Cloud Computing
End-to-End Security in Mobile-Cloud Computing
Dr Sukhpal Singh Gill
 
Java.NET: Integration of Java and .NET
Java.NET: Integration of Java and .NETJava.NET: Integration of Java and .NET
Java.NET: Integration of Java and .NET
Dr Sukhpal Singh Gill
 
Software Verification, Validation and Testing
Software Verification, Validation and TestingSoftware Verification, Validation and Testing
Software Verification, Validation and Testing
Dr Sukhpal Singh Gill
 
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Dr Sukhpal Singh Gill
 
Reduction of Blocking Artifacts In JPEG Compressed Image
 Reduction of Blocking Artifacts In JPEG Compressed Image Reduction of Blocking Artifacts In JPEG Compressed Image
Reduction of Blocking Artifacts In JPEG Compressed Image
Dr Sukhpal Singh Gill
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Dr Sukhpal Singh Gill
 
Case Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of ArtCase Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of Art
Dr Sukhpal Singh Gill
 
Reduction of Blocking Artifacts In JPEG Compressed Image
Reduction of Blocking Artifacts In JPEG Compressed ImageReduction of Blocking Artifacts In JPEG Compressed Image
Reduction of Blocking Artifacts In JPEG Compressed Image
Dr Sukhpal Singh Gill
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
Dr Sukhpal Singh Gill
 
Topological methods
Topological methods Topological methods
Topological methods
Dr Sukhpal Singh Gill
 

More from Dr Sukhpal Singh Gill (19)

RESEARCH METHODOLOGY: A PRACTITIONER APPROACH
RESEARCH METHODOLOGY: A PRACTITIONER APPROACHRESEARCH METHODOLOGY: A PRACTITIONER APPROACH
RESEARCH METHODOLOGY: A PRACTITIONER APPROACH
 
Cloud Data Centers and the Challenge of Sustainable Energy
Cloud Data Centers and the Challenge of Sustainable EnergyCloud Data Centers and the Challenge of Sustainable Energy
Cloud Data Centers and the Challenge of Sustainable Energy
 
If you know nothing about HTML, this is where you can start !!
If you know nothing about HTML, this is where you can start !!If you know nothing about HTML, this is where you can start !!
If you know nothing about HTML, this is where you can start !!
 
Software Requirement Specification
Software Requirement SpecificationSoftware Requirement Specification
Software Requirement Specification
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
Network Topologies
Network TopologiesNetwork Topologies
Network Topologies
 
How to Write an Effective Research Paper
How to Write an Effective Research PaperHow to Write an Effective Research Paper
How to Write an Effective Research Paper
 
GREEN CLOUD COMPUTING-A Data Center Approach
GREEN CLOUD COMPUTING-A Data Center ApproachGREEN CLOUD COMPUTING-A Data Center Approach
GREEN CLOUD COMPUTING-A Data Center Approach
 
End-to-End Security in Mobile-Cloud Computing
End-to-End Security in Mobile-Cloud ComputingEnd-to-End Security in Mobile-Cloud Computing
End-to-End Security in Mobile-Cloud Computing
 
Java.NET: Integration of Java and .NET
Java.NET: Integration of Java and .NETJava.NET: Integration of Java and .NET
Java.NET: Integration of Java and .NET
 
Software Verification, Validation and Testing
Software Verification, Validation and TestingSoftware Verification, Validation and Testing
Software Verification, Validation and Testing
 
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
 
Reduction of Blocking Artifacts In JPEG Compressed Image
 Reduction of Blocking Artifacts In JPEG Compressed Image Reduction of Blocking Artifacts In JPEG Compressed Image
Reduction of Blocking Artifacts In JPEG Compressed Image
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
Case Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of ArtCase Study Based Software Engineering Project Development: State of Art
Case Study Based Software Engineering Project Development: State of Art
 
Reduction of Blocking Artifacts In JPEG Compressed Image
Reduction of Blocking Artifacts In JPEG Compressed ImageReduction of Blocking Artifacts In JPEG Compressed Image
Reduction of Blocking Artifacts In JPEG Compressed Image
 
Constructors and Destructors
Constructors and DestructorsConstructors and Destructors
Constructors and Destructors
 
The reuse capability model
The reuse capability modelThe reuse capability model
The reuse capability model
 
Topological methods
Topological methods Topological methods
Topological methods
 

Reusability Framework for Cloud Computing

  • 1. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 Reusability Framework for Cloud Computing Sukhpal Singh1, Rishideep Singh2 1 M.E. (S.E.) Co mputer Science and Engineering Depart ment, Thapar Un iversity, Patiala, India, 2 Assistant Professor, Depart ment of Information Technology, N.W.I.E.T. Dhudike, Moga, India. Abstract: Cloud based development is a challenging task for several software engineering projects, especially for those which needs development with reusability. Present time of cloud computing is allowing new professional models for using the software development. The expected upcoming trend of computing is assumed to be this cloud computing because of speed of application deployment, shorter time to market, and lower cost of operation. Until Cloud Co mputing Reusability Model is considered a fundamental capability, the speed of developing services is very slow. Th is paper spreads cloud computing wit h component based development named Cloud Co mputing Reusability Model (CCR) and enable reusability in cloud computing. In this paper Cloud Co mputing Reusability Model has been proposed. The model has been validated by Cloudsim an d experimental result shows that reusability based cloud computing approach is effective in minimizing cost and time to market. Keywords: Cloud based software development, Co mponent based development, Cloud Co mponent, Cloud computing, Reusability, Software engineering, Software reuse. 1. Introduction Reusability means using a segment of source code that can be used again to add new functionalities with slight or no modification. In most engineering disciplines, systems are designed by composing existing components that have been used in other systems [26]. Software engineering has been more focused on original develop ment but it is now recognized that to achieve better software, more quickly and at lower cost, we need to adopt a design process that is based on systematic software reuse [1]. Reverse engineering means evaluating something to understand how it works in order to duplicate or enhance it. It allo ws the reuse of the know-how h idden inside already implemented programs [12] [14]. The object oriented software developers now admit that thinking about object-oriented program understanding and comprehension to be relatively easier is not that easy. Programs are even more co mp lex and difficu lt to comprehend, unless rigorously documented. What if the documentation is improper? To affect change management, even a simpler upgrade may become cu mbersome then [3] [25]. This is the reason why eminent development houses now focusing on advanced documentation support [39]. Re-engineerin g code environment hence largely affect the problem issues regarding program co mprehension when the software size grows enormously. Reverse Engineering is a methodology that greatly reduces the time, effo rt and complexity involved in solving these issues providing efficient program understanding as an integral constituent of re -engineering paradigm [2] [26]. Clou d computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet) [33] [38]. The name comes fro m the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. Cloud computing [11] [30] entrusts remote services with a user's data, software and computation [13] shown in Figure 1. In Section 2 the related work has been described. The challenges of cloud computing platform fo r software is analyzed in Section 3. In Section 4 the Cloud Co mputing Reusability Model (CCR) has been discussed. The experimental results are exp lained in Section 5. The advantages of proposed model have been discussed in Section 6. The Section 7 concludes the whole work and provides future work in Sect ion 8. 2. Related work Reverse engineering is a systematic form of program understanding that takes a program and constructs a high -level representation useful for documentation, maintenance, or reuse. To accomplish this, reverse engineering technique begins by analyzing a program’s structure [24]. The structure is determined by lexical, syntactic, and semantic rules for legal program construction. Because we know how to proceed on these kinds of analysis, it is natural to try and apply them to understand programs. In itially reverse engineering term was evolved in the context of legacy software support but now has ventured into the important issue of code security such that it doesn’t remain confined to legacy systems. We will come to the discussion into this effect after a while. Transformations are applied under the process of Re-engineering [25] after analy zing the software to apply changes incorporating new features and provide support for latest environment. Object -oriented software development methodology primarily has three phases of Analysis, Design and Implementation [36]. W ith the view of the tradit ional waterfall model, reverse engineering this is looking back to design from imp lementation and to analysis from implementation. The important thing is that it actually is a reverse forward engineering i.e. fro m imp lementation; analysis is not reached before Issn 2250-3005(online) October | 2012 Page 169
  • 2. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 design. The software system or p rogram under study is neither modified nor re -imp lemented because of not bringing it under Re-engineering. [23] Software Re-engineering is the area which deals with mod ifying software to efficiently adapt new changes that can be incorporated within as software aging is a well-known issue. Reverse engineering provided cost effective solutions for modify ing software or programs to adapt change management through Re -engineering application [25] [10]. Reusable architectures [31] can be developed fro m reusable architectural patterns [11] as in FIM architecture [12] wh ich operates at three different levels of reuse: Federation, domain and application. Paulisch F. et. al. focuses on how non-functional property reusability relates to the software architecture (SOA) of a system [4] [7]p. K.S. J. and Dr. Vasantha R. presented a software process model for reuse based software development approach [5] [17] [18]. Fro m the overall literature survey, it can be concluded that: code, design, test cases etc can be reused. Reuse can be systematic (software develop ment for reuse), or opportunistic (software development with reuse) Reuse does not just happen; it needs to be planned and require p roper documentation and design. Reverse-engineering can be used for reusability or it can be said that reusability can be achieved using reverse-engineering. Reverse engineering helps to understand the legacy system by creating its UML model and once the model of the legacy system is created, that model can be used with little or no modification in the underdevelopment or in the future project to promote reusability and to increase productivity of the organization [6] [12]. There are lots of UML tools available to perform reverse-engineering process [9] [15]. Reverse-Engineering can be used to make the poorly designed and poorly documented legacy software system developed with cloud development process; Re-usable by extracting the component fro m the legacy system using UML models [8] [26]. Figure 1. Cl oud Computing and its services [13] Reuse based software engineering and cloud development is an open research area in rap id development. We had conducted a survey on the number of approaches existing for Cloud Based Development [14, 9], and Reusability [11] [16] individually, but the proposed model co mbines both Cloud co mputing and Reusability [19] into a single approach for ach ievin g efficient classificat ion, storage and retrieval of software co mponents and improve time to market and reduce cost. The cost without reusability is increasing phase to phase as shown in Figure 2. Presently there is no such approach as presented in proposed model which co mbines the Co mponent based Development (Reusability) [24] [29] and Cloud computing [15]. 3. Analysis In the rapidly changing computing environ ment with cloud platform, software develop ment is going to be very challenging. The software development process will involve heterogeneous platforms, distributed web services, multiple enterprises geographically dispersed all over the world. Figure 2 shows the cost of development is increasing from requiremen t to maintenance without reusability for a small project, the development with reuse will cut an initial cost and reduce time to market. The organizat ions need to incorporate reuse in their development [20] [32]; it will be a long term investment process. Figure 3 summarizes incremental reuse levels (solid line) and related reuse approaches (dotted lines) [21]. The reuse of ad-hoc reuse events with in itial benefits is the only level of reuse which can be achieved without investing in software reuse; inst ead the experience of prev ious projects is used to copy relevant pieces of code. Issn 2250-3005(online) October | 2012 Page 170
  • 3. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 Figure 2. Evol uti on of Software Engineering This reuse level is defined as level 0. The first real reuse level presents a form of code -leverage, where p ieces of code are made available and can be reused by multiple part ies. The pieces of code are made available through the use of a reuse lib rary, provid ing a central p lace where the components are stored [37]. Figure 3. Incremental stages of reuse [21] The use of these leveraged components is not restricted and can be considered as white-bo x reuse; the code may be adjusted and changed to the specific context in which the component is applied [27] [35]. This strategy works for a while up to the point that multip le copies, each slightly d ifferent, have to be managed. The choice can be made to stop using components as white-bo x and start using them as black-bo x co mponents instead. Black-bo x co mponents may no longer be internally adjusted; rather its environ ment should be adjusted to support the component. Previous research has pointed out that with black -bo x reuse higher reuse levels can be achieved than with white-bo x reuse [22] [36]. The reason for this is that there are reduced costs in component maintenance and maintenance across products using these components. However, black -bo x reuse also has its limitat ions. Issn 2250-3005(online) October | 2012 Page 171
  • 4. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 Figure 4. Assets and reuse operations [22]. The axis of the three dimensional model are exp lained by an underlying model, a lso presented in Tomer et al. [22]. The underlying model is presented in Figure 4. For simp licity Tomer et al. transferred the underlying model to a two dimensional model, where develop ment and maintenance are comb ined into one axis [34]. A key assumption made in this model is that reuse activities cannot be freely transferred between specific products without first storing and cataloguing the assets in a central repository [22]. Hence incorporating reuse in cloud co mputing will be beneficial if the general co mponent will be used mu ltiple times for developing cloud projects and services. 4. Cloud Computing Reusability (CCR) Model Innovative software engineering is required to leverage all the benefits of cloud computing and mit igate its challenges strategically to push forward its advances. Here we propose an extended version of software development, reusability process model for cloud computing platform and na me it Cloud Co mputing Reusability (CCR) Model [Figure 5]. A model capable o f developing cloud based applications with reusability by retrieving the components from the cloud component repository by using pattern matching algorithms and various retrieval methods. There are some different 6 retrieval methods available for the classification of co mponents in the software library. This model will help to make searching faster based on classification o f components and develop the cloud based application accordin g to cloud customer requirements to improve time to market as compared to traditional software development approach. The Cloud Co mponent Architecture of proposed Cloud Computin g Reusability (CCR) Model is shown in Figure 6. In the Unified Modeling Language, a component diagram depicts how clou d components are wired together to form larger co mponent. They are used to illustrate the structure of arbitrarily co mplex clou d systems. Issn 2250-3005(online) October | 2012 Page 172
  • 5. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 Dirty Source Code IaaS PaaS SaaS Code Cloud Based Developed Restructuring System/Service Document Data Reverse Engineering Restructuring Restructuring Clean Clean Clean Documentation Source Code Data Analysis Identification Reusable Component Process Cloud Reusable Cloud Component Component Component Validation and Testing Repository Cloud Component Searching Component Cloud Component Adaptation Qualify? White Box Reuse No Yes Component Component Integration Composition Black Box Reuse Cloud Based Development Process Figure 5. Cloud Computing Reusability (CCR) Model Issn 2250-3005(online) October | 2012 Page 173
  • 6. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 4.1 Cloud B ased Developed System/Service In cloud computing, three services are provided to the customer; Infrastructure as a Service, Platform as a Service and Software as a Service. The organization reuses their developed projects by black bo x reuse and if the cloud service or project is developed by another organization then it will be used by reverse engineering in cloud computing then if it will be fu rther updated by white box reuse. 4.2 Reverse Engineering The dirty source code is obtained from cloud based development and service and then code, data and document restructuring will be performed to find a clean document (UML), data (Meta Data) and Code (coding style). After that it will be analyzed for future use, to check whether it is feasible or not, if feasible then identify reusable process. The reusable cloud component will be obtained through this process and then validation and verificat ion of cloud component will be performed and then sent to the cloud component repository. Figure 6. Cloud Component Architecture 4.3 Cloud Component Repository The refined cloud developed components by reverse engineering with traditional development model will be stored in cloud component repository and retrieved it at a later stage for other cloud application development. There is some different storage and retrieval methods (Information retrieval methods, Operational semantics methods, Descriptive methods, Denotational semantics methods, Topological methods and Structural methods) are available for the classificat ion of components in the software library. This model will help to make searching faster based on classification of cloud components and use these cloud components in other projects by searching and send back to cloud component repository after updating. 4.3 Cloud Component Reuse Process The searched cloud component will be send through the phase cloud component qualificat ion to check whether the c omponent support required architecture, functionality and interfaces. If it qualifies then it will reused as a black bo x otherwise it will be reused as a white box reuse through the modification then the component will be integrated with current cloud application and send back to cloud component repository for future use. 5. Results and Discussion The results of Cloud Co mputing Reusability (CCR) Model as compared to tradit ional cloud based development have been described in the Table 1. The result with Cloud Co mputing Reusability (CCR) Model has been ve rified with the help of Cloudsim. Issn 2250-3005(online) October | 2012 Page 174
  • 7. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 Table 1. Comparison of CCR method and traditi onal method Criteria CCR Method Traditional Methods Approach Adaptive Predictive Success Measurement Business Value Confirmation To Plan Project Size Small Large Management S tyle Decentralized Autocratic Perspective To Change Change Adaptability Change Sustainability Culture Leadership Collaboration Command Control Documentation Low Heavy Emphasis People Oriented Process Oriented Cycles Numerous Limited Domain Unpredictable/Exploratory Predictable Upfront Panning M inimal Comprehensive Return On Investment Early In Project End Of Project Team Size Small/Creative Large Cost Less M ore Time To Market Less M ore Figure 7 shows the HR application developments in cloud computing as a development for reuse, and then it will be four times used in four projects. The HR application which has been stored in cloud component repository, now used in cloud computing projects: MRI Imagining, Clinical Trial, Viral Marketing and Molecule Research. MRI Imaging HR App. HR App. Clinical Trial Cloud HR App. Component HR App. Viral Marketing Molecule Research Repository Figure 7. Reuse of HR App. Cl oud component in other projects The services provided by cloud provider will be easily reusable for new cloud projects. The evaluation of Cloud Co mputing Reusability (CCR) Model has been summarized in Table 1. The cost and time to market reduces in Cloud Co mputing Reusability (CCR) Model as compared to traditional software development, better services will be delivered to the cloud user with large satisfaction level, and these results were verified by Cloudsim. The cost reduction and imp rovement in time to market proved by Cloudsim shown in Figure 8. Figure 8. The comparison of cost and ti me to market for Traditional and CCR Model 6. Advantage of Proposed Approach This proposed Cloud Co mputing Reusability (CCR) will help to 1) developing application quickly 2) reduces cost 3) improves reusability 4) reduce time to market and make searching faster based on classification of components and introducing reusability in Software Develop ment. It will be accepted widely if pattern based architecture designing, design patterns [27] Issn 2250-3005(online) October | 2012 Page 175
  • 8. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 [28], UM L based analysis and designing is incorporated. The six impo rtant ways Cloud Co mputing Reusability (CCR) enhances cloud based development.  Enhance the productivity and improve the quality and reliab ility of the new software systems.  Identify independent components having a low coupling and high cohesion.  Accelerate cloud based development  Improve time to market  Reduce cost  Increase generality 7. Conclusion In this paper, we have presented a Cloud Co mputing Reusability (CCR) Model. The objective is to min imize the complexity, cost, time to market and increase reusability, development speed and generality. Soft ware Development wit h reusability has encouraging future in the software industry and is capable of fulfilling the requirements of the cloud industry. Thus, at times it co mpro mises with quality and is incapable of providing reusability of its cloud based developed components. Traditional Soft ware Develop ment offers particular solutions whereas Reuse and Cloud component based Development believe in generalized solutions to satisfy the demands of cloud customer. Co mponent based development is a standard shift over the traditional way of developing and deploying of software. The amount of effort required for evolv ing software with reusabilit y will dimin ish but there will be added commun ication and coordination requirement with the developer which makes software development project more difficult. The main objective of this paper is that the leading software process models should incorporate this new dimension of interaction with the reusability. A new Cloud Co mputing Reusability (CCR) Model is proposed in this paper which includes the expected communication requirement with the application developer and component developer which will dimin ish all the challenges of software development on a cloud computing platform and make it more beneficial to develop and deploy software on the cloud computing platform. The model is based on Reverse Engineering for identifying and creating reusable software component and reused that component. A model based on pattern matching technique is used to search the cloud component from the cloud component repository. This model encompasses the reverse engineering methodology to extract components of the object oriented legacy cloud system development. It utilizes cloud component repository to store and manage the tested components and restructures the new system that finally integrates the new system with the reusable components. The reusability of the cloud component is the most popular way to enhance the productivity and improve the quality and reliability of the new software systems by reducing the development costs. Due to these reasons, it is very important to identify independent components having a low coupling and high cohesion. Also a systematic approach to identify reusable component fro m the object oriented legacy system through cloud component architecture has been proposed. The proposed approach has been validated by using a UML and also its components are tested for reusability and illustrated that how these components can be reused in other cloud projects. 8. Future Work The future scope of this work is to analyze and to incorporate risk fa ctors in Component Based Development systematically and find the critical success factors of the Cloud Computing Reusability (CCR) and also identify the various risk factors using risk analysis of introducing reusability in component based development and offer a model that will help us to achieve reusability in Cloud Develop ment. Reusability can also be automated in cloud development using an automated tool. Current results have been gathered through the simu lation on Cloudsim but in future the s ame results would be verified actually by cloud providers. In future, if this proposed methodology can be fully automated by an automatic tool then it could be more effective and less time consuming. Co mponent based software engineering and cloud co mputing is an op en research area in fast growth. References [1] Radha Guha. Toward The Intelligent Web Systems. In Proceedings of IEEE CS, First International Conference on Computational Intelligence, Communication Systems and Network, Pages 459-463, July 2009. [2] J. Handler, N. Shadbolt, W. Hall, T. Berners-Lee and D. Weitzner. Web Science: An Interdisciplinary Approach to Understanding the Web. Communications of the ACM , Vol. 51, No. 7, July 2008. [3] F. Chong and G. Carraro. Architecture Strategies for Catching the Long Tail. M icrosoft Corporation, April 2006. [4] J. Banerjee and S. Aziz. SOA: The missing link between Enterprise Architecture and Solution Architecture. SETLabs briefing, Vol. 5, No 2, Pages 69-80, M arch 2007. [5] HADOOP. http://en.wikipedia.org/wiki/Hadoop, February 2010. [6] D. Taft. IBM 's M 2 Project Taps Hadoop for M assive M ashups.www.eweek.com, February 2010. [7] Sun M icrosystem. Introduction to Cloud Computing architecture. White Paper, 1st Edition, June 2009 [8] Sun M icrosystem. Open Source & Cloud Computing: On-Demand, Innovative IT On a M assive Scale. [9] A. Singh, M . Korupolu, D. M ahapatra. Server-Storage Virtualization: Integration and Load Balancing in Data Centers. IEEE/ACM Supercomputing (SC), 2008 Issn 2250-3005(online) October | 2012 Page 176
  • 9. I nternational Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 6 [10] VM WARE. Virtualization Overview. www.vmware.com. [11] Reservoir Consortium. Resources and Services Virtualization without Barriers. Scientific Report. 2009. [12] R. Pressman. Software Engineering: A Practitioner's Approach.7th Edition. M cGraw-Hill Higher Education (2009). [13] I. Sommerville. Software Engineering, 8th Edition, Pearson Education, 2006. [14] M . Brambilla et al. A Software Engineering Approach to Design and Development of Semantic Web Service Applications [15] Vaquero, L.M ., Rodero-M erino, L., Caceres, J., Lindner, M .: A break in the clouds towards a cloud definition. ACM SIGCOMM Comput. Commun. Rev. 39(1), 50–55 (2009) [16] T. DeM arco and T. Lister. Waltzing with Bears: M anaging Risk on Software Projects, Dorset House Publishing Company, Incorporated. M arch 2003. [17] Paulisch F., Siemens AG,” Software Architecture and Reuse – an Inherent Conflict?” 3rd International Conference on Software Reuse, Nov. 1994, pp. 214. [18] www.win.tue.nl/~mchaudro/cbse2007/managing%20CBSE%20and %20reuse.pdf [19] Garlen D., Allen R., and Ockerbloom J., “Architectural M ismatch: Why Reuse is So Hard”, IEEE Software, November1995, vol. 12, no 6, pp 17-26. [20] The Open Group: Building return on investment from cloud computing. A white paper, cloud business artifacts project. Cloud Computing Work Group (2010) [21] M . Griss. (1996, April). Systematic Software Reuse: Architecture, Process and Organization are Crucial. Available: http://martin.griss.com/pubs/fusion1.htm [22] A. Tomer, et al., "Evaluating software reuse alternatives: A model and its application to an industrial case study," IEEE Transactions on Software Engineering, vol. 30, pp. 601-612, 2004. [23] Chikofsky E.J., Cross II J.H. (1990), Reverse Engineering and Design Recovery: a Taxonomy , p-p13-17, IEEE Software, volume 7, January 1990. [24] Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 18 . http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7/Presentations/PDF/ch18.pdf [25] Asit Kumar Gahalaut ,2010,REVERSE ENGINEERING: AN ESSENCE FOR SOFTWARE RE-ENGINEERING AND PROGRAM ANALYSIS. http://http://www.ijest.info/docs/IJEST10-02-06-131.pdf [26] Basili, V., Rombach, D. Support for comprehensive reuse. Department of Computer Science, University of M aryland at College Park, UM IACS-TR-91-23, CSTR- 2606, 1991.. [27] J.H. Chuang. Potential-Based Approach for Shape M atching and Recognition. Pattern Recognition, 29:463- 470, 1996. [28] Gomma H. and Farrukh G.A., “Composition of Software Architectures from Reusable Architecture Patterns”, Foundations of Software Engineering, Proceedings of 3rd International Workshop on Software Architecture, Orlando, Florida, US, 1998, pp. 45-48. [29] K.S. J., and Dr. Vasantha R., “A New Process M odel for Reuse based Software Development Approach”, Proceedings of the World Congress on Engineering, London U.K, July 2008, vol. 1. [30] M onaco, Ania (7 June 2012 [last update]). "A View Inside the Cloud". The institute.ieee.org (IEEE). Retrieved August 21, 2012. [31] Bhaskar Prasad Rimal et. al., Architectural Requirements for Cloud Computing Systems: An Enterprise Cloud Approach, Springer Science Business M edia B.V. 2010, J Grid Computing (2011) 9:3–26 [32] Radha Guha et.al., Impact of Web 2.0 and Cloud Computing Platform on Software Engineering, 2010 International Symposium on Electronic System Design, 213-218. [33] Armbrust, M ., Fox, A., Griffith, R., Joseph, A.D., Katz, R.H., Konwinski, A., Lee, G., Patterson, D.A., Rabkin, A., Stoica, I., Zaharia, M .: Above the clouds: a Berkeley view of cloud computing. Technical Report No. UCB/EECS- 2009-28, Electrical Engineering and Computer Sciences, University of California at Berkeley (2009) [34] Bonvin, N., Papaioannou, T.G., Aberer, K.: Dynamic cost-efficient replication in data clouds. In: Proceedings of the 1st Workshop on Automated Control for Datacenters and Clouds (2009) [35] Dash, D., Kantere, V., Ailamaki, A.: An economic model for self-tuned cloud caching. In: Proceedings of the IEEE International Conference on Data Engineering (2009) [36] Fingar, P.: Extreme Competition: Cloud Oriented Business Architecture. Business Process Trends (2009) [37] Foster, I., Zhao, Y., Raicu, I., Lu, S.: Cloud computing cloud computing and Grid computing 360 degree compared. In: Grid Computing Environments Workshop (2008) [38] Gellman, R.: Privacy in the clouds: risks to privacy and confidentiality from cloud computing. In: World Privacy Forum (2009) 35. Golden, B.: Virtualization [39] M ell, P., Grance, T.: Perspectives on Cloud Computing and Standards. National Institute of Standards and Technology (NIST), Information Technology Laboratory (2009) Issn 2250-3005(online) October | 2012 Page 177