ВИБІР ЗАСОБУ МОДЕЛЮВАННЯ ОБЧИСЛЮВАЛЬНИХ ПРОЦЕСІВ ДЛЯ ПІДВИЩЕННЯ ЯКОСТІ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
DOI:
https://doi.org/10.32782/tnv-tech.2023.4.9Ключові слова:
програмний продукт, автоматна модель, КА-технологія, SWITCH-технологія, мережа Петрі, уніфікована мова моделювання, огляд, аналіз, критерій вибору, виразна потужність, мова опису процесу моделювання, алгоритмізація, обчислювальний процес, метод проб та помилок, налагодження програми, сортування вставкамиАнотація
Актуальною проблемою у сфері IT є отримання програмних продуктів (ПП) належної якості. Важливу роль вирішенні цієї проблеми грають інструменти моделювання ПП. Найбільше поширення отримали такі інструменти: технології проектування ПП на основі автоматних моделей, побудованих на кінцевих автоматах (КА), мережі Петрі та уніфікована мова моделювання (UML). Метою даної є підвищення якості ПП за рахунок застосування найкращого зі згаданих інструментів на ранньому етапі проектування ПП. У роботі проводиться огляд та аналіз сучасних засобів (підходів, методів та інструментів), моделювання ПП з метою підвищення його якості, при цьому аналізуються 30 джерел за останні 25 років. Показується, що за ці роки сфера додатків цих інструментів розширилася, проте в теоретичному плані нового нічого не з'явилося. Згадані вище інструменти порівнюються між собою за критерієм найбільшої виразної потужності мови опису процесу моделювання. Показується, що найбільшою виразною потужністю мають мережі Петрі (МП). У той самий час нами пропонується використовувати МП на початку проектування ПП, тобто. на етапі алгоритмізації (розробки обчислювального процесу – ОП). Це дозволяє уникнути безлічі помилок, які усуваються на етапі налагодження програм тільки методом проб і помилок, що сильно подовжує процес налагодження. Для демонстрації можливостей розглянутих інструментів для кожного з них будується своя модель одного і того ж ОП сортування вставками.
Посилання
"ISO/IEC/IEEE International Standard – Systems and software engineering -- Software life cycle processes," in ISO/IEC/IEEE 12207:2017(E) First edition 2017-11, vol., no., pp.1-157, 15 Nov. 2017, doi: 10.1109/IEEESTD.2017.8100771.
Harel D. Modeling reactive systems with statecharts: The statemate approach. New York : McGraw-Hill, 1998. 258 p.
Shalyto A. Software automaton design: Algorithmization and programming of problems of logical control. Journal of Computer and Systems Sciences International. 2000.
Radford P. Petri Net Theory and the Modeling of Systems. The Computer Journal. 1982. Vol. 25, № 1. P. 129. URL: https://doi.org/10.1093/comjnl/25.1.129.
Booch G. The unified modeling language user guide. Second ed. Upper Saddle River, NJ : Addison-Wesley, 2005. 475 p.
Baranov S. Automata. Logic Synthesis for Control Automata. Boston, MA, 1994. P. 1–66. URL: https://doi.org/10.1007/978-1-4615-2692-6_1.
Simulation and Testing of Deterministic Finite Automata Machine / K. B. Vayadande et al. International Journal of Computer Sciences and Engineering. 2022. Vol. 10, no. 1. P. 13–17. URL: https://doi.org/10.26438/ijcse/v10i1.1317.
Alon N., Dewdney A. K., Ott T. J. Efficient simulation of finite automata by neural nets. Journal of the ACM (JACM). 1991. Vol. 38, № 2. P. 495–514. URL: https://doi.org/10.1145/103516.103523.
Holzer M., Kutrib M. Descriptional and computational complexity of finite automata–A survey. Information and Computation. 2011. Vol. 209, № 3. P. 456–470. URL: https://doi.org/10.1016/j.ic.2010.11.013.
Izakovič L. Using Finite-state Automata for Text Lexicons Building. Glottotheory. 2008. Vol. 1, № 1. URL: https://doi.org/10.1515/glot-2008-0003.
Sinya R., Matsuzaki K., Sassa M. Simultaneous Finite Automata: An Efficient Data-Parallel Model for Regular Expression Matching. 2013 42nd International Conference on Parallel Processing (ICPP), Lyon, France, 1–4 October 2013. 2013. URL: https://doi.org/10.1109/icpp.2013.31.
Introduction to Algorithms / V. J. Rayward-Smith et al. The Journal of the Operational Research Society. 1991. Vol. 42, no. 9. P. 816. URL: https://doi.org/10.2307/2583667.
Kristensen L. M., Simonsen K. I. F. Applications of Coloured Petri Nets for Functional Validation of Protocol Designs. Transactions on Petri Nets and Other Models of Concurrency VII. Berlin, Heidelberg, 2013. P. 56–115. URL: https://doi.org/10.1007/978-3-642-38143-0_3.
Valk R. Petri Nets as Token Objects. Application and Theory of Petri Nets 1998. Berlin, Heidelberg, 1998. P. 1–24. URL: https://doi.org/10.1007/3-540-69108-1_1.
David R., Alla H. Petri nets for modeling of dynamic systems. Automatica. 1994. Vol. 30, № 2. P. 175–202. URL: https://doi.org/10.1016/0005-1098(94)90024-8.
Nandanwar M. Formal Verification with Petri Nets. TU Kaiserslautern – Computer Science – Embedded Systems Group: Welcome! URL: https://es.cs.rptu.de/publications/datarsg/Nand22.pdf (date of access: 15.08.2023).
Lin C.-P., Dai H.-L. Applying Petri Nets on Project Management. Universal Journal of Mechanical Engineering. 2014. Vol. 2, № 8. P. 249–255. URL: https://doi.org/10.13189/ujme.2014.020801.
Kristensen L. M., Jørgensen J. B., Jensen K. Application of Coloured Petri Nets in System Development. SpringerLink. URL: https://link.springer.com/chapter/10.1007/978-3-540-27755-2_18.
Riera B. Identification of discrete event systems using ordinary Petri nets. Academia.edu – Share research. URL: https://www.academia.edu/ 64731436 /Identification_of_discrete_event_ systems_using_ordinary_Petri_nets.
Integrated formal verification of safety-critical software / N. Ge et al. International Journal on Software Tools for Technology Transfer. 2017. Vol. 20, no. 4. P. 423–440. URL: https://doi.org/10.1007/s10009-017-0475-0.
Petri net and rewriting logic based formal analysis of multi-agent based safety-critical systems / A. Boucherit et al. Multiagent and Grid Systems. 2020. Vol. 16, no. 1. P. 47–66. URL: https://doi.org/10.3233/mgs-200320.
Aliee F. S. A Comparison of Petri Net Based Approaches Used for Specifying the Executable Model of Software Architecture. ResearchGate. URL: https://www.researchgate.net/publication/221615992_A_Comparison_of_Petri_Net_Based_Approaches_Used_for_Specifying_the_Executable_Model_of_Software_Architecture.
Agarwal R., Tanniru M. A Petri-Net based approach for verifying the integrity of production systems. International Journal of Man-Machine Studies. 1992. Vol. 36, № 3. URL: https://doi.org/10.1016/0020-7373(92)90043-k.
Suprunenko O. O. COMBINED APPROACH TO SIMULATION MODELING OF THE DYNAMICS OF SOFTWARE SYSTEMS BASED ON INTERPRETATIONS OF PETRI NETS. KPI Science News. 2019. № 5-6. P. 43–53. URL: https://doi.org/10.20535/kpi-sn.2019.5-6.174596.
Sulaiman N., Syed Ahmad S. S., Ahmad S. Logical Approach: Consistency Rules between Activity Diagram and Class Diagram. International Journal on Advanced Science, Engineering and Information Technology. 2019. Vol. 9, № 2. P. 552. URL: https://doi.org/10.18517/ijaseit.9.1.7581.
Abdulsahib M. A methods of ensuring consistency between UML Diagrams. ResearchGate. URL: https://www.researchgate.net/publication/326901133_A_methods_of_ensuring_consistency_between_UML_Diagrams.
Khan A. H., Porres I. Consistency of UML class, object and statechart diagrams using ontology reasoners. Journal of Visual Languages & Computing. 2015. Vol. 26. P. 42–65. URL: https://doi.org/10.1016/j.jvlc.2014.11.006.
UML models consistency management: Guidelines for software quality manager / R. S. Bashir et al. International Journal of Information Management. 2016. Vol. 36, no. 6. P. 883–899. URL: https://doi.org/10.1016/j.ijinfomgt.2016.05.024.
UML Diagrams in Software Engineering Research: A Systematic Literature Review / H. Koç et al. Proceedings. 2021. Vol. 74, no. 1. P. 13. URL: https://doi.org/10.3390/proceedings2021074013.
A systematic identification of consistency rules for UML diagrams / D. Torre et al. Journal of Systems and Software. 2018. Vol. 144. P. 121–142. URL: https://doi.org/10.1016/j.jss.2018.06.029.
Costa V., Monteiro R. Detecting Semantic Equivalence in UML Class Diagrams. ResearchGate. URL: https://www.researchgate.net/publication/ 289465971_Detecting_semantic_equivalence_in_UML_class_diagrams.