Taxonomy/3. Patterns/Workflow

Uit Werkplaats
< Taxonomy‎ | 3. Patterns
Versie door Hanno Wupper (overleg | bijdragen) op 23 mrt 2011 om 09:10
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Ga naar: navigatie, zoeken
RationalitySquare.gif

Taxonomy
of Computer Science
Hanno Wupper
Hans Meijer
Angelika Mader
Stijn Hoppenbrouwers
Mieke Boon


 © comments


Related:


The definitions given here apply to →artefacts whose purpose is

  • to do something (activity, here called production steps)
  • to something (object, here called products)
  • by means of something (instrument).

Conforming to the →Chinese Box principle, activities can be composed of sub-activities, which can be considered at a lower level. The same holds for products, instruments, production steps, recipes, etc.


Note that we avoid th term "process", as it has too many different meanings in the literature.

Basic concepts

concept definition world special cases examples remark
kitchen example example example
product

object
Substances, information, people, or money that are objects of processing reality ingredient, raw product, half product, end product, catalysator spices, flour, pasta, meat, beefsteak, beuf Stroganoff
instrument

means
A →thing that is used for production reality plant, vehicle, resource gas ring, pan, sieve An instrument can only be used once at any moment. One production step can require several instruments. The same intrument can be necessary for different production steps, in which case conflicts have to be resolved.
production step

activity
takes some products as ingredients (precondition), performs some operation, thereby using some instrments for a certain time, and produces some products (postcondition) reality thread? the white of 3 eggs; instrument: food processor; output: whipped eggs the crossing point of a service and a batch
batch a quantity of products moving from production step to production step resulting in one end product reality eggs, flour and milk being mixed and becoming a pancake in several production steps orthogonal to service
service the iterative execution of a production step with the same instrument for different batches reality actor, task the cutting of vegetables with the same knife on the same plate for many dishes orthogonal to batch
scenario all production steps that actually happen in a period of time reality Within a scenario, many batches and services can be identified.
recipe The specification of a class of batches that result in a certain product description A recipe for a product. Recipes usually specify partial orders of production steps, where the products of steps are ingredients for other steps.
functionality The specification of a service description the functionality of a service
protocol The specification of an interface between two services that exchange products description A protocol is an agreement about how two services are to be linked operationally, i.e. concerning input/output and place/time (synchronization etc.).
order A bag of pairs (product, due date) description A scenario conforms to an order if it contains a production step that produces the ordered product at the ordered moment.

The story

  • Design and verification of an artefact for production
    • The purpose of many artefacts is the production of products of a certain class.
    • The design of such an artefact is based on recipes for the intended products.
    • The artefact must provide services for all production steps required by all recipes involved.
  • Design of a control
    • Get the recipes for all ordered products
    • Determine a schedule, i.e. a class of scenarios that contain the batches that conform to these recipes and orders and that can be produced by the available services without conflicts
    • Control the services conforming to this schedule.
  • Verification of a control
    • For any order, there is a batch that conforms to that order.
    • For all steps in all such batches there is a service that can perform it.
  • Efficiency
    • All steps should conform to an order.
    • All products should either be ordered or be input for steps that conform to some order.
    • Services should not be idle.


Relations

  • a recipe for a product, ingredients for a recipe
  • ingredient for a step, result of a step, resource for a step
  • a plant suitable for a recipe, i.e. a plant for which a schedule for an order of the result of that recipe exists
  • ...
tentative below this line

Decomposition

The specification at the right hand side of the correctness theorem 
typically states which orders have to be fulfilled. This gives rise to a taxonomy of design problems as given below.
The blueprint at the left hand side of the correctness theorem 
typically results from a decomposition of the kitchen or plant into resources ("instrumental decomposition"). The specifications of these must be suited for the production steps they can perform ("process decomposition").
The domain knowledge in the correctness theorem ; typically consists recipes for the products to be made ("object based decomposition").


Modelling problems

reverse engineering 
model a given physical plant so that the model can be used for the verification of a controller. This involves the identification of intruments that match production steps from the intended recipes.

Design problems

production line 
Given a recipe, design a plant that repetitively produces products conforming this recipe as quickly as possible
processor 
Given a generic recipe, design a plant that fulfils orders for instances of this recipe when they come in as soon as possible. (Example: printer)
multi-purpose plant 
Given a (usually small) set of recipes, design a plant that takes orders for results of these recipes and fulfills them conforming to some efficiency measure
universal plant 
Design a kitchen that takes orders together with recipes and fulfills them

Decision problems

  • Is a plant suitable for a recipe?
  • Is a plant suitable for an order? Viz. is there a schedule for a given plant and a given order?
  • What can be done with the waste? Not all output of certain steps of a recipe is used as input for subsequent steps in the same recipe. Can different recipes be so combined that waste is minimal?