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.
Similar content being viewed by others
References
Chung L, Nixon BA, Yu E (1996) Dealing with change: an approach using non-functional requirements. Requir Eng 1:238–260
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
Happe J, Becker S, Rathfelder C, Friedrich H, Reussner RH (2010) Parametric performance completions for model-driven performance prediction. Perform Eval 67:694–716
Cortellessa V, Marco AD, Inverardi P (2011) Model-based software performance analysis. Springer, Berlin
Koziolek H (2010) Performance evaluation of component-based software systems: a survey. Perform Eval 67:634–658
Arcelli D, Di Pompeo D (2017) Applying design patterns to remove software performance antipatterns: a preliminary approach. Proc Comput Sci 109:521–528
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
Shoaib Y, Das O (2011) Web application performance modeling using layered queueing networks. Electron Notes Theor Comput Sci 275:123–142
Spivey JM (1992) The Z notation: a reference manual. Prentice Hall, Englewood Cliffs
Model driven Architecture Specification (2006) Object Management Group. http://www.omg.org/mda/specs.htm
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
Petriu D, Alhaj M, Tawhid R (2012) Software performance modeling. In: Formal methods for model-driven engineering, pp 219–262
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
Meta Object Facility Final Adopted Specification (2008) Object Management Group 2.0 query/view/transformation specification
Arendt T, Taentzer G (2013) A tool environment for quality assurance based on the Eclipse Modeling Framework. Autom Softw Eng 20:141–184
Arcelli D, Cortellessa V, Di Pompeo D (2017) Performance-driven software model refactoring. Inf Softw Technol 95:366–397
Heckel R, Küster JM, Taentzer G (2002) Confluence of typed attributed graph transformation systems. In: ICGT, pp 161–176
Czyzowicz J, Fraczak W, Yazdani M (2008) Computing the throughput of concatenation state machines. J Discret Algorithms 6:28–36
Woodcock J, Davies J (1996) Using Z: specification, refinement, and proof, vol 39. Prentice Hall, Englewood Cliffs
Yu E (2011) Modelling strategic relationships for process reengineering. Soc Model Requir Eng 11:2011
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
Rolland C, Souveyet C, Achour CB (1998) Guiding goal modeling using scenarios. IEEE Trans Softw Eng 24:1055–1071
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
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
Di Marco V, Inverardi P (2011) Model-based software performance analysis. Springer, Berlin
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
Balsamo S, Marzolla M (2003) Simulation modeling of UML software architectures. In: Proceedings of the European simulation multiconference, Nottingham, 9–11 June 2003
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
Bernardi S, Merseguer J (2007) Performance evaluation of UML design with Stochastic Well-formed Nets. J Syst Softw 80:1843–1865
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
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
Becker S, Koziolek H, Reussner R (2009) The Palladio component model for model-driven performance prediction. J Syst Softw 82:3–22
Distefano S, Scarpa M, Puliafito A (2011) From UML to Petri nets: the PCM-based methodology. IEEE Trans Softw Eng 37:65–79
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
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
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
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
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
Smith CU, Williams LG (1999) A performance model interchange format. J Syst Softw 49:63–80
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
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
UML Profile for MARTE Specification (2011) Object Management Group. https://www.omg.org/spec/MARTE/About-MARTE/
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
Xu J (2012) Rule-based automatic software performance diagnosis and improvement. Perform Eval 69:525–550
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
Mahmoud A, Niu N (2014) Supporting requirements to code traceability through refactoring. Requir Eng 19:309–329
Cleland-Huang J, Chang CK, Wise JC (2003) Automating performance-related impact analysis through event based traceability. Requir Eng 8:171–182
Moreno G, Merson P (2008) Model-driven performance analysis. In: Quality of software architectures. Models and architectures, pp 135–151
Kolovos D, Rose L, Garcia-Dominguez A, Paige R (2012) The epsilon book (2010)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-019-00309-w