skip to main content
10.1145/3239332.3242767acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Modeling Erlang processes as Petri nets

Published: 29 September 2018 Publication History

Abstract

Distributed systems are more important in systems design than ever. Partitioning systems into independent, distributed components has many advantages but also brings about design challenges. The OTP framework addresses such challenges by providing process templates that separate application-dependent from application-specific logic. This way the OTP framework hosts a variety of modeling techniques, e.g., finite state machines.
Petri nets are a modeling technique especially suited for distributed systems. We introduce gen_pnet, a behavior for designing Erlang processes as Petri nets. We give a short introduction to Petri net semantics and demonstrate how Erlang applications can be modeled as Petri nets. Furthermore, we discuss two Erlang applications modeled and implemented as Petri nets. For both applications we introduce a Petri net model and discuss design challenges.

References

[1]
Jörgen Brandt, Marc Bux, and Ulf Leser. 2015. A functional language for large scale scientific data analysis. In EDBT/ICDT 2015 Joint Conference. 7.
[2]
Jörgen Brandt, Wolfgang Reisig, and Ulf Leser. 2017. Computation semantics of the functional scientific workflow language Cuneiform. Journal of Functional Programming 27 (2017).
[3]
Nicola Dragoni, Saverio Giallorenzo, Alberto Lluch Lafuente, Manuel Mazzara, Fabrizio Montesi, Ruslan Mustafin, and Larisa Safina. 2017. Microservices: Yesterday, Today, and Tomorrow. Springer
[4]
Kristian Leth Espensen, Mads Keblov Kjeldsen, Lars Michael Kristensen, and Michael Westergaard. 2009. Towards Automatic Codegeneration from Process-partitioned Coloured Petri Nets. In Proc. of 10th CPN Workshop. 41–60.
[5]
H. J. Genrich, K. Lautenbach, and P. S. Thiagarajan. 1980. Elements of general net theory. In Net Theory and Applications, Wilfried Brauer (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 21–163.
[6]
Monika Heiner, David Gilbert, and Robin Donaldson. 2008. Petri Nets for Systems and Synthetic Biology. In Formal Methods for Computational Systems Biology, Marco Bernardo, Pierpaolo Degano, and Gianluigi Zavattaro (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 215–264.
[7]
Lars Michael Kristensen and Michael Westergaard. 2010. Automatic Structure-Based Code Generation from Coloured Petri Nets: A Proof of Concept. In Formal Methods for Industrial Critical Systems, Stefan Kowalewski and Marco Roveri (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 215–230.
[8]
R. Perrey and M. Lycett. 2003. Service-oriented architecture. In 2003 Symposium on Applications and the Internet Workshops, 2003. Proceedings. 116–119.
[9]
Anne Vinter Ratzer, Lisa Wells, Henry Michael Lassen, Mads Laursen, Jacob Frank Qvortrup, Martin Stig Stissing, Michael Westergaard, Søren Christensen, and Kurt Jensen. 2003. CPN Tools for Editing, Simulating, and Analysing Coloured Petri Nets. In Applications and Theory of Petri Nets 2003, Wil M. P. van der Aalst and Eike Best (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 450–462.
[10]
M. Raynal. {n. d.}. Algorithms for mutual exclusion. ({n. d.}).
[11]
Claus Reinke. 2000. Haskell-Coloured Petri Nets. In Implementation of Functional Languages, Pieter Koopman and Chris Clack (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 165–180.
[12]
Wolfgang Reisig. 2013. Understanding petri nets: modeling techniques, analysis methods, case studies. Springer.
[13]
Seved Torstendahl. 1997. Open telecom platform. Ericsson Review(English Edition) 74, 1 (1997), 14–23.

Cited By

View all
  • (2024)Enabling Multi-Layer Threat Analysis in Dynamic Cloud EnvironmentsIEEE Transactions on Cloud Computing10.1109/TCC.2024.336573612:1(319-336)Online publication date: Jan-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Erlang 2018: Proceedings of the 17th ACM SIGPLAN International Workshop on Erlang
September 2018
70 pages
ISBN:9781450358248
DOI:10.1145/3239332
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 29 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. OTP behavior
  2. Petri nets
  3. distributed systems

Qualifiers

  • Research-article

Conference

ICFP '18
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Enabling Multi-Layer Threat Analysis in Dynamic Cloud EnvironmentsIEEE Transactions on Cloud Computing10.1109/TCC.2024.336573612:1(319-336)Online publication date: Jan-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media