An Overview of Functional Nets

Martin Odersky · 2000

Functional nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They have their theoretical foundation in Join calculus. This paper gives an overview of functional nets as a kernel programming language, it presents an object-based version of Join calculus, and it shows how the two relate. Over the last decades an operational view of program execution based on rewriting has become widespread. In this view, a program is seen as a term in some calculus, and program execution is modeled by stepwise rewriting of the term according to the rules of the calculus. The operational semantics still has to be complemented with a logic for program verification and a collection of laws of programming. This view is exemplified in functional programming [Bac78, Hud89], in modern theories of objects [AC96], as well as in concurrent systems based on message passing such as CSP [Hoa85], CCS [Mil80] or #-calculus [MPW92]. Ideally, the ter...

Read the paper · More papers on PaperTik