Ph.D. thesis is devoted to the development of methods and tools for visual programming of models of discrete-event systems, formalized in the form of a Petri- object model.
The purpose of scientific research is to increase the effectiveness of software tools for presenting complex models of systems for the purposes of simulation by reducing the complexity of model construction and increasing the speed of simulation algorithms, ease of perception of the model, reducing the number of errors when creating connections between model elements and reducing the time for model modification.
The first section provides an overview of existing software tools for systems modeling by stochastic Petri net and substantiates the development of a visual programming language. It was found that graphic editors do not solve a number of problems: the impossibility of adjusting the parameters of the model without adjusting its visual representation, the impossibility of replicating the same type of elements in a large number (since they will all occupy the visual space), the impossibility of replicating connections when reusing fragments of the Petri net, the impossibility setting the parameters of the elements without adjusting each individual parameter in a specially dedicated window.
The second section provides information on the theory of stochastic Petri nets and the main theoretical principles of Petri-object modeling. The formal description of the Petri-object model is developed by introducing the concepts of a connector of Petri-objects, a group of Petri-objects, and a collection of Petri-objects. The introduced concepts open up the possibility of replicating connections when constructing a Petri object model. However, the lack of a visual representation of the model makes the process of model development difficult due to the routine and error- prone operations of coding the relationships between elements.
The third section introduces the formal grammar of the Petri-object modeling language. The language's alphabet comprises visual graphic elements, and lexemes are formed by valid combinations of these elements. The syntax of the language is determined by derivation rules based on the formation rules of element triplets. The developed context-free grammar is confirmed to be unambiguous and reduced. The section includes an example of building an information system model using the language.
The fourth section describes the development of a translator for a visual programming language used in Petri-object models. The web application consists of a client-side translator for lexical and syntactic analysis, and a server-side translator for semantic analysis. Data transfer between the client and server is done using JSON format. The section also covers the interpretation of symbols in the TypeScript language for the Petri-object modeling library. Computation begins by converting the received JSON data into a PetriObjModel object, followed by simulating events over time using a simulation algorithm.
The fifth section contains the results of an experimental study of the model development process, modeling accuracy, and model computation speed.
The results obtained in the research contain scientific novelty. For the first time, a visual programming language for Petri-object models was developed, which allows to simplify the process of building models, to increase the clarity of perception of models and the performance time of simulation by organizing a two-level method of constructing models. Unlike existing solutions in the field of simulation, the visual programming language of Petri-object models provides a universal and flexible tool for constructing models of discrete-event systems, and the process of performing simulation does not depend on the user's computing resources.
The Petri-object model has been improved due to the introduction of the concept of a group of Petri-objects, a collection of Petri-objects, and a group of collections of Petri-objects, which, unlike the existing tools of presenting a simulation model, provide the opportunity to replicate Petri-objects with given parameter sets, to replicate collections of interconnected Petri-objects and to replicate relationships between a Petri-object and a group of Petri-objects, between a Petri-object and a group of collections of Petri-objects. Due to the replication of the same type of model fragments and the replication of connections, conditions for fast models construction with a large number of elements are created and the volume of their visual representation is significantly reduced.
For the first time, a client-server architecture is proposed among simulation software based on the Petri-object approach, the use of which allows you to use the resources of a remote server to conduct simulation to ensure stable execution time, reduce the cost of the infrastructure of computing resources among users and to organize shared access to the development of models.