Abstract

I show that any finite-state shared-memory concurrent program P can be transformed into triple normal form: all variables are shared between exactly three processes, and the guards on actions are conjunctions of conditions over this triple-shared state. My result is constructive, since the transformation that I present is syntactic, and is easily implemented.If (1) action guards are in disjunctive normal form, or are short, i.e., of size logarithmic in the size of P, and (2) the number of shared variables is logarithmic in the size of P, then the triple normal form program has size polynomial in the size of P, and the transformation is computable in polynomial time.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call