Requirements Engineering

, Volume 25, Issue 1, pp 95–113 | Cite as

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

  • Maryam Nooraei AbadehEmail author
Original Article


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.


Performance modeling Model-driven engineering Incremental refinement Throughput calculation 


  1. 1.
    Chung L, Nixon BA, Yu E (1996) Dealing with change: an approach using non-functional requirements. Requir Eng 1:238–260CrossRefGoogle Scholar
  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–310CrossRefGoogle Scholar
  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–716CrossRefGoogle Scholar
  4. 4.
    Cortellessa V, Marco AD, Inverardi P (2011) Model-based software performance analysis. Springer, BerlinCrossRefGoogle Scholar
  5. 5.
    Koziolek H (2010) Performance evaluation of component-based software systems: a survey. Perform Eval 67:634–658CrossRefGoogle Scholar
  6. 6.
    Arcelli D, Di Pompeo D (2017) Applying design patterns to remove software performance antipatterns: a preliminary approach. Proc Comput Sci 109:521–528CrossRefGoogle Scholar
  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–54CrossRefGoogle Scholar
  8. 8.
    Shoaib Y, Das O (2011) Web application performance modeling using layered queueing networks. Electron Notes Theor Comput Sci 275:123–142CrossRefGoogle Scholar
  9. 9.
    Spivey JM (1992) The Z notation: a reference manual. Prentice Hall, Englewood CliffszbMATHGoogle Scholar
  10. 10.
    Model driven Architecture Specification (2006) Object Management Group.
  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–85CrossRefGoogle Scholar
  12. 12.
    Petriu D, Alhaj M, Tawhid R (2012) Software performance modeling. In: Formal methods for model-driven engineering, pp 219–262CrossRefGoogle Scholar
  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–952CrossRefGoogle Scholar
  14. 14.
    Meta Object Facility Final Adopted Specification (2008) Object Management Group 2.0 query/view/transformation specificationGoogle Scholar
  15. 15.
    Arendt T, Taentzer G (2013) A tool environment for quality assurance based on the Eclipse Modeling Framework. Autom Softw Eng 20:141–184CrossRefGoogle Scholar
  16. 16.
    Arcelli D, Cortellessa V, Di Pompeo D (2017) Performance-driven software model refactoring. Inf Softw Technol 95:366–397CrossRefGoogle Scholar
  17. 17.
    Heckel R, Küster JM, Taentzer G (2002) Confluence of typed attributed graph transformation systems. In: ICGT, pp 161–176Google Scholar
  18. 18.
    Czyzowicz J, Fraczak W, Yazdani M (2008) Computing the throughput of concatenation state machines. J Discret Algorithms 6:28–36MathSciNetCrossRefGoogle Scholar
  19. 19.
    Woodcock J, Davies J (1996) Using Z: specification, refinement, and proof, vol 39. Prentice Hall, Englewood CliffszbMATHGoogle Scholar
  20. 20.
    Yu E (2011) Modelling strategic relationships for process reengineering. Soc Model Requir Eng 11:2011Google Scholar
  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–235Google Scholar
  22. 22.
    Rolland C, Souveyet C, Achour CB (1998) Guiding goal modeling using scenarios. IEEE Trans Softw Eng 24:1055–1071CrossRefGoogle Scholar
  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–262Google Scholar
  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–407CrossRefGoogle Scholar
  25. 25.
    Di Marco V, Inverardi P (2011) Model-based software performance analysis. Springer, BerlinGoogle Scholar
  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–161CrossRefGoogle Scholar
  27. 27.
    Balsamo S, Marzolla M (2003) Simulation modeling of UML software architectures. In: Proceedings of the European simulation multiconference, Nottingham, 9–11 June 2003Google Scholar
  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–45Google Scholar
  29. 29.
    Bernardi S, Merseguer J (2007) Performance evaluation of UML design with Stochastic Well-formed Nets. J Syst Softw 80:1843–1865CrossRefGoogle Scholar
  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–70Google Scholar
  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–214Google Scholar
  32. 32.
    Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model-driven performance prediction. J Syst Softw 82:3–22CrossRefGoogle Scholar
  33. 33.
    Distefano S, Scarpa M, Puliafito A (2011) From UML to Petri nets: the PCM-based methodology. IEEE Trans Softw Eng 37:65–79CrossRefGoogle Scholar
  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–78CrossRefGoogle Scholar
  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–356Google Scholar
  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–36Google Scholar
  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–53Google Scholar
  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–12Google Scholar
  39. 39.
    Smith CU, Williams LG (1999) A performance model interchange format. J Syst Softw 49:63–80CrossRefGoogle Scholar
  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–568CrossRefGoogle Scholar
  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–132Google Scholar
  42. 42.
    UML Profile for MARTE Specification (2011) Object Management Group.
  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–90Google Scholar
  44. 44.
    Xu J (2012) Rule-based automatic software performance diagnosis and improvement. Perform Eval 69:525–550CrossRefGoogle Scholar
  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–188CrossRefGoogle Scholar
  46. 46.
    Mahmoud A, Niu N (2014) Supporting requirements to code traceability through refactoring. Requir Eng 19:309–329CrossRefGoogle Scholar
  47. 47.
    Cleland-Huang J, Chang CK, Wise JC (2003) Automating performance-related impact analysis through event based traceability. Requir Eng 8:171–182CrossRefGoogle Scholar
  48. 48.
    Moreno G, Merson P (2008) Model-driven performance analysis. In: Quality of software architectures. Models and architectures, pp 135–151Google Scholar
  49. 49.
    Kolovos D, Rose L, Garcia-Dominguez A, Paige R (2012) The epsilon book (2010)Google Scholar

Copyright information

© Springer-Verlag London Ltd., part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Computer Engineering, Abadan BranchIslamic Azad UniversityAbadanIran

Personalised recommendations