- "How useful have you found it?"
The application of Petri Nets to computer programming is very useful. I created “Net Elements and Annotations”, a method based on Petri Nets (Chionglo, 2014). I have been applying the method since 2014 to write JavaScript programs that use the Acrobat/JavaScript API for PDF form applications.
- “What did your FM training involve (e.g. a course, a book)?”
I “trained” on Petri Nets through self-study. I read the chapters on Petri Nets from the textbook “Petri Nets and Grafcet: Tools for Modelling Discrete Event Systems” (David and Alla, 1992). I have also been reading research papers on Petri Nets. After creating and documenting “Net Elements and Annotations” I practiced on applying the method for several weeks.
- “What FM tools do you use?”
I draw Petri Net diagrams using PowerPoint. I create the form view of annotations using Word. I create token games as PDF form applications using Acrobat and Notepad too. After adding the entries into the form the translation of these entries into JavaScript code is systematic. Thus it should be possible to automate the translation. If the “entries” were added to the graphics objects in PowerPoint then it should also be possible to systematically translate them into JavaScript code and to automate this translation as well. I also use a set of work-in-progress tools that performs these translations and for creating additional resources for creating PDF form applications (Chionglo, 2018; 2017).
- “What advantages in speed/quality has it given you compared to not using FM?”
I can write JavaScript programs using “Net Elements and Annotations” faster than I can write a JavaScript program without using “Net Elements and Annotations”. And for large programs I can stop coding and return to coding later (or much later) without wondering where to continue (Chionglo, 2019). In some cases I can write JavaScript programs using “Net Elements and Annotations” but cannot write the JavaScript programs without using “Net Elements and Annotations”. For example I could not have created non-recursive implementations of recursive functions without the use of “Net Elements and Annotations” (Chionglo, 2019b; 2018b; 2016). These are true with or without the work-in-progress tools.
- "What kind of software do you create with FM?"
I use “Net Elements and Annotations” to create JavaScript programs that use the Acrobat/JavaScript API for PDF form applications. I can also apply the method to create JavaScript programs for HTML documents and to create Arduino Sketches (Chionglo, 2019c; 2019d).
- "And if you don't directly use FM now, was it at least worth learning?" Not applicable.
References
Chionglo, J. F. (2019b). Computing the N-th Term of a Recursive Relation: Using a Non-Recursive Function – A Reply to a Question at Mathematics Stack Exchange. < https://www.academia.edu/38496025/Computing_the_N-th_Term_of_a_Recursive_Relation_Using_a_Non-Recursive_Function_A_Reply_to_a_Question_at_Mathematics_Stack_Exchange>.
Chionglo, J. F. (2019c). Flame Effect Control Logic, Simulation and Sketch: A Reply to a Request at the Arduino Community Forum. https://www.academia.edu/40342956/Flame_Effect_Control_Logic_Simulation_and_Sketch_A_Reply_to_a_Request_at_the_Arduino_Community_Forum.
Chionglo, J. F. (2019). How I Continue Coding an Application after a Long Break? Reply to “How do you know where you stopped in your codes after a 2-week break?” – Software Engineering Stack Exchange. https://www.academia.edu/39705042/How_I_Continue_Coding_an_Application_after_a_Long_Break_Reply_to_How_do_you_know_where_you_stopped_in_your_codes_after_a_2-week_break_Software_Engineering_Stack_Exchange.
Chionglo, J. F. (2019d). Show-and-Hide Control Logic: Inspired by a Question at Stack Overflow. < https://www.academia.edu/40283015/Show-and-Hide_Control_Logic_Inspired_by_a_Question_at_Stack_Overflow>.
Chionglo, J. F. (2018b). A Petri Net Model for the Factorial of a Number: And a Non-Recursive JavaScript Function to Compute It. <>.
Chionglo, J. F. (2018). Create Hyper Form™ - A Workflow in Progress: Update on the Net Programming Research. https://www.academia.edu/37697498/Create_Hyper_Form_-A_Workflow_in_Progress_Update_on_the_Net_Programming_Research.
Chionglo, J. F. (2017). Net Programming: A Research Proposal: For Developing PDF Form Applications with PowerPoint and Acrobat. https://www.academia.edu/33374809/Net_Programming_A_Research_Proposal_For_Developing_PDF_Form_Applications_with_PowerPoint_and_Acrobat..
Chionglo, J. F. (2016). A Petri Net Model for Computing the Fibonacci Number. https://www.academia.edu/31748108/A_Petri_Net_Model_for_Computing_the_Fibonacci_Number.
Chionglo, J. F. (2014). Net Elements and Annotations for Computer Programming: Computations and Interactions in PDF. https://www.academia.edu/26906314/Net_Elements_and_Annotations_for_Computer_Programming_Computations_and_Interactions_in_PDF.
David, R. and H. Alla. (1992). Petri Nets and Grafcet: Tools for Modeling Discrete-Event Systems. Upper Saddle, NJ: Prentice Hall.