We describe how aspect oriented programming techniques can be exploited to support the development of workflow-based grid applications. In particular, we use aspects to adapt simple Java workflow code to be executed on top of muskel, our experimental, macro data flow based skeleton programming environment. Aspects are used to extract “on-the-fly” macro data flow graphs from plain Java code where the nodes of the workflow are explicitly identified by the programmers. The macro data flow instructions in the graph are automatically submitted to the muskel distributed macro data flow interpreter for the execution. A proper manager, instantiated by the programmer, is used to exploit stream parallelism on the workflow. Experimental results will be presented that demonstrate scalability of the approach for suitably grained workflows. Overall, the approach discussed here concentrates workflow exploitation responsibilities on the aspect (i.e. system) programmers leaving the application programmers only the task of properly defining logical steps in the workflow. This results in a complete separation of concerns that sensibly enhances the efficiency in workflow application development, while keeping both the system size and the additional knowledge required to application programmers reasonably small.
Workflows on Top of a Macro Data Flow Interpreter Exploiting Aspects
DANELUTTO, MARCO;DAZZI, PATRIZIO
2008-01-01
Abstract
We describe how aspect oriented programming techniques can be exploited to support the development of workflow-based grid applications. In particular, we use aspects to adapt simple Java workflow code to be executed on top of muskel, our experimental, macro data flow based skeleton programming environment. Aspects are used to extract “on-the-fly” macro data flow graphs from plain Java code where the nodes of the workflow are explicitly identified by the programmers. The macro data flow instructions in the graph are automatically submitted to the muskel distributed macro data flow interpreter for the execution. A proper manager, instantiated by the programmer, is used to exploit stream parallelism on the workflow. Experimental results will be presented that demonstrate scalability of the approach for suitably grained workflows. Overall, the approach discussed here concentrates workflow exploitation responsibilities on the aspect (i.e. system) programmers leaving the application programmers only the task of properly defining logical steps in the workflow. This results in a complete separation of concerns that sensibly enhances the efficiency in workflow application development, while keeping both the system size and the additional knowledge required to application programmers reasonably small.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.