Simulation of Multithreaded Algorithms Using Petri-Object Models

  • Inna V. Stetsenko
  • Oleksandra Dyfuchyna
Conference paper
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 754)


Multithreaded programming used for the development of faster algorithms is a very effective method. However, the designing, testing and debugging of nontrivial programs are not easy and need to be improved. Stochastic behavior of threads entails their conflicts and in some cases the unpredictable result of the program. Stochastic Petri nets are widely used for the investigation of concurrent processes in many areas: manufacturing, computer systems, workflow management. In this research stochastic multichannel Petri net is considered as a tool for multithreaded programs modeling. The correspondence between main instructions of multithreaded program and fragments of stochastic Petri net is discovered. Petri-object model’s formalization and software are used for complicated models’ constructions. This approach allows duplicating objects with the same dynamics and aggregating them in model. Models that present the concurrent functioning of multithreaded Java programs are considered. Model’s verification indicates its accuracy. The results of experimental research of these models show a strong impact the values of time delay.


Multithreaded programming Stochastic Petri net Simulation algorithm 


  1. 1.
    Lea, D.: Concurrent Programming in Java: Design Principles and Patterns, 2nd edn. Addison Wesley, Boston (1999)zbMATHGoogle Scholar
  2. 2.
    Goetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D., Lea, D.: Java Concurrency in Practice. Addison-Wesley, Boston (2006)Google Scholar
  3. 3.
    EECS at UC Berkeley: The Problem with Threads (E.A.Lee).–1.html. Accessed 24 Nov 2017
  4. 4.
    Law, A.: Simulation Modeling and Analysis. McGraw-Hill International, New York (2014)Google Scholar
  5. 5.
    Haas, P.: Stochastic Petri Nets: Modelling, Stability, Simulation. Springer, New York (2002)CrossRefGoogle Scholar
  6. 6.
    Peterson, J.: Petri Nets Theory and the Modelling of Systems. Prentice-Hall, New Jersey (1981)zbMATHGoogle Scholar
  7. 7.
    Mahdi, K., Elmansouri, R., Chaoui, A.: On transforming business patterns to labeled petri nets using graph grammars. Int. J. Inf. Technol. Comput. Sci. (IJITCS) 5(2), 15–27 (2013). Scholar
  8. 8.
    Zhu, L., Wang, W.: UML diagrams to hierarchical colored petri nets: an automatic software performance tool. Procedia Eng. 29, 2687–2692 (2012)CrossRefGoogle Scholar
  9. 9.
    Kavi, K., Moshtaghi, A., Chen, D.: Modeling multithreaded applications using petri nets. Int. J. Parallel Prog. 30(5), 353–371 (2002)CrossRefGoogle Scholar
  10. 10.
    Katayama, T., Kitano, S., Kita, Y., Yamaba, H., Okazaki, N.: Proposal of a supporting method for debugging to reproduce java multi-threaded programs by petri-net. J. Robot. Netw. Artif. 1(3), 207–211 (2014)CrossRefGoogle Scholar
  11. 11.
    Rauber, T., Runger, G.: Parallel Programming: for Multicore and Clusters Systems, vol. 2. Springer, Heidelberg (2012)zbMATHGoogle Scholar
  12. 12.
    Holub, A.: Taming Java Threads. Apress, Berkeley (2000)CrossRefGoogle Scholar
  13. 13.
    Von Praun, C.: Detecting synchronization defects in multi-threaded object-oriented programs, Ph.D thesis, Swiss Federal Institute of Technology, Zurich (2004)Google Scholar
  14. 14.
    Liao, H., Wang, Y., Cho, H., Stanley, J., Kelly, T., Lafortune, S., Mahlke, S., Reveliotis, S.: Concurrency bugs in multithreaded software: modeling and analyzing using petri nets. Discrete Event Dyn. Syst. 23(2), 157–195 (2013)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Xiang, D., Liu, G., Yan, C., Jiang, C.: Detecting data inconsistency based on the unfolding technique of petri nets. IEEE Trans. Industr. Inf. 13(6), 2995–3005 (2017)CrossRefGoogle Scholar
  16. 16.
    Stetsenko, I.V.: State equations of stochastic timed petri nets with informational relations. Cybern. Syst. Anal. 48(5), 784–797 (2012)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Murata, T.: Petri nets: properties, analysis and applications. Proc. IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  18. 18.
    Zaitsev, D., Sleptsov, A.: State equations and equivalent transformations of timed petri nets. Cybern. Syst. Anal. 33(5), 659–672 (1997)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Stetsenko, I.V.: Systems formal description in the form of petri-object models. Visnyk NTUU “KPI” Inf. Oper. Comput. Sci. 53, 74–81 (2011)Google Scholar
  20. 20.
    Stetsenko, I.V., Dorosh, V., Dyfuchyn, A.: Petri-object simulation: software package and complexity. In: The 8th IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems: Technology and Applications (IDAACS 2015), pp. 381–385. IEEE, Piscataway (2015)Google Scholar
  21. 21.
    The Java Tutorials. Lesson: Concurrency. Accessed 24 Nov 2017
  22. 22.
    Pujari, S., Mukhopadhyay, S.: Petri net: a tool for modeling and analyze multi-agent oriented systems. Int. J. Intell. Syst. Appl. (IJISA) 4(10), 103–112 (2012)Google Scholar
  23. 23.
    Singh, R.: An Optimized task duplication based scheduling in parallel system. Int. J. Intel. Syst. Appl. 8(8), 26–37 (2016). Scholar
  24. 24.
    Sharma, K., Girotra, S.: Parallel bat algorithm using mapreduce model. Int. J. Inf. Technol. Comput. Sci. (IJITCS) 9(11), 72–78 (2017). Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Igor Sikorsky Kyiv Polytechnic InstituteKievUkraine

Personalised recommendations