Using Model-to-Model Transformations for Web Software Architecture Simulation
Keywords:Software design, Software systems, Systems simulation, Systems architecture
The development of evaluation methods that allow improving the capture of quality data regarding software architectures is a topic of interest in Software Engineering. However, the dynamic of the traditional methods used for architecture evaluation is not enough to deal with the architectural complexity exhibit in new types of software products (such as cloud and web applications). In this paper, we present a model-to-model mapping based on modeling and simulation techniques that can be used as a complement of the traditional evaluation methods to improve the architecture design of complex systems. Using the set of elements that compose the architecture design of web applications, an abstraction model is designed with the aim to define the basic structure for the equivalent simulation model. Such a simulation model is detailed using two discrete-event formalisms: Discrete Event System Specification and Routed DEVS. In each case, a mapping is proposed to capture the full structure of the architecture with all its complexity. We compare both solutions to judge their applicability. Hence, the main advantages and disadvantages of both approaches are analyzed with the aim to evaluate their use in the architecture design stage of Software Engineering projects related to web applications.
I. Sommerville, Software engineering, 10th ed. Pearson, 2018.
L. Bass, P. Clements, and R. Kazman, Software architecture in practice. Boston, MA, USA: Addison-Wesley Professional, 2012.
M. Barbacci, M. Klein, T. Longstaff, and C. Weinstock, “Quality attributes,” SEI, Carnegie-Mellon University, Pittsburg, PA, USA, 1995.
A. Bruzzone, and M. Massei, “Simulation-based military training”, in Guide to Simulation-Based Disciplines, 2017, pp. 315-361.
J. Gomes, J. Montenegro, J. Dos Santos, J. Barbosa, and C. Costa, “A Strategy Using Continuous Simulation to Mitigate Effort Estimation Risks in Software Projects”, IEEE Latin America Transactions, vol. 17, no. 8, pp. 1390-1398, 2019, DOI: 10.1109/TLA.2019.8932373.
M. Blas, S. Gonnet, and H. Leone, “Modeling User Temporal Behaviors Using Hybrid Simulation Models”, IEEE Latin America Transactions, vol. 15, no. 1, pp. 341-348, 2017, DOI: 10.1109/TLA.2017.7854631.
G. Fenner, A. Lima, J. De Souza, J. Moura, and T. Bezerra, “Supporting Infrastructure as a Service Capacity Management through Business Scenarios Simulation,” IEEE Latin America Transactions, vol. 18, no. 03, pp. 473-486, 03/2020, DOI: 10.1109/TLA.2020.9082718.
R. Calheiros, R. Ranjan, A. Beloglazov, C. De Rose, and R. Buyya, “CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms”, Software: Practice and Experience, vol. 41, no. 1, pp. 23-50, 2011, DOI: 10.1002/spe.995.
B. Zeigler, A. Muzy, and E. Kofman, Theory of modeling and simulation: discrete event & iterative system computational foundations, 3er ed. Academic Press, 2018.
M.J. Blas, H. Leone, and S. Gonnet, “Modelado y verificación de patrones de diseño de arquitectura de software para entornos de computación en la nube,” Revista Ibérica de Sistemas e Tecnologias de Informação, no. 35, pp. 1-17, 12/2019, DOI: 10.17013/risti.35.1-17.
M.J. Blas, S. Gonnet, and H. Leone, “Routing structure over discrete event system specification: a DEVS adaptation to develop smart routing in simulation models,” in WSC, Las Vegas, NV, USA, 2017, pp. 774-785, DOI: 10.1109/WSC.2017.8247831.
R. Kazman, G. Abowd, L. Bass, and P. Clements, “Scenario-based analysis of software architecture,” IEEE software, vol. 13, no. 6, pp. 47-55, 1996, DOI: 10.1109/52.542294.
R. Kazman, M. Klein, M. Barbacci, T. Longstaff, H. Lipson, and J. Carriere, “The architecture tradeoff analysis method,” in ICECCS, Monterey, USA, 1998, pp. 68-78, DOI: 10.1109/ICECCS.1998.706657.
M. Babar, and I. Gorton, “Comparison of scenario-based software architecture evaluation methods,”, in 11th Asia-Pacific Software Engineering Conference, Busan, South Korea, 2004, pp. 600-607, DOI: 10.1109/APSEC.2004.38.
R. Kazman, J. Asundi, and M. Klien, “Making architecture design decisions,” SEI, Carnegie-Mellon University, Pittsburg, PA, USA, CMU/SEI-2002-TR-035, 2002.
S.T. Albin, The art of software architecture: design methods and techniques, Hoboken: John Wiley & Sons, 2003.
W. Wang, Y. Wu, and M. Chen, “An architecture-based software reliability model,” in PRDC, Hong Kong, 1999, pp. 143-150, DOI: 10.1109/PRDC.1999.816223.
B. Spitznagel, and D. Garlan, “Architecture-based performance analysis,” in SEKE, 1998, pp. 146-151.
F. Bachmann, L. Bass, M. Klein, and C. Shelton, “Experience using an expert system to assist an architect in designing for modifiability,” in WICSA, 2004, pp. 281-284, DOI: 10.1109/WICSA.2004.1310710.
K. Fukuzawa, and M. Saeki, “Evaluating software architectures by coloured Petri nets,” in SEKE, 2002, pp. 263-270, DOI: 10.1145/ 568760.568807.
A. Immonen, and E. Niemelä. “Survey of reliability and availability prediction methods from the viewpoint of software architecture,” Software & Systems Modeling, vol. 7, no. 1, 49, 2008, DOI: 10.1007/s10270-006-0040-x.
L.K. Singh, A.K. Tripathi, and G. Vinod, “Software reliability early prediction in architectural design phase: overview and limitations,” Journal of Software Engineering and Applications, vol. 4, no. 3, pp. 181-186, 2011, DOI: 10.4236/jsea.2011.43020.
J. Dargan, E. Campos-Nanez, P. Fomin, and J. Wasek, “Predicting systems performance through requirements quality attributes model,” Procedia Computer Science, vol. 28, no. 1, pp. 347-353, 2014, DOI: 10.1016/j.procs.2014.03.043.
R. Roshandel, N. Medvidovic, and L. Golubchik, “A Bayesian model for predicting reliability of software systems at the architectural level,” in QoSa, 2007, pp. 108-126, DOI: 10.5555/1784860.1784871.
H. Koziolek, S. Becker, R. Reussner, and J. Happe, “Evaluating performance of software architecture models with the Palladio component model,” in Software Applications: Concepts, Methodologies, and Tools, P. Tiako, Ed. Information Science Reference, 2009, ch. 64, pp. 1111-1134, DOI: 10.4018/978-1-60566-006-6.ch005.
A. Meiappane, B. Chithra, and P. Venkataesan, “Evaluation of software architecture quality attribute for an internet banking system,” International Journal of Computer Applications, vol. 62, no. 19, pp. 21–24, 2013, DOI: 10.5120/10189-5062.
M.J. Blas, S. Gonnet, and H. Leone, “Building simulation models to evaluate web application architectures,” in CLEI, 2016, pp. 1-12, DOI: 10.1109/CLEI.2016.7833339.
C. Nielsen, P. Larsen, J. Fitzgerald, J. Woodcock, and J. Peleska, “Systems of systems engineering: Basic concepts, model-based techniques, and research directions,” ACM Computing Surveys, vol. 48, no. 2, 18, 2015, DOI: 10.1145/2794381.
C. Fehling, F. Leymann, R. Retter, W. Schupeck, and P. Arbitter, Cloud computing patterns: fundamentals to design, build, and manage cloud applications, Germany: Springer Science & Business Media, 2014.
M. Blas, H. Leone, and S. Gonnet, “Modeling and simulation framework for quality estimation of web applications through architecture evaluation”, SN Applied Sciences, vol. 2, no. 374, 2020, DOI: 10.1007/s42452-020-2171-z.