Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

Integrating the analysis of multiple non-functional properties in model-driven engineering

  • Expert Voice
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. 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)

    Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. 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)

  4. 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

    Article  Google Scholar 

  5. 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)

  6. 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)

  7. 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)

    Article  Google Scholar 

  8. 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)

    Article  Google Scholar 

  9. 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)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice, Synthesis Lectures on Software Engineering series. Morgan & Claypool Publishers, California (2012)

    Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. 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)

  14. 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)

  15. 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)

  16. 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)

  17. Cortellessa, V., Di Marco, A., Inverardi, P.: Model-Based Software Performance Analysis. Springer, New York (2011)

    Book  Google Scholar 

  18. Favre, J.M., Nguyen, T.: Towards a megamodel to model software evolution through transformations. Electron. Theor. Comput. Sci. 127, 59–74 (2005)

    Article  Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. 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)

  21. 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)

  22. Gokhale, S.S.: Architecture-based software reliability analysis: overview and limitations. IEEE Trans. Depend. Secure Comput. 4(1), 32–40 (2007)

    Article  Google Scholar 

  23. 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)

  24. Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge (1996)

    Book  Google Scholar 

  25. 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)

  26. 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)

  27. Jürjens, J.: Secure systems development with UML. Springer, New York (2005)

    MATH  Google Scholar 

  28. Kolovos, D., Rose, L., García-Domínguez, A., Paige, R., The Epsilon Book, https://eclipse.org/epsilon/doc/book/EpsilonBook.pdf (2018)

  29. 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)

  30. Kretschmer, R., Khelladi, D.E., Lopez-Herrejon, R.E., Egyed, A.: Consistent change propagation within models. Softw. Syst. Model. 20(3), 539–555 (2021)

    Article  Google Scholar 

  31. 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)

    Chapter  Google Scholar 

  32. Lazowska, E., Zahorjan, J., Scott Graham, G., Sevcik, K.S.: Quantitative System Performance: Computer System Analysis Using Queueing Network Models. Prentice Hall, Hoboken (1984)

    Google Scholar 

  33. 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)

  34. 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)

  35. Mosterman, P., Vangheluwe, H.: Computer automated multi-paradigm modeling: an introduction. SIMULATION 80(9), 433–450 (2004)

    Article  Google Scholar 

  36. Object Management Group: UML Profile for Scheduling, Performance and Time, Version 1.1, formal/05-01-02 (2005)

  37. 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)

  38. 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)

  39. 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)

    Article  Google Scholar 

  40. 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)

  41. Plateau, B., Atif, K.: Stochastic automata network of modeling parallel systems. IEEE Trans. Softw. Eng. 17(10), 1093–1108 (1991)

    Article  MathSciNet  Google Scholar 

  42. 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)

    Article  Google Scholar 

  43. 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)

    Google Scholar 

  44. Smith, C.U., Williams, L.G.: Software performance anti-patterns. In: Proc. of Int. CMG Conference, CMG’2001, pp 797–806 (2001)

  45. Smith, C.U., Williams, L.G.: Performance solutions: a practical guide to creating responsible, scalable Software. Addison-Wesley, Boston (2002)

    Google Scholar 

  46. 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)

  47. 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)

  48. 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)

    Article  Google Scholar 

  49. 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

    Article  Google Scholar 

  50. 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)

    Article  Google Scholar 

  51. Xu, J.: Rule-based automatic software performance diagnosis and improvement. Perform. Eval. 67(8), 585–611 (2010)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Dorina C. Petriu.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-021-00953-3

Keywords

Navigation