in Self prototypical analysis and design

Albertina Lourenci lourenci at
Wed Nov 22 13:14:32 UTC 2000

Bharat Bedia wrote:

Dear Bharat:

  I am feeling better today. It is simply impossible to make two
huge syntheses in the space of two months, this is what I am
expected to the stress...
Indeed last month I was able to finish writing a monograph
entitled "The unfolding and modelling of artistic consciousness
in infoera"  . Now I am expected to write a research project
to get a grant to fund my research. I have to argue about the
superiority of delegation, its ability to model open systems, its
expressiveness to model complex concepts and why I chose
the Self language to do so (here I have to understand about
graphical editors, graphical user interfaces and so on...)
And more scheduled in symmetry group of the planes for next month
and finally to unfold a really free plan
to builld a pavement  of a sustainable building....Post-doctorate
research time is simply non-human!!!!

What does artistic consciousness have to do with a software?

Well, a software is simply an artefact, a thing...And the aim of art
is to create a thing! Indeed artistic consciousness has developed so
much that the twentieth century - artists have shown that art itself
is a thing. Moreover the physicist Jack Sarfatti argues in his recent
book the Post-quantum Mechanics that the world consists of rocklike
things and thoughtlike things or rocklike waves and post-quantum waves.
What's magic about this? What does it mean to shape a thing?
To shape a thing means: to go to each place,  not to hide anything,
to reveal everything, not to fraud; to know the myriad of profiles,
with internal and external views - each intertwining.
Rilke condenses this hermeneutic way of thinking like this:
Erst denn war ein Ding da, erst dann war es Insel, überall abgelöst
von dem Kontinent des Ungewissen. (= Only then the thing appears,
only then it is an island, separated in each place of the continent of
the uncertainty).
Or better put by the Brazilian  poet João Cabral de Mello Neto:

Preferir a pantera ao anjo,
Condensar o vago em preciso:
or To prefer the panther to the angel
To condense the vague into precise!

He is referring to the fact that the poet Rilke under  Rodin's
influence wrote the beautiful poem entitled The Panther !
Rodin emphasized the fact that Rilke not being a  plastic artist
was unable to simply see things!
He made an effort and wrote this poem.  Then he was able to put side
by side the transformation  of all "exterior" in  " interior"
and the contrary process through which the  "interior" by means of art
was transformed in "exterior", in thing (Dinge). Both processes are
complementary and must be seen together.So instead of work of art
now Rilke talked about Thing-of -art   (Kunstwerk versus Kunstdinge).

Likewise Krysten Nygaard in the forties realized the importance
of this last process and created object-oriented programming.

When I attended the Workshop about Prototypes at ECOOP'97 Finland
all the arguments were intended to show the superiority of prototype
based languages over the class-based languages. And then each
researcher presented his own way of expressing delegation. For me it
is obvious that the language that better mimics the gist of the
(thing of art) is Self. I am not saying it may not be improved as Jecel
to do so, creating Self/R. However attempts like those by Cardelli
(Abadi, M.
and Cardelli, L. A theory of objects. Springer 1996) are a far cry from
this artistic process.
Well Mario Wolczko showed perfectly well that Self can simulate classes!
So what everybody regrets  is that prototype-based languages have several

problems, the most significant of which is availability. Most of these
languages are either noncommercial research projects or specialized for
a particular domain. Prototype based languages also require a fairly
sophisticated implementation to achieve acceptable performance (see Are
classes necessary ? Bob Hallman in Journal of Object Oriented Programming

September 1997).

Günther Kniesel seems to be making a good job in his Ph.D Thesis
(Take a look at the Darwin project. It is an extension of Java supporting
form of delegation, so you get both classes and delegation.

Cheers,  Gilad)
And what is best  he argues that the complexity of many patterns
is not intrinsic, it can often be seen as resulting from poor language
support. (Kniesel, Ph.D thesis page 165 at the bottom).
So I invite him to join our discussion and show to us how
delegation implements the design patterns better.
Jan Bosch wrote an interesting article "Design Patterns as Language
Constructs" in Journal of Object Oriented Programming May 1998

He identifies four problems associated with their implementation
using conventional object-oriented languages. First, the traceability
of a design pattern in the implementation is often insufficient; the
design pattern is lost. Second, because several patterns require an
object to forward messages to other objects to increase flexibility,
the self problem often occurs. Third, because the pattern
implementatin is mixed with the domain class, the reusability
of pattern implementations is often limited. Finally,
implementing design patterns may present significant
implementation overhead for the software engineer. He presents
a solution to these problems in the context of the layered
object model (LayOM). It contains several components
taht are not part of the conventional object model such as
states, categories and layers.  Layers are used to represent
design patterns at the level of the programming language.He
presents layer types for eight design patterns: Adapter, Bridge, etc

I would like to invite the programmers in Self to show if
Self indeed performs better to cope up with these  intriguing
remarks made by the community.Mahesh Dodani wrote
a  polemic paper entitled Rules are for fools, patterns are
for cool fools in JOOP  october 1999.

Continue next message...


> Thanks for your reply, Albertina. Firstly my apologies if people find
> this thread off topic. If they can point me to an appropriate place
> then I'll glad take the conversation elsewhere.
> Secondly, all I have is my hands-on experience - I'm pretty low on
> the theoretical side. I think there are several issues but for now
> I'm only going to mention two: 1. patterns, and 2. the prototype
> paradigm
> 1. Patterns
> Patterns have been heavily discussed elsewhere. So the key points I
> want to raise are: a. they provide a way for "experience or the
> defining concepts" to be noted, b. they enrich the vocabulary of the
> pattern users and c. the patterns often work in unison.
> Patterns crop up everywhere, architecture, object oriented design,
> organisational structures (See Jim Coplien). Maybe even stories and
> Hollywood Movies if you consider Campbells' "The Hero with a Thousand
> Faces" and Vogler's "The Writer's Journey". My last job involved
> assessing tons of business plans for a major technology incubator and
> I know there are quite a few potential patterns for business models
> (B2B, ASP, RFP, etc)!!!! Patterns seems to be self standing. Perhaps
> someone has put in some thought about a pattern language for
> patterns!!!
> 2. Prototypes
> So there is a good chance that there are "patterns" for prototypical
> structures. I struggled with OO concepts for years which was
> confounded by using C++. The GOF Design Patterns book really helped
> me to understand OO by the medium of patterns. However, I still get
> frustrated by core OO concepts. I helped to design and implement an
> OO framework based on a generic opaque object. The interface of the
> object followed the Composite and Prototype design patterns. Parent
> an child nodes could communicate to each other (ie two way
> delegation). This was enough to quickly create different complex
> structures for example to mimic inheritance, polymorphism,
> encapsulaton (ie metaclasses). This has helped me understand the
> inner workings of OO much more. Then I discovered Self and prototype
> paradigm which I felt very comfortable with. I now feel pretty stupid
> since I realised I was using a prototypical approach to create
> traditional OO structures just like how I used C++ as a better C a
> long time ago! But then again this may be correct. Perhaps the
> problem context is such that the forces to be  balance require a
> class based solution. Therefore, inheritance, polymorphism &
> encapsulaton could be prototypical design patterns ???
> The GOF book (I think) advocates delegation over inheritance. I'm
> confused how to compare delegation to design patterns. Maybe the PHD
> is available online ?
> Is your own ecodesign model available on a web site somewhere, I'd
> love to read it ?
> cheers,
> Bharat
> --- In self-interest at, Albertina Lourenci <lourenci at l...>
> wrote:
> > Subject: [self-interest] Prototypical analysis and design
> > From: "Bharat Bedia" <bharat at l...>
> > To: self-interest at
> > Date: Wed, 15 Nov 2000 01:45:16 -0000
> >
> > Dear Bharat:
> >
> >                 I am also interested in showing the superiority of
> the
> > prototype paradigm  to express complex concepts.
> >
> > There are many people dealing with prototypes or delegation.
> > But no language has reached the level of development of the
> > Self language.
> >
> > At the right moment based on  Günther Kniesel's PHD thesis
> >
> > I am trying to figure out why he  argues that delegation is
> > far better than design patterns.
> > Since I am an architect and I was expected to unfold my PHD under
> > the advising of Christopher Alexander, the author of the A Pattern
> > Language, I would not deny the importance of this trend.
> >
> > My contact with Alexander began in 1990 and lasted until 1992.
> Exactly
> > at this time computer scientists showed interest  in mimicking in
> > computer science what he did in architecture.
> >
> > I have unfolded my own ecodesign model - or the domain dependent
> > model entitled THe model of Primary, Secondary and Tertiary Waves
> > to plan and design sustainable cities. It is an appplication of
> > catastrophe theory, graph theory, semiotics, symmetry groups of
> > the plane and the dotless plane.  Its hermeneutic nature tunes
> > well with the hermeneutic  (really musical) Self nature.
> > I am trying to unfold a tutorial in Self and so the core of the
> tutorial
> >
> > necessarily must deal with your concerns, because it is very complex
> > to implement  concepts about sustainable cities.
> >
> >
> > Alexander agrees it is far more complex  and complete than his
> > A Pattern Language.
> >
> > What I object to A Pattern Language is that Chris had not developed
> > a correspondent geometric modeling (even less a computational
> modeling).
> >
> > Likewise the Gang of the Four has not focused on developing language
> > constructs that would correspond straightforwardly  to the design
> > patterns.
> >
> > I am reading an interesting paper from Jan Bosch that shows how to
> do
> > this. Unfortunately he does not use delegation.
> >
> > Kniesel in his thesis wants to show the superiority of delegation
> but
> > I am still reading through his thesis and the papers I gathered and
> I
> > have no conclusion.
> >
> > But I would be happy if the researchers joined us in this  important
> > discussion.
> >
> >
> > I've read through the book "Prototype-Based Programming: Concepts,
> > Languags and Applications" which provided lots of useful background
> > material.
> >
> > Like OO analysis & design, I'm interested in analysis, modelling &
> > application design techniques for the object-based prototypical
> > paradigm. The implementation would be done in an object-based
> > language like Self.
> >
> > Can anyone point to any online research material or book reference ?
> >
> > I am exhausted now and recovering...But I hope we can trigger off
> > a discussion and I promise to give the references gladly.
> >
> > Best wishes
> >
> > Albertina
> >
> > Thanks in advance,
> >
> > Bharat
> > --------------------------------------Bharat@
> >
> > --
> > .----------------------------------------------------------.
> > | Albertina Lourenci                                       |
> > | PhD  in Architecture and Urbanism                        |
> > | post-doctorate researcher                                |
> > | Laboratory of Integrated Systems University of Sao Paulo |
> > | Avenida Professor Luciano Gualberto, 158 Travessa 3      |
> > | CEP: 05508-900                                           |
> > | Sao Paulo Sao Paulo State Brazil                         |
> > | Voice: +55 011 818 5254                                  |
> > | Fax: +55 11 211 4574                                     |
> > .----------------------------------------------------------.

| Albertina Lourenci                                       |
| PhD  in Architecture and Urbanism                        |
| post-doctorate researcher                                |
| Laboratory of Integrated Systems University of Sao Paulo |
| Avenida Professor Luciano Gualberto, 158 Travessa 3      |
| CEP: 05508-900                                           |
| Sao Paulo Sao Paulo State Brazil                         |
| Voice: +55 011 818 5254                                  |
| Fax: +55 11 211 4574                                     |

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Self-interest mailing list