Skip to main content
Log in

A Petri net tool for software performance estimation based on upper throughput bounds

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Functional and non-functional properties analysis (i.e., dependability, security, or performance) ensures that requirements are fulfilled during the design phase of software systems. However, the Unified Modelling Language (UML), standard de facto in industry for software systems modelling, is unsuitable for any kind of analysis but can be tailored for specific analysis purposes through profiling. For instance, the MARTE profile enables to annotate performance data within UML models that can be later transformed to formal models (e.g., Petri nets or timed automatas) for performance evaluation. A performance (or throughput) estimation in such models normally relies on a whole exploration of the state space, which becomes unfeasible for large systems. To overcome this issue upper throughput bounds are computed, which provide an approximation to the real system throughput with a good complexity-accuracy trade-off. This paper introduces a tool, named PeabraiN, that estimates the performance of software systems via their UML models. To do so, UML models are transformed to Petri nets where performance is estimated based on upper throughput bounds computation. PeabraiN also allows to compute other features on Petri nets, such as the computation of upper and lower marking place bounds, and to simulate using an approximate (continuous) method. We show the applicability of PeabraiN by evaluating the performance of a building closed circuit TV system.

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.

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

Similar content being viewed by others

Notes

  1. Named “.solverselector.conf”, and located at the home folder of the user.

  2. Available at https://argospe.tigris.org.

References

  • Baarir, S., Beccuti, M., Cerotti, D., De Pierro, M., Donatelli, S., Franceschinis, G.: The GreatSPN tool: recent enhancements. SIGMETRICS Perform. Eval. Rev. 36(4), 4–9 (2009)

    Article  Google Scholar 

  • Berardinelli, L., Bernardi, S., Cortellessa, V., Merseguer, J.: UML profiles for non-functional properties at work: analyzing reliability, availability and performance. In: Boskovic, M., Gasevic, D., Pahl, C., Schatz, B. (eds.) 2nd International Workshop on Non-functional System Properties in Domain Specific Modeling Languages (NFPinDSML), CEUR, CEUR, Denver, vol. 553 (2009)

  • Bernardi, S., Merseguer, J.: Performance evaluation of UML design with stochastic well-formed nets. J. Syst. Softw. 80(11), 1843–1865 (2007)

    Article  Google Scholar 

  • Bernardi, S., Merseguer, J., Petriu, D.: A dependability profile within MARTE. J. Softw. Syst. Model. 10(3), 313–336 (2011)

    Article  Google Scholar 

  • Bonet, P., Lladó, C., Puigjaner, R., Knottenbelt, W.: PIPE v2.5: a Petri net tool for performance modelling. In: Proceedings of the 23rd Latin American Conference on Informatics (CLEI), Costa Rica (2007)

  • Bonet, P., Lladó, C.M.: Importing PMIF models into PIPE2 using M2M transformation. In: Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering (ICPE). ACM, New York, pp. 245–246 (2012)

  • Bouma, H., Vogels, J., Aarts, O., Kruszynski, C., Wijn, R., Burghouts, G.: Behavioral profiling in CCTV cameras by combining multiple subtle suspicious observations of different surveillance operators. In: SPIE Defense, Security, and Sensing, International Society for Optics and Photonics, p. 87451A (2013)

  • Campos, J., Silva, M.: Structural techniques and performance bounds of stochastic Petri net models. Lect. Notes Comput. Sci. 609, 352–391 (1992)

    Article  MathSciNet  Google Scholar 

  • Campos, J., Silva, M.: Embedded product-form queueing networks and the improvement of performance bounds for Petri net systems. Perform. Eval. 18(1), 3–19 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  • Chiola, G., Anglano, C., Campos, J., Colom, J., Silva, M.: Operational analysis of timed Petri nets and application to the computation of performance bounds. In: Proceedings of the 5th International Workshop on Petri Nets and Performance Models (PNPM), IEEE Computer Society Press, Toulouse, pp. 128–137 (1993)

  • Delatour, J., de Lamotte, F.: ArgoPN: a CASE tool merging UML and Petri nets. In: Proceedings of the 3rd International Workshop on New Developments in Digital Libraries (NDDL) and the 1st International Workshop on Validation and Verification of Software for Enterprise Information Systems (VVEIS), pp. 94–102 (2003)

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

    Article  Google Scholar 

  • Esparza, J., Nielsen, M.: Decidability issues for Petri nets—a survey. Bull. EATCS 52, 244–262 (1994)

    MATH  Google Scholar 

  • Fecher, H., Schönborn, J., Kyas, M., Roever, W.P.: 29 New unclarities in the semantics of UML 2.0 state machines. In: Lau, K.K., Banach, R. (eds.) Formal Methods and Software Engineering. Lecture Notes in Computer Science, pp. 52–65. Springer, Berlin (2005)

    Google Scholar 

  • Florin, G., Natkin, S.: Necessary and sufficient ergodicity condition for open synchronized queueing networks. IEEE Trans. Softw. Eng. 15(4), 367–380 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  • Garcia-Valles, F., Colom, J.: Implicit places in net systems. In: Proceedings of the 8th International Workshop on Petri Nets and Performance Models, pp. 104–113 (1999)

  • Gillespie, D.: Markov Processes: An Introduction for Physical Scientists. Academic Press, New York (1992)

    MATH  Google Scholar 

  • Gillespie, D.T.: A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. J. Comput. Phys. 22(4), 403–434 (1976)

    Article  MathSciNet  Google Scholar 

  • Gillespie, D.T.: Stochastic simulation of chemical kinetics. Annu. Rev. Phys. Chem. 58, 35–55 (2007)

    Article  Google Scholar 

  • Gillespie, D.T.: Simulation methods in systems biology. In: Formal Methods for Computational Systems Biology, Lecture Notes in Computer Science, vol. 5016, Springer, Berlin, pp. 125–167 (2008)

  • Gómez-Martínez, E., Merseguer, J.: argospe: model-based software performance engineering. In: International Conference of Application and Theory of Petri Nets, pp. 401–410 (2006)

  • Hillah, L.M., Kindler, E., Kordon, F., Petrucci, L., Tréves, N.: A primer on the Petri net markup language and ISO/IEC 15909-2. Petri Net Newsl. 76, 9–28 (2009)

    Google Scholar 

  • JavaILP: Java interface to ILP solvers library. http://javailp.sourceforge.net/ (2013)

  • Koch, M., Parisi-Presicce, F.: UML specification of access control policies and their formal verification. Softw. Syst. Model. 5(4), 429–447 (2006)

    Article  Google Scholar 

  • Lagarde, F., Espinoza, H., Terrier, F., Gérard, S.: Improving UML profile design practices by leveraging conceptual domain models. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering, ACM, New York, ASE’07, pp. 445–448 (2007)

  • Liu, Z.: Performance bounds for stochastic timed Petri nets. In: Proceedings of the 16th ICATPN, Springer-Verlag, Berlin, pp. 316–334 (1995)

  • Lladó, C.M., Harrison, P.G.: A PMIF with Petri net building blocks. In: Proceedings of the 2nd ACM/SPEC International Conference on Performance Engineering (ICPE), ACM, New York, pp. 103–108 (2011)

  • López-Grao, J.P., Merseguer, J., Campos, J.: From UML activity diagrams to stochastic Petri nets: application to software performance engineering. In: Proceedings of the 4th International Workshop on Software and Performance (WOSP), ACM, New York, pp. 25–36 (2004)

  • Merseguer, J., Campos, J., Bernardi, S., Donatelli, S.: A compositional semantics for UML state machines aimed at performance evaluation. In: Proceedings of the 6th International Workshop on Discrete Event Systems (WODES), IEEE Computer Society, Washington, DC, WODES ’02, pp. 295–302 (2002)

  • Molloy, M.: Performance analysis using stochastic Petri nets. IEEE Trans. Comput. C–31(9), 913–917 (1982)

    Article  Google Scholar 

  • Murata, T.: Petri nets: properties, analysis and applications. In: Proceedings of the IEEE, vol. 77, pp. 541–580 (1989)

  • NIST: JAMA: A Java matrix package. http://math.nist.gov/javanumerics/jama/ (2012)

  • OMG: A UML profile for modeling and analysis of real time embedded systems (MARTE). Object Management Group, document formal/11-06-02 (2011a)

  • OMG: Unified modelling language: superstructure. Object Management Group, version 2.4, formal/11-08-05 (2011b)

  • Petriu, D., Woodside, C.: Performance analysis with UML. In: Lavagno, L., Martin, G., Selic, B. (eds.) UML for Real, pp. 221–240. Springer, Heidelberg (2003)

    Google Scholar 

  • Randimbivololona, F.: Orientations in verification engineering of avionics software. In: Informatics, Lecture Notes in Computer Science, vol. 2000. Springer, Berlin, pp. 131–137 (2001)

  • Rodríguez, R.J., Júlvez, J.: Accurate performance estimation for stochastic marked graphs by bottleneck regrowing. In: Proceedings of the 7th European Performance Engineering Workshop (EPEW), Lecture Notes in Computer Science, vol. 6342. Springer, Berlin, pp. 175–190 (2010)

  • Rodríguez, R.J., Merseguer, J., Bernardi, S.: Modelling and analysing resilience as a security issue within UML. In: Proceedings of the 2nd International Workshop on Software Engineering for Resilient Systems (SERENE). ACM, London, pp. 42–51 (2010)

  • Rodríguez, R.J., Júlvez, J., Merseguer, J.: PeabraiN: A PIPE extension for performance estimation and resource optimisation. In: Proceedings of the 12th International Conference on Application of Concurrency to System Designs (ACSD), IEEE, pp. 142–147 (2012)

  • Rodríguez, R.J., Júlvez, J., Merseguer, J.: On the performance estimation and resource optimisation in process Petri nets. IEEE Trans. Syst. Man Cybern. Syst. 43(6), 1385–1398 (2013)

    Article  Google Scholar 

  • Selic, B.: A systematic approach to domain-specific language design using UML. In: 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC), IEEE Computer Society, Santorini Island, pp. 2–9 (2007)

  • Silva, M., Colom, J.: On the computation of structural synchronic invariants in P/T nets. In: Rozenberg, G. (ed.) Advances in Petri Nets 1988, Lecture Notes in Computer Science, vol. 340, pp. 386–417. Springer, Berlin (1988)

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

    Article  Google Scholar 

  • The MathWorks: Matlab. http://www.mathworks.com/. Version R2010a (2010)

  • Tricas, F.: Deadlock analysis, prevention and avoidance in sequential resource allocation systems. PhD thesis, Dpto. de Informática e Ingeniería de Sistemas, Universidad de Zaragoza (2003)

  • Université de Montréal: Stochastic simulation in Java library. http://www.iro.umontreal.ca/~simardr/ssj/indexe.html (2014)

  • Woodside, M., Petriu, D.C., Petriu, D.B., Shen, H., Israr, T., Merseguer, J.: Performance by unified model analysis (PUMA). In: Proceedings of the 5th International Workshop on Software and Performance. ACM, New York, WOSP ’05, pp. 1–12 (2005)

Download references

Acknowledgments

The author would like to thank Iván Pamplona, an undergraduate student who helped in the implementation of PeabraiN enhancements. This work was partially supported by the EU Horizon 2020 research and innovation programme under Grant Agreement No. 644869 (DICE) and by the Spanish MICINN project CyCriSec (TIN2014-58457-R).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ricardo J. Rodríguez.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rodríguez, R.J. A Petri net tool for software performance estimation based on upper throughput bounds. Autom Softw Eng 24, 73–99 (2017). https://doi.org/10.1007/s10515-015-0186-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-015-0186-2

Keywords

Navigation