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.
Similar content being viewed by others
Notes
Named “.solverselector.conf”, and located at the home folder of the user.
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)
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)
Bernardi, S., Merseguer, J., Petriu, D.: A dependability profile within MARTE. J. Softw. Syst. Model. 10(3), 313–336 (2011)
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)
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)
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)
Esparza, J., Nielsen, M.: Decidability issues for Petri nets—a survey. Bull. EATCS 52, 244–262 (1994)
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)
Florin, G., Natkin, S.: Necessary and sufficient ergodicity condition for open synchronized queueing networks. IEEE Trans. Softw. Eng. 15(4), 367–380 (1989)
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)
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)
Gillespie, D.T.: Stochastic simulation of chemical kinetics. Annu. Rev. Phys. Chem. 58, 35–55 (2007)
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)
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)
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)
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)
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)
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)
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)
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-015-0186-2