Skip to topic | Skip to bottom


Start of topic | Skip to actions

EU Provenance Pre-Prototype

The EU Provenance project has used PASOA technology to develop a simple, intuitive pre-prototype application. Using this pre-prototype they hope to explain and explore the principles of provenance recording and usage, with a view to eventual standardisation.


The example scenario chosen for the pre-prototype is a bakery in which Victoria sponge cakes are baked, where each cake is baked on demand for a customer by a baker. The baking of each cake is a process with well-defined results, i.e. a cake, and so is good for illustrating the use of provenance data. An idealised victoria sponge recipe (based on one taken from is followed, which requires four main ingredients: butter, sugar, eggs and flour, as well as some flavouring (vanilla and lemon rind). The recipe process is composed of four steps as follows.

  1. Whisk together the butter and sugar until light and creamy.
  2. Beat the eggs for a certain duration and add to the whisked sugar and butter.
  3. Fold the flour into the mixture and add flavoring (vanilla and lemon rind).
  4. Put the wet dough produced by the preceding step into an oven and bake for a given time at a given temperature.

For testing provenance-related principles in the pre-prototype, a small set of variable factors were identified. As well as the amount of each main ingredient, the variables considered important in this process are: the duration for beating the eggs and the temperature at which the cake is baked. On asking for a cake to be baked, a customer specifies the value of each variable for their cake, i.e. the amount of flour to use, the duration for beating the eggs etc. The baker delegates each step of the baking process to a different cook, i.e. one cook does the whisking, one does the beating, one does the folding and one puts the cake in the oven.

Use Cases

As the process has a number of variable factors and there is always a possibility of mistakes being made by the participants in the process, the cakes produced by following the recipe at different times or by different bakers can be slightly different. For a given cake, a customer can inquire about the process by which the cake was produced and, in particular, attempt to discover why a cake tastes bad. For the pre-prototype, the following use cases were considered.

  1. The customer determines whether the correct ingredients used at the correct step of the recipe. For example, when the recipe specifies the use of flour, did we actually use the flour and not the sugar?
  2. The customer determines whether the correct oven temperature, as specified in the recipe, was used. A very high temperature can cause a cake to be burnt and a very low temperature means the cake will not be cooked enough. Also, ovens may have different units by which the temperature is specified, some using the Celsius scale, some using Fahrenheit and others using gas mark.
  3. The customer determines whether the amount of flour used was appropriate for the altitude at which it was baked. The higher the altitude of the oven is, the more flour is required, due to the differing air pressure at different altitudes.
  4. The customer determines whether the baker follow their instructions, regardless of any claim made by the baker.
  5. The customer determines whether each cook follow the customer's instructions regardless of any claim made by the cook.
  6. The customer determines which step took the longest time.
  7. The customer determines what difference there is in the quantities of ingredients used in baking their cake compared to another cake produced by the bakery.
  8. The customer determines whether the proportion of ingredients used was correct for the desired size of cake. For example, if the customer desired a cake twice the size of the one in the recipe, they have to use double the amount of flour.


The pre-prototype scenario was implemented as a set of Web Services, one for a baker and one for each of the four cooks, and a Web Service client simulating the customer. All were deployed in Axis engines. A PReServ Web Service provenance store was used to record and query the provenance data and each Web Service and client used the PReServ Axis handler to automatically record their interactions without changing their business logic.

-- SimonMiles - 11 Apr 2005

to top

You are here: PASOA > DocumentStore > GridProvenanceApplication

to top

Copyright 2004, 2005 by the PASOA consortium.