The highest-quality power [...] comes from the application of knowledge. (Alvin Toffler, Powershift)
Knowledge Base


The Knowledge Base is accessible from Client Support area. Please login:

Support Level:
Password:

A 3D Software Architecture Framework

- A Formal Representation -

Author: George Jucan

Copyright (c)2002, Open Data Systems Inc.

Introduction

The 3D extension of Zachman’s Framework was introduced in June 2002 in the article A 3D Software Architecture Framework. A new dimension (depth) was added to the original 2D framework enabling a complete specification of each of the original artifacts.

Applying the Zachman’s framework paradigm for each of its cells, we reached a complete definition of the original artifacts consisting of:

    • what have to be performed;
    • how the information will be presented;
    • where is the information captured;
    • who will perform the work required;
    • when is the activity located in the project time line;
    • why do we have to do it?

Each of these subjects map to the original framework structure, so we defined the following topic-based frameworks:

    • Development Framework, describing what has to be done for each artifact;
    • Metadata Framework, containing the description of the information to be collected and how will it be organized (what data elements are sufficient to ensure that the information is completely described);
    • Documentation Framework, displaying the standard documents where the information will be captured;
    • Responsibility Framework, showing who (from the development team) will perform the required activities;
    • Life Cycle Framework, showing when the artifact occurs during the project duration;
    • Purpose Framework, describing why we need to include that artifact in the framework.

 

Figure 1: 3D Architecture Framework

 

The framework’s height represents the abstraction levels used to perform the analysis:

    • Business Environment is the highest abstraction layer, usually represented by fuzzy ideas or idealistic concepts (contextual level).
    • Enterprise Model represents the conceptual level, defining the business concepts the enterprise operates with.
    • System Model includes a complete logical specification of the concepts defined at Enterprise Level.
    • Technology Model defines the physical objects that will represent the logical structures.
    • Detailed Representation layer is composed by the description of the physical implementations of each category.
    • Functioning Enterprise is the physical layer where the systems become "real", usable from the user’s point of view.

The main enterprise activity layers are represented on the framework’s width:

    • Data layer reflects information representation.
    • Function column is concerned about actions performed with the data.
    • Hardware layer is an encompassing column for all the computers, networking and other supporting equipment.
    • People column shows the actors involved in the process.
    • Time represents the scale associated with the time elements on each abstraction level.
    • Motivation is the engine of getting the things done.

The framework’s depth is composed by the topics detailing the original framework:

    • Development describes what will be performed for each artifact;
    • Metadata is the description of the information to be captured;
    • Documentation shows where the information will be located;
    • Responsibility specifies what member(s) of the team will perform the work;
    • Life Cycle places the artifacts alongside the project timeline;
    • Purpose reflects the reason to perform the work required.

In the introductory article A 3D Software Architecture Framework mentioned above there is also a brief presentation of each 3D artifact. Detailed specifications of each artifact, as well as several applications of the slices through the 3D cube, will be presented in future articles in this series.

 

Preparation Steps

This article is introducing a formal representation of the 3D Analytical Framework with the ultimate goal of defining a "measure" of how well is defined a Framework application to an real-life endeavor, like a program or a project. In order to be able to measure the specifications completeness we will define formal structures modeling the analytical cube. This will ensure that we can measure the specifications quality with a certain objectivity degree, regardless if the 3D Framework is used for enterprise architecture or a small departmental project.

We will use as a stepping stone the definition of role-specific 3D frameworks, representing a 3D sub-structure of the complete framework. These are inspired from the real-life interest area of various roles involved in an IT project, as it is quite obvious that the Project Sponsor and a Developer, for example, will have different perspectives of the same project.

Each artifact is well defined in itself by the intersection of the 3 dimensions: Abstraction, Activity and Topic, so each one has inherent value as a stand-alone construct. Moreover, the artifacts defined in the analytical cube are not simple building blocks stacked together in no particular order. Any experienced practitioner can identify the natural order of the levels located on each dimension:

    • Analytical dimension:
      • we first start at contextual level to localize the subject in the global environment,
      • then we define the subject at conceptual level,
      • we refine it further into a logical model,
      • we connect to reality through a physical model,
      • build physical specifications, that will
      • create the physical objects.
    • Activity dimension:
      • any human activity is driven by a motivation, that determines
      • what activity (functions) will be performed,
      • then we identify the data needed to perform these functions,
      • establish who will perform them,
      • where the work will take place, and
      • what is the time associated with each function.
    • Topics dimension:
      • for each item we start with a purpose,
      • then we analyze the definition of each element (metadata),
      • based on the definition we identify what has to be done,
      • who will be responsible to perform the work,
      • where the information is maintained, and
      • when the actions will happen.

The natural order identified on each dimension requires to re-organize the 3D Framework as seen in the following figure:

Figure 2: 3D Ordered Framework

In practice we define one initial artifact and derive the subsequent ones from the previously defined artifact. We have to mention that this derivation also takes in consideration additional real-life information, not included in the scope of the previous artifact definition.

 

The Ordered Cube

The natural order that we observed on the cube dimensions allows the definition of a tri-dimensional coordinates system based on the Analytical Level, Enterprise Activity and Topics axis. Each axis is defined as a ordered set of 6 values, such as:

    • AL = {AL0, AL1, AL2, AL3, AL4, AL5}, where
      • AL0 = ‘Business Environment’,
      • AL1 = ‘Enterprise Model’,
      • AL2 = ‘System Model’,
      • AL3 = ‘Technology Model’,
      • AL4 = ‘Detailed Representation’ and
      • AL5 = ‘Functioning Enterprise’.
    • EA = {EA0, EA1, EA2, EA3, EA4, EA5}, where
      • EA0 = ‘Motivation’,
      • EA1 = ‘Function’,
      • EA2 = ‘Data’,
      • EA3 = ‘People’,
      • EA4 = ‘Place’ and
      • EA5 = ‘Time’.
    • T = {T0, T1, T2, T3, T4, T5}, where
      • T0 = ‘Purpose’,
      • T1 = ‘Metadata’,
      • T2 = ‘Development’,
      • T3 = ‘Responsibility’,
      • T4 = ‘Documentation’ and
      • T5 = ‘Life-Cycle’.

We can now introduce a first step of formalization of the 3D Architecture Framework as reflected in the figure below:

Figure 3: Coordinates System

 

As an interesting enough observation, in the physical world we are usually using the coordinates system with the origin in the left-low-front corner. But most of the 3-dimensional technological applications, like image composition on a TV screen for example, are using the left-up-front corner as the origin of the coordinates system, same as it resulted from the previous analysis.

 

Mono-Dimensional Notations

We will use the notation "® " to represent the elements derivation based on the natural order on each the axis, such as: a ® b , where a , b Î À , with À Î {AL, EA, T}.

Note: We should not forget that a is necessary but not always sufficient for the derivation to be of significance in the practical applications. We already mentioned that, beside the ‘left side’ artifact, we are using additional information and rules to define the ‘right side’ artifact.

Using the sets definition, we can immediately see that À i ® À j Û i < j, where À i, À j Î À , with À Î {AL, EA, T} and i, j Î {0,1,2,3,4,5}.

Moreover, it is obvious that the derivation is transitive: if À i ® À j and À j ® À k then À i ® À k, where À i, À j, À k Î À , with À Î {AL, EA, T} and i, j, k Î {0,1,2,3,4,5}. This leads us to the following:

Definition: Let us consider À i, À j Î À where i,jÎ {0,1,2,3,4,5}. We will say that z (À i, À j) is a path from À i to À j if there is at least one combination of derivations À i ® À x® ® À y® À j.

We will use the notation À i Þ À j to represent a path originating in À i and ending in À j.

Let us also observe that, for any À Î {AL, EA, T}:

    • À 0 can be named the initial element because it does not exist any valid derivation À i ® À 0, " i Î {0,1,2,3,4,5}.
    • À 5 can be named the final element because it does not exist any valid derivation À 5 ® À i, " i Î {0,1,2,3,4,5}.

 

2-Dimensional Notations

Now we can extend the definitions to consider 2 dimensions in the same time.

Definition:

    1. A 2D framework is any product J = À ´ Â , where À , Â Î {AL, EA, T}.
    2. A 2D artifact is any member h Î J , where J is a 2D framework.

We will also use for h the notation J ij = (À i, Â j), with i, j Î {0,1,2,3,4,5}. We can extend the derivation definition to the 2D framework elements such as:

Definition: Let us consider J ij, J tu Î Á , where Á is a 2D framework and i,j,t,uÎ {0,1,2,3,4,5}. We will say that J ij derives into J tu (J tu is derived from J ij) if one of the following is true:

    1. i < t and j = u;
    2. i = t and j < u;

Because the 2D derivation can be reduced to 1D derivations alongside each axis (as proven in the following lemma) we can use the same "® " notation. The context will dictate if it is a 2D or 1D derivation.

Lemma: Let us consider J ij, J tu Î J , where J is a 2D framework and i,j,t,uÎ {0,1,2,3,4,5}. If J ij ® J tu is a valid 2D derivation, then there is a combination of 1D derivations starting with J ij and ending in J tu.

Demonstration: If J ij ® J tu is a valid 2D derivation then either (i<t Ù j=u) or (i=t Ù j<u). We’ll demonstrate for the first case, as the second one is quite similar.

If i<t then either t=i+1 (and J ij ® J tj is a valid 1D derivation) or $ k=i+1 with k<t. In this case J ij ® J kj is a valid 1D derivation and the problem is reduced to J kj ® J tj. As i,j,k,t,u Î {0,1,2,3,4,5} (finite number of values) after max 5 steps we will have t=i+1 and we close the combination of steps.

From the above lemma is obvious that a 2D derivation can be decomposed into a combination of 1D derivations.

Also, we have direct extensions of the initial and final element such as:

    • J 00 can be named the initial element because it does not exist any valid derivation J ij ® J 00, " i,j Î {0,1,2,3,4,5}.
    • J 55 can be named the final element because it does not exist any valid derivation J 55 ® J ij, " i,j Î {0,1,2,3,4,5}.

To complete the definition of the 2D Framework let’s observe that the derivation within a 2D Framework is not transitive any more, as it was within the 1D model. It is visible from the above definitions that even if J ij ® J kj and J kj ® J km are valid derivations, J ij ® J km is a valid derivation only if either i=k or j=m.

Definition: Let us consider J ij, J tu Î J , where J is a 2D framework and i,j,t,uÎ {0,1,2,3,4,5}. We will say that x (J ij, J tu) is a 2D path from J ij to J tu if there is at least one combination of derivations J ij® J xy® ® J wz® J tu.

We will use the notation J ijÞ J tu to represent a 2D path originating in J ij and ending in J tu. We will also use the name path instead of 2D path and we will deduct from context if it is a 1-dimensional or 2-dimensional path.

As a direct consequence from the above definition we can see that the path operation is transitive in the 2D Framework. This is because, if J ijÞ J mn and J mnÞ J tu, then we have valid derivation combinations J ij®® J mn and J mn®® J tu, so there is a valid J ij®® J mn®® J tu, equivalent with J ijÞ J tu.

 

3-Dimensional Notations

Now we can extend the definitions to consider all 3 dimensions in the same time.

Definition:

    1. A 3D framework is any product G = À ´ Â ´ Á , where À , Â , Á Î {AL, EA, T}.
    2. A 3D artifact is any member h Î G , where G is a 3D framework.

As before, we will use the notation G ijk = (À i, Â j, Á k) to identify the elements of a 3D framework G .

Let us observe now that each artifact defined for the 3D Architectural Framework is a 3-uple in the 3 dimensional product: W = AL ´ AE ´ T (particular case of G = À ´ Â ´ Á ). We can also use the notation: W ijk = (ALi, EAj, Tk), with i, j, k Î {0,1,2,3,4,5}.

Definition: Let us consider G ijk, G tuv Î G , with i, j, k, t, u, v Î {0,1,2,3,4,5}. We will say that G ijk derives into G tuv (G tuv is derived from G ijk) if one of the following is true:

    1. i < t and j = u and k = v;
    2. i = t and j < u and k = v;
    3. i = t and j = u and k < v.

We can immediately observe that the 3-dimensional derivation reduces to the uni-dimensional derivation alongside one of the axis, while the other two components are constant. Therefore we can use the same "® " notation and we will understand from context if it is a 3D derivation.

Lemma: Let us consider G ijk, G tuv Î G , where G is a 3D framework and i,j,k,t,u,vÎ {0,1,2,3,4,5}. If G ijk ® G tuv is a valid 3D derivation, then there is a sequence of 1D derivations starting with G ijk and ending in G tuv.

Demonstration: If G ijk ® G tuv is a valid 3D derivation then either i=t or j=u or k=v. If we consider i=t, then for (j,k) and (uv) we have either (j < u Ú k = v) or (j = u Ú k < v), which was already demonstrated in the corresponding lemma for 2D frameworks. Analogous the cases j=u and k=v can be reduced to 2D paths, which can be decomposed into 1D derivations.

Again, we have direct extensions of the initial and final element, such as:

    • G 000 can be named the initial element because it does not exist any valid derivation G ijk ® G 000, " i,j,k Î {0,1,2,3,4,5}.
    • G 555 can be named the final element because it does not exist any valid derivation G 555 ® G ijk, " i,j,k Î {0,1,2,3,4,5}.

To complete the definition of the 3D Framework let’s observe that the derivation within a 3D Framework is not transitive. As in the 2D frameworks we will introduce:

Definition: Let us consider G ijk, G tuv Î G , where G is a 3D framework and i,j,k,t,u,vÎ {0,1,2,3,4,5}. We will say that z (G ijk, G tuv) is a 3D path from G ijk to G tuv if there is at least one sequence of derivations G ijk® ® G tuv.

We will use the notation G ijkÞ G tuv to represent a 3D path originating in G ijk and ending in G tuv. We will also use the name path instead of 3D path and we will deduct from context if it is a 1, 2 or 3-dimensional path.

As a direct consequence from the above definition we can see that the path operation is transitive in the 3D Framework. This is because, if G ijkÞ G mnp and G mnpÞ G tuv, then we have valid derivation combinations G ijk®® G mnp and G mnp®® G tuv, so there is a valid G ijk®® G mnp®® G tuv, equivalent with G ijkÞ G tuv.

Also, we can clearly see that there are many combinations of derivations that leads us from an artifact G ijk to another one G tuv, so, in fact, we have multiple paths between the starting artifact to the ending one.

Definition: We will call path length the number of derivations included in that path.

It is visible that the path length is equal with the number of artifacts that have to be specified in order to reach an ending artifact from a starting one.

Theorem: Let us consider the artifacts G ijk, G tuv Î G , where G is a 3D framework and i,j,k,t,u,vÎ {0,1,2,3,4,5}. If m=t-i, n=u-j and p=v-k, then all the paths G ijkÞ G tuv have equal length of m+n+p.

Demonstration: Because G ijkÞ G tuv, based on the definition, we have a sequence of 3D derivations G ijk® ® G tuv. Based on the previous Lemma, the 3D sequence is equivalent with a sequence of 1D derivations.

If we consider now the first dimension only, we can see that we have to advance from level i to level t, so the derivations sequence has to include m=t-i derivations alongside the first dimension (not necessarily grouped together). Similarly, we have n=u-j derivations alongside the second dimension and p=v-k for the third. Adding these derivations we have the total path length of m+n+p.

The above theorem allows us to say that all the ‘paths’ between 2 artifacts are equivalent, so the derivation sequence used to reach the "destination" artifact from the startup one will always have the same number of steps.

Conclusions

This article introduced some basic definitions and formal representations required for further conceptual constructs based on the 3D Software Architecture Framework.

We introduced the ordered cube concept, very important for the formal representation but especially for the real-life usage of the 3D Framework. Formal representations of the framework, artifact, derivation and path concepts were introduced, as well as several related results.

Before continuing the formal build-up to achieve a definition of the implementation quality measure we will define in plain language, in the next article, each of the 3D artifacts that compose the 3D Software Architecture Framework.

©2005 Open Data Systems Inc.           All rights reserved!           For inquires contact info@opendatasys.com