Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

Performance-driven software development: an incremental refinement approach for high-quality requirement engineering

  • 149 Accesses

Abstract

By increasing the importance of the performance in industrial and business software systems, efficient approaches to model-based performance engineering are becoming an inherent part of the development life cycle. Performance engineering at abstract levels of the software development process has an important effect on concluding the success of the software by obtaining the knowledge of optimal alternative designs. This paper introduces the performance-driven software development approach and a prediction technique that regards performance quality attributes at the abstract levels of the software development in an incremental refinement manner. The approach provides Z-based specification formalism at the meta-model level in which its instance models are automatically transformed into the formal performance analytical model, called refinable state machine (RSM). This paper analyses the throughput of a RSM by performing an approximation algorithm on two experimental case studies to determine weights of subjective performance characteristics. The approach can use the inherent performance parameters according to product usage and derive an incremental probabilistic policy determination method under design decisions in the performance plan hierarchy. The results exhibit significant support of abstract level performance profiling in terms of the throughput values.

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

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

References

  1. 1.

    Chung L, Nixon BA, Yu E (1996) Dealing with change: an approach using non-functional requirements. Requir Eng 1:238–260

  2. 2.

    Balsamo S, Di Marco A, Inverardi P, Simeoni M (2004) Model-based performance prediction in software development: a survey. IEEE Trans Softw Eng 30:295–310

  3. 3.

    Happe J, Becker S, Rathfelder C, Friedrich H, Reussner RH (2010) Parametric performance completions for model-driven performance prediction. Perform Eval 67:694–716

  4. 4.

    Cortellessa V, Marco AD, Inverardi P (2011) Model-based software performance analysis. Springer, Berlin

  5. 5.

    Koziolek H (2010) Performance evaluation of component-based software systems: a survey. Perform Eval 67:634–658

  6. 6.

    Arcelli D, Di Pompeo D (2017) Applying design patterns to remove software performance antipatterns: a preliminary approach. Proc Comput Sci 109:521–528

  7. 7.

    De Sanctis M, Trubiani C, Cortellessa V, Di Marco A, Flamminj M (2017) A model-driven approach to catch performance antipatterns in ADL specifications. Inf Softw Technol 83:35–54

  8. 8.

    Shoaib Y, Das O (2011) Web application performance modeling using layered queueing networks. Electron Notes Theor Comput Sci 275:123–142

  9. 9.

    Spivey JM (1992) The Z notation: a reference manual. Prentice Hall, Englewood Cliffs

  10. 10.

    Model driven Architecture Specification (2006) Object Management Group. http://www.omg.org/mda/specs.htm

  11. 11.

    Saaltink M (1997) The Z/EVES system. In: Bowen JP, Hinchey MG, Till D (eds) ZUM '97: the Z formal specification notation, vol 1212. Springer, Berlin, Heidelberg, pp 72–85

  12. 12.

    Petriu D, Alhaj M, Tawhid R (2012) Software performance modeling. In: Formal methods for model-driven engineering, pp 219–262

  13. 13.

    Nooraei Abadeh M, Mirian-Hosseinabadi SH (2015) Delta-based regression testing: a formal framework towards model-driven regression testing. J Softw Evol Process 27:913–952

  14. 14.

    Meta Object Facility Final Adopted Specification (2008) Object Management Group 2.0 query/view/transformation specification

  15. 15.

    Arendt T, Taentzer G (2013) A tool environment for quality assurance based on the Eclipse Modeling Framework. Autom Softw Eng 20:141–184

  16. 16.

    Arcelli D, Cortellessa V, Di Pompeo D (2017) Performance-driven software model refactoring. Inf Softw Technol 95:366–397

  17. 17.

    Heckel R, Küster JM, Taentzer G (2002) Confluence of typed attributed graph transformation systems. In: ICGT, pp 161–176

  18. 18.

    Czyzowicz J, Fraczak W, Yazdani M (2008) Computing the throughput of concatenation state machines. J Discret Algorithms 6:28–36

  19. 19.

    Woodcock J, Davies J (1996) Using Z: specification, refinement, and proof, vol 39. Prentice Hall, Englewood Cliffs

  20. 20.

    Yu E (2011) Modelling strategic relationships for process reengineering. Soc Model Requir Eng 11:2011

  21. 21.

    Yu ES (1997) Towards modelling and reasoning support for early-phase requirements engineering. In: Proceedings of the 3rd IEEE international symposium on requirements engineering, pp 226–235

  22. 22.

    Rolland C, Souveyet C, Achour CB (1998) Guiding goal modeling using scenarios. IEEE Trans Softw Eng 24:1055–1071

  23. 23.

    Van Lamsweerde A (2001) Goal-oriented requirements engineering: a guided tour. In: Proceedings of the 5th IEEE international symposium on requirements engineering. pp 249–262

  24. 24.

    Khlif I, Kacem MH, Kallel M, Drira K, Kacem AH (2017) Model consistency for multi-scale architectures applied to smart systems. Proc Comput Sci 109:400–407

  25. 25.

    Di Marco V, Inverardi P (2011) Model-based software performance analysis. Springer, Berlin

  26. 26.

    Franks G, Al-Omari T, Woodside M, Das O, Derisavi S (2009) Enhanced modeling and solution of layered queueing networks. IEEE Trans Softw Eng 35:148–161

  27. 27.

    Balsamo S, Marzolla M (2003) Simulation modeling of UML software architectures. In: Proceedings of the European simulation multiconference, Nottingham, 9–11 June 2003

  28. 28.

    Bernardi S, Donatelli S, Merseguer J (2002) From UML sequence diagrams and statecharts to analysable petri net models. In: proceedings of the 3rd international workshop on software and performance, pp 35–45

  29. 29.

    Bernardi S, Merseguer J (2007) Performance evaluation of UML design with Stochastic Well-formed Nets. J Syst Softw 80:1843–1865

  30. 30.

    Cortellessa V, Mirandola R (2000) Deriving a queueing network based performance model from UML diagrams. In Proceedings of the 2nd international workshop on Software and performance, pp 58–70

  31. 31.

    Tribastone M, Gilmore S Automatic translation of UML sequence diagrams into PEPA models. In: 5th International conference on quantitative evaluation of systems. QEST’08, pp 205–214

  32. 32.

    Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model-driven performance prediction. J Syst Softw 82:3–22

  33. 33.

    Distefano S, Scarpa M, Puliafito A (2011) From UML to Petri nets: the PCM-based methodology. IEEE Trans Softw Eng 37:65–79

  34. 34.

    Canevet C, Gilmore S, Hillston J, Kloul L, Stevens P (2004) Analysing UML 2.0 activity diagrams in the software performance engineering process. ACM SIGSOFT Softw Eng Notes 29:74–78

  35. 35.

    Grassi V, Mirandola R, Randazzo E, Sabetta A (2008) Klaper: an intermediate language for model-driven predictive analysis of performance and reliability. In: The common component modeling example. Springer, pp 327–356

  36. 36.

    Grassi V, Mirandola R, Sabetta A (2005) From design to analysis models: a kernel language for performance and reliability analysis of component-based systems. In: Proceedings of the 5th international workshop on Software and performance, pp 25–36

  37. 37.

    Petriu D, Woodside M (2004) A metamodel for generating performance models from UML designs. In: The Unified Modeling Language. Modelling Languages and Applications, pp 41–53

  38. 38.

    Woodside M, Petriu DC, Petriu DB, Shen H, Israr T, Merseguer J (2005) Performance by unified model analysis (PUMA). In: Proceedings of the 5th international workshop on Software and performance, pp 1–12

  39. 39.

    Smith CU, Williams LG (1999) A performance model interchange format. J Syst Softw 49:63–80

  40. 40.

    Smith CU, Lladó CM, Puigjaner R (2010) Performance Model Interchange Format (PMIF 2): a comprehensive approach to queueing network model interoperability. Perform Eval 67:548–568

  41. 41.

    Cortellessa V, Di Gregorio S, Di Marco A (2008) Using ATL for transformations in software performance engineering: a step ahead of java-based transformations? In: Proceedings of the 7th international workshop on Software and performance, pp 127–132

  42. 42.

    UML Profile for MARTE Specification (2011) Object Management Group. https://www.omg.org/spec/MARTE/About-MARTE/

  43. 43.

    Espinoza H, Dubois H, Gérard S, Medina J, Petriu DC, Woodside M (2005) Annotating UML models with non-functional properties for quantitative analysis. In: International conference on model driven engineering languages and systems, pp 79–90

  44. 44.

    Xu J (2012) Rule-based automatic software performance diagnosis and improvement. Perform Eval 69:525–550

  45. 45.

    Diaz-Pace A, Kim H, Bass L, Bianco P, Bachmann F (2008) Integrating quality-attribute reasoning frameworks in the ArchE design assistant. In: International conference on the quality of software architectures, pp 171–188

  46. 46.

    Mahmoud A, Niu N (2014) Supporting requirements to code traceability through refactoring. Requir Eng 19:309–329

  47. 47.

    Cleland-Huang J, Chang CK, Wise JC (2003) Automating performance-related impact analysis through event based traceability. Requir Eng 8:171–182

  48. 48.

    Moreno G, Merson P (2008) Model-driven performance analysis. In: Quality of software architectures. Models and architectures, pp 135–151

  49. 49.

    Kolovos D, Rose L, Garcia-Dominguez A, Paige R (2012) The epsilon book (2010)

Download references

Author information

Correspondence to Maryam Nooraei Abadeh.

Appendices

Appendix 1: Essential notations of the Z specification language

See Table 4.

Table 4 The necessary notations of the Z specification language are described in the following

Appendix 2: The PDSD-related acronyms

See Table 5.

Table 5 The most used acronyms in PDSD are described

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Abadeh, M.N. Performance-driven software development: an incremental refinement approach for high-quality requirement engineering. Requirements Eng 25, 95–113 (2020). https://doi.org/10.1007/s00766-019-00309-w

Download citation

Keywords

  • Performance modeling
  • Model-driven engineering
  • Incremental refinement
  • Throughput calculation