# Master's Thesis siiky 2023/10/05 2024/01/26 2024/01/26 whitepaper,petri_nets,distributed,programming I'll use this page to aggregate notes, links, papers, books, &c to be used for my Master's thesis. ## Reading material => petri_nets.gmi Generic notes on Petri nets => wp.statebox.mathematical_specification_statebox_language.gmi My entrypoint into Petri nets => wp.statebox.computational_petri_nets.gmi First mention I read of "compiling" Petri nets to "executable code" => book.wolfgang_reisig.understanding_petri_nets.gmi Modeling with Petri nets => v.jorgen_brandt.services_as_petri_nets.gmi Programming with Petri nets in Erlang (talk) => wp.jorgen_brandt.modeling_erlang_processes_petri_nets.gmi Programming with Petri nets in Erlang (whitepaper) => wp.zhenhua_yu.petri_net_semantics_of_pi-calculus.gmi π-calculus is not so great => wp.marian_iordache.petri_nets_and_programming-survey.gmi Survey of Petri nets usage in programming; not very interesting => wp.bill_lin.software_synthesis_process-based_concurrent_programs.gmi [picasso] Translation of Petri nets into "regular" C/Java code (no source available) => wp.humberto_avila.sparrow.gmi Join-pattern language as Elixir DSL (interesting, but not relevant?) => wp.dmitry_zaitsev.paradigm_computations_petri_nets.gmi Sounds very relevant and has many possibly relevant references; but language is a bit borked, like automatic machine translation => wp.david_gelernter.generative_communication_in_linda.gmi => wp.eike_best.petri_net_distributability.gmi How to distribute transitions across nodes Fair queuing of transition firings could be achieved by a priority queue ordered by the number of firings of each transition (aka Parikh vector?). See also §"Static scheduling" from [picasso] to avoid a "runtime" that dynamically schedules transitions to fire. ## Possible leads => https://dx.doi.org/10.1145/762488.762489 Stephen A. Edwards, "Tutorial: Compiling concurrent languages for sequential processors" => https://dx.doi.org/10.1145/196244.196272 Gjalt G. de Jong, Bill Lin, "A Communicating Petri Net Model for the Design of Concurrent Asynchronous Modules" => https://blog.acolyer.org/2015/02/17/generative-communication-in-linda/ Adrian Colyer, "Generative Communication in Linda" (blog post) => https://doi.org/10.1007/978-3-662-44584-6_3 [noaccess] Deterministic Negotiations: Concurrency for Free => https://doi.org/10.1007/978-3-642-38143-0_3 [noaccess] Applications of Coloured Petri Nets for Functional Validation of Protocol Designs => https://gres.uninova.pt/pn4tt2023/ International Workshop on Petri nets for Twin Transition => https://ceur-ws.org/Vol-3424/ Joint Proceedings of Algorithms & Theories for the Analysis of Event Data 2023 and the International Workshop on Petri Nets for Twin Transition 2023 => https://petrinets2023.deec.fct.unl.pt/index.php/tool-exhibition/ Petri Nets 2023 Tool Exhibition => https://www.fernuni-hagen.de/ilovepetrinets I ❤ Petri Nets => https://arxiv.org/abs/2202.01830 Modularization, Composition, and Hierarchization of Petri Nets with Heraklit => http://doi.org/10.4249/scholarpedia.6477 Scholarpedia, "Petri net" ### Statecharts => https://www.sciencedirect.com/science/article/pii/0167642387900359 => https://github.com/statecharts/xstate-viz => https://github.com/statelyai/xstate-viz => https://github.com/statelyai/xstate => https://xstate.js.org/docs/ => https://stately.ai/docs => https://stately.ai/registry/new => https://statecharts.dev/what-is-a-statechart.html