Okay, so in the last two posts I talked about Moffett’s Universe of Discourse. We saw that the Universe has two facets: Process and Audience. I’m going to change the term “Audience” to “Persona”, a term that Alan Cooper likes to use and which I also prefer.

Systems can have many dimensions. Earlier in this blog I pointed out that the most generic dimensional models had four, six or twelve facets. Let’s first look at the six dimensional model called “the basic interrogatives” used by John Zachman in his framework.

Zachman’s dimensions–which he calls “focuses”–are as follows:

- Persona
- Instance
- Step
- Node
- Event
- Goal

Persona is the people who employ the system whether they are internal or external to the business. Instance is the value that the system uses for structure or content. Step is the action performed by the system. Node is the location a system occupies. Event is an occurrence used to meter time. Goal is the motive of the system.

Each of these discrete entities has a pluralarity of instances that are associated to one another in three possible ways. Let’s look at that next.

Persona’s belong to groups. A single persona may be a supertype to several persona subtypes. Each of these are one to one relationships. A persona may associate with members of its own group which is a recursive relationship. A persona may associate with members of another group which is a one to many relationship. Finally, a persona may be part of an “ExtraGroup” that resolves the association in a many to many relationship.

The next facet which is discussed by Moffett in his Universe of Discourse is function. But it really isn’t function. He is actually talking about the deliverable of the function. Therefore, we will talk about an instance. Each instance is not a single measure. An instance is a collection of measures which are related one to one. When Moffett talks about recording, he is talking about capturing one unique instance for each of the human senses. When Moffett talks about reporting he is talking about an instance that is associated recursively. When Moffett talks about generalizing he is talking about comparing one instance in one table to instances in another table. When talking about Theorizing Moffett is resolving a many to many relationship between two tables of instances.

Now that we’ve dealt with both of the dimensions dealt with by Moffett. Let’s look at the remaining four dimensions.

The third dimension of the basic interrogatives is step. We like to think of step and process as repeatable, however each iteration of a process is a unique three dimensional navigation through a three dimensional network of steps. We are accustomed to programming with steps, decisions and loops, however, the relational model presents us with a whole new way to think about programming if we are willing to do so. SQL can be used in place of procedural language and you do not flowchart it in the same fashion as a procedural language.

Fourth is the dimension of nodes. Nodes belong to networks and networks can relate to nodes within their “family”, nodes outside their family and nodes from families that have complex many to many associations.

The fifth of the dimensions this model provides us with is event. If we look at the event dimension carefully in any complex system, we can see that time is not linear. Time navigates a three dimensional network of events.

The final dimension of our model is goal. When we look at a recursive association between goals we are talking about operations. When we associate one goal to many goals in a different table we are using tactics. When we resolve a many to many association between goals we are employing strategy.

Now, having our six dimensions we see that we have six three dimensional networks which intersect for each “transaction” or “observation”. We’ll look at this further in the next post.