SMAWL: A SMAll Workflow Language Based on CCS
Christian Stefansen
Department of Computer Science, University of Copenhagen (DIKU)
Universitetsparken 1, 2100 Copenhagen Ø, Denmark
Abstract This paper provides a overview of SMAWL, a SMAll Workflow Lan-
guage based on CCS (Calculus of Communicating Systems). There has been a
prolonged debate in the workflow community about the relative suitability of
Petri nets versus π-calculus as a formal foundation for workflow languages. Here
we demonstrate how to build a workflow language based on CCS (a predecessor
of π-calculus). To facilitate comparison with other approaches SMAWL is de-
signed to be able to express the same 20 patterns that originally led to the design
of the Petri net-based workflow language YAWL by van der Aalst and ter Hofst-
ede. After an initial example of a SMAWL program, some design considerata are
discussed, and the constructs of the language are presented along with excerpts
of the compositional source-level translation to CCS.
1 Introduction
There has been a long debate in the workflow community about the relative merits
of different formalisms – most notably π-calculus [2] and Petri nets – for workflow
modeling [5,8]. Proponents of the π-calculus claim that the presence of mobility or,
more specifically, channel-passing, makes it the more suitable choice. Proponents of
Petri nets have pointed out that contrary to π-calculus, Petri nets have a standardized
and rigorous graphical notation readily available.
In [6] van der Aalst and ter Hofstede identified 20 common workflow patterns,
surveyed current workflow systems with respect to these, and presented a Petri net-
based workflow language, YAWL, that is capable of expressing all 20 patterns. In the
same vein SMAWL is designed with this benchmark in mind, but based on CCS. Since
it is always desirable to keep the formal foundation as simple as possible, and since the
language design did not require the notion of mobility found in π-calculus, SMAWL
is based on CCS (Calculus of Communicating Systems) rather than π-calculus. Here
“based on CCS” means translatable to CCS using only source-code transformations.
The 20 workflow patterns do not deal with data flow. This makes the patterns easier
to work with and forces a strong separation between control flow and data flow. By
following this strategy and parameterizing over the data-flow language, SMAWL avoids
being tied in, but may be used with any (sensible) data-flow language.
1.1 Why Consider CCS?
CCS and π-calculus have been studied extensively for years and have sound mathe-
matical foundations. There has been a wealth of practical applications in programming
57
Proceedings of the CAiSE'05 Forum - O. Belo, J. Eder, J. Falcão e Cunha, O. Pastor (Eds.)
© Faculdade de Engenharia da Universidade do Porto, Portugal 2005 - ISBN 972-752-078-2