Translating Colored Control Flow Nets into Readable Java via Annotated Java Workflow Nets

In this paper, we present a method for developing Java applications from Colored Control Flow Nets (CCFNs), which is a special kind of Colored Petri Nets (CPNs) that we introduce. CCFN makes an explicit distinction between the representation of: The system, the environment of the system, and the interface between the system and the environment. Our translation maps CCFNs into Annotated Java Workflow Nets (AJWNs) as an intermediate step, and these AJWNs are finally mapped to Java. CCFN is intended to enforce the modeler to describe the system in an imperative manner which makes the subsequent translation to Java easier to define. The translation to Java preserves data dependencies and control-flow aspects of the source CCFN. This paper contributes to the model-driven software development paradigm, by showing how to model a system, environment, and their interface, as a CCFN and presenting a fully automatic translation of CCFNs to readable Java code.

[1]  João M. Fernandes,et al.  Requirements Engineering for Reactive Systems: Coloured Petri Nets for an Elevator Controller , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[2]  Kees M. van Hee,et al.  Workflow Management: Models, Methods, and Systems , 2002, Cooperative information systems.

[3]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[4]  O. Ribeiro,et al.  Designing Tool Support for Translating Use Cases and UML 2.0 Sequence Diagrams into a Coloured Petri Net , 2007, Sixth International Workshop on Scenarios and State Machines (SCESM'07: ICSE Workshops 2007).

[5]  K. Mortensen Automatic Code Generation from Coloured Petri Nets for an Access Control System , 1999 .

[6]  van der Wmp Wil Aalst,et al.  From task descriptions via coloured Petri Nets towards an implementation of a new electronic patient record , 2006 .

[7]  Jana Koehler,et al.  Compiling Process Graphs into Executable Code , 2004, GPCE.

[8]  Wil M. P. van der Aalst,et al.  WorkflowNet2BPEL4WS: A Tool for Translating Unstructured Workflow Processes to Readable BPEL , 2006, OTM Conferences.

[9]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[10]  Wil M. P. van der Aalst,et al.  Business Process Management Demystified: A Tutorial on Models, Systems and Standards for Workflow Management , 2003, Lectures on Concurrency and Petri Nets.

[11]  Wil M. P. van der Aalst,et al.  Let's Go All the Way: From Requirements Via Colored Workflow Nets to a BPEL Implementation of a New Bank System , 2005, OTM Conferences.

[12]  Wil M. P. van der Aalst,et al.  Verification of Workflow Nets , 1997, ICATPN.

[13]  Wil M. P. van der Aalst,et al.  The Application of Petri Nets to Workflow Management , 1998, J. Circuits Syst. Comput..

[14]  Wil M. P. van der Aalst,et al.  From task descriptions via colored Petri nets towards an implementation of a new electronic patient record workflow system , 2007, International Journal on Software Tools for Technology Transfer.

[15]  R. J. Wieringa Design Methods for Software Systems: YOURDON, Statemate and Uml , 2002 .

[16]  Zahira Ammarguellat,et al.  A Control-Flow Normalization Algorithm and Its Complexity , 1992, IEEE Trans. Software Eng..

[17]  M P van der AalstWil,et al.  Translating unstructured workflow processes to readable BPEL , 2008 .

[18]  Stephan Philippi,et al.  Automatic code generation from high-level Petri-Nets for model driven systems engineering , 2006, J. Syst. Softw..

[19]  Simon Tjell Distinguishing Environment and System in Coloured Petri Net Models of Reactive Systems , 2007, 2007 International Symposium on Industrial Embedded Systems.

[20]  Wil M. P. van der Aalst,et al.  Translating unstructured workflow processes to readable BPEL: Theory and implementation , 2008, Inf. Softw. Technol..