Use cases to cover decision on event vs resource model
We have been discussing how to model events (just looking at process related events right now) and how they work in relation to resources. We think we need to look at several use cases to make sure we are picking the simplest and most consistent model. I think we need to include all the data we could support in each use case, including agents and quantities.
The proposals thus far:
- An event refers primarily to the resource at the end that it either increments or decrements (or neither), depending on its action. We can also refer to other resources inside a process secondarily and optionally, as needed by the process. The event holds the quantity to decrement or increment.
- An event refers primarily to a resource that is inside the process and is split from its beginning resource in a separate process, or will be merged with its end resource in another process. The resource held by the event holds the quantity. @elf-pavlik please re-word if this is not right.
Here is a first attempt at a smallish list that would cover the discussion. Feel free to add or modify!
- Serialized resources contained within a stock resource. Some of the serialized resources are transported, and added to a different stock resource on the other end. a. Different context agents for receiver, carrier, provider. b. All same context agent.
- Input part of a stock type resource to a manufacturing process to be consumed. Resource is logically identified only by resource type and context agent. Input another resource to be used, a serialized one. Produce an item that is added to an existing stock resource, logically identified by context, resource type, and location. Also produce a new resource (perhaps a by-product), logically identified by context and resource type. All within one context.
- Workflow with 3 processes, first one creates a resource, the next 2 improve that resource. Include some work. Resource is a knowledge resource, not worrying about its binary representation. All within one context.
- Return all the events (of different types) for a resource and put in a uniform table report format showing all info. Events which increment or decrement should show the quantities.
- Return a list of all inventory that needs to be managed by an inventory manager for a context.
- Visualize how resources flow between stocks through processes. See subsequent comment for details.