Skip to content

feat(Languages): Stateful Processes and Mech directory - #754

Open
fmontesi wants to merge 9 commits into
mainfrom
fmontesi/mech
Open

feat(Languages): Stateful Processes and Mech directory#754
fmontesi wants to merge 9 commits into
mainfrom
fmontesi/mech

Conversation

@fmontesi

Copy link
Copy Markdown
Collaborator

This PR adds a first formalisation of Stateful Processes (for now without recursion), the textbook process calculus for reasoning about implementation of choreographies (syntactic descriptions of concurrent/distributed protocols). It includes both syntax and semantics of the calculus.

The semantics is split into symbolic (e.g., x := e; P evolves to P by performing a transition with label x := e) and concrete (which equips programs with memory and thus the same action would update variable x with the value computed from e).
One reason for this modularisation is future reuse: having a symbolic semantics is the basis to formulate extraction algorithms that infer the protocol executed by a network of process programs (choreography extraction in the literature). Another reason is that it is known to simplify some proofs of correctness for compilers from choreographies to processes, which is a future aim (see the README in Mech).

Choreographic languages will be part of future PRs.

@fmontesi
fmontesi requested a review from chenson2018 as a code owner July 29, 2026 11:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant