The Model File Format

Process models are stored in the XML Process Definition Language (XPDL) format of the Workflow Management Coalition (WfMC). This format is uniformly used in the whole Stardust Process Engine. Momentarily also the native Stardust file format is supported for backward compatibility. The Stardust Process Workbench is capable of loading and saving models in both formats. The models can be converted between these formats by saving them with extension .xpdl or .cwm respectively. You find a description of both file formats in the Stardust Schema Documentation.

All model elements in the sense of chapter Workflow Basics are represented as XML elements with a descriptive name. A process definition is e.g. defined in an XML element processDefinition. The model itself is considered a model element ,too and appears as root element model of the XML representation.

All model elements viewed as XML share some common features as described in the following table:

Property XML Representation Comment

OID

oid attribute

Unique inside the model. Automatically generated.

ID

id attribute

Normally unique inside the parent scope.

Name

name attribute

A human readable name.

Predefined

predefined attribute

Marks the element as predefined. Can't be edited in the Process Workbench.

Description

description sub element

An optional human readable description of the model element.

Dynamic Attribute

attribute sub element

An arbitrary dynamic attribute. Used for tool specific information or information for pluggable types.

Please refer to the Stardust Schema Documentation for details on the standard Stardust formats.

Editing Stardust XPDL Models with External Tools

In general models produced or modified by the Stardust Process Platform modeler can be edited with other tools that supports XPDL 1.0 standard. However, the Stardust modeler is maintaining specific information for most of the model elements in an ExtendedAttribute with the name "CarnotExt".

In certain cases, these elements may refer to standard identifiers. For example the diagram information is stored exclusively in the extended attribute, however it has references to workflow objects defined in the standard XPDL part.

A concrete example is the carnot:Symbol (Kind="ACTIVITY"). This symbol has a live reference to the actual activity, and namely the field ModelElement contains the Id of the activity that it refers to. Similarly affected are carnot:Connection (Kind="TRANSITION") that refers a transition as well as the carnot:Symbols with the kind "DATA", "ROLE", "APPLICATION" or "PROCESS".

When modifying the Id of a workflow element or deleting the element that is referenced by such a diagram symbol, please take care to synchronize the respective reference (attribute "ModelElement") in the carnot:Symbol or carnot:Connection. If such synchronization is not performed then dangling references may result or references can point to an element of a different type. In the latter case, the Stardust modeler will no longer be able to load the model due to ClassCastExceptions.