Skip to topic | Skip to bottom

Provenance Challenge


Start of topic | Skip to actions

Model Discussion: Agents

The links
 Process -> catalizedBy -> Agent
 Agent -> workedFrom -> Artifact (the workflow/recipe)
are causing some concerns.

A given agent, say John, may have baked a cake and made pasta according
two recipe R1 and R2.  With our proposed modelling, we would endup with

Bake -> catalizedBy -> John CookPasta -> catalizedBy -> John
John -> workedFrom -> R1
John -> workedFrom -> R2

We can no longer know which recipe was used for which process.

Also, if we allow for abbreviations (as we did by means of
triggeredBy and derivedFrom), it seems that we may know the recipe
but not the agent involved in the process.  This would require a new
edge to summarise this.

Juliana suggested to use

Bake -> catalizedBy -> John Bake -> isDirectedBy -> R1  
Given that a process has a single catalyst and recipe this would
clearly identity that John worked from recipe R1. This would
therefore address both concerns identified above.

Actually, Juliana sugested that Bake -> isInstanceOf -> R1 but I
think that isInstanceOf does not carry much causal connotation.  I
suggested isDictatedBy or isDirectedBy. Alternative suggestion



-- LucMoreau - 15 Aug 2007

The model that was distributed in the power point has
   Process -> 
         -> Agent
         -> ProcessDescription

That is, a ternary relationship.
We could make either of the outgoing edges optional, so the relationship
could be for either.

Putting 'catalizedBy' and 'directedBy' relationships directly on the
Process seems to be equivalent yet clearer.

Patrick Paulson - 15 Aug 2007

As long as we only allow one agent... which I'm not sure is rich enough (just saying who and what workflow engine gives us a need to have two agency ternary relations with the process.)

-- LucMoreau - 15 Aug 2007

Another fun trinary relationship - workedFrom should be associated with the catalyzedBy relationship not the agent directly.

(at least one email in this exchange should be short right? smile ) Jim

-- JimMyers - 15 Aug 2007

Yes, this seems ternary. But a ternary relation is essentially introducing a new node in a graph, two other nodes by three edges. What is this node? Process/Artifact/Agent?

-- LucMoreau - 17 Aug 2007

It seems to me that the relation may be more than trinary. The "workflow script interpreter" can also be seen as a cause of the process, and would explain that the same script executed by two different interpreters, may result in two different processes.

For computational systems, it seems that there is a whole "invocation process" that takes script, interpreter, environment, etc as input. Should we then say that any process P is triggeredBy an invocation process?

(Without willing to mix to thread of discussions, I'd like to say that this modelling may allow us to capture neatly the start time of a process).

Then, what is the agent? Why is it not an artifact? It seems that we may not have an invocation process in that case.

Generally, I think that the notion of agent needs to be better defined.

-- LucMoreau - 17 Aug 2007

I would normally think of an agent as both a process and an object (and nothing else). I, for example, am something that changes state over time and am taking inputs, processing them and producing outputs. One thing that my selfish process does is trigger other processes, and I cannot see any difference between an agent and a process in the sense you describe them in the document. You do not discuss an agent as an object (there is apparently no change of state of an agent). Is the distinction between agent and process necessary?

A side issue is when you want to model processes (and particularly people) in an intentional rather than reactive/execution way. This allows you to say view the process occurring not by an external trigger but by the intent behind it, e.g. I stopped the workflow execution because I was afraid it had gone wrong and didn't want it messing up my hard drive. This is just a way of viewing a process, and so can be applied to any process (with more or less effort). I am happy to send you "Modelling the Provenance of Data in Autonomous Systems" by Miles et al, if you're interested in this theory wink If we applied this to the model proposed in the document, the intention would be a cause of the triggered process and would be part of the state of an object, the object in which the process is running, and so the object and process should be joined somehow. This could be achieved by saying an agent at a given time was both an artifact and a process.

-- SimonMiles - 17 Aug 2007

I was waiting for Miles et. al. to hit the best sellers list before reading it...

I think what you said here is roughly what we had in mind for agent - there are a set of process instances and artifact states in an agent and making it one node in the graph is just a way to not model that graph.

-- JimMyers - 15 Aug 2007

But isn't a process itself something that has state(s) and sub-processes, e.g. add1ToAll can be in the state of having split the 6 and the 2 (both stateful artifacts), and +1 is a sub-process? Are you just saying defining an agent to be a process for which there is no alternat(iv)e explanation given? Or is there something more to it I've missed?

-- SimonMiles - 20 Aug 2007
to top

End of topic
Skip to action links | Back to top

You are here: Challenge > OPM > ModelWorkshop > ModelDiscussionAgents

to top

Copyright © 1999-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.