Interpretation of business process model elements by BPMN-to-Service-Model transformations

The service model or UML elements that the transformation generates depends on the elements of the source process model and their characteristics.

XSD data types

The transformation does not transform the XSD data types into UML elements. All the referenced XSD data types in the process model are referenced as XSD visualizer objects in the generated UML model.

Generation of UML elements

If the BPMN model to transform does not contain implementation details such as service interfaces and task details, the transformation cannot generate a complete service model.

The following table lists how the transformation transforms business process model elements into UML elements.

BPMN process model element Generated UML element
Process
  • Service component, also called a participant component or service participant component, with the following characteristics:
    • Has the «Participant» stereotype applied
    • Is generated in the package that contains the BPMN definitions
    • Name is derived from the Process::name property
    • Contains an opaque behavior that describes the implementation
  • Owned «Link» comment

    The transformation sets the Comment::body property to the BPMN process URI (BPMN model resource URI#ProcessRef).

Process that references interfaces in another BPMN model
  • UML package with the same name as the referenced model
  • Corresponding UML interfaces are generated in this package
Process::supportedInterfaces property that references one or more BPMN interfaces
  • For each transformed BPMN interface, the transformation generates a «Service» port in the «Participant» component
    • The transformation adds each generated interface to the list of provided interfaces
Process::supportedInterfaces property that references one or more UML interfaces
  • For each referenced UML interface, the transformation generates a «Service» port in the «Participant» component
    • The transformation adds each generated interface to the list of provided interfaces
Interface
  • Interface generated in the package that is associated with the BPMN model name in the source model
    • The interface name is derived from the BPMN Interface::name property
Operations in an interface
  • UML operation is added to the corresponding UML interface
    • The operation name is derived from the name of the BPMN operation
ServiceTask::Operation property that references a BPMN operation
  • Port that has the following characteristics:
    • Has a default name of portn
    • Is generated in the «Participant» component of the associated interface, where the associated interface contains the operation
    • The generated UML interface, which is generated from the BPMN interface that contains the ServiceTask::Operation, is added to the list of required interfaces of the port
  • Class that defines a usage relationship to the generated interface. By default, the name of the generated class is Classn.
Intermediate throw event with a message event definition trigger whose MessageEventDefinition::Operation property references a BPMN operation
ServiceTask::Operation property that references a UML operation
  • Port that has the following characteristics:
    • Has a default name of portn
    • Is generated in the «Participant» component of the associated interface, where the associated interface contains the operation
    • The UML interface that contains the referenced operation is added to the list of required interfaces of the port
  • Class that defines a usage relationship to the generated interface. By default, the name of the generated class is Classn.
Intermediate throw event with a message event definition trigger whose MessageEventDefinition::operation property references a UML operation
Definitions
  • Package in the root package of the target model
    • The package name is derived from the name of the source model
Operation messages
  • If the data type listed in the message references a UML element, the transformation sets that UML element as the parameter type in the UML operation
  • If the data type listed in the message references an XSD element, the transformation generates a visual representation of that XSD element, and sets the parameter type to the visualized representation of the XSD element
    Note: The structure must have a valid item definition that contains a valid XSD OName
  • Input (Operation::inMessage) and output (Operation::outMessage) parameters in the corresponding UML interface. Parameter names are derived from the corresponding Message::name property in the source model

Feedback