valueflows

valueflows docs
git clone https://s.sonu.ch/~srfsh/valueflows.git
Log | Files | Refs | README

commit 2926c45d5da1093541e499b4c40b0edba46f03a3
parent 458140a69c8834d8882517fa69fa70f4f1043506
Author: Lynn Foster <foster.j.lynn@gmail.com>
Date:   Sat, 11 Mar 2017 11:22:22 -0600

adding more content to gitbook, from existing sources (VF and NRP)

Diffstat:
Mdocs/README.md | 3+++
Mdocs/SUMMARY.md | 13+++++++++++++
Adocs/appendix/rea.md | 28++++++++++++++++++++++++++++
Adocs/introduction/accounting.md | 23+++++++++++++++++++++++
Adocs/introduction/agents.md | 8++++++++
Mdocs/introduction/concepts.md | 27++++++++++++++++++---------
Adocs/introduction/core.md | 17+++++++++++++++++
Adocs/introduction/exchanges.md | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Adocs/introduction/intents.md | 22++++++++++++++++++++++
Adocs/introduction/planning.md | 20++++++++++++++++++++
Adocs/introduction/processes.md | 22++++++++++++++++++++++
Adocs/introduction/resources.md | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdocs/introduction/status.md | 4+++-
Adocs/introduction/usedfor.md | 43+++++++++++++++++++++++++++++++++++++++++++
14 files changed, 337 insertions(+), 10 deletions(-)

diff --git a/docs/README.md b/docs/README.md @@ -10,3 +10,5 @@ Or, with less buzzwords, "let's help a lot of alternative economic software proj One of the purposes of this vocab is to support resource flows connecting many websites. These flows may be oriented around Processes, Exchanges, or combinations of both. We want to support RDF based and non-RDF based use of the vocabulary, basically any way that people want to use software and data on the internet to help create economic networks. + +![networks of networks picture](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/network-elio-cropped.jpg)+ \ No newline at end of file diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md @@ -3,6 +3,7 @@ ## Introduction * [Introduction](README.md) * [Concepts](introduction/concepts.md) +* [Core](introduction/core.md) * [Principles](introduction/principles.md) * [Status](introduction/status.md) @@ -10,6 +11,14 @@ * [RDF Diagram](specification/diagrams/vowl.md) * [UML Diagram](specification/diagrams/uml.md) +## Subject Areas +* [Agent](introduction/agents.md) +* [Resource](introduction/resources.md) +* [Process](introduction/processes.md) +* [Exchange](introduction/exchanges.md) +* [Intent and Commitment](introduction/intents.md) +* [Accounting](introduction/accounting.md) + ## Classes * [Agent](specification/classes/agent.md) * [Event](specification/classes/event.md) @@ -42,3 +51,7 @@ * [trackingIdentifier](specification/properties/trackingidentifier.md) * [underlyingResource](specification/properties/underlyingresource.md) +** Appendices +* [REA References](appendix/rea.md) +* [Uses of the Vocabulary](introduction/usedfor.md) +* [Dependent Demand Logic](introduction/planning.md) diff --git a/docs/appendix/rea.md b/docs/appendix/rea.md @@ -0,0 +1,27 @@ +# REA + +Background of the REA (Resource, Event, Agent) model which this software is based on: + +[Bill McCarthy's REA papers](https://www.msu.edu/~mccarth4/) + +[McCarthy's original 1982 REA paper](http://www.msu.edu/user/mccarth4/McCarthy.pdf) + +[REA ontology paper](http://www.msu.edu/user/mccarth4/Alabama.doc) + +[Singapore REA Learning Tool](http://smu.sg/rea) + +Extending REA from internal business systems into larger economic networks: + +[Radically Distributed Supply Chain Systems](http://www.jeffsutherland.org/oopsla97/haugen.html) + +[A semantic model for Internet supply chain collaboration](http://www.jeffsutherland.org/oopsla2000/mccarthy/mccarthy.htm) a little dated and most of the internal links are broken, but still useful + +[ISO Accounting and Economic Ontology based on REA](https://msu.edu/user/mccarth4/15944-4.doc) + +[McCarthy slide deck](http://ontolog.cim3.net/file/work/OntologyBasedStandards/2013-11-07_Ontology-based-Financial-Standards/REA-Ontology_ISO-15944-4--BillMcCarthy_20131107.pdf) + +[REA Beyond the Enterprise](http://mikorizal.org/BeyondTheEnterprise.html) + +Besides REA, the other main core concept is [dependent demand](http://hillside.net/plop/plop97/Proceedings/haugen.pdf). We do event-driven Resource Requirements Planning based on that pattern. + +We have made some significant changes from what we might call "Classical REA", which you can read about [here](https://docs.google.com/document/d/1YpFaytWfeuGMxZWW6yY59ZTfL0PseAQ_LxqjjBhGogs/edit?usp=sharing). _Warning: that document will probably be interesting only to REA and Linked Data wonks..._+ \ No newline at end of file diff --git a/docs/introduction/accounting.md b/docs/introduction/accounting.md @@ -0,0 +1,23 @@ +# Accounting + +### Recording Basic Economic Activity + +The ValueFlows vocabulary is based on the REA ontology (Resources, Events and Agents) the ISO Accounting and Economic Ontology, which was evolved for that purpose. (See Appendix for links.) + +Since all the data is recorded as the economic activity happens and is represented in its most basic form, you can get separate accounting views for: a network, each group in the network, each project, each individual. In other words, people in the network log events as they occur and the accounting *Just Happens*. + +All of the views can emerge from subsets of the same data. Any standard (or non-standard) accounting report can be created. + +Or potentially, views for a global value system economy (really). + + +### Accounting as in Accountability... + +* from peers to each other +* from members to a network +* from a network to the members +* from one network to another +* from a network to the community +* from a network to the ecosystem + +Accounting isn't always just counting beans. It will be important for community economies: what resources do we have, what happened with them, how are they doing? What resources do we need? Who needs what? Who can provide what? diff --git a/docs/introduction/agents.md b/docs/introduction/agents.md @@ -0,0 +1,8 @@ +# Agent + +The agent vocabulary describes networks of people and groups, using agents and their relationships. + +In ValueFlows, we are talking about economic agents, agents who can create or exchange value, make agreements, etc. But we want to re-use existing vocabularies for commonly defined things, so we have elected to use those as much as possible here. + + + diff --git a/docs/introduction/concepts.md b/docs/introduction/concepts.md @@ -1,19 +1,27 @@ -# Concepts +# Flows of Resources -![networks of networks picture](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/network-elio-cropped.jpg) +![networks of networks picture](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/network-of-networks.jpg) Networks of value flows are created when processes are linked together through flows of resources. -By process, we mean an activity that transforms inputs into outputs. The outputs might then become inputs to other processes, forming networks and chains. Those chains may be circular, where an output from one process becomes an input to another process that occurred previously in the same chain. +This forms an economic network, where resources flow from agent to agent to agent via events. These resource flow networks do not care about company or national boundaries. And the resources themselves can be anything of value: tangible or intangible, materials, ideas, work, kudos, money, alternative currencies, whatever. -For example: A farming process takes compost, soil, seeds, water and human and mechanical work as inputs, and transforms them into grains, nuts, fruit, and vegetables. Those ingredients may go to kitchens that create dinners for people to eat. Some of those ingredients may be pared off in preparation, or spoil, or be left on plates. Those leftovers go into compost, which starts the process chain over from the beginning. -Or for a bad example: A CAFO (Confined Animal Feeding Operation) produces a lot of manure. They put manure into big lagoons, which drain into the water table, and come back up in people's drinking water, causing diseases, for which the people become inputs to a hospital. +### Flows of value in which you can participate -One of the inputs to the CAFO process is antibiotics. The animals are filled with antibiotics because they get sick in the CAFO environment. And the antibiotics are also an output, mixed in with the manure. +Like Activity Streams, but about value network activities. +* Needs, ideas, offers, requests, plans, new recipes, creations, work to do, stuff we need, income, exchanges +* You will be able to subscribe to feeds from networks, with selections of types of activity. +* You will be able to respond: offer work, stuff, money, ideas, requests, orders, improvements, etc. +* You will be able to publish into the value streams. -The antibiotics then breed resistant bacteria, which end up in the people, and send them to the hospital, and then kill the people, because the common antibiotics no longer work. And the resistant bacteria remain in the hospital to kill other people. +### A little value flow.... -(This needs some more development.) +This is a (simplified) very specific example taken from the Open Value Network (OVN) Sensorica, where contributions to processes are rewarded according to agreed upon rules when there is income. -We think of Economy in the original sense of [management of our household](https://en.wikipedia.org/wiki/Economy). +![sensorica flow 1](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/sens-flow-1.png) +![sensorica flow 2](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/sens-flow-2.png) + +### ... to thinking bigger. + +![river flow](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/vf-river.png)+ \ No newline at end of file diff --git a/docs/introduction/core.md b/docs/introduction/core.md @@ -0,0 +1,17 @@ +# Core + +The vocabulary has a core that would fit many different kinds of economic - value networks, supply chains, joint ventures, business collaboration network.... + +The core is based on the REA (Resource, Event, Agent) ontology. You can find all the details by following the [links here](appendix/rea.md). + +These are the main concepts in the REA ontology, as pictured in this [document](http://www.msu.edu/user/mccarth4/Alabama.doc): + +![REA event](https://raw.github.com/valnet/valuenetwork/master/valuenetwork/site_media/media/photos/REA_event.png) + +A key concept in REA is Duality, which means that each event wants one or more balancing events: in other words, some kind of reciprocity. REA uses an abstract word for this relationship in order to make the meaning configurable. The reciprocity does not need to happen at the same time, or in the same transaction. And it can have any logic that a network wants: payment in money, swap, earn credits, earn reputation points, share with the commons, from each according to ability and to each according to need, etc. + +All the levels of the REA ontology are similarly flexible and configurable: + +* The Abstract level represents policies, procedures, rules and patterns. This is where each network or community can configure the core concepts to fit their desires. +* The Plan level represents offers, requests, schedules and promises. +* The Observation level represents what really happened. diff --git a/docs/introduction/exchanges.md b/docs/introduction/exchanges.md @@ -0,0 +1,50 @@ +# Exchange + +## Why? + +We are seeing several organizations that do exchanges, but not production processes. They also sometimes use several different software apps that might want to know about those exchanges. Some of them even conduct different exchanges in different instances of the same app, or in different apps altogether! As with all of the other Open Vocab projects, its goal is to help different apps talk to each other by means of a common vocabulary and protocols. + +## Who uses this? + +[NRP](https://github.com/valnet/valuenetwork) is the source of much of the vocabulary, and continues to refine the model, collaborating with user networks like [Sensorica](http://nrp.sensorica.co). [Holodex](https://github.com/open-app/holodex) is using the [organization aspects of the OVN vocab](https://github.com/openvocab/holodex). + +But most of the vocabulary comes from the [Resource-Event-Agent (REA) ontology](http://en.wikipedia.org/wiki/Resources,_events,_agents_(accounting_model)) originated by [Professor William McCarthy of Michigan State University](https://www.msu.edu/~mccarth4/) in 1982, used in many places around the world. + +## Overview of Exchanges + +This vocabulary subset looks at exchanges of resources from an independent or neutral viewpoint (not the viewpoint of one of the Agents in the exchange). For example, from one Agent's viewpoint, the exchange may be a Purchase, from the other Agent's viewpoint, it might be a Sale. From the neutral viewpoint, it is an exchange of resources, with usually at least two flows of resources, one from each direction. So for example, the seller might give some goods to the buyer, and the buyer might give some money to the seller. Or in a barter exchange, one agent might give the other some books, and the other agent might compensate with some cookies. + +This differs from (for example) the [Good Relations Conceptual Model](http://wiki.goodrelations-vocabulary.org/Documentation/Conceptual_model), which otherwise we like and want to intertrade with. But Good Relations assumes Compensation in the form of money; the compensation itself is not a separate promise; and the actual flow events are not part of the model. (That's not a criticism. Good Relations has different goals, and a more minimal model makes sense for them.) + +Other related vocabularies include [this product type ontology based on Wikipedia](http://www.productontology.org/) and the [ISO Accounting and Economic Ontology based on REA](https://webstore.iec.ch/preview/info_isoiec15944-4%7Bed2.0%7Den.pdf). + +In the [OVN vocab](https://github.com/openvocab/ovn), we want to track not only the offers and promises, but also the actual flows of resources in networks, in all directions. And we want to support exchanges that don't involve money as well as those that do. + +### Definitions + +* *[Transfer](https://github.com/valueflows/exchange/blob/master/Transfer.md)* + +### Use Cases +* [Dental Care](https://github.com/valueflows/valueflows/blob/master/use-cases/dental-care.md) + +### Exchange protocols + +Exchanges may use any of several technical protocols, but the main human-level protocol has been in use for many years. It may be called [Offer-Acceptance](https://en.wikipedia.org/wiki/Offer_and_acceptance) or [Conversation for Action](http://conversationsforaction.com/cfa-playground). It may include several preparation stages for agents who have never exchanged anything before, or it may be really simple if they exchange resources all the time. + +ISO lists 5 phases: + +1. Planning: In the Planning Phase, both the buyer and seller are engaged in activities to decide what action to take for acquiring or selling a good, service, and/or right. +2. Identification: The Identification Phase pertains to all those actions or events whereby data is interchanged among potential buyers and sellers in order to establish a one-to-one linkage. +3.  Negotiation: The Negotiation Phase pertains to all those actions and events involving the exchange of information following the Identification Phase where a potential buyer and seller have (1) identified the nature of good(s) and/or service(s) to be provided; and, (2) identified each other at a level of certainty. The process of negotiation is directed at achieving an explicit, mutually understood, and agreed upon goal of a business collaboration and associated terms and conditions. This may include such things as the detailed specification of the good, service, and/or right, quantity, pricing, after sales servicing, delivery requirements, financing, use of agents and/or third parties, etc. +4. Actualization: The Actualization Phase pertains to all activities or events necessary for the execution of the results of the negotiation for an actual business transaction. Normally the seller produces or assembles the goods, starts providing the services, prepares and completes the delivery of good, service, and/or right, etc., to the buyer as agreed according to the terms and conditions agreed upon at the termination of the Negotiation Phase. Likewise, the buyer begins the transfer of acceptable equivalent value, usually in money, to the seller providing the good, service, and/or right. +5. Post-Actualization: The Post-Actualization Phase includes all of the activities or events and associated exchanges of information that occur between the buyer and the seller after the agreed upon good, service, and/or right is deemed to have been delivered. These can be activities pertaining to warranty coverage, service after sales, post-sales financing such as monthly payments or other financial arrangements, consumer complaint handling and redress or some general post-actualization relationships between buyer and seller. + +Offers and Wants are matched in the Planning and Identification Phases. Conversation for Action covers Negotiation, Actualization and some of Post-Actualization. + +![Conversation for Action](https://github.com/valnet/exchange/blob/master/images/CfA_state_machine.png) + +### Resource flows + +One of the purposes of this vocab is to support resource flows connecting many websites. These flows may be oriented around Processes, Exchanges, or combinations of both. We are breaking out the Processes and Exchanges into their own vocab repositories, but here some overview diagrams. + +In general, processes and exchanges alternate in a flow. But in some situations, either the processes or the exchanges are more important, and the other is not worth tracking and can be elided. This Exchange vocab is focused on the situations where the processes are not important.+ \ No newline at end of file diff --git a/docs/introduction/intents.md b/docs/introduction/intents.md @@ -0,0 +1,22 @@ +# Intents and Commitments + +Vocab about Offer, Request, Want, Need, Desire, and other related predecessors to [exchanges](https://github.com/openvocab/exchange) or [processes](https://github.com/valueflows/process). . + +We see many groups posting intents that are different from commercial advertisements or ecommerce offers. + +They are more general, often not commercial at all, expressed not in identified products but in categories, tags, and text. But they want to find each other. The offers want to find the matching wants. The wants want to find the matching offers. + +When they find their match, those with the matching Offer and Want enter into a conversation for action which might result in an [exchange](https://github.com/valueflows/exchange). + +A proposal to do something might enter into conversation for action which might result in a [process](https://github.com/valueflows/process). + +Some of the groups we have seen posting these intents include [Mutual Aid Networks](http://www.mutualaidnetwork.org/), [Mutual Credit Associations](https://www.community-exchange.org/home/), and [Hylo](https://www.hylo.com/c/collaborative-technology-alliance). + +See also [intent casting](https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=intent%20casting) + +Or [Netention](http://www.slideshare.net/helenefinidori/introduction-to-netention). + +Intents may lead to conversations for action, which may lead to more and better cycles of engagement: + +![funnel](https://cloud.githubusercontent.com/assets/117439/11401215/144641f6-9357-11e5-8ddd-f01f5bcf4012.png) + diff --git a/docs/introduction/planning.md b/docs/introduction/planning.md @@ -0,0 +1,19 @@ +# Planning + +I wrote a much longer version of this called [Dependent Demand](http://hillside.net/plop/plop97/Proceedings/haugen.pdf) for a PLoP conference in 1997. This is the shorter version, but maybe still difficult to read because I am trying to qualify all the vf:Names. + +Basically, you traverse a graph of vf:ProcessTypes backwards from the last vf:OutputType, connecting vf:InputTypes with vf:OutputTypes that have matching vf:ResourceTypes. See [Graph search algorithms](http://jasonpark.me/AlgorithmVisualizer/). + +Take each of the requests for quantities of vf:ResourceTypes as a demand and start the traversal. + +**Start:** +* First check for onhand and available vf:Resources, or previously scheduled vf:PlannedOutputs, that are not yet allocated to any demand. +* Allocate any that you find to the highest priority demand (where highest priority usually means earliest delivery date). _(In terms of some of our discussions here, those are soft allocations, known only in the computer system.)_ +* For demands that find no or insufficient available inventory or previously planned outputs, look for a vf:ProcessType that can create some. If you can't find a vf:ProcessType, suggest a purchase. + + * _(Note: a vf:Recipe is not really a thing, it's just a graph. A requested vf:ResourceType may have one or more vf:ProcessTypes that can create some vf:EconomicResources of that type. Each of those vf:ProcessTypes may have vf:InputTypes the specify some other vf:ResourceTypes, and each of those vf:ResourceTypes may have vf:ProcessTypes that can create them, and so on, recursively, until you can't find any more creation vf:ProcessTypes. If you find more than one creation vf:ProcessType, you will need some way to select one.)_ + +* If you find a vf:ProcessType, + * then schedule a vf:Process of that type, with a vf:PlannedOutput of the required quantity of the demanded vf:ResourceType. + * Then schedule vf:PlannedInputs for each of the vf:InputTypes of that vf:ProcessType, with their quantities scaled to the quantity of the planned output. + * Then start over from the **Start** with each of those new vf:InputTypes as the demand.+ \ No newline at end of file diff --git a/docs/introduction/processes.md b/docs/introduction/processes.md @@ -0,0 +1,21 @@ +# Processes + +By Process, we mean an activity that transforms inputs into outputs. The outputs might then become inputs to other processes, forming networks and chains. Those chains may be circular, where an output from one process becomes an input to another process that occurred previously in the same chain. + +For example: a farming process takes compost, soil, seeds, water and human and mechanical work as inputs, and transforms them into grains, nuts, fruit, and vegetables. Those ingredients may go to kitchens that create dinners for people to eat. Some of those ingredients may be pared off in preparation, or spoil, or be left on plates. Those leftovers go into compost, which starts the process chain over from the beginning. + +Or for a bad example: a CAFO (Confined Animal Feeding Operation) produces a lot of manure. They put manure into big lagoons, which drain into the water table, and come back up in people's drinking water, causing diseases, for which the people become inputs to a hospital. + +One of the inputs to the CAFO process is antibiotics. The animals are filled with antibiotics because they get sick in the CAFO environment. And the antibiotics are also an output, mixed in with the manure. + +The antibiotics then breed resistant bacteria, which end up in the people, and send them to the hospital, and then kill the people, because the common antibiotics no longer work. And the resistant bacteria remain in the hospital to kill other people. + +Connected processes enable us to see cause and effect, if we want. + +Below is a view of processes, which occur in resource flow networks, and live in three layers: Abstract, which describe how processes work. Plans, which describe processes which are intended to happen. And Observation, which is a record of processes that have already happened. + +![process resource flow](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/process-layer.png) + +Here is a specific example: + +![salsa flow](https://rawgit.com/valueflows/valueflows/master/release-doc-in-process/salsa-layer.png)+ \ No newline at end of file diff --git a/docs/introduction/resources.md b/docs/introduction/resources.md @@ -0,0 +1,65 @@ +# Resources + +Traditionally, an economic resource is defined by its utility, but also by its scarcity and its control by an economic agent. That definition is too limited. Its limitations include: +* Intellectual creations like designs are not scarce, yet they clearly are economic resources. They only become scarce when legally restricted by patents and copyrights. +* Air, water, and other products of nature are clearly economic resources, but they are not under the control of an agent unless they are legally restricted by ownership. However, by means of the invisible foot that accompanies the invisible hand, they are regularly degraded by enterprises, and not accounted for, classified as “externalities”. + +We want to think of ourselves as participants in ecosystems, not competing enterprises. As such, we need to account for our effects on all aspects of our ecosystem. + +And we want knowledge to be freely available. + +Also, we prefer to think of use value, but economic resources also often have exchange value. + +#### The difference between a resource and its category or model* + +An economic resource is observable. Its category or model defines what type of thing the vf:Resource is. + +So, for example, most things offered for sale on an e-commerce site are models, which can be searched using categories. +The one in a box delivered to your door is a resource. + +Or the description of the book entitled "The Power of Babel: A Natural History of Language", ISBN ISBN-13: 978-0060520854, +is a model. Your library may have two copies that you can check out. Those are resources. + +*Names TBD. + +#### Identification and Behaviors of Resources + +Here are three different types of resources from the viewpoint of identification: +a) serialized resources, where each individual instance has a unique identifier, +b) lot-controlled resources, where each lot or batch has a unique identifier, but the lot or batch may contain many individual instances, and +c) count or volume or stock resources, where individual instances are indistinguishable, or in the case of fluids, only exist on a molecular level. + +Serialized resources would fit the direct identification pattern. Lots can be split up, so the identification of a subset of a lot would require some other properties, such as location. Stock resources can only be described indirectly, by means of some combination of properties, such as model and location. (Location is a complex ontology of its own: for example, in warehousing, a location is often composed of warehouse:room:aisle:row:tier.) + +Moreover, identification of resources will depend on context and purpose. We want to allow each context to define resources that they have relationships with, according to the combination of properties that works best for them, which might include which agent has which relationship with a resource. + +And then in the "independent view", for larger-scale analysis of resource flows, or for example for lot tracking for public health issues like mad cow disease, different combinations of properties might be needed. + +#### Inventory + +Resources can be inventoried, not inventoried but could be, or it doesn't make sense to think about inventory. +* Inventoried: You want to keep track of it, changes in quantity, and how many you have right now. +* Not inventoried: You could keep track of it, but it isn't worth it. This usually happens for quantities of small or hard to measure items that are obtained in bulk, like solder or bolts. In this case, you have to look at the actual resource to see if you need more, the data won't tell you. +* Not applicable: This is for types of work (unless scheduled), and other resources where it just doesn't make sense. + +#### Unique identifiers fo resources + +This can vary. And people can be allowed within some boundaries of agreement to specify which combination of other properties would constitute identifiers. + +Here are some examples from manufacturing situations: + +* Unique identifier = an assigned serialized identifier, which is unique across manufacturers, due to agreements in an industry. Examples are computers, vehicles, and other equipment. +* Unique identifier = resource model + lot identifier + location + owner: so in other words, the owner of the rights was part of the unique identifier of the resource, and if the resource got transferred from one owner to another, the first owner's resources would be decremented, and the second owner's resources would be incremented. + +Note in the last case, a transfer of rights means a different resource. This is common with resources that are not serialized, where one logical resource has a quantity greater than 1, and the individual instances are substitutable. (Think nuts and bolts, grain, strawberries, bottles of beer in cases, etc.) + + +#### How resources relate to events + +In the REA ontology, an Economic Event is a change in the quantity or in the rights to an Economic Resource performed by Economic Agents. An event is also defined by its behavior in relation to the resource and a process or transfer (consume, use, produce, give, etc.). + +Some people use the terms "stock" and "stock flow". A stock is a resource; a stock flow is an event. (The term stock is too limiting, since a resource could be digital, like a document or media file.) + +An event can trigger incrementing or decrementing a resource. Sometimes it does neither, as in the case of using a piece of equipment or citing a document. But in any case, the quantity of a resource related to the event is not a resource itself, it is just a property of the event. For example a resource could be 100 widgets on a pallet, lot number 1234. If 10 of those widgets are consumed in a process that makes something out of them, that is an event: consumption of 10 widgets of lot number 1234. The 10 widgets are not a resource in their own right. The event triggers the decrement of the original resource of 100 widgets, which now has quantity of 90. + +For serialized or uniquely identified resources, if the logical and technical unique identifiers are not changed by an event, such as moving a vehicle to another location without any changes to its custody (and assuming location is not part of the logical identifier), the resource does not behave like a stock and is not decremented or incremented.+ \ No newline at end of file diff --git a/docs/introduction/status.md b/docs/introduction/status.md @@ -1,7 +1,9 @@ ### Status of the vocabulary -The consolidated parts of the vocabulary are reflected below. Those include: +This documentation is pre-release. + +The relatively consolidated parts of the vocabulary are reflected below. Those include: * Core Agent model * Core Resource model * Core Input-Process-Output model diff --git a/docs/introduction/usedfor.md b/docs/introduction/usedfor.md @@ -0,0 +1,43 @@ +# What We Think ValueFlows Might Be Useful For + +## Interconnecting current apps that people are using in the same situations + +For example, the [Madison WI Mutual Aid Network](http://www.mutualaidnetwork.org/) uses two different systems: a mutual credit system and a marketplace system, both of which have different platforms, code bases and developers. They want to intertrade between both of those systems, responding to offers and wants and transferring hour-based currencies between accounts. + +## Developing "native" Value Flows apps + +The other, possibly more interesting direction, is developing new tools where the value flows vocab and protocols are "native", and composing systems out of those VF-native apps, or using them to interact with each other. +That was the original idea of the Open Apps Ecosystem. The current examples of this direction are Holodex, Personator, and the Linked Data Browser. + +Following this direction, we will need to figure out the sweet spots for component size and shape for Value Flows Open Apps. If we do that well, many people should be able to create variations on any of the components, and they might be able to work together with any of the other variations. (Depending on devils in details...) + +### Two possible patterns of native VF apps: + +#### Composing bigger apps from many smaller apps + +This means assembling a bunch of smaller apps into some kind of whole, like a network resource planning or social network platform made out of many components, but presenting themselves to users as a unified system. + +People are doing this now; sometimes called microservices. This is what the [Open Apps Ecosystem](https://docs.google.com/document/d/1lfy9Q2OdssTMPm-mZ23UVDutfsCYhH_z0qz1bpsOfco/edit?usp=sharing) was thinking about. + +#### Networks of apps interacting with one another + +This would be something completely different. For example, +* Think of the [Personator](https://github.com/holodex/personator) expanded to become your personal agent. +* It would interact with other personal agents on the open Web. + * They might form groups, which would be instantiated as a different kind of agent on the Web. + * Those personal agents and their groups could be visualized by [Holodex](https://github.com/open-app/holodex), but each of the agents and the group would have separate URLs in different domains. +* They might engage in conversations for action with other agents. +* Those conversations might result in plans for processes, which would be instantiated as another kind of thing on the web. + * Each of the agents involved in the process would post events to the process. + * The process would notify each of the agents about what was happening, what the process required, what had been created, whether it was on schedule or not, etc. +* Those conversations might result in plans for transfers or exchanges. The exchanges would be instantiated as yet another kind of thing on the web. The transfers might just stay between the giving and taking agents. + +The [Indie Web](https://indiewebcamp.com/Projects) is sorta going in this direction, but they are mostly focusing on publishing personal blogs and tweet-style messages. [Portable Linked Profiles](https://github.com/hackers4peace/plp-docs) go farther in that direction. + +Email and messaging accounts are probably the personal agents that most people are familiar with. Note the array of extra services that are being added to (for example) Gmail. But all those services live in the Google context, not the context of "your personal agent" (which would be what the Indie Web and PLP gangs would want). + +**One main difference** between a system composed of apps vs a network of interactions between personal agents and other things on the open Web, is that the composed system would know you by your user account and login credentials, which would most likely be single-signon. Your personal agent would introduce you to the other agents you interact with. No login, no user account. + +**Another interesting use case detailed on another page:** +## [Provenance](https://github.com/valueflows/valueflows/wiki/Provenance) +