Presentation Abstraction Control and Morphic system

Albertina Lourenci lourenci at lsi.usp.br
Thu Aug 30 17:30:09 UTC 2001



Dear Selfers:

I am going to try to show you why I am not able to program
in Self alone without help of an experienced programmer.
For example:
I am going to show you that this is even language-independent
because I do not understand it in the Presentation Abstraction
Control architectural pattern from Buschman.
This pattern has similar functionality to  MVC.
Here each agent has a presentation, an abstraction and a control
component!
Of course instead of understanding its real nature, this pattern
is curbed to follow a tree-like hierarchy of PAC agents.
The main responsibility of the top-level PAC agent is to provide
the global data model of the software. This is maintained
in the abstraction component of the top-level agent.

The interface of the abstarction component offers functions to
manipulate the data model and to retrieve information about it.

Now the representation of data within the abstraction component is media-
independent. For example, in a CAD system for architecture, walls
doors and windows are represented in cm or inches that refelct their real size,
not in pixels for display purposes.This media-independency supports
adaptation of the PAC agent to different environments without
major changes in its abstraction component. page 148 in A system of Patterns
Buschmann et al, John Wiley 1999

Now I am going to reproduce a similar problem in the Morphic System.
Jecel wrote this for me and I put it into my last Scientific Report:

The main aim of this application is the screen. Based on the experience
of DraftScreen,  that was derived from Morph pattern Self 4.0 obviously
it was born already with some functionality: its colour and size can be altered
by blue menu, it can be dragged to another place with the mouse and other
morphs can be embedded into it. The most important change to a simple
Morph was the inclusion of the notion of scale. All SElf 4.0 graphical
interface was developed around  entities that are measured in pixels
(points in the screen), but the architect needs to think in terms of
entities measured in meters and that can be represented on the screen
by difrerent scales (depending on the interest in the moment).
Hence each screen has a value 'rawScale'that multiplied by a measure
in meters gives as outcome a measure in pixels fit to use by
the graphical interface.

Of course all this sounds like Greek to me!!!!

The architect can specify the scale as a relation of measures  (75:1; 25:1;
1000:1 and so on) Then he calculated a conversion factor (çonvFactor - 2834.6)
that works for 17 inches-screens as a typical resolution for
Sun Stations. For another kind of screen or impression
in paper, another more sophisticated conversion system should have to
be developed.

Another cosmetic screen feature is its basic drawing method ('baseDrawOn: ')
It was altered to indicate small black points regularly spaced to ease the
lay out of elements of the drawing. The number 'rawGRid'  means
the distance in meters between these two points. When the scale is
taken into account, the small points of the grid are less than 10 pixels from
each other, a value 10 times bigger is used to ease manipulation of the
drawing.

Well other graphical languages used in this laboratory are manipulated
by undergraduate architectural students with relative ease!!!!For example
a professor here deals with graphical languages programmed in C
to build virtual reality scenery of anything, architecture, surgical
operations and so on. Of course each poor architectural student
has to develop just one single building and adapt the methodology
to deal with just one single building...It takes them a year to do
so!!!!!This is for Euclidean Geometry. I wonder how complex
it would become to represent free shapes with symmetry groups
of the plane involved and so on.
But the important point here is that they build artifacts and
program. And they do not know anything about programming
languages. I think this is amazing. Why Self should not be that
simple?
Why are the operations above like magic to me?

Best wishes
Albertina
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lourenci.vcf
Type: text/x-vcard
Size: 620 bytes
Desc: Card for Albertina Lourenci
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20010830/6a7c23fc/attachment.vcf>


More information about the Self-interest mailing list