User interface is often thought of as referring
only to how screens look. But because users see the
UI as the system, this is too narrow a definition. A
broader definition of UI includes all aspects of the
system design that influence the interaction between
the user and the system. It is not simply the screens
that the user sees, although these are certainly part of
the UI. The UI is made up of everything that the user
experiences, sees and does with the computer
system.
2.1 Classic Philosophy
Plato's allegory of the cave (Roser, 2001) is the best-
known of his many metaphors, allegories, and
myths. The allegory is told and interpreted at the
beginning of Book VII of The Republic (514a-520a).
The allegory is probably best presented as a story,
and then interpreted—as Plato himself does.
Unlike his mentor Socrates, Plato was both a
writer and a teacher. His writings are in the form of
dialogues, with Socrates as the principal speaker. In
the Allegory of the Cave, Plato described
symbolically the predicament in which mankind
finds itself and proposes a way of salvation. The
Allegory presents, in brief form, most of Plato's
major philosophical assumptions: his belief that the
world revealed by our senses is not the real world
but only a poor copy of it, and that the real world
can only be apprehended intellectually; his idea that
knowledge cannot be transferred from teacher to
student, but rather that education consists in
directing student's minds toward what is real and
important and allowing them to apprehend it for
themselves; his faith that the universe ultimately is
good; his conviction that enlightened individuals
have an obligation to the rest of society, and that a
good society must be one in which the truly wise
(the Philosopher-King) are the rulers.
The allegory begins with a graphic picture of the
pathetic condition (see Fig. 1) of the majority of
mankind. We are like chained slaves living in an
underground den, which has a mouth open towards
the light and reaching all along the den. Here we
have been from our childhood, unable to move or to
see beyond, being prevented by the chains from
turning round our heads. Above and behind us a fire
is blazing at a distance, but between the fire and
ourselves there is a low wall like the screen which
marionette players have in front of them to foster the
illusion necessary for a puppet-show. We are like the
strange prisoners in this den who see only their own
shadows or the shadows of one another, which the
fire throws on the opposite wall of the cave. To them
the truth would be literally nothing but the shadows
of the images, and they cannot distinguish the voices
of one another from the echoes emanating from the
surrounding darkness
Figure 1: Graphical representation of Plato’s cave.
Plato speaks of ascending and descending dialectic
in his purpose of Theory of the knowledge. The
ascending dialectic awakens the mind and the heart
to the presence of the highest principles. Once that is
achieved, the descending dialectic is the process of
going back into the cave in order to be a beacon
pointing others beyond the limitations of
particularity. This similar directions, ascending and
descending, can be found in Software Engineering
and Model Driven Architecture (MDA) and in our
framework.
2.2 Software Engineering: Model
Driven Architecture
Recently many organizations have begun to focus
attention on Model Driven Architecture (MDA) as
an approach to application design and
implementation. MDA encourages efficient use of
system models in the software development process,
and it supports reuse of best practices when creating
families of systems. As defined by the Object
Management Group (OMG), MDA is a way to
organize and manage enterprise architectures
supported by automated tools and services for both
defining the models and facilitating transformations
between different model types.
Models provide abstractions of a physical system
that allow engineers to reason about that system by
ignoring extraneous details while focusing on
relevant ones, in a similar way to Plato who had two
levels of knowledge (objects and concepts). All
forms of engineering rely on models to understand
complex, real-world systems. Models are used in
many ways: to predict system qualities, reason about
specific properties when aspects of the system are
changed, and communicate key system
characteristics to various stakeholders. The models
WEBIST 2007 - International Conference on Web Information Systems and Technologies
480