This is a personal and anecdotal account of the
path that led me to the S-W
Machine. The work is based on Douglas Hofstadter?s book Godel, Escher,
Bach: An Eternal Golden Braid.
The problem is how to get the business people to anticipate
what the technology people are going to require without talking to them. After
all each project is unique, and surely their new project is no different. And
that is the problem ? most businesses think their business proposition is
unique in the market and that?s why they will succeed, and most technologists
think that each business problem is not very different from the one they
solved elsewhere and that is why they will be successful. Both are after all
looking at the same situation, but the business people build their ?value?
system based on dollars and cents, while the technology people on whether they
will be able to put together the 1?s and 0?s of hardware and software. The
engines that drive of their ?value? systems of dollars and cents, and 1?s and
0?s, may be different too.
Our goal was to be able to capture
the exprssion from the business person in $c$c$$, massage that input with some
device, and then present it to the Information Technology people in 10010101.
But then we had a possibility of starting off with a solution proposed by the
Information Technology vendors in their own logical structure of 10101, and
having to explain it to the business people, and so the 10101001 had to be
translated into their language of $$c$$$. Thus, the device had to be able to
translate both ways ? from $$$Cc$$ to 1010101 and to $$$c$c$$ back again.
Further, this exchange did not
have to stop after one step. The results from the business people could be
taken in $c$$cc$$ and given to other business or artisitic people, who
had their own languages of ddd$$d$$
and !X!!!XX. And the results from all of them had to be translated in
an endless fashion. Indeed, the increasing use of the Internet increased the
possibility of all this happening very fast and, hence, we had to explore the
possibility of somehow automating this device.

Figure 15: Different
logical Systems describing the same indescribable thing in different ways as
10 or $ or !! This indescribable thing shares semantic similarity with the
definition of a Requirement. From
"How to Communicate Value," at http://www.cio.com/archive/010101_value.html.
In Figure
15, we see that despite seeing exactly the same thing, different
people express what they see
differently. One person is trying to describe what he/she sees in 1010 or
structural terms, while another in the terms of $$$ and business, while
another in terms of !!! or experience.
The separate, but, dependent,
nature of these dynamic universes of $$$$ and 1010101, and their limitations
in describing the "dimple" in higher dimensions is well illustrated in
the following passage Michio Kaku.[i] This is a
passage from Kaku?s book called Hyperspace which is a popular exposition of
some arcane concepts in Higher Physics and String theory, and I have found
this passage very effective at visualizing the notions of different ?logical
systems? trying to deal with something indescribable.
One of my happiest childhood memories is of crouching next
to the pond, mesmerized by the brilliantly colored carp swimming slowly
beneath the water lilies.
In these quiet moments, I felt free to let my imagination
wander; I would ask myself silly questions that only a child might ask, such
as how the carp in that pond would view the world around them. I thought, What
a strange world their's must be!
Living their entire lives in the shallow pond, the carp
would believe that their "universe" consisted of the murky water and the
lilies. Spending most of their time foraging on the bottom of the pond, they
would be only dimly aware that an alien world could exist above the
surface.
The nature of my world was beyond their comprehension. I
was intrigued that I could sit only a few inches from the carp, yet be
separated from them by an immense chasm. The carp and I spent our lives in two
distinct universes, never entering each others's world, yet were separated by
only the thinnest barrier, the water's surface.
I once imagined that there may be carp "scientists" living
among the fish. They would, I thought, scoff at any fish who proposed that a
parallel world could exist just above the lilies. To a carp "scientist," the
only thing that were real were what the fish could see or touch. The pond was
everything. An unseen world beyond the pond made no scientific sense.
Once I was caught in a rainstorm. I noticed that the pond's
surface was bombarded by thousands of tiny raindrops. The pond's surface
became turbulent, and the water lilies were being pushed in all directions by
the water waves. Taking shelter from the wind and the rain, I wondered how all
this appeared to the carp. To them, the water lilies would appear to be moving
around by themselves, without anything pushing them. Since the water they
lived in would appear invisible, much like that air and space around us, they
would be baffled that the water lilies could move around by themselves.
Their "scientists," I imagined, would concoct a clever
invention called a "force" in order to hide their ignorance. Unable to
comprehend that there could be waves on the unseen surface, they would
conclude that lilies could move without being touched because of a mysterious,
invisible entity called a force acted between them. They might give this
illusion impressive, lofty names (such as action-at-a-distance, or the ability
of lilies to move without anything touching them).
Once I imagined what would happen if I reached down and
lifted one of the carp "scientists" out of the pond. Before I threw him back
into the water, he might wiggle furiously as I examined him. I wonder how this
would appear to the rest of the carp. To them, it would be a truly unsettling
event. They would first notice that one of their "scientists" had disappeared
from their universe. Then, seconds later, when I threw him back into the pond,
the "scientist" would abruptly reappear out of nowhere. To the other carp, it
would appear that a miracle had happened.
After collecting his wits, the "scientist" would tell a
truly amazing story. "Without warning," he would say, "I was somehow lifted
out of the universe (the pond) and hurled into a mysterious nether world, with
blinding lights and strangely shaped objects that I had never seen before. The
strangest of all was a creature who held me prisoner, who did not resemble a
fish in the slightest. I was shocked to see that it had no fins whatsoever,
but nevertheless could move without them. It struck me that the familiar laws
of nature no longer applied in the nether world. Then, just as suddenly, I
found myself thrown back into our universe." (This story, of course, of a
journey beyond the universe would be so fantastic that most of the carp would
dismiss it as utter poppycock.)
In the
above passage about the fish in the pond, let us for a moment imagine the fish
are the "technology people" and the people on earth are the "business people."
Or,
One universe in the cartoon
describes the "dimple" in terms of 1010100, and another universe of the
business people describes the same dimple in terms of $$$c$$c$. (Note that I
added ?c? to the string of $?s because just repetition of one thing does not
communicate anything.)
And, indeed, someone can define it
in terms of !X!!!!XX!!! too. Or any other combination of symbols. Or with
apples and oranges.
Our goal was to be able to
create a device that was able to translate between ALL the different logical
systems and yet, by constant interaction and feedback, confounded logical
systems. This
confoundedness was not unlike described in Michio Kaku?s passage about the
pond and the fish quoted earlier. The fish were dependent on people to treat
the rivers on the earth well or their ocean would suffer when the rivers fed
back into the ocean, and the people were dependent on the fish to treat the
oceans well or their rainfalls would suffer when the water rose from the
oceans to form clouds for the rainfall. Just like ?water? was the
?indescribable? that helped us span both worlds of fish and the people, one
possible solution to our problem was to discover something similar to ?water?
in our thesis that would help us span the gap between the business and
Information Technology people. It was interesting to note that though ?water?
is static, both the ?rivers? and ?rainfalls? are
dynamic.
After some searching, I gave up on
the hope of ever finding anything physical, like water for our thesis that
would help span both worlds. The worlds of business and technology are not
that simplistic. And, so, with the confidence of my engineering background I
started off framing the equation:
Let x = ?dimple that bridges the
world of business and technology? (here after just called a
dimple).
I felt like a doctor who knew the
name of the disease, but that did not mean he knew how to treat it. But the
engineer in me told me that there was a possibility, that after I framed the
model correctly, x might just drop out of it all, and I would not have to
worry about finding the real nature of the ?dimple? that bridged business and
technology worlds after all.
That feeling sustained me for
quite some time, and of course, still does. In the meantime, I decided to
proceed in that direction and started believing that if x was going to
dropout, I might as well start ignoring it.
But when I started to ignore x,
and I knew that there was no way I could directly think about the dimple, I
really had nothing to tie the business and technology worlds together. If
there was no water flowing (using the analogy of the fish in Michio Kaku?s
passage) between the business and technology worlds, how was I going to create
a device that could translate between those two worlds?
So I started thinking about x
again. I wondered how I would represent it. Characters seemed too restrictive.
Graphical User Interfaces had been popular for some years, and so I though I
might want to represent it in pictures. Our memories are stored as episodic
memories, and about 80% of our senses are visual. Then I thought I might be
able to create a programming language of pictures, just like Java and C++ were
for characters. Java and C++ are character based processing languages that
allow the creation of Objects, that can have both static and dynamic
parameters. I might be able to do that same thing for graphics based
processing.
Thus, by this time I knew how I
would represent x in my new graphical processing language, but I still had no
idea what x was. What is it that bridged the business and technology worlds,
and what must the device that I was building act on.
In a late night brainstorming
session decided I that if my device was going to be acting on pictures, why
did I want to know what x was. After all, in the time that was available to
me, by the time I figured out what x was, I would not have enough time to
incorporate it into the device.
I might as well start thinking
about what pictures to act on, because that is what the device was going to be
acting on. But I did not know the nature of the pictures that my device was
going to be acting on. So, I played the role of a doctor again,
said,
Group of computer bits = picture
à the pictures are representations of the
?dimple? which flows between the business and technology
worlds
And so now I just had to worry
about the computer bits. As these computer bits were always displayed on the
computer monitors or printed out, (audio and video is relatively rare) I tired
to find patterns in the pictures on which my device could act. The more ?pictures? I came across in
my conversations, and case studies, the more I was convinced that it was going
to be a tough proposition to find out the nature of these pictures.
And so, here I made an assumption.
I decided that the way people deal with the episodic memories, which are
similar to ?pictures? would be a good model for me to base my device on. If
people like Temple Grandin [Error! Bookmark not
defined.] (Thinking in Pictures) and Albert Einstein [Error! Bookmark not
defined.] primarily thought in pictures, a device based on the
mechanism of human memory would be a good one to base my design on ? even
though I had absolutely no idea of what pictures were stored as episodic
memories. I did have a working hypothesis of how memory
works:
You see something, or something triggers a
memory, which first starts as the sensory memory. It then moves to the short
tem memory as declarative or integrative memory. That with repeated use is
sent to the long-term memory.
This seemed like a good model
to base my design on.
But, I really did not know what
the practical value of this device was. Anyway, I called this the SW
Device.
One day I dreamt
that that I got a phone call, and found out that the business and technology
people we frantically looking for the ?SW Device,? but they had never seen it.
They had heard good things about, and how it would help them do business with
each other, and wanted me to tell them more about it. But the problem was that
both the business and technology person lived in a cartoon world. But, for me
the phone call was heaven sent, for I was trying to find some unsuspecting
people to test my SW device on. So I did not mind that they lived in the
cartoon world.

Figure 16 : The Business and Technology people
asking for the SW Device.
Let us assume, just for a moment,
that these two cartoon characters in Figure 16 are each espousing
their own ?value? systems ? the business person in $$$$ and the technologist
in 101001. If any deal is to take place between them, then the ?value? of the
$$$$$ system, must somehow match the ?value? of the 101001 system ? it is a
simple axiom in our methodology taken from the field of economics. The buyer
and seller must accept on a mutually acceptable price before the deal is
consummated, and price is just one variable in the broader notion of value.
Now somewhere in these utterances
$$$c$$cc$$ and 1010101 are clues to find the ?values? in the business and
technology worlds. (I just added c to the $$$$ expression because simple
repetition of something does not communicate anything.) The business person is
trying to express his/her requirements for buying the product and somewhere in
the $$c$cc$$ is the code to crack and understand what his/her value
proposition is. Meanwhile, it should be similarly be possible to find in
1001010 uttered by the technology person the code to crack his/her value
proposition.
Now, assume, just for a moment, that we
were successful here at NCSU and have produced the device that could determine
the ?value? in the ?value systems? and communicate that ?value? across the
value systems of business and technology, and all of this is done
automatically. Then we really would have something. I thought I might be able
to derive this device out of the SW Computer that I was already using. Maybe I
could adopt the SW computer for their cartoon world. So, I did the following
to create the new device.
1.
Let us call that new
device the ?Elephant? in remembrance of the fable of 6 blind men and the
elephant, and the ?Elephant? is a version of the ?SW Device? for their cartoon
world.
2.
Each blind man in the
fable touches a different part of the elephant, and because of
their limits of sight, they all describe the same elephant in very
different words.
3.
Similarly our cartoon
characters are describing their needs to find a mutually agreeable ?value? in
their own ?value systems,? One is describing it only in terms of $$cc$$c$$$
and one in terms of 1010101 which are both limited systems- they can only
describe the elephant or ?Elephant? to the best of their ability, which for
cartoons isn?t much. But, they need to make sure that the ?values? match
up so that they can go ahead with the deal.
4.
It would be logical to
think that someone who could describe it in $10c$$$1010$$ccc$$ would be in a
position of advantage in capturing the truer nature of the ?Elephant.? The
answer, if a definition of truer could be agreed upon, turns out to be ?not
really? after all.
5.
But, meanwhile, it
becomes an interesting question to speculate what will happen if the blind men
start discussing the elephant (animal) or ?Elephant? (the computer) with each
other. (We now have a visually interesting analogy of a business and
technology person trying to talk!)
The
?Elephant? communicates the physical perceptions of the elephant of one blind
man to the other blind men. The ?Elephant? transmits just the coordinates of
the elephant?s physical space-time position amongst the blind men. It is based
on a very simple notion that there is a space-time that the blind men can feel
if they stretch out their hand or other body parts. That way we just have a
limited set of parameters to deal with in the creation of the ?Elephant?
device, based on the SW Device. Thus, when the cartoon characters use the
?Elephant? device they can send each other their physical coordinates of the
?value? to each other.
Now as time passes, and the
elephant starts moving around, and its physical space-time coordinates will
change. Thus, new observations in physical space-time will be generated, and
the blind men can?t communicate all the observations as they come, or they
will overwhelm the other blind men; and the other blind men don?t really want
to be updated every minute about every change in physical coordinates of the
elephant. So, the blind men will have to store some observations in their
memory and communicate those observations only if they become relevant. The
cartoon characters are not immune to having to ?store? their memories
somewhere, but we really don?t have to worry about them. If the ?Elephant?
device is powerful enough for the blind men, it will surely work for the
cartoon people.
Research has shown that there are
three types of memory in the blind men; sensory, short term and long term.
Their observations if important move from the sensory memory to the short term
memory, and if exposed to the observation repeatedly it moves into the
long-term memory. Of course the memory can reside in two or more places at the
same time too.
The device that lets the blind men
move the memories between the various places of sensory, short term, and long
term, and enables them to see one or more of the memories at the same time is
not very different from the ?SW Device? that we described in the previous
section. The ?SW device? can allow for the storage of episodic memories,
integrative memories, and declarative memories, of the blind men, in the
sensory, short, and long term memories areas, and, lets the blind men recall
more than one memory, or more than one instance of the same memory.
But, the ?SW Device? is not only
meant for the blind men, but for all men and women. In fact I use it all the
time. It captures my declarative memories, my episodic memories, and lets me
create integrative memories by the use of tree or hierarchical structures, in
addition to lists and tabular layouts. I have designated places in the device
where I place memories for sensory recall , recall in short term and recall in
long term.
How you may ask is the SW computer
relevant to me. Actually , it turns out that the way the SW computer deals
with the memories is architecturally the same as O-O languages like C++ and
Java deal with Objects. The difference is that C++ and Java force you to
represent your memories in character symbols (most of the programming code in
Java and C++ is written in common alphabets), while the SW computer allows you
to represent your memories either as characters or images and multimedia. Or
in other words what the Java and C++ programmer does with characters like
aAbBcC12345 ... etc., we can do with images and other multimedia. And do it
much more simply, because the graphical processing of the SW computer is
easily visualized. And what are opening and closing tags in HTML and XML
become the name of the file when objects move from being defined by characters
to being defined in files or folders.
[i] Kaku, Michio,
Hyperspace, Anchor Books,
1994.