A Workflow Language for Grid Services
Advisors: Ragnhild Van Der Straeten, Niels Joncheere, 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 the 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. A workflow language has to be general enough to be used in different contexts. For example, a workflow language can specify the composition of web services (web services are applications that are accessible through the Internet and which use SOAP/XML for the transmission of information and WSDL/UDDI for the description and discovery of other web services), or the composition of grid services.
Over the last years, grid computing has become an increasingly important research domain within computer science. The Grid can be described as a service for sharing computing power and data storage capacity over the Internet [2]. The specific problem that lies at the heart of this technology is coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organisations [3]: the large scope of many current scientific problems makes it increasingly difficult to solve them using only one computer system, and forces the use of a distributed solution. By creating a virtual organisation of different resources, which typically do not belong to the same owner but are connected through the Internet, it is possible to address these problems. A recent challenge is the use of grid technology beyond scientific applications, more specifically in the production and design of products in industrial environments. Such design tasks typically require the use of multiple complex simulation- and optimization tools, which are used as part of a design process workflow.
Since 2002, a standardisation effort for grid computing has been active under the form of the Open Grid Services Architecture (OGSA) [4]. The OGSA standardisation work has led to the development of grid services [5], which are actually a subclass of web services, with additional properties relevant for grid computing. It is expected that grid services will soon become the de facto standard for grid computing.
Although the services themselves have been standardised, composing grid services is still an open issue. Grid services are currently typically composed by manually writing the necessary glue-code in programming languages such as C and Java. In the web services world, however, it has been identified that a composition of web services is more naturally captured by dedicated workflow languages than by general-purpose programming languages. Languages such as BPEL4WS [5] and WS-CDL [6] have already been well accepted in the web services community. Because grid services are a kind of web services, it is in principle possible to recuperate these workflow languages for grid services. However, several problems are identified with current practice web service workflow languages: most languages are not suitable for high-performance computing, and there is insufficient or no support for dynamic adaptation of workflows.
Objectives of the Apprenticeship and Thesis
Developing a grid service workflow language model that improves over the current state-of-the-art and is general enough to capture different perspectives recognised in workflows. 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 Aspect-Oriented Support for Workflow Languages) is necessary.
- Identify the grid sevice specific workflow concepts.
- 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] 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.
[3] I. Foster, C. Kesselman, and S. Tuecke. The Anatomy of the Grid: Enabling Scalable Virtual Organizations. International Journal of High Performance Computing Applications, 15(3):200-222 (2001)
[4] The Open Grid Services Architecture (OGSA). http://www.globus.org/ogsa/.
[5] I. Foster, G. Kesselman, J.M. Nick, and S. Tuecke. The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration, June 2002. http://www.globus.org/alliance/publications/papers/ogsa.pdf
[6] 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/.
[7] 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/.