Skip to Main Content
Recently, there has been an increasing need in scientific workflows to solve the shimming problem, the use of a special kind of adaptors, called shims, to link related but incompatible workflow tasks. However, existing techniques produce scientific workflows that are cluttered with many visible shims, which distract a scientist's focus on functional components. Moreover, these techniques do not address a new type of shimming problem that occurs due to the incompatibility between the ports of a task and the inputs/outputs of its internal task component. To address these issues, (1) we propose a task template model which encapsulates the composition and mapping of shims and functional task component within a task interface; (2) we design an XML based task specification language, called TSL, to realize the proposed task template model; (3) we propose a service oriented architecture for task management to enable the distributed execution of shims and functional components; and (4) we implement the proposed model, language and architecture and present a case study to validate them. Our technique uniquely addresses both types of shimming problems. To our best knowledge, this is the first shimming technique that makes shims invisible at the workflow level, resulting in scientific workflows that are more elegant and readable.