Abstract
Context: With the introduction of multicore processors more than a decade ago, parallel software behavior became also relevant for BIS and end-user applications. This evolution raises several new challenges for Software Performance Engineering (SPE). One challenge for model-based SPE is to come up with new language concepts to include parallel behavior in the software behavior models (i.e., UML activity diagrams).
Objectives: In this paper we are going to formally describe the semantics of parallel behavior concepts in order to compare existing language extension to that and make an evaluation.
Methods: We use Hierarchical Queuing Petri Nets to formally describe the general parallel behavior concepts based on the example of the Palladio Component Model.
Results: We give a formal semantic of the parallel behavior elements (like loops, sections, or blocks) for model-based SPE. Further, we evaluate the semantic of introduced parallel language concepts into the PCM.
Conclusion: We show that even if there are syntactic differences between the concepts in PCM and the behavior of the parallel loops, they behave semantically alike.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
MOF Query/View/Transformation—https://www.omg.org/spec/QVT/.
- 3.
openMP – https://www.openmp.org/.
- 4.
- 5.
References
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)
Bause, F., et al.: Stochastic Petri Nets: An Introduction to the Theory (2002)
Becker, S., Koziolek, H., Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009)
Distefano, S., Scarpa, M., Puliafito, A.: From UML to petri nets: the PCM-based methodology. IEEE Trans. Softw. Eng. 37(1), 65–79 (2010)
Frank, M., Hakamian, A.: An architectural template for parallel loops and sections. In: Proceedings of the 9th Symposium on Software Performance 2018, Hildesheim, Germany, 7–9 November 2018, Hildesheim, November 2018
Frank, M., Hilbrich, M.: Performance prediction for multicore environments–an experiment report. In: Proceedings of the Symposium on Software Performance 2016, Kiel, Germany, 7–9 November 2016 (2016)
Frank, M., Hilbrich, M., Lehrig, S., Becker, S.: Parallelization, modeling, and performance prediction in the multi-/many core area: a systematic literature review. In: Proceedings of the 7th IEEE International Symposium on Cloud and Service Computing (2017)
Frank, M., Staude, S., Hilbrich, M.: Is the PCM ready for ACTORs and multicore CPUs? – a use case-based evaluation. In: Proceedings of the Symposium on Software Performance 2017, Karlsruhe, Germany, 9–10 November 2017 (2017)
Geer, D.: Chip makers turn to multicore processors. Computer 38(5), 11–13 (2005)
Happe, J.: Predicting software performance in symmetric multi-core and multiprocessor environments. Dissertation, University of Oldenburg, Germany, August 2008
Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, vol. 1. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-662-03241-1
Koziolek, H.: Parameter dependencies for reusable performance specifications of software components. Ph.D. thesis, Universität Oldenburg (2008)
Lehrig, S.: Efficiently conducting quality-of-service analyses by templating architectural knowledge. Ph.D. thesis, University of Stuttgart, Germany (2017, accepted for publication)
Lehrig, S., Eikerling, H., Becker, S.: Scalability, elasticity, and efficiency in cloud computing: a systematic literature review of definitions and metrics. In: Proceedings of the 11th International ACM SIGSOFT Conference on Quality of Software Architectures, pp. 83–92. ACM (2015)
Mattson, T.G., Sanders, B., Massingill, B.: Patterns for Parallel Programming. Pearson Education, London (2004)
Mayerhofer, T., Langer, P., Wimmer, M., Kappel, G.: xMOF: executable DSMLs based on fUML. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 56–75. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-02654-1_4
Reussner, R., et al.: The Palladio Component Model. Technical report, KIT, Fakultät für Informatik, Karlsruhe (2011)
Reussner, R., et al.: Modeling and Simulating Software Architectures: The Palladio Approach. MIT Press, Cambridge (2016)
Rupp, C., Queins, S., Zengler, B.: UML 2 glasklar: Praxiswissen für die UML-Modellierung. Hanser (2007)
Williams, L.G., Smith, C.U.: Making the business case for software performance engineering. In: International CMG Conference, pp. 349–358 (2003)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Frank, M., Hakamian, A., Becker, S. (2020). Defining a Formal Semantic for Parallel Patterns in the Palladio Component Model Using Hierarchical Queuing Petri Nets. In: Muccini, H., et al. Software Architecture. ECSA 2020. Communications in Computer and Information Science, vol 1269. Springer, Cham. https://doi.org/10.1007/978-3-030-59155-7_28
Download citation
DOI: https://doi.org/10.1007/978-3-030-59155-7_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-59154-0
Online ISBN: 978-3-030-59155-7
eBook Packages: Computer ScienceComputer Science (R0)