r3 - 12 Mar 2003 - 11:04:51 - ChrisGreenhalghYou are here: myGrid wiki >  Mygrid Web  > AlansLabBookStoryBoardWP6

A Proposal for a myGrid LabBook Scenario for IF-3 & beyond.

WP6-specific reflections on AlansLabBookStoryBoard.

Priors:

The story board:

1. I log onto the myGrid system to give me access to my mIR & other services.

  • The client running on the desktop is a customised version of NetBeans, with various myGrid- specific modules.
  • The client authenticates with the Gateway (or something to that effect. This may be a log-on action, which when successful adds the mIR FileSystem? to NetBeans.
    • Action: Client, ClientLogIn?
    • Interaction: Client -> Gateway, Authenticate
    • Action: Gateway, GatewayAuthenticate?
    • ?Interaction?: Client or Gateway -> Authentication service, Authenticate

2. I check the status of any workflows that I started previously to see if they are now finished...

  • The mIR FileSystem? allows the user browse the mIR contents, which include workflow records.
    • Interaction: Client -> Gateway -> MIR, BrowseMIR?
    • Action: Client, ClientExploreMIRHierarchy?
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowStatus?
    • Action: Client, ClientDisplayWorkflowStatus?
  • The workflow record has a particular MIME-type, causing a customised viewer to be used to view the workflow record.
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowRecord?
    • Action: Client, ClientDisplayWorkflowRecord?
  • It may also be possible to expose the status in the browser hierarchy view, but if always shown this would require an efficient way to obtain this information from the mIR.
  • What about 'workflows that have now finished', i.e. since I last looked? Perhaps that is down to notifications (see below).
    • ?Interaction?: WFEE -> NotificationService -> Gateway, NotifyWorkflowStatus?
    • ?Interaction?: Client -> Gateway [? -> MIR ], RetrieveNotifications?
    • ?Action?: Client, DisplayNotifications?
  • Alternatively we would need to record last viewings of things, and form a search/query expressing 'change in status occurred since last viewed'.
    • ?Interaction?: Client -> Gateway [? -> MIR ], QueryRecentNotifications?
    • ?Action?: Client, DisplayRecentNotifications?

... & I can check the result. ...

  • The client view allows the user to navigate from the workflow record to its output(s), i.e. results, and input(s), in a way comparable to the Portal.
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowInputsAndOutputs?
    • Action: Client, ClientDisplayWorkflowInputsAndOutputs?
    • Interaction: Client -> Gateway -> MIR, RetrieveDataThing?
    • ?Interaction?: Client -> Gateway [? -> MIR], QueryViewerForDataThing?
    • ?Interaction?: Client -> [? Gateway [? -> MIR] | ? Web server ], RetrieveViewerModule?
    • Action: Client, ClientDisplayDataThing?
  • This may be achieved through the custom workflow record viewer or through expansion of the workflow record node to reveal 'child' nodes including inputs and outputs.

... I may also have notifications detailing people or services that have annotated the contents of my mIR, e.g. my supervisor has signed off on the work I did last week with her digital signature. ...

  • Another example of tracking change in the mIR (see also 'recently completed workflows'). Presumably, then,
  • (a) the mIR generates notifications that the Gateway/UserProxy manages on the users behalf or
  • (b) the use explicitly queries for 'annotations to my things in the repository made since I last issued this query'. [note: doesn't work for changes in other (unknown) repositories - see below]
  • At some point this implies (a) a way to (presumably cryptographically) sign things in the repository (b) to view and presumably verify such digital signature and the principle that made them (c) to relate this to the relevant business processes and/or organisational policies (e.g. should this person be allowed to sign this; what does such a signature imply, if anything).

... N.B. These annotations need not be stored in my personal mIR, however I must have given something the permission to look at my mIR. ...

  • Well, again, either (a) the other repository (or the user client making the annotation) must emit some notification which we receive, or
  • (b) we must know that it is worth (and permissible) to query the other repository(s) for relevant annotations.
  • QUESTION: What is the permission model for the repository?
  • QUESTION: What is the interface for manipulating it?

... Something may have created their own annotations on the contents of my mIR, but decided to keep these private.

  • No problems with non-communication!
  • But the local mIR case raises two security issues: (a) making sure I can't read them and (b) indicating not only whether I can read them, but also whether I can know that they exist or not (not the same thing).

3. I browse through my projects, experiments, workflows.

[I imagine this browser to be analogous to those of an MP3 player where one can slice the data in different ways & choose to organise in different ways by artist, genre, album title, etc.]

  • The explorer view over the mIR also reflects project, experiments, data, reports, presumably annotations, etc. as well as workflow records (considered above).
    • Action: Client, ClientDisplayProject?
    • Action: Client, ClientDisplayExperiment?
  • Are subscriptions browsed in the same way?
  • Are notifications browser in the same way?
  • Are services in service directories browsed in the same way?

4. I create a new project (myProject1) with a title & a free-text description (provenance annotation). ...

  • There must be a 'new project' action, in the top level menus and/or associated with other nodes in the explorer view (e.g. a super-project).
    • Action: Client, ClientNewProject?
    • Interaction: Client -> Gateway -> MIR, CreateProject?
  • There must be a NetBeans MIME type corresponding to a project record, and an editor to allow it to be populated and saved, and subsequently viewed.
  • Can it be revised subsequently?

... I assume that myGrid will record provenance metadata including date, time, user name, user group, default security permissions, the host from which I created the project. ...

  • That should all be doable. [We hadn't talked about recording the host before; IP address is a possbility, but has issues with NAT & DHCP]

... The provenance is associated with myProject1 & stored in the mIR.

  • Is this information more like: elements in an XML document which is description of the project - all done at once; or like a load of RDF statements about the project - added ad hoc with no specific common authoring?

5. I upload some data (myData1) that I've obtained to my mIR & that will be part of my new project (myProject1)...

  • Options:
  1. Import dialog - file chooser or paste region - creating a new data item.
    • Action: Client, ClientImportData?
    • Interaction: Client -> Gateway -> MIR, CreateDataThing?
  2. FileSystem? view over the local file system, from which a file can be pasted to the mIR.
    • ?Action?: Client, ClientMapLocalFilesystem?
    • Action: Client, ClientCopyFileBetweenFilesystems?
    • ...
  3. FileSystem? view over the local file system, which is automatically proxied in the mIR when things are taken from it to use as inputs.
    • Action: Client, ClientProxyLocalFilesystems?
    • ...
  • Also allow additional user provenance/annotation at import time.
    • Action: Client, ClientAcceptUserMetadata?
  • On import we need to make sure we have a reasonable MIME Type, XML schema/SOAP type and concept type if the rest is going to work. We have talked before about REGEXP as one option for this.
    • ?Action?: Client [? -> Gateway], ClientClassifyDataThing?

...(automatically trap basic provenance metadata of this operation & the data).

  • Taken as read smile

6. I attach some metadata to this uploaded data, e.g. a name, a description, a type (e.g. unordered collection of protein sequences), where did it come from, how was it produced. Perhaps also some other annotation, e.g. what do I think of its quality.

[At another time, I may want to know "what projects did I use myData1 in?" & "What things are associated with myProject1?".]

  • QUESTION: Is my addition of this metadata qualitatively different from (a) me subsequently adding new metadata to this item (b) me subsequently changing this metdata (c) someone else annotating this data?
  • E.g. can these map to immutable columns in a relational table? Can they map to anonymous RDF statements? Can they only map to 'heavyweight' attributed annotations?
    • Action: Client, ClientCreateAnnotation?
    • Interaction, Client -> Gateway -> MIR, CreateAnnotation?

7. I have an idea of what I want to do with the data as part of an in silico experiment, so I create a new experiment (myExpt1) that is associated with my project (myProject1) with a title, free text description, plus the automatically trapped basic provenance metadata.

  • See step 4, now for 'new experiment'.
    • Action: Client, ClientNewExperiment?
    • Interaction: Client -> Gateway -> MIR, CreateExperiment?

8. Somehow I find a workflow template (WFTemplate1) that satisfies my requirements & describes the services that are to be used in this in silico experiment.

  • The mIR contains workflow templates. One of these must be selected to be executed. This might be done by:
  1. (simplest) browsing the complete list of workflow templates in the mIR.
    • ...
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowTemplate?
    • Action: Client, ClientDisplayWorkflowTemplate?
  2. Performing some kind of search across the templates in the mIR based on exact match criteria, e.g. keywords.
    • Action: Client, ClientFindWorkflowTemplate?
    • Interaction: Client -> Gateway -> MIR, QueryWorkflowTemplate?
    • Action: Client, ClientDisplayWorkflowTemplateList?
    • Action: Client, ClientSelectWorkflowTemplate?
  3. Performing some kind of matching operation across the templates in the mIR based on semantic criteria, including a notion of subsumption/generalisation. This implies that the query (in combination with any pre-processing of the mIR content) can express a query with subsumption (e.g. for a relational query, if the mIR includes the concept subsumption graph, with indirect relationships made explicit).
    • Action: Client, ClientFindWorkflowTemplateUsingOntology?
    • Interaction: Client -> Gateway -> MIR, QueryWorkflowTemplateWithSubsumption?
    • ...
  4. Performing an implied search, linking from some proposed input data value (as in the pre-prototype), giving a suitably constrained version of any of 1-3.
    • Action: Client, ClientFindWorkflowTemplateFromInput?
  • The permissions for workflow templates are presumably usually broader than for other data, so that there is a common pool of workflow templates to draw on.
  • QUESTION: How do the input values get specified for the workflow template? One (or more) input values might have been chosen first, or the workflow template might have been chosen first.
  • QUESTION: Where and how do optional parameters get filled in?
    • NOTE: more research on NetBeans required...
  • EITHER
  1. The workflow template can be selected and 'edited' and/or 'compiled' and/or 'executed' from NetBeans. OR
  2. One or more input data items can be selected and 'compiled' and/or 'executed' and/or subject to some other NetBean? Cookie-derived action.
  • More research on NetBeans is required, but...
  1. Could be (a version of) the workflow template editor, creating a new version of the template with my chosen values, e.g. modifying a template with service lookup to one with fixed services, or changing or specifying an input value.
    • Action: Client, ClientEditWorkflowTemplate?
    • Action: Client, ClientEditWorkflowInputValue?
    • see below for service lookup...
    • Interaction: Client -> Gateway -> MIR, CreateWorkflowTemplate?
  2. Alternatively or also compilation might be a point for customisation and tailoring that does not result in a new persistent template version.
  3. How does NetBeans represent and operate on compound products, e.g. JAR files?

[I assume that this workflow template doesn't record service instances. I assume that each workflow template comprises a number of services that run without breakpoints, but that have parameters that need to be pre-configured. Within a workflow template, parameters for a service may have recommended values.]

  • The client could perform this kind of transformation, but this implies that the client/gateway can:
  1. Parse and regenerate WSFL (or whatever) definitions;
    • Action: Client, ClientParseWorkflowTemplate?
  2. Perform UDDI(-M) (or other service lookup) as the WFEE does at present;
    • Interaction: Client -> Gateway -> UDDIServiceDirectory?, LookupServiceUsingUDDI?
    • Interaction: Client -> Gateway -> SemanticServiceDirectory?, LookupServiceUsingSemantics?
  3. Present a choice to the user in a meaningful way; and
    • Action: Client, ClientDisplayServiceList?
    • Action: Client, ClientSelectService?
  4. Replace the lookup in the WSFL with the chosen staticly defined service.
    • Action: Client, ClientCustomiseWorkflowTemplate?

9. I want to associate this workflow template (WFTemplate1) with my experiment (myExpt1), ...

  • Was I 'in' myExpt1 and therefore the association is automatic?
  • How does that relate to the hierarchical explorer view?
  • Do I cut and paste (or copy) the template into myExpt1, or is it a reference-like assoication?

... plus some annotation about why I've chosen this workflow template. ...

  • As with data, is this a primary attribute, or a general annotation? (does it matter?)

... I trust myGrid to have recorded in the mIR where WFTemplate1 came from, plus provenance metadata about time, date, permissions, etc.

  • trusting man...

[At another time I may want to find both "what experiments did I use WFTemplate1 in?" & "In myExpt1, what workflow templates did I use?".]

  • General issue about the kinds of queries the mIR can answer, e.g. how much information placed in it is expanded into queriable form? (where) is subsumption supported in those queries?
    • Action: Client, ClientGeneralisedFindInMIR?
    • Interaction: Client -> Gateway -> MIR, GeneralisedQueryOverMIR?

10. I need a registry service that can return specific instances of the services that the workflow template requires. The registry will return metadata about all service instances fitting the criteria. As well as criteria that the workflow template may require, e.g. a particular version of an application, I may have my own personal preferences, e.g. it has to be free.

[Is my interpretation of finding & configuring a workflow correct and/or reasonable? Before running a workflow, I personally want to know where it is running. Perhaps others have better faith? Perhaps only service instances that are trusted by my supervisor are present in the service repository & that is the basis of my trust? Will the workflow enactment engine be able to use all the service instances in the registry, i.e. will they have a suitable API?]

  • see note on comment at 8.

11. I may need to choose between alternative service instances (e.g. emma@EBI vs. emma@HGMP) using the metadata returned by the service registry & to be used in the workflow.

[Do I get to choose between different service instances? How much choice do I have? For example, I presume that the workflow enactment engine may only communicate with services using specific APIs. At what point is the check made that a service instance supports an API that the workflow enactment engine can use?]

  • Perhaps a particular WSDL portType is required.
  • see also note on comment at 8.
  • This emphasises the need for more information to be made available to the user in making this choice (cf the pre-prototype, which had only a name).

12. I want to record why I made a choice in favour of particular service instances for this workflow, e.g. emma@EBI is free to anyone, but emma@HGMP is free to registered users only.

_[To what do I attach the annotation about my choices of service instance? Is a part of the workflow annotatable? Or only the whole thing? I.e. is a service instance recognised in the mIR as a separate entity & to which metadata may be attached? ...

  • That is a good question.
  • Can annotations only have a subject which is a URI, or can it be a URI reference (with #), or an XPath expression, or something else...?
  • What would this do to queries? E.g. is an annotation of a part also regarded as an annotation of the whole? Can you ask for 'any annotations of any part(s) of this'? How?

... I have a vision of a large XML file with multiple name spaces: ...

  • [my visions at the moment tend to be more sinister than this]

... how conflated is data & metadata in an XML representation of the workflow?]_

13. I configure each activity of the workflow with my choice of parameters or default to those recommended in the workflow for the service instance, as well as my starting data. I want to annotate why I made those choices on the parameters.

  • more of the same sorts of issues...

[Some type checking by myGrid should help prevent me doing incorrect things. Do I need to have a service instance before I can do the parameter configuration?]

  • That depends on the degree of substitutability supported, and other factors, such as how generic the facility is. E.g. sequence position constraints imply that something can resolve the sequence-identifying input as being such, and return a valid range for that particular use. The safest option, then, would be service instance specific.

14. I want to store the details of my configured workflow (WFConfigured1) for this experiment (myExpt1) in the mIR.

  • Well, it is either first class, i.e. still (more or less) a kind of workflow template, or it is stored implicitly as part of the workflow provenance report (which would require a post-processing step or custom bridge to make re-use).

15. I decide it's time to run my workflow.

  • NetBeans execute?!
    • Action: Client, ClientExecuteWorkflowTemplate?
    • Interaction: Client -> Gateway -> WFEE, ExecuteWorkflow?
    • Interaction: Client -> Gateway -> MIR, CreateWorkflowRecord?
    • Interaction: Client -> Gateway -> MIR, UpdateWorkflowRecord?

_[Do I have a choice of which workflow enactment service I use? ...

  • Potentially. Including an internal enactor in the client, or in the gateway, or a range of external enactors discovered through configuration of the gateway or service directory lookup.
    • Interaction: [? Client -> ] Gateway -> UDDIServiceDirectory?, LookupWorkflowEnactmentServer?

... The configured workflow is converted to a workflow enactment language suitable for my workflow enactment engine. ...

  • At the moment we assume it needs no conversion, but 'compilation' might support this (if the client has a 'compiler' that is suitable).

... How tightly coupled is the service registry, my choice of service instances & the workflow enactment engine? Could I end up choosing service instances with APIs that the enactment engine doesn't understand? Are only service instances with APIs that the enactment engine can understand present in the service registry?]_

  • If adverts are wrong or old then this could be a problem.
  • Generally, at the moment the enactor is just doing SOAP and message part twiddling, so at that level it should be OK.
  • But problems could certainly crop up, e.g. where SOAP types are only part of the typing/formatting story.

16. As each activity in the workflow is completed, I'd like to be notified ...

  • Options for workflow status 'notification':
  1. client/gateway polls workflow enactment engine (as in pre-prototype);
    • Interaction: Client -> Gateway -> WFEE, GetStatus?
  2. workflow enactment engine always (or on request) notifies status;
    • see 1...
  3. workflow enactment engine hosting container notifies on its behalf;
  4. workflow template includes or is compiled to include explicit calls to the notification service (or gateway) to notify state.
  • We're working on the last, first (since we don't need to change other components).

... & to have the intermediate results stored in the mIR & associated with WFConfigured1 so that I can find them easily. ...

  • Are these broken out into independent first class data things, or are they mushed up in the workflow provenance log/record?

... I expect that provenance metadata about the service instances which are run is stored along with the results: location, input parameters I specified, default parameters the service instance used, including resources that the service instance used, e.g. which version of SWISS-PROT did the BLAST server use. ...

  • This might require that the workflow include explicit additional actions to retrieve this kind of information explicitly.
    • Interaction: WFEE [? WFEEAction ] -> BioService?, GetProvenanceInformation?

... For each result stored in the mIR, as well as the usual provenance metadata (who, date, time), I expect that its metadata includes a syntactic & semantic type for the data (taken from where?).

  • Taken from where, indeed! Specified either:
  1. by the workflow template used, or
  2. inferred from the sources of the results if and only if those sources have such (non-standard) information provided for them.
  3. or perhaps guessed by the gateway/client, as per importing an external initial value.

_[Who writes the results & provenance metadata to my mIR? - The enactment engine? The service instance? The Gateway? ...

  • my preference is the Gateway, although this is a problem if the provenance is only available at the end and the enactment crashes part way through a long run.
    • Interaction: Gateway -> WFEE, CreateWorkflowOutputDataThing?
    • ...

... Who do I trust with my credentials? I might trust my lab's workflow enactment engine to write to my mIR, but I probably wouldn't trust a service instance or a public enactment engine. Is it inefficient to have everything shuttled through the Gateway?_

  • This is no time to start worrying about efficiency wink

I would expect that the results generated from a service instance & stored to the mIR should be immutable to protect against fraud - maybe use PKI to monitor if the stored results are the same as those sent originally?

  • Immutable from what point? The origin service? First placement in the mIR? Options imply different support from different components...

17. For each activity, I want to look at the results & record thoughts about them (i.e. annotate them). If I don't like the intermediate results & the workflow is still running, I may want to terminate it.

  • The enacted/enacting workflow is now repesented as a new node in the explorer.
  • Termination should be an action on the node representing the workflow (record).
    • Action: Client, ClientCancelWorkflow?
    • Interaction: Client -> Gateway -> WFEE, CancelWorkflow?
  • As in the browsing examples (see 2) there will be links via provenacen information to the inputs, output and now presumably intermediate values.
  • Again, are intermediate values broken out to first class automatically?

18. I log out of myGrid.

  • Another NetBean? menu action.
    • Action: Client, ClientLogOut?
    • Interaction: Client -> Gateway, LogOut?

19. Later I return & look at my results…

  • QUESTION: is all of the persistent stuff in the mIR? Including the workspace configuration? Or are there any local workspace/project files?

20. After logging in, I am notified that my in silico experiment has finished & the results have been stored, including the final result (as R1), along with metadata & provenance, in myExpt1 of myProject1.

  • as 2.

21. I find & select that I want to look at the final result (R1) & a viewer displays it for me.

  • Result = NetBeans FileObject?->DataObject->Node->ViewCookie->Viewer.
  • Need to check standard capabilities/viewers, and see what we need to add.
  • Want to wrap third-party things where that is not TOO hard.

_[I expect that the myGrid & the mIR will store the type of my data as part of the metadata, e.g. a MIME type. ...

  • NetBeans make a lot of use of MIME types, though we are still getting to grips with the details.

... I may have personalised myGrid so that it uses my preferred viewer. ...

  • Hmm. Perhaps this is in the mIR, associated with the user? Or perhaps it is local to this installation? Have to look more closely at NetBeans preferences and Options.

... If it's a data type for which I do not have a viewer already specified, then I'd expect that myGrid would help me find & choose an appropriate one, c.f. Netscape Plug-Ins.]_

  • NetBeans has a network update facility that might be useable.

22. I decide to change some of the parameters for a service instance in the workflow (WFTemplate1) from their recommended values to produce a new workflow (WFConfigured1.1) & see how this changes the final result (R1.1). I'll need to record why I've done this & have all the parameter values captured & stored in the mIR.

[I assume that this new run of the workflow is still part of myExpt1.]

  • Hopefully covered in 8-17.

23. I decide that the original result using the recommended parameters is the best & I add two annotations to the final result (R1): one is my conclusions (myNote1), the other is ideas for the next experiment (myNote2).

  • Independent annotations of the result objects = an action on the result Node, and a suitable new data/node type and Editor?!
    • Action: Client, ClientCreateReport?
    • Action: Client, ClientEditReport?
    • Action: Client, ClientViewReport?
    • Interaction: Client -> Gateway -> MIR, CreateReport?

24. I decide the results are so good, that I'm going to share them with my supervisor & the colleague from whom I got the original data & I send them the location of my result (R1) so that they can view it.

  • Permissions... ho hum.

25. Since she's my boss, my supervisor has permissions to see everything I've done. From the result (R1), she can follow the trail back to see how it was generated, using which services, from which workflow template (WFTemplate1), with which parameters (WFConfigured1) & using which starting data (myData1). At each stage, she may also see the annotation that I may have attached to the objects describing why I made particular choices, e.g. which workflow template, which service instances & which parameters. She may make some comments of her own, and/or sign off on the work. Before signing off on the work, she may want to check that I haven't altered R1 to falisify the results. She could do this either by re-running the workflow (WFConfigured1) herself with my data (myData1), ...

  • Re-execute action (but not this week).
    • ?Action?: Client, ClientReexecuteWorkflow?
  • Compare/diff data value(s) - a kind of workflow?!
    • ?Action?: Client, ClientCompare?

... or if we had a PKI for checking with a service instance that a result hasn't been tampered with.

  • An action with suitable support?!
    • ?Action?: Client, ClientCheckDigitalSignature?

[Having a system to detect possible fraud would be interesting, but I'm not sure about the plausability.]

26. I'm a little more paranoid about my colleague. Although I'd like her to see my final results (R1), conclusions (myNote1) and how I got there (WFTemplate1 & WFConfigured1). I don't want her to see the annotations about what I want to do next (myNote2), or possibly comments I made about my perceptions of the quality of her data attached to myData1.

  • More permissions... ho hum.

[I need to be able to grant & revoke privileges to other people on selected items in my mIR for reading & writing.]

27. Following comments from my supervisor & colleague, I decide to retrieve my original conclusions (myNote1) & re-write parts of it (myNote1.1).

  • Does the signing off of the original make any difference here?!
  • Presumably the new one would have to be signed off afresh.

[I & my supervisor need to be sure that the original copy of myNote1 is still available & not overwritten or deleted by myNote1.1.]

28. I run two further in silico experiments in this project: myExpt2 & myExpt3. myExpt2 is a different workflow template (WFTemplate2) which has the same function as WFTemplate1, but uses a different methodology - I decide the result (R2) of this experiment isn't as good as the first one, which I document & have stored in the mIR with R2. The other in silico experiment, myExpt3, takes the final result (R1) of the workflow (WFConfigured1) in the first in silico experiment (myExpt1), plus some new data (myData2) & runs it through a new workflow (WFTemplate3 & WFConfigured3) to produce a final result (R3).

29. Some time later, I am in the process of writing up the paper about these experiments. I find my final result (R3). I need to know how & why that was generated all the way back to myData1, i.e. trace back through two workflows.

[The mIR needs to be able to capture the relationships that R1 was part of the input data to WFConfigured3 in myExpt3 & is also the result of WFConfigured1 in myExpt1 that also used myData1 as input. So the mIR is able to store different types of entities & the relationship between them, as well as the annotation/metadata that is associated with them - Does this sound like an OODBMS?]

30. My supervisor wants to identify what people in the group have been working on & where there's commonality.

[A text analysis engine is run over the contents of everyone's mIR (or at least parts of them such as the descriptions & annotations) to identify terms & concepts. Look for people, projects & experiments where the same concepts are being used.]

  • I'll leave this one alone for now.

-- AlanRobinson - 22 Jan 2003

Indented comments by -- ChrisGreenhalgh - 11 Mar 2003

Double indented Actions and Interactions by -- ChrisGreenhalgh - 12 Mar 2003

Action Summary

    • Action: Client, ClientLogIn?
    • Action: Gateway, GatewayAuthenticate?
    • Action: Client, ClientExploreMIRHierarchy?
    • Action: Client, ClientDisplayWorkflowStatus?
    • Action: Client, ClientDisplayWorkflowRecord?
    • ?Action?: Client, DisplayNotifications?
    • ?Action?: Client, DisplayRecentNotifications?
    • Action: Client, ClientDisplayWorkflowInputsAndOutputs?
    • Action: Client, ClientDisplayDataThing?
    • Action: Client, ClientDisplayProject?
    • Action: Client, ClientDisplayExperiment?
    • Action: Client, ClientNewProject?
    • Action: Client, ClientImportData?
    • ?Action?: Client, ClientMapLocalFilesystem?
    • Action: Client, ClientCopyFileBetweenFilesystems?
    • Action: Client, ClientProxyLocalFilesystems?
    • Action: Client, ClientAcceptUserMetadata?
    • ?Action?: Client [? -> Gateway], ClientClassifyDataThing?
    • Action: Client, ClientCreateAnnotation?
    • Action: Client, ClientNewExperiment?
    • Action: Client, ClientDisplayWorkflowTemplate?
    • Action: Client, ClientFindWorkflowTemplate?
    • Action: Client, ClientDisplayWorkflowTemplateList?
    • Action: Client, ClientSelectWorkflowTemplate?
    • Action: Client, ClientFindWorkflowTemplateUsingOntology?
    • Action: Client, ClientFindWorkflowTemplateFromInput?
    • Action: Client, ClientEditWorkflowTemplate?
    • Action: Client, ClientEditWorkflowInputValue?
    • Action: Client, ClientParseWorkflowTemplate?
    • Action: Client, ClientDisplayServiceList?
    • Action: Client, ClientSelectService?
    • Action: Client, ClientCustomiseWorkflowTemplate?
    • Action: Client, ClientGeneralisedFindInMIR?
    • Action: Client, ClientExecuteWorkflowTemplate?
    • Action: Client, ClientCancelWorkflow?
    • Action: Client, ClientLogOut?
    • Action: Client, ClientCreateReport?
    • Action: Client, ClientEditReport?
    • Action: Client, ClientViewReport?
    • ?Action?: Client, ClientReexecuteWorkflow?
    • ?Action?: Client, ClientCompare?
    • ?Action?: Client, ClientCheckDigitalSignature?

Interaction Summary

    • NOTE: more research on NetBeans required...

    • Interaction: Client -> Gateway, Authenticate
    • ?Interaction?: Client or Gateway -> Authentication service, Authenticate
    • Interaction: Client -> Gateway -> MIR, BrowseMIR?
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowStatus?
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowRecord?
    • ?Interaction?: WFEE -> NotificationService -> Gateway, NotifyWorkflowStatus?
    • ?Interaction?: Client -> Gateway [? -> MIR ], RetrieveNotifications?
    • ?Interaction?: Client -> Gateway [? -> MIR ], QueryRecentNotifications?
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowInputsAndOutputs?
    • Interaction: Client -> Gateway -> MIR, RetrieveDataThing?
    • ?Interaction?: Client -> Gateway [? -> MIR], QueryViewerForDataThing?
    • ?Interaction?: Client -> [? Gateway [? -> MIR] | ? Web server ], RetrieveViewerModule?
    • Interaction: Client -> Gateway -> MIR, CreateProject?
    • Interaction: Client -> Gateway -> MIR, CreateDataThing?
    • Interaction, Client -> Gateway -> MIR, CreateAnnotation?
    • Interaction: Client -> Gateway -> MIR, CreateExperiment?
    • Interaction: Client -> Gateway -> MIR, RetrieveWorkflowTemplate?
    • Interaction: Client -> Gateway -> MIR, QueryWorkflowTemplate?
    • Interaction: Client -> Gateway -> MIR, QueryWorkflowTemplateWithSubsumption?
    • Interaction: Client -> Gateway -> MIR, CreateWorkflowTemplate?
    • Interaction: Client -> Gateway -> UDDIServiceDirectory?, LookupServiceUsingUDDI?
    • Interaction: Client -> Gateway -> SemanticServiceDirectory?, LookupServiceUsingSemantics?
    • Interaction: Client -> Gateway -> MIR, GeneralisedQueryOverMIR?
    • Interaction: Client -> Gateway -> WFEE, ExecuteWorkflow?
    • Interaction: Client -> Gateway -> MIR, CreateWorkflowRecord?
    • Interaction: Client -> Gateway -> MIR, UpdateWorkflowRecord?
    • Interaction: [? Client -> ] Gateway -> UDDIServiceDirectory?, LookupWorkflowEnactmentServer?
    • Interaction: Client -> Gateway -> WFEE, GetStatus?
    • ?Interaction?: ServiceHostingEnvironment? -> NotificationService, PublishServiceStatus?
    • Interaction: WFEEAction -> NotificationService, PublishNotification?
    • Interaction: WFEE [? WFEEAction ] -> BioService?, GetProvenanceInformation?
    • Interaction: Gateway -> WFEE, CreateWorkflowOutputDataThing?
    • Interaction: Client -> Gateway -> WFEE, CancelWorkflow?
    • Interaction: Client -> Gateway, LogOut?
    • Interaction: Client -> Gateway -> MIR, CreateReport?

-- ChrisGreenhalgh - 12 Mar 2003

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Powered by myGrid wiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding myGrid wiki? Send feedback