Animating ebXML Transactions with a Workflow Engine

  • Rik Eshuis
  • Pierre Brimont
  • Eric Dubois
  • Bertrand Grégoire
  • Sophie Ramel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2888)


ebXML is becoming the new international standard for the specification and deployment of complex B2B transactions over the internet. ebXML transactions are inherently distributed, involving many actors exchanging XML messages with each other according to complex flows and rules. This complexity hampers validation of the correctness of a modelled business transaction by business experts. To alleviate this problem, we have developed an animator to support the cooperative validation of ebXML transactions by business experts. The animator is internet-based, supporting distributed animation of an ebXML transaction. The animator automatically checks business rules on the messages exchanged during animation. Heart of the animator is a workflow engine that can read workflow descriptions in XPDL. In this paper, we show how the animator is automatically configured from the UML models describing the ebXML transaction. The main UML models used are class diagrams to model messages and an activity diagram to model the global flow of the messages that are exchanged by the actors. Class diagrams are annotated with business rules. The UML activity diagram maps into XPDL code for the workflow engine. The class diagrams map into XML Schemas that are used by the animator for receiving, checking and sending messages. The mapping algorithms have been implemented as plugins in a commercial UML-based CASE tool. Throughout the paper, we illustrate the whole approach on a real-life example.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Aalst, W., ter Hofstede, A., Kiepuszewksi, B., Barros, A.: Workflow patterns. Distributed and Parallel Databases 14(3), 5–51 (2003)CrossRefGoogle Scholar
  2. 2.
    Bastos, R., Ruiz, D.: Extending UML activity diagram for workflow modeling in production systems. In: Sprague Jr., R.H. (ed.) Proc. 35th Annual Hawaii Intern. Conference on System Sciences (HICSS-35), IEEE Computer Society, Los Alamitos (2002)Google Scholar
  3. 3.
    Carlson, D.: Modeling XML applications with UML. Addison Wesley, Reading (2001)Google Scholar
  4. 4.
  5. 5.
    Di Nitto, E., Lavazza, L., Schiavoni, M., Tracanella, E., Trombetta, M.: Deriving executable process descriptions from UML. In: Proc. 24th International Conference on Software Engineering (ICSE 2002), pp. 155–165. ACM Press, New York (2002)CrossRefGoogle Scholar
  6. 6.
    Eshuis, R., Brimont, P., Dubois, E., Grégoire, B., Ramel, S.: Efficient: a tool set for supporting the modelling and validation of ebXML transactions (poster paper). In: Proc. ESEC/FSE 2003 (2003)Google Scholar
  7. 7.
    Eshuis, R., Wieringa, R.: Verification support for workflow design with UML activity graphs. In: Proc. 24th Intern. Conference on Software Engineering (ICSE 2002), pp. 166–176. ACM Press, New York (2002)CrossRefGoogle Scholar
  8. 8.
    Grau, A., Kowsari, M.: A validation system for object oriented specifications of information systems. In: Proc. of the First East-European Symposium on Advances in Databases and Information Systems (ADBIS 1997) Vol. 1: Regular Papers, pp. 249–256. Nevsky Dialect (1997)Google Scholar
  9. 9.
    Harel, D., Lachover, H., Naamad, A., Pnueli, A., Politi, M., Sherman, R., Shtull- Trauring, A., Trakhtenbrot, M.: STATEMATE: A working environment for the development of complex reactive systems. IEEE Transactions on Software Engineering 16(4), 403–414 (1990)CrossRefGoogle Scholar
  10. 10.
    Heymans, P., Dubois, E.: Scenario-based techniques for supporting the elaboration and the validation of formal requirements. Requirements Engineering Journal 3(4), 202–208 (1998)CrossRefGoogle Scholar
  11. 11.
    Huemer, C.: Defining electronic data interchange transactions with UML. In: Sprague Jr., R.H. (ed.) Proc. 34th Annual Hawaii International Conference on System Sciences (HICSS-34), IEEE Computer Society, Los Alamitos (2001)Google Scholar
  12. 12.
    I-Logix, Inc. Rhapsody, URL:
  13. 13.
    Jäger, D., Schleicher, A., Westfechtel, B.: Using UML for software process modeling. In: Nierstrasz, O., Lemoine, M. (eds.) ESEC 1999 and ESEC-FSE 1999. LNCS, vol. 1687, pp. 91–108. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  14. 14.
    Meier, W.: eXist: An open source native XML database. In: Chaudhri, A.B., Jeckle, M., Rahm, E., Unland, R. (eds.) NODe-WS 2002. LNCS, vol. 2593, pp. 169–183. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  15. 15.
    MIT process handbook, URL:
  16. 16.
    Nentwich, C., Capra, L., Emmerich, W., Finkelstein, A.: xlinkit: a Consistency Checking and Smart Link Generation Service. ACM Transactions on Internet Technology 2(2), 151–185 (2002), CrossRefGoogle Scholar
  17. 17.
    No Magic, Inc. MagicDraw, URL:
  18. 18.
    Object Management Group. OMG UML specification v. 1.4 (2001), formal/01-09- 67, URL:
  19. 19.
    Object Management Group. OMG-XML metadata interchange (XMI) specification, v1.2 (2002), formal/02-01-01, URL:
  20. 20.
    Object Management Group. UML 2.0 Superstructure Specification (2003), ptc/03- 08-02, URL:
  21. 21.
    Rational. Rational Rose Real Time, URL:
  22. 22.
    Siddiqi, J., Morrey, I., Roast, C., Ozcan, M.: Towards quality requirements via animated formal specifications. Annals of Software Engineering 3, 131–155 (1997)CrossRefGoogle Scholar
  23. 23.
    SWIFT. swiftML design rules – technical specification (2001), URL:
  24. 24.
  25. 25.
    W3C. W3C XML Schema, URL:
  26. 26.
    W3C. XForms 1.0, URL:
  27. 27.
    Workflow Management Coalition. Workflow process definition interface – XML process definition language, WFMC-TC-1025 (2002), URL:

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Rik Eshuis
    • 1
  • Pierre Brimont
    • 1
  • Eric Dubois
    • 1
  • Bertrand Grégoire
    • 1
  • Sophie Ramel
    • 1
  1. 1.Centre de Recherche Public Henri TudorLuxembourg–KirchbergLuxembourg

Personalised recommendations