Abstract
This paper discusses the progress made so far and future challenges in integrating the analysis of multiple Non-Functional Properties (NFP) (such as performance, schedulability, reliability, availability, scalability, security, safety, and maintainability) into the Model-Driven Engineering (MDE) process. The goal is to guide the design choices from an early stage and to ensure that the system under construction will meet its non-functional requirements. The evaluation of the NFPs considered in this paper uses various kinds of NFP analysis models (also known as quality models) based on existent formalisms and tools developed over the years. Examples are queueing networks, stochastic Petri nets, stochastic process algebras, Markov chains, fault trees, probabilistic time automata, etc. In the MDE context, these models are automatically derived by model transformations from the software models built for development. Developing software systems that exhibit a good trade-off between multiple NFPs is difficult because the design of the software under construction and its underlying platforms have a large number of degrees of freedom spanning a very large discontinuous design space, which cannot be exhaustively explored. Another challenge in balancing the NFPs of a system under construction is due to the fact that some NFPs are conflicting—when one gets better the other gets worse—so an appropriate software process is needed to evaluate and balance all the non-functional requirements. The integration approach discussed in this paper is based on an ecosystem of inter-related heterogeneous modeling artifacts intended to support the following features: feedback of analysis results, consistent co-evolution of the software and analysis models, cross-model traceability, incremental propagation of changes across models, (semi)automated software process steps, and metaheuristics for reducing the design space size to be explored.
Similar content being viewed by others
References
Ajmone Marsan, M., Balbo, G., Conte, G., Donatelli, S., Franceschinis, G.: Modelling with generalized stochastic petri nets. In: Wiley Series in Parallel Computing. John Wiley and Sons, Hoboken (1995)
Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)
Altamimi, T., Hasanzadeh Zargari, M., Petriu, D.C.: Performance analysis roundtrip: automatic generation of performance models and results feedback using cross-model trace links. In: Proceedings of CASCON’2016 (2016)
Ameller, D., et al.: Dealing with non-functional requirements in model-driven development: a survey. IEEE Trans. Softw. Eng. (2019). https://doi.org/10.1109/TSE.2019.2904476
Arcelli, D., Cortellessa, V.: Software model refactoring based on performance analysis: better working on software or performance side?. In: Proceedings of Formal Engineering Approaches to Software Components and Architectures (2013)
Avritzer, A., Britto, R., Trubiani, C., Russo, B., Janes, A., Camilli M., van Hoorn, A., Heinrich R., Rapp, M., Henß, J.: A Multivariate characterization and detection of software performance antipatterns. In: Proceedings of the 2021 ACM/SPEC Int. Conference on Performance Engineering (ICPE ’21) (2021)
Al Shboul, B., Petriu, D.C.: Automatic derivation of fault tree models from sysml models for safety analysis. J. Softw. Eng. Appl. (JSEA) 11(5), 204–222 (2018)
Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based performance prediction in software development: a survey. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004)
Bernardi, S., Merseguer, J., Petriu, D.C.: Dependability modeling and analysis of software systems specified with UML. ACM Comput. Surv. 45(1), 1–48 (2012)
Bernardi, S., Merseguer, J., Petriu, D.C.: A dependability profile within MARTE. In: Software and Systems Modeling (SoSyM), pp. 313–336. Springer, New York (2011)
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, Synthesis Lectures on Software Engineering series. Morgan & Claypool Publishers, California (2012)
Bucchiarone, A., Cabot, J., Paige, R., Pierantonio, A.: Grand challenges in model-driven engineering: an analysis of the state of the research. Softw. Syst. Model. 19, 5–13 (2020)
Casale, G., Ardagna, D., Artac, M., Barbier, F., Di Nitto, E., Henry, A., Iuhasz, G., Joubert, C., Merseguer, J., Munteanu, V.I., Pérez, J. F., Petcu, D., Rossi, M., Sheridan, C., Spais, I., Vladusic, D.: DICE: quality-driven development of data-intensive cloud applications. In: IEEE/ACM 7th International Workshop on Modeling in Software Engineering, MiSE’2015 (2015)
Cicchetti, D., Di Ruscio, R. Eramo, A. Pierantonio, A.: Automating co-evolution in model-driven engineering. In: Proceedings of 12th International IEEE Conference on Enterprise Distributed Object Computing Conference, EDOC'08, pp. 222–231 (2008)
Cicchetti, D., Di Ruscio, R. Eramo, A. Pierantonio, A.: Managing dependent changes in coupled evolution. In:Paige, R.F. (Ed.), Proceedings of 2nd International Conference of Theory and Practice of Model Transformations ICMT 2009, LNCS Vol. 5563, pp. 35–51. Springer, New York (2009)
Cortellessa. V, Martens, A., Reussner, R., Trubiani, C.: A process to effectively identify “Guilty” Performance Antipatterns, In: Proc. of Fundamental Approaches to Software Engineering, LNCS Vol. 6013, pp 368–382. Springer, New York (2010)
Cortellessa, V., Di Marco, A., Inverardi, P.: Model-Based Software Performance Analysis. Springer, New York (2011)
Favre, J.M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electron. Theor. Comput. Sci. 127, 59–74 (2005)
Franks, R.G., Al-Omari, T., Woodside, C.M., Das, O., Derisavi, S.: Enhanced modeling and solution of layered queueing networks. IEEE Trans. Softw. Eng. 35(2), 148–161 (2009)
Franks, R.G., Maly, P., Woodside, C.M., Petriu, D.C., Hubbard, A., Mroz, M.: Layered queueing network solver and simulator user manual. Department of Systems and Computer Engineering, Carleton University, Ottawa ON, Canada, https://www.sce.carleton.ca/rads/lqns/ (2013)
García, J., Diaz, O., Azanza, M.: Model transformation co-evolution: a semi-automatic approach. In: Czarnecki, K., Hedin, G. (Eds.), Proceedings of Int. Conference on Software Language Engineering SLE 2012, LNCS Vol. 7745, pp. 144–163. Springer, New York (2013)
Gokhale, S.S.: Architecture-based software reliability analysis: overview and limitations. IEEE Trans. Depend. Secure Comput. 4(1), 32–40 (2007)
Hassanzadeh Zargari, M.: Automatic derivation of LQN performance models from UML software models using epsilon, master thesis, department of systems and computer engineering, Carleton University, Ottawa ON, Canada (2016)
Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)
Houmb, S., Georg, G., Petriu, D.C, Bordbar, B., Ray, I., Anastasakis, K., France, R.: Balancing security and performance properties during system architectural design. In: Mouratidis H. (Ed) Software Engineering for Secure Systems: Industrial and Research Perspectives, pp. 155–192. ICI Global (2011)
Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: Proceedings of the 33rd International Conference on Software Engineering ICSE '11, pp. 471–480. (2011)
Jürjens, J.: Secure systems development with UML. Springer, New York (2005)
Kolovos, D., Rose, L., García-Domínguez, A., Paige, R., The Epsilon Book, https://eclipse.org/epsilon/doc/book/EpsilonBook.pdf (2018)
Koziolek, H., Reussner, R.: A model transformation from the palladio component model to layered queueing networks. In: Proc. of Performance Evaluation: Metrics, Models and Benchmarks, SIPEW 2008, LNCS Vol. 5119, pp. 58–78. Springer (2008)
Kretschmer, R., Khelladi, D.E., Lopez-Herrejon, R.E., Egyed, A.: Consistent change propagation within models. Softw. Syst. Model. 20(3), 539–555 (2021)
de Lara, J., Levendovszky, T., Mosterman, P.J., Vangheluwe, H.: Second international workshop on multi-paradigm modeling: concepts and tools. In: Models in Software Engineering, pp. 237–246. Springer, New York (2008)
Lazowska, E., Zahorjan, J., Scott Graham, G., Sevcik, K.S.: Quantitative System Performance: Computer System Analysis Using Queueing Network Models. Prentice Hall, Hoboken (1984)
Li, Z.W., Woodside, C. M., Chinneck, J.W., Litoiu, M.: “CloudOpt: Multi-goal optimization of application deployments across a cloud. In: Proc. of Int. Conference on Network and Service Management CNSM 2011, pp.1–9. (2011)
Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: Proc. of 1st joint WOSP/SIPEW International Conference on Performance Engineering ICPE’2010, pp. 105–116. (2010)
Mosterman, P., Vangheluwe, H.: Computer automated multi-paradigm modeling: an introduction. SIMULATION 80(9), 433–450 (2004)
Object Management Group: UML Profile for Scheduling, Performance and Time, Version 1.1, formal/05-01-02 (2005)
Object Management Group: UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE) Version 1.0, OMG doc. formal/2009-11-02 (2009)
Pagliari, L., D’Angelo, M., Caporuscio, M., Mirandola, R., Trubiani, C.: To what extent formal methods are applicable for performance analysis of smart cyber-physical systems?. In: Proceedings of the 13th European Conference on Software Architecture (2019)
Paige, R., Drivalos, N., Kolovos, D., Fernandes, K., Power, C., Olsen, G., Zschaler, S.: Rigorous identification and encoding of trace-links in model-driven engineering. Softw. Syst. Model. 10(4), 469–487 (2011)
Petriu, D.C., Alhaj, M., R. Tawhid, R.: Software performance modeling. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (Eds.) SFM 2012: Formal Methods for MDE, LNCS 7320, pp. 219–262. Springer (2012)
Plateau, B., Atif, K.: Stochastic automata network of modeling parallel systems. IEEE Trans. Softw. Eng. 17(10), 1093–1108 (1991)
Rouland, Q., Hamid, B., Jaskolka, J.: Specification, detection, and treatment of STRIDE threats for software components: modeling, formal methods, and tool support. J. Syst. Archit. 117, 102073 (2021)
Selic, B., Gérard, S.: Modeling and Analysis of Real-Time and Embedded Systems with UML and MARTE: Developing Cyber-Physical Systems. Morgan Kauffmann Publisher, Burlington (2013)
Smith, C.U., Williams, L.G.: Software performance anti-patterns. In: Proc. of Int. CMG Conference, CMG’2001, pp 797–806 (2001)
Smith, C.U., Williams, L.G.: Performance solutions: a practical guide to creating responsible, scalable Software. Addison-Wesley, Boston (2002)
Taromirad, M., Matragkas, N.D., Paige, R.: Towards a multi-domain model-driven traceability approach. In: Proceedings of the 7th Workshop on Multi-Paradigm Modeling co-located with MODELS’2013, pp. 27–36. Miami, Florida (2013)
Trubiani C., Di Marco A., Cortellessa V., Mani N., Petriu D.C.: Exploring synergies between bottleneck analysis and performance antipatterns. In: Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE 2014), pp. 75–86. Dublin, Ireland (2014)
Woodside, C.M., Petriu, D.C., Petriu, D.B., Xu, J., Israr, T., Georg, G., France, R., Bieman, J.M., Houmb, S., Juerjens, J.: Performance analysis of security aspects by weaving scenarios extracted from UML models. J. Syst. Softw. 82, 56–74 (2011)
Woodside, C.M., Petriu, D.C., Merseguer, J., Petriu, D.B., Alhaj, M.: Transformation challenges: from software models to performance models. Softw. Syst. Model. 13(4), 1529–1552 (2014). https://doi.org/10.1007/s10270-013-0385-x
Woodside, C.M., Neilson, J.E., Petriu, D.C., Majumdar, S.: The Stochastic rendezvous network model for performance of synchronous client-server-like distributed software. IEEE Trans. Comput. 44(1), 20–34 (1995)
Xu, J.: Rule-based automatic software performance diagnosis and improvement. Perform. Eval. 67(8), 585–611 (2010)
Acknowledgments
This research was partially supported by the Natural Sciences and Engineering Research Council (NSERC), through the Discovery and Strategic Projects programs.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Petriu, D.C. Integrating the analysis of multiple non-functional properties in model-driven engineering. Softw Syst Model 20, 1777–1791 (2021). https://doi.org/10.1007/s10270-021-00953-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-021-00953-3