Abstract
Cloud Systems Simulation Modelling (CSSM) combines three different topic areas in software engineering , apparent in its constituting keywords: cloud system , simulation and modelling. Literally, it involves the simulation of various units of a cloud system—functioning as a holistic body. CSSM addresses various drawbacks of physical modelling of cloud systems, such as time of setup, cost of setup and expertise required. Simulation of cloud systems to explore potential cloud system options for ‘smarter’ managerial and technical decision-making help to significantly eradicate waste of resources that would otherwise be required for physically exploring cloud system behaviours. This chapter provides an in-depth overview of System Dynamics, the most widely adopted implementation of CSSM. This chapter provides an in-depth background to CSSM and its applicability in cloud software engineering—providing a case for the apt suitability of System Dynamics in investigating cloud software projects. It discusses the components of System Dynamic models in CSSM, data sources for effectively calibrating System Dynamic models, role of empirical studies in System Dynamics for CSSM, and the various methods of assessing the credibility of System Dynamic models in CSSM.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Forrester, J. W. (1961). Industrial dynamics. Cambridge, Massachusetts, USA: MIT Press.
Harrell, C., Ghosh, B., & Bowden, R. (2004). Simulation using Promodel with CD-ROM (2nd ed.). McGraw-Hill Science/Engineering/Math.
Zeigler, B. P. (2000). Theory of modeling and simulation (2nd ed.). San Diego: Academic Press.
Shull, F., Singer, J., & Sjøberg, D. I. K. (2007). Guide to advanced empirical software engineering (2008th ed.). London: Springer.
Jedlitschka, A., Ciolkowski, M., & Pfahl, D. (2008). reporting experiments in software engineering. In F. Shull, J. Singer & D. I. K. Sjøberg (Eds.), Guide to advanced empirical software engineering (pp. 201–228). London: Springer. Retrieved September 8, 2014, from http://link.springer.com/chapter/10.1007/978-1-84800-044-5_8.
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., & Wesslén, A. (2012) Operation. In Experimentation in software engineering (pp. 117–122). Berlin: Springer. Retrieved September 7, 2014, from http://link.springer.com/chapter/10.1007/978-3-642-29044-2_9.
Weiss, D. M. (1984). Evaluating software development by error analysis: The data from the architecture research facility. The Journal of Systems and Software, 1, 57–70.
Law, A. M. (2006). Simulation modeling and analysis (4th ed.). Boston: McGraw-Hill Higher Education.
Akerele, O., Ramachandran, M., & Dixon, M. (2013). Testing in the cloud: Strategies, risks and benefits. In Z. Mahmood & S. Saeed (Eds.), Software engineering frameworks for the cloud computing paradigm (pp. 165–185)., Computer communications and networks London: Springer.
Abdel-Hamid, T. (1984). The dynamics of software project staffing: An integrative system dynamics perspective, Ph.D. dissertation, Massachusetts Institute of Technology.
Madachy, R. J. (2008). Software process dynamics (1st ed.). Piscataway, NJ, Hoboken, NJ: Wiley-IEEE Press.
Zhang, H. (2012) Simulation modeling of evolving software processes. In 2012 International Conference on Software and System Process (ICSSP) (pp. 228–230).
Akerele, O., Ramachandran, M., & Dixon, M. (2014a). Investigating the practical impact of agile practices on the quality of software projects in continuous delivery. International Journal of Software Engineering (IJSSE), 7(2), 3–38.
Munch, J., & Armbrust, O. (2003). Using empirical knowledge from replicated experiments for software process simulation: A practical example. In 2003 International Symposium on Empirical Software Engineering, 2003. ISESE 2003. Proceedings (pp. 18–27).
Akerele, O., Ramachandran, M., & Dixon, M. (2014). Evaluating the impact of critical factors in agile continuous delivery process: A system dynamics approach, (IJACSA). International Journal of Advanced Computer Science and Applications, 5(3), 2014.
Korn, G. A. (2007). Advanced dynamic-system simulation: Model-replication techniques and Monte Carlo simulation (1st ed.). Hoboken, NJ: Wiley-Interscience.
Kellner, M. I., Madachy, R. J., & Raffo, D. M. (1999). Software process simulation modeling: Why? What? How? Journal of Systems and Software, 46(2–3), 91–105.
Abdel-Hamid, T., & Madnick, S. (1991). Software project dynamics: An integrated approach (1st ed.). Englewood Cliffs, NJ: Prentice Hall.
Fowler, M., Beck, K., Brant, J., Opdyke, W., & Roberts, D. (1999). Refactoring: Improving the design of existing code (1st edn.). Reading, MA: Addison Wesley.
Humble, J., & Farley, D. (2010). Continuous delivery: Reliable software releases through build, test, and deployment automation. Addison Wesley.
Sterman, J. (2000). Business dynamics: Systems thinking and modeling for a complex world with CD-ROM (p. 192). Boston, Mass, London: McGraw-Hill Higher Education.
Hammond, A., & Jeffrey, S. (2011). Five ways to streamline release management. Forrester Research Inc. Retrieved June 12, 2014, from http://www.serena.com/docs/repository/solutions/Forrester-Five_Ways_to_Streamline_Release_Management-from_Serena_Software.pdf.
Glaiel, F., Moulton, A., Manick, S. (2013). Agile dynamics: A system dynamics investigation of agile software development methods. Working Papers, Composite Information Systems Laboratory (CISL) Sloan School of Management, Massachusetts Institute of Technology, Cambridge.
Oorschot, K. E. (2009). Dynamics of agile software development. In Proceedings of the 27th International Conference of the System Dynamics, July 26–30, Massachusetts, USA.
Cohn, M. (2009). Succeeding with agile: Software development using scrum (1st ed.). Upper Saddle River, NJ: Addison Wesley.
Hughes, B., & Cotterell, M. (2005). Software project management (4th ed.). London: McGraw-Hill Higher Education.
Perry, D. E., Porter, A. A., & Votta, L. G. (2000). Empirical studies of software engineering: A roadmap. In Proceedings of the Conference on the Future of Software Engineering, ICSE’00 (pp. 345–355). New York, NY, USA: ACM. Retrieved August 15, 2014, from http://doi.acm.org/10.1145/336512.336586.
Kong, X., Liu, L., & Chen, J. (2011). Modeling agile software maintenance process using analytical theory of project investment. Procedia Engineering, 24, 138–142.
Blanchard, B. S. (2008). System engineering management (4th ed.). Hoboken, NJ: Wiley.
Forrester, J. W. (2013). Industrial dynamics. Martino Fine Books.
Daellenbach, H. G. (1994). Systems and decision making: A management science approach. Chichester. Madachy, R. J. (2008). Software process dynamics (1st ed.). Hoboken, NJ ; Piscataway, NJ: Wiley-IEEE Press; Wiley & Sons.
Armbrust, O. (2003). Using empirical knowledge for software process simulation: A practical example. Retrieved June 12, 2014 from, http://ove-armbrust.de/downloads/Armbrust-da.pdf.
Sterman, J. (2000). Business dynamics: Systems thinking and modeling for a complex world with CD-ROM (p. 192). Boston, Mass; London: McGraw-Hill Higher Education.
Akerele, O., & Ramachandran, M. (2014b). Continuous delivery in the cloud: An economic evaluation using system dynamics. In M. Ramachandran (Ed.), Advances in cloud computing research. Hauppauge, New York: Nova Science Pub Inc.
Akerele, O., Ramachandran, M., & Dixon, M. (2013a). System dynamics modeling of agile continuous delivery process. In Agile Conference (AGILE), 2013 (pp. 60–63).
Coyle, G. (2000). Qualitative and quantitative modelling in system dynamics: Some research questions. System Dynamics Review, 16(3), 225–244.
Münch, J. (2012). Software process definition and management (2012th ed.). Heidelberg: Springer.
Richardson, G. P. (1991). System dynamics: Simulation for policy analysis from a feedback perspective. In P. A. Fishwick & P. A. Luker (Eds.), Qualitative simulation modeling and analysis. Advances in simulation (pp. 144–169). New York: Springer. Retrieved August 18, 2014, from http://link.springer.com/chapter/10.1007/978-1-4613-9072-5_7.
Tvedt, J., & Collofello, J. (1995). Evaluating the effectiveness of process improvements on software development cycle time via system dynamics modeling, Ph.D. thesis, University of Arizona.
Lane, D. C. (1998). Can we have confidence in generic structures? The Journal of the Operational Research Society, 49(9), 936.
Box, G. E. P., & Draper. (1987). Empirical model-building and response surfaces (1st edn.). New York: Wiley.
Forrester, J. W. (1994). System dynamics, systems thinking, and soft OR. System Dynamics Review, 10(2–3), 245–256.
Sargent, R. G. (1998). Verification and validation of simulation models. In Proceedings of the 30th Conference on Winter Simulation. WSC’98, Los Alamitos, CA, USA (pp. 121–130). IEEE Computer Society Press. Retrieved September 11, 2014, from http://dl.acm.org/citation.cfm?id=293172.293216.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Akerele, O. (2017). Using System Dynamics for Agile Cloud Systems Simulation Modelling. In: Hosseinian-Far, A., Ramachandran, M., Sarwar, D. (eds) Strategic Engineering for Cloud Computing and Big Data Analytics. Springer, Cham. https://doi.org/10.1007/978-3-319-52491-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-52491-7_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-52490-0
Online ISBN: 978-3-319-52491-7
eBook Packages: EngineeringEngineering (R0)