[kepler-users] Workflow with instances dependency

Ilkay Altintas altintas at sdsc.edu
Wed Jun 13 16:50:31 PDT 2007


On Jun 13, 2007, at 3:01 PM, Luis Assunção wrote:

> Ilkay
>
>
> First of all thank you for your answer, but I have some questions  
> about your suggestion.
>
> -Did you suggest that I develop new actors or there is some kind of  
> actors in Kepler, ready to use, with the functionality (task- 
> assigner; Check-Task) that you have proposed?
I suggested new actors.

> -On Check Task1 are you suggested I call a web service that only  
> responds when K-1 result is available?
>
> -After I sent my previous message I have tried kepler to invoke Web  
> services but I found many limitations. First The Web Service actor  
> only works with simple data types and it don’t support asynchronous  
> calls and callbacks, a easy way to solve my problem: task3 will be  
> notified on completion of  task4(K-1).


Pasted below a messages from Dan Crawl on our new web service actor.

Dan: We should think about being able to do asynchronous calls and  
callbacks. It might be as simple as having a notification port.

-ilkay

Hi,

I've created a new actor that can invoke web service operations with
complex types. It's called WSWithComplexTypes. To see it in action,
look at these workflows in $KEPLER/workflows/test/spa/:

NewWebServiceArrayReturnTest.xml
NewWebServiceDecodeOutputTest.xml
NewWebServiceNestedTypesTest.xml


WSWithComplexTypes invokes web services defined by WSDLs. Similar
to WebService, given a web service WSDL URL and an operation name,
WSWithComplexTypes specializes its input and output ports to reflect
the input and output parameters of the operation. For simple web
service types, e.g., string, int, double, etc., the ports are set to
the matching Ptolemy types. For complex web service types, the ports
are set to XMLTOKEN. When the actor fires, it reads each input port,
invokes the web service operation with the input data, and outputs the
response to the output ports.

WSWithComplexTypes also has two parameters, inputMechanism and
outputMechanism, that aid in working with complex web service types.  
Their
default setting is 'simple', which causes WSWithComplexTypes to  
specialize
its ports as already described. By setting to 'composite', a composite
actor is additionally created for each (web service operation) parameter
that is a complex type. Each composite actor contains the  
XMLAssembler or
XMLDisassembler actors needed to build the complex web service type, and
the external ports are all simple Ptolemy types. Changing the mechanism
back to 'simple' deletes the connected composite actors. (If you have
made changes to the composite actors and don't want them lost,  
disconnect
them from WSWithComplexTypes before changing the mechanism to 'simple').

If you have any questions, let me know.

   --dan
________



> I appreciate If you can give me more some help
>
>
> Thanks
>
> Luis
>
>
> -----Original Message-----
> From: Ilkay Altintas [mailto:altintas at sdsc.edu]
> Sent: quarta-feira, 13 de Junho de 2007 1:28
> To: Luis Assunção
> Cc: Kepler-users at ecoinformatics.org
> Subject: Re: [kepler-users] Workflow with instances dependency
>
>
> Luis,
>
>
> You can have a workflow the has the instances of web services for  
> item K of your simulation under PN or SDF (given n below is known  
> before scheduling) and has monitoring actors (check and get results  
> if necessary) for the tasks in item K-1. So assuming that your Task  
> 1 through 4 depends also on each other and there are n items, one  
> way to model it is:
>
>
>
>                                                             Check  
> Task1(K-1)    Check Task4 (K-1)
>
>                                                                    
> |                                             |
>
>                                                                   
> V                                            V
>
> K-Assigner(0..K..n) -> Task1 (K) -> Task2 (K)-------------- ->  
> Task3 (K) -> Task4 (K)
>
>
> K-Assigner will keep assigning the new items as the item before is  
> processed. In this way, you can model it using web services as only  
> web services for one item will be used at one time.
>
>
> If you do this in PN, you might end up having thousands of web  
> services at the same time for Task 1, but you can get around it by  
> limiting it in the workflow by the K-Assigner actor.
>
>
>
> There might be more efficient ways of doing the same thing by  
> keeping two instances running at the same time using PN. Something  
> like below, but the one below won't work.
>
>
>
> K-Assigner(0..K..n) -> Task1 (K-1) -> Task2 (K-1) -> Task3 (K-1) ->  
> Task4 (K-1)
>
>                                   |                            
> |                                                            |
>
>                                   |                           
> V                                                           V
>
>                                   -> Task1 (K) -> Task2 (K)  
> ------------------------> Task3 (K) -> Task4 (K)
>
>
>
> Hope you get the illustrations correctly...
>
>
> -ilkay
>
>
> On Jun 6, 2007, at 5:44 PM, Luis Assunção wrote:
>
>
>
>
> Hi
>
>
> In my current research I have to modulate a simulation where I have  
> thousands of input items and for each item I have the following  
> workflow.
>
>
> Task1 ->Task2->Task3->Task4
>
> But Task2 of item K depends of the completion of Task1 from item  
> K-1 and Task3 of item K depends of the completion of Task4 from  
> item K-1
>
>
> I am interested to use modeling based on Workflows and I am also  
> interested to support task execution as a Web Service.
>
> I am tried to modeling using Kepler with Web Service actor but I  
> think it isn’t suitable to describe an workflow with thousand of  
> instances (huge graphical boxes) and worst I don’t know the best  
> way to describe task execution with dependencies from previous  
> execution?
>
>
> Can someone advise me about what is the best pattern to this case?
>
>
> I appreciate in advance some advising.
>
> Many thanks
>
>
> Luis Assuncao
>
> Email: lass at isel.ipl.pt
>
>
>
> _______________________________________________
>
> Kepler-users mailing list
>
> Kepler-users at ecoinformatics.org
>
> http://mercury.nceas.ucsb.edu/ecoinformatics/mailman/listinfo/ 
> kepler-users
>
>
> -- 
>
> Ilkay ALTINTAS
>
> Lab Director, Scientific Workflow Automation Technologies (SWAT)
>
> San Diego Supercomputer Center(SDSC), UCSD
>
> 9500 Gilman Drive, MC: 0505  La Jolla, CA  92093-0505
>
> phone: (858) 822-5453                        fax: (858) 534-8303
>
> web: http://users.sdsc.edu/~altintas
>
>
>
>
>
>

-- 
Ilkay ALTINTAS
Lab Director, Scientific Workflow Automation Technologies (SWAT)
San Diego Supercomputer Center(SDSC), UCSD
9500 Gilman Drive, MC: 0505  La Jolla, CA  92093-0505
phone: (858) 822-5453                        fax: (858) 534-8303
web: http://users.sdsc.edu/~altintas


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mercury.nceas.ucsb.edu/ecoinformatics/pipermail/kepler-users/attachments/20070613/04acaca3/attachment-0001.htm


More information about the Kepler-users mailing list