rubikzube

software engineer ¤ yogi ¤ turban cowboy

Wednesday, January 18, 2006

The big, bad, Wolf

Ah, cooking with spam.

On another note, in class today we discussed the commonly accepted model of software architecture first proposed by Perry and Wolf. The model is composed of the following items:

{Form (in the sense of order), elements, and rationale}

Now even though this model would be almost old enough to vote if it were a human being, the implementation of it in a functionally useful manner is still stuck in the birth canal. After all, how does one represent rationale in a meaningful way so that architectural tools can parse and validate it?

First, what is rationale? According to the dictionary, rationale is “An exposition of principles or reasons.” Therefore, software architecture is composed of ordered sets of elements along with exposition on why these elements are ordered in the manner that they are.

This paraphrased definition of software architecture seems easy. That is, at least until you realize that in order to be functionally useful, you have to define the meaning of the elements and their possible orderings in a very rigid manner so you that can reason about them using tools, and that such an endeavor itself is easy compared to defining your rationale for your decisions rigidly so that you can reason against that.

Have you ever tried to define the properties of a rationale? For anything? Ugh. An element at least has describable properties, as do ordered sets of elements. A rationale has…I have no idea what a rationale has. If you do please let me know. Please.

0 Comments:

Post a Comment