- From: Ryan Golden <ryan.golden@oracle.com>
- Date: Mon, 11 Jul 2011 23:55:05 -0500
- To: public-prov-wg@w3.org
- Message-ID: <4E1BD3A9.2000400@oracle.com>
I'd like to bring a proposal up for discussion regarding Process
Execution and its related concepts. Although at the F2F1 there wasn't
much discussion over "Process Execution," "Generates," "Uses," and
"Agent," I believe more clarification and discussion is needed in these
areas.
High Level Proposal
----------------------------
a) Rename the concept of "Process Execution" to "Agent,"
adjusting/adding a few properties
b) Rename the concept of "Process/Recipe" to "Role," adjusting/adding a
few properties
c) Add the concept of "Person or Organization"
d) Add the concept of "Realizes"
e) Add the concept of "Acts on Behalf of"
More Detailed Proposal
---------------------------------
a) Concept: Agent
- is a computational entity (narrowed from "piece of work")
- may use zero or more Entity States (Bobs)
- may generate zero or more Entity States (Bobs)
- may realize zero or more Roles
- may have a duration
- may acts on behalf of a "Person or Organization"
Discussion:
Agent is a relatively well-defined industry term for an program
acting on a user's behalf. I propose it as a replacement for "Process
Execution," which has the overloaded (and thus undesireable) term
"process" in it, and does not necessarily imply that it is acting on
behalf of any one person or organization. In scenarios involving trust,
audit, or change tracking, the ability to identify the "who" is crucial,
and so the relation between Agent and Person or Organization is
introduced. "Person or Organization" is discussed further below.
Some other common variations are "software agent," or "user
agent." One notable difference between this concept and other agent
concepts is that our Agent may have a duration. I'm still undecided on
the utility of the duration.
There will be some discussion here about non-computational
agents. I would question the utility of being able to assert relations
involving Entity States (Bobs) and non-computational agents, and would
ask you to first consider whether the same semantics could be better
represented by a Role instead [see next].
b) Concept: Role
- is an abstract set of tasks which pertain to a job function
- may have semantics beyond the scope of the WG model (e.g., as
described in the RBAC reference model)
- may be realized by zero or more Agents
Discussion:
Replaces the somewhat confused notions of "Agent" (as it was
discussed at F2F1), "Process," and "Recipe". Note that multiple Roles
can be realized by a single Agent.
c) Concept: Person or Organization
- is a real-world person or organization that an Agent acts on
behalf of
d) Concept: Realizes
[see Agent and Role]
e) Concept: Acts on Behalf of
[see Agent and Person or Organization]
References:
I have adapted some of this proposal from concepts in the W3C Web
Services Architecture Note <http://www.w3.org/TR/ws-arch>, a document
that I don't entirely agree with, but which has some useful models in it.
I also referred to the NIST RBAC reference model.
Received on Tuesday, 12 July 2011 04:55:42 UTC