Elsevier Editorial System(tm) for Journal of Systems and Software Manuscript Draft Title: a Goal-oriented Simulation Approach for Obtaining Good Private Cloud-based System Architectures a Goal-oriented Simulation Approach for Obtaining Good Private Cloud-based System Architectures

Highlights? We show one way of rationally coming up with a suitable design for a private cloud. ? Stakeholder goals are identified early, analyzed and used to drive the proposed process. ? Cloud Computing simulations are used iteratively and in an interleaving manner to evaluate design decisions. ? The proposed approach borrows heavily from existing techniques in Software Engineering. The fast-growing Cloud Computing paradigm makes it possible to use unprecedented amounts of computing resources at lower costs, among other benefits such as fast provisioning and reliability. In designing a good architecture - the numbers, types and layouts of devices - for a cloud-based system, which meets the goals of all stakeholders, such goals need to be factored in from the earliest stages. However, there seems to be a lack of methodologies for incorporating stakeholder goals into the design process for such systems, and for assuring with higher confidence that the designs are likely to be good enough for the stated goals. In this paper, we propose a goal-oriented simulation approach for cloud-based system design whereby stakeholder goals are captured, together with such domain characteristics as workflows, and used in creating a simulation model as a proxy for the cloud-based system architecture. Simulations are then run, in an interleaving manner, against various configurations of the model as a way of rationally exploring, evaluating and selecting among incrementally better architectural alternatives. We illustrate important aspects of this approach for the private cloud deployment model and report on our experiments, using a smartcard-based public transportation system.

[1]  Gabor Kecskemeti,et al.  Autonomic SLA-Aware Service Virtualization for Distributed Systems , 2011, 2011 19th International Euromicro Conference on Parallel, Distributed and Network-Based Processing.

[2]  Rajkumar Buyya,et al.  CloudSim: A Novel Framework for Modeling and Simulation of Cloud Computing Infrastructures and Services , 2009, ArXiv.

[3]  Rajkumar Buyya,et al.  Modeling and simulation of scalable Cloud computing environments and the CloudSim toolkit: Challenges and opportunities , 2009, 2009 International Conference on High Performance Computing & Simulation.

[4]  Tobin J. Lehman,et al.  We've Looked at Clouds from Both Sides Now , 2011, 2011 Annual SRII Global Conference.

[5]  Hoh Peter In,et al.  A requirements negotiation model based on multi-criteria analysis , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[6]  Tom Hill Software maintenance and operations hybrid model: An IT services industry architecture simulation model approach , 2011, 2011 FIFTH INTERNATIONAL CONFERENCE ON RESEARCH CHALLENGES IN INFORMATION SCIENCE.

[7]  Barry W. Boehm,et al.  Software Requirements Negotiation and Renegotiation Aids: A Theory-W Based Spiral Approach , 1995, 1995 17th International Conference on Software Engineering.

[8]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[9]  E. Yu,et al.  Using Non-Functional Requirementsto Systematically Select Among Alternativesin Architectural Design , 1994 .

[10]  Jesús Carretero,et al.  Design of a New Cloud Computing Simulation Platform , 2011, ICCSA.

[11]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[12]  Randy H. Katz,et al.  Above the Clouds: A Berkeley View of Cloud Computing , 2009 .

[13]  Rajkumar Buyya,et al.  Power-aware provisioning of Cloud resources for real-time services , 2009, MGC '09.

[14]  Eric Yu,et al.  Modeling Strategic Relationships for Process Reengineering , 1995, Social Modeling for Requirements Engineering.

[15]  Rick Kazman,et al.  Using Economic Considerations to Choose Among Architecture Design Alternatives , 2001 .

[16]  Yuanyuan Zhang,et al.  “Fairness Analysis” in Requirements Assignments , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[17]  Daniel Gross,et al.  Architectural Design to Meet Stakeholder Requirements , 1999, WICSA.

[18]  Axel van Lamsweerde,et al.  Reasoning About Alternative Requirements Options , 2009, Conceptual Modeling: Foundations and Applications.

[19]  John Mylopoulos,et al.  From object-oriented to goal-oriented requirements analysis , 1999, CACM.

[20]  D.A. Menasce,et al.  Scaling for e-business , 2000, Proceedings 8th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (Cat. No.PR00728).

[21]  Daniel A. Menascé,et al.  Scaling for E-Business: Technologies, Models, Performance, and Capacity Planning , 2000 .

[22]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[23]  Lakshmi Sobhana Kalli,et al.  Market-Oriented Cloud Computing : Vision , Hype , and Reality for Delivering IT Services as Computing , 2013 .

[24]  Sam Supakkul,et al.  Confirming and Reconfirming Architectural Decisions on Scalability: A Goal-Driven Simulation Approach , 2009, OTM Workshops.

[25]  Axel van Lamsweerde,et al.  Goal-Oriented Requirements Engineering: A Guided Tour , 2001, RE.

[26]  L. Youseff,et al.  Toward a Unified Ontology of Cloud Computing , 2008, 2008 Grid Computing Environments Workshop.

[27]  Matti Rossi,et al.  An empirical investigation of mobile ticketing service adoption in public transportation , 2006, Personal and Ubiquitous Computing.

[28]  Barry W. Boehm,et al.  Applying WinWin to quality requirements: a case study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[29]  Albert G. Greenberg,et al.  The cost of a cloud: research problems in data center networks , 2008, CCRV.

[30]  Charles Z. Loboz,et al.  Cloud resource usage: extreme distributions invalidating traditional capacity planning models , 2011, ScienceCloud '11.

[31]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[32]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[33]  Barry Boehm,et al.  Conflict Analysis and Negotiation Aids for Cost-Quality Requirements , 1998 .

[34]  Jane Cleland-Huang,et al.  Goal-Centric Traceability: Using Virtual Plumblines to Maintain Critical Systemic Qualities , 2008, IEEE Transactions on Software Engineering.

[35]  Jin Tong,et al.  NIST Cloud Computing Reference Architecture , 2011, 2011 IEEE World Congress on Services.

[36]  Rajkumar Buyya,et al.  CloudAnalyst: A CloudSim-Based Visual Modeller for Analysing Cloud Computing Environments and Applications , 2010, 2010 24th IEEE International Conference on Advanced Information Networking and Applications.

[37]  Daniel A. Menascé,et al.  Understanding Cloud Computing: Experimentation and Capacity Planning , 2009, Int. CMG Conference.

[38]  Ivona Brandic,et al.  SLA-Aware Application Deployment and Resource Allocation in Clouds , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference Workshops.

[39]  John Mylopoulos,et al.  Reasoning with Goal Models , 2002, ER.

[40]  Galal H. Galal-Edeen,et al.  Stakeholder identification in the requirements engineering process , 1999, Proceedings. Tenth International Workshop on Database and Expert Systems Applications. DEXA 99.

[41]  Shehnila Zardari,et al.  Cloud adoption: a goal-oriented requirements engineering approach , 2011, SECLOUD '11.

[42]  Dzmitry Kliazovich,et al.  GreenCloud: a packet-level simulator of energy-aware cloud computing data centers , 2010, The Journal of Supercomputing.

[43]  Annie I. Antón,et al.  Goal-based requirements analysis , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[44]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[45]  Roger Clarke,et al.  User Requirements for Cloud Computing Architecture , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[46]  Kang G. Shin,et al.  Early-stage performance modeling and its application for integrated embedded control software design , 2004, WOSP '04.

[47]  Yun Chi,et al.  SLA-tree: a framework for efficiently supporting SLA-based decisions in cloud computing , 2011, EDBT/ICDT '11.

[48]  Prashant J. Shenoy,et al.  Profiling and Modeling Resource Usage of Virtualized Applications , 2008, Middleware.

[49]  Axel van Lamsweerde,et al.  Requirements Engineering: From System Goals to UML Models to Software Specifications , 2009 .

[50]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[51]  Yong Zhao,et al.  Cloud Computing and Grid Computing 360-Degree Compared , 2008, GCE 2008.

[52]  Rajkumar Buyya,et al.  Energy Efficient Allocation of Virtual Machines in Cloud Data Centers , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[53]  Vijay Sukthankar,et al.  An optimized capacity planning approach for virtual infrastructure exhibiting stochastic workload , 2010, SAC '10.

[54]  Eric Bouillet,et al.  Efficient resource provisioning in compute clouds via VM multiplexing , 2010, ICAC '10.

[55]  Emmanuel Letier,et al.  Simulating and optimising design decisions in quantitative goal models , 2011, 2011 IEEE 19th International Requirements Engineering Conference.

[56]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[57]  Jingsong Wang,et al.  Using simulations to assess the stability and capacity of cloud computing systems , 2010, ACM SE '10.

[58]  Hiroyuki Iseki,et al.  Interoperable Transit Smart Card Systems: Are We Moving Too Slowly or Too Quickly? , 2006 .

[59]  Steven S. Brink Enabling Architecture Validation in the Analysis Phase of Developing Enterprise or Complex Systems using Enterprise Architecture Simulation Environment (EASE) , 2007, MILCOM 2007 - IEEE Military Communications Conference.

[60]  Stephen Fickas,et al.  Goal-directed concept acquisition in requirements elicitation , 1991, Proceedings of the Sixth International Workshop on Software Specification and Design.

[61]  Sam Supakkul,et al.  Run-time monitoring of system performance: A goal-oriented and system architecture simulation approach , 2010, 2010 First International Workshop on Requirements@Run.Time.

[62]  Dejan S. Milojicic,et al.  Open Cirrus: A Global Cloud Computing Testbed , 2010, Computer.

[63]  Chris Rose,et al.  A Break in the Clouds: Towards a Cloud Definition , 2011 .

[64]  Stephen C. Graves,et al.  Little's Law , 2008 .

[65]  Jeffrey A. Lasky,et al.  Conflict Resolution (CORE) for Software Quality Factors , 1993 .

[66]  Carlos Juiz,et al.  An approach to ontology-aided performance engineering through NFR framework , 2007, WOSP '07.

[67]  N. Nagaveni,et al.  Design and Implementation of an Efficient Two-level Scheduler for Cloud Computing Environment , 2009, 2009 International Conference on Advances in Recent Technologies in Communication and Computing.

[68]  E. Michael Maximilien,et al.  Towards a Formal Definition of a Computing Cloud , 2010, 2010 6th World Congress on Services.

[69]  David S. Rosenblum,et al.  Systematic Elaboration of Scalability Requirements through Goal-Obstacle Analysis , 2013, IEEE Transactions on Software Engineering.

[70]  Francisco Vilar Brasileiro,et al.  Business-driven capacity planning of a cloud-based it infrastructure for the execution of Web applications , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW).

[71]  Ross Mcnab,et al.  Simjava: A Discrete Event Simulation Library For Java , 1998 .