Tuesday 29 December 2009

Using MyCreativity to help elaborate models


Consider this simple model. A Kettle, useful, is used to produce Hot Water, also useful. One of the first things you do when you create a Southbeach Notation model is to try and describe the important elements of your situation, and then gradually elaborate the model to include additional details.

There could be many reasons you might use Southbeach in this way. It could be you are trying to improve a situation, or work out what could fail in a newly designed process, or perhaps you simply want to understand a situation better, and modelling how the various aspects of a situation are related to each other helps put things in perspective.

In this example, we explore how some simple MyCreativity rules can be developed to provide thought provoking questions about a situation to help provoke people into fleshing out the details that could help understanding.

Starting simple, adding the following rules to the modeller:

produces(*, useful) "What (additional) resources does the {source} need in order to produce the {destination}?"
produces(*,useful) "What qualities should the {source} exhibit in producing the {destination}?"

give the following output for this model:

1. What (additional) resources does the Kettle need in order to produce the Hot Water?
2. What qualities should the Kettle exhibit in producing the Hot Water?

Two important questions. No doubt you can think of more. Lets elaborate the model further and see how else we can extend these creativity rules.

In this elaborated model, we have added Electricity and Water as Agents of Type Resource that are being consumed by the Kettle. We have also noted that The kettle needs to be quite, efficient, and fast. These are represented as Agents of Type Quality that are specifying the Kettle. The use of this additional richness in semantic supported by Southbeach Notation allows for more specific Creativity rules to generate more specific, more helpful output:

These elaboration rules:

consumes(&a=*,&r=resource) produces(&a,&o=useful) "Where is the resource of {&r} used by the {&a} to produce the {&o} obtained from?"
specifies(quality,*) "What is the {source} quality related to?"
produces(,useful) "What is the {destination} used for?"
produces(&a=useful,&o=useful) produces(&o,&r=useful) "What other than the {&a} and {&o} is necessary to produce the {&r}?"

Produce this output:

1. Where is the resource of Electricity used by the Kettle to produce the Hot Water obtained from?
2. Where is the resource of Water used by the Kettle to produce the Hot Water obtained from?
3. What is the Hot Water used for?
4. What is the Fast quality related to?
5. What is the Efficient quality related to?
6. What is the Quiet quality related to?

Note that I have already drawn on that Efficiency is related to Electricity, and Fast is related to the production of Hot Water. This allows for further specific rules related to improving quality:

These two improvement rules:

#Improvement
specifies(quality,useful) "How can the {destination} be made more {source}?"
related(quality,useful) "How can the {destination} be more {source}?"

produce this output:

How can the Hot Water be more Fast?
How can the Electricity be more Efficient?

As described in a previous example, there is a relationship between the rules and the way the model is drawn (the 'meta model') - the way the notation of Southbeach is used to represent the real world situation the model is being used to represent. This can be weak or strong. What does this mean? If there are certain specific suggestions you want rules to be able to fire that you don't want to fire for any old agent in the model, then you need to decide how you want to model reality and how you want to pick this up in rules. For example, this model uses agents of Type Resource to generate some very specific questions like: Where is the resource of Electricity used by the Kettle to produce the Hot Water obtained from? Note that the rule knows the Kettle is using Electricity because Electricity is modelled as Type Resource, and there is a Consumes effect between Kettle and Electricity indicating that the Kettle is Consuming the Resource of Electricity.

Note how the rules have a heading of #Improvement. If you were to save these rules in a file along with your other MyCreativity rule sets, this heading allows you to select these rules from this file along with other rules on Improvement from other rule files you may have to all be run against the model at the same time.

(remember these are rules generated against a model you create - so the language is not going to be perfect!... you need to interpret the output, and think about how you phrase the text in the rules and the text in the agents in the model so that when they are combined, they read well)

Lets elaborate the model further according to the questions above - e.g. What's the Hot Water used for?


Finally, the rule set looks like this:

#Elaboration
produces(*, useful) "What (additional) resources does the {source} need in order to produce the {destination}?"
produces(*,useful) "What qualities should the {source} exhibit in producing the {destination}?"
consumes(&a=*,&r=resource) produces(&a,&o=useful) "Where is the resource of {&r} used by the {&a} to produce the {&o} obtained from?"
specifies(quality,*) "What is the {source} quality related to?"
produces(,useful) "What is the {destination} used for?"
produces(&a=useful,&o=useful) produces(&o,&r=useful) "What other than the {&a} and {&o} is necessary to produce the {&r}?"
#Improvement
specifies(quality,useful) "How can the {destination} be made more {source}?"
related(quality,useful) "How can the {destination} be more {source}?"


and the output looks like this:

1. Where is the resource of Electricity used by the Kettle to produce the Hot Water obtained from?
2. Where is the resource of Water used by the Kettle to produce the Hot Water obtained from?
3. What (additional) resources does the Kettle need in order to produce the Hot Water?
4. What qualities should the Kettle exhibit in producing the Hot Water?
5. What is the Hot Water used for?
6. What other than the Kettle and Hot Water is necessary to produce the Cup of Tea?
7. How can the Hot Water be more Fast?
8. What is the Fast quality related to?
9. How can the Kettle be made more Fast?
10. What (additional) resources does the Hot Water need in order to produce the Cup of Tea?
11. What qualities should the Hot Water exhibit in producing the Cup of Tea?
12. What is the Cup of Tea used for?
13. What (additional) resources does the Tea bag need in order to produce the Cup of Tea?
14. What qualities should the Tea bag exhibit in producing the Cup of Tea?
15. What (additional) resources does the Milk need in order to produce the Cup of Tea?
16. What qualities should the Milk exhibit in producing the Cup of Tea?
17. How can the Electricity be more Efficient?
18. What is the Efficient quality related to?
19. How can the Kettle be made more Efficient?
20. What is the Quiet quality related to?
21. How can the Kettle be made more Quiet?


Note how the rules we wrote earlier for the initial model also make sense for the parts of the model added later. MyCreativity can be configured to give you the full list of output like this, or just limit the output to what is relevant to the part of the model you click on.

For instance, setting the extent to extended and clicking on the Cup of Tea, gives just this output:

1. What (additional) resources does the Hot Water need in order to produce the Cup of Tea?
2. What qualities should the Hot Water exhibit in producing the Cup of Tea?
3. What is the Cup of Tea used for?
4. What other than the Kettle and Hot Water is necessary to produce the Cup of Tea?
5. What (additional) resources does the Tea bag need in order to produce the Cup of Tea?
6. What qualities should the Tea bag exhibit in producing the Cup of Tea?
7. What (additional) resources does the Milk need in order to produce the Cup of Tea?
8. What qualities should the Milk exhibit in producing the Cup of Tea?


Rule sets for MyCreativity can be developed like this as you are building a specific model, and then reused with any other model. This rule set is quite generic. Its not complete - there are lots more ways you could elaborate, or add detail to a model... but its a start... that can be built on.

No comments: