Aspect-Oriented Support for Workflow Languages
Advisor(s): Ragnhild Van Der Straeten, Mathieu Braem, Wim Vanderperren
Promotor: Viviane Jonckers
SUBJECT
Workflow is the operational aspect of a work procedure. A workflow includes different perspectives: structuring of the tasks, who performs the tasks, flow of the tasks, synchronisation of the tasks, information needed by tasks, how information flows. Despite the efforts of the Workflow Management Coalition (WfMC) [1] workflow management systems use a variety of languages and concepts based on different paradigms. Currently there is a lack of consensus of what constitutes a workflow specification. A general understanding on the concepts and the capabilities of a workflow language is missing.
Workflow languages such as BPEL4WS [2] and WS-CDL [3] have already been well accepted in the web services community. These workflow languages are used in the web service community to compose several web services. However, we identify several problems with current practice web service workflow languages. There is insufficient support for the modularization of crosscutting concerns [4]. There is insufficient or no support for dynamic adaptation of web service compositions.
Aspect-Oriented Programming (AOP)[4, 5] is a recent software programming paradigm that aims at providing a better separation of concerns. At its root is the observation that some concerns cannot be cleanly modularized using traditional abstraction mechanisms such as class hierarchies. These so-called crosscutting concerns will therefore inevitably appear scattered across different modules of the system, making them difficult to comprehend and maintain. Typical examples of such concerns are tracing, synchronization and transaction management.
In order to enable a clean modularization of crosscutting concerns, AOP techniques such as AspectJ [6] or JAsCo [7] introduce the concept of an aspect, in addition to the use of regular classes. An aspect defines a set of join points in the target application where advices alter the regular execution. The set of joint points is declaratively specified through a pointcut. The aspect logic is then automatically woven into the target application.
Crosscutting concerns also appear in workflows. Examples in the context of web services are billing, policy and federated identity management. Current workflow language do not have any explicit support to capture these crosscutting concerns.
Objectives of the Apprenticeship and Thesis
Developing a workflow language model that improves over current state-of-the-art and is general enough to capture different perspectives recognised in workflows and particularly crosscutting concerns. Concretely, the following items are identified:
- Identify a suitable model to represent general workflow concepts. For this part of the apprenticeship/thesis, cooperation with the student having chosen the topic A workflow language for grid services is necessary.
- Identify the aspect-oriented concepts (crosscutting concerns) in workflows.
- Implement the language using the identified model in step 1 and 2.
Prerequisites
- general knowledge of Object-Oriented Software Development
- a good understanding of Java is useful
Environment
System and Software Engineering Lab, Vrije Universiteit Brussel, Brussels, Belgium.
References
[1] The Worflow Management Coalition (WfMC). http://www.wfmc.org/.
[2] T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana. Business Process Execution Language for Web Services Version 1.1, May 2003. http://www.ibm.com/developerworks/library/ws-bpel/.
[3] N. Kavantzas, D. Burdett, and G. Ritzinger. Web Services Choreography Description Language Version 1.0. W3C Working Draft 27 April 2004, World Wide Web Consortium, April 2004. http://www.w3.org/TR/2004/WD-ws-cdl-10-20040427/.
[4] Kiczales, G., Lamping, J., Lopes, C.V., Maeda, C., Mendhekar, A. and Murphy, A. Aspect-Oriented Programming. In proceedings of the 19th International Conference on Software Engineering (ICSE), Boston, USA. ACM Press. May 1997.
[5] AOP/AOSD website : http://www.aosd.net
[6] AspectJ website: http://www.eclipse.org/aspectj
[7] JAsCo website: http://ssel.vub.ac.be/jasco