Resource Types vs Resources - Sensorica/valuenetwork GitHub Wiki

What is the connection and difference between a Resource Type and a Resource?

A Resource is an instance of a Resource Type.

The Resource Type is the definition of all of the Resources that belong to that Type. In programmer-speak, a Resource Type is like a class, and Resources are like objects of the class. Or if you are familiar with ERP systems, a Resource Type is like a Product Master or Item Master, and resources are like Inventory Items. Or in books, an ISBN (International Standard Book Number) is the ID of a Resource Type, and all of the individual books with that ISBN are Resources.

Or at Amazon, you always buy a Resource Type. Amazon knows what Resources they have in inventory for that Type, but unless they get down to 1 remaining item, you are not specifying which Resource you want. The warehouse will determine that when they pick and ship.

For another example, "Room 101" might be a Resource belonging to a Resource Type called "Room" or "Space" or "Facility".

"Room 102" would be another Resource of the same Resource Type.

If SENSORICA's products have serial numbers, then "Mosquito Sensor" could a Resource Type, and "Mosquito Sensor 1003" would be a Resource of that Type. And "Mosquito Sensor 1004" would be another, etc.

Usually Resources would only be instantiated if they are inventoried: and usually, that is if they exist physically and tangibly somewhere.

Money is one exception: a Resource Type that might be instantiated in a pile of cash, but more often as the balance of a bank account or a number in a database.

Some Resources may never be instantiated: for example Types of Work, measured in hours. The hours come and go. You could add them to a calendar, but then would you subtract them from the calendar when used? You would more likely want to mark them "busy" on the future calendar when they are scheduled to be used. The same goes for any other Resource that is measured in time: for example, tool, equipment or facility use measured in hours.

(Note: the Value Network software does not now allocate calendar times to processes. It may do so in the future, but that will depend on some benefit more valuable than the work expended in developing the feature.)

Modeling Resource Types

This is an art and a skill. People are trained and have full-time jobs in manufacturing companies to do nothing but.

The general rule of thumb in manufacturing is that all Resources of a Resource Type should be substitutable for their intended use. So if you have a collection of microscopes or laser drivers or wheels and you can use any one of the collection, those are all the same Resource Type. If not, not.

An experiment

The substitutability rule of thumb does not work well for the Guerrilla Translators.

One translation involves one source material and a few translation steps that may create intermediate resources, leading to the final translated product. None of those resources is substitutable for any other. To follow the substitutability rule of them, they would need to create new Resource Types for every order, which would be a lot of unnecessary work, and would mean that many system features (such as automatic schedule generation from Recipes) would not be usable.

So we are trying an experiment: adding a flag to Resource Types called "substitutable" (True or False). For GT, the setting is almost always False. What that means is that their translation resources are always created for a single order, whether a customer order or an internal work order. (An order in valnet is a chain or tree of processes that has a destination, moving toward one or more end products.)

So if a Resource Type is not substitutable, each of its resources will be marked with the order for which they were created, and only those resources will appear to be selected for use in the next process in the chain. In other words, non-substitutable resources will be usable in one and only one order flow. (This logic may be too restrictive, but that will be part of the experiment.)

This experiment may also be useful in other networks. We'll see how it works for GT and report back here.


Open page on Resource types and Resources on OVN wiki