Skip to main content
Log in

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

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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 via an institution to check access.

Access this article

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

Instant access to the full article PDF.

Institutional subscriptions

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

Similar content being viewed by others

References

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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

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

    Book  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    MATH  Google Scholar 

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

  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

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

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

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

    Article  MathSciNet  Google Scholar 

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

    MATH  Google Scholar 

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

    Google Scholar 

  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. Rolland C, Souveyet C, Achour CB (1998) Guiding goal modeling using scenarios. IEEE Trans Softw Eng 24:1055–1071

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

  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

    Article  Google Scholar 

  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. 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. Bernardi S, Merseguer J (2007) Performance evaluation of UML design with Stochastic Well-formed Nets. J Syst Softw 80:1843–1865

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. 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. 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. 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. Smith CU, Williams LG (1999) A performance model interchange format. J Syst Softw 49:63–80

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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. UML Profile for MARTE Specification (2011) Object Management Group. https://www.omg.org/spec/MARTE/About-MARTE/

  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. Xu J (2012) Rule-based automatic software performance diagnosis and improvement. Perform Eval 69:525–550

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

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

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

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

Check for updates. 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

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-019-00309-w

Keywords

Navigation