Petri Meta-Compiler - A Recursive Approach to System Design and Development

Piotr Chrzastowski-Wachtel, Michal Dolezek, Pawel Greipner, Tomasz Wójcicki
2019 Applications and Theory of Petri Nets  
We propose a framework for the definition of Petri Net models in the Petri net approach. All the components: places, transitions, arcs are defined as Petri net objects. Assembled together they constitute a method to design business systems compositionally. Transitions are associated with a code, places contain data or are control places. Each entity (process) has a place, which serves as an interface to the external world (other processes). The approach is implemented in such a way that it is
more » ... ssible to compile the codes of the designed systems within one framework (the same in which the model is defined). The approach enjoys the bootstrap compilation, so the system can compile itself. We have developed a method to make it in 3 phases. The first phase defines objects, the second one makes the net structure and the third one generates the code of the system itself. The framework has been implemented and deployed in a few small and medium size internal business database projects. It provided great predictability of impact of changes and added flexibility to the system development. Characteristics of the resulting database structure with its immutable history of transactions seem compatible with blockchain concepts, thus we expect that such Petri Nets could become a convenient language for smart contracts. Basics Business processes, being quite complex and run by software, seldom run on reliable applications. To make application development manageable, the MVC approach separates three aspects of software -model, view and controller. When changes are made, the basic question is if the new environment is consistent with the old one. In MVC approach, the documentation serves as a tool for referencing and synchronizing the three aspects, but it is hard to maintain when changes happen often and sometimes it is confusing. Our approach synchronizes all the aspects of programming by using a common model for all of them. Such synchronization makes the approach more uniform. We gain a common language 110 PNSE'19 -Petri Nets and Software Engineering
dblp:conf/apn/Chrzastowski-Wachtel19 fatcat:rwr5azyairhe7jrfanqw23dy5q