<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Bharat Bedia wrote:
<p>Dear Bharat:
<p>  I am feeling better today. It is simply impossible to make two
<br>huge syntheses in the space of two months, this is what I am
<br>expected to do...so the stress...
<br>Indeed last month I was able to finish writing a monograph
<br>entitled "The unfolding and modelling of artistic consciousness
<br>in infoera"  . Now I am expected to write a research project
<br>to get a grant to fund my research. I have to argue about the
<br>superiority of delegation, its ability to model open systems, its
<br>expressiveness to model complex concepts and why I chose
<br>the Self language to do so (here I have to understand about
<br>graphical editors, graphical user interfaces and so on...)
<br>And more scheduled in symmetry group of the planes for next month
<br>and finally to unfold a really free plan
<br>to builld a pavement  of a sustainable building....Post-doctorate
<br>research time is simply non-human!!!!
<p>What does artistic consciousness have to do with a software?
<p>Well, a software is simply an artefact, a thing...And the aim of art
<br>is to create a thing! Indeed artistic consciousness has developed so
<br>much that the twentieth century - artists have shown that art itself
<br>is a thing. Moreover the physicist Jack Sarfatti argues in his recent
<br>book the Post-quantum Mechanics that the world consists of rocklike
<br>things and thoughtlike things or rocklike waves and post-quantum waves.
<br>What's magic about this? What does it mean to shape a thing?
<br>To shape a thing means: to go to each place,  not to hide anything,
<br>to reveal everything, not to fraud; to know the myriad of profiles,
<br>with internal and external views - each intertwining.
<br>Rilke condenses this hermeneutic way of thinking like this:
<br>Erst denn war ein Ding da, erst dann war es Insel, überall abgelöst
<br>von dem Kontinent des Ungewissen. (= Only then the thing appears,
<br>only then it is an island, separated in each place of the continent
of
<br>the uncertainty).
<br>Or better put by the Brazilian  poet João Cabral de Mello
Neto:
<p>Preferir a pantera ao anjo,
<br>Condensar o vago em preciso:
<br>or To prefer the panther to the angel
<br>To condense the vague into precise!
<p>He is referring to the fact that the poet Rilke under  Rodin's
<br>influence wrote the beautiful poem entitled The Panther !
<br>Rodin emphasized the fact that Rilke not being a  plastic artist
<br>was unable to simply see things!
<br>He made an effort and wrote this poem.  Then he was able to put
side
<br>by side the transformation  of all "exterior" in  " interior"
(Innerlichkeit)
<br>and the contrary process through which the  "interior" by means
of art
<br>was transformed in "exterior", in thing (Dinge). Both processes are
<br>complementary and must be seen together.So instead of work of art
<br>now Rilke talked about Thing-of -art   (Kunstwerk versus
Kunstdinge).
<p>Likewise Krysten Nygaard in the forties realized the importance
<br>of this last process and created object-oriented programming.
<p>When I attended the Workshop about Prototypes at ECOOP'97 Finland
<br>all the arguments were intended to show the superiority of prototype
<br>based languages over the class-based languages. And then each
<br>researcher presented his own way of expressing delegation. For me it
<br>is obvious that the language that better mimics the gist of the Kunstdinge
<br>(thing of art) is Self. I am not saying it may not be improved
as Jecel wants
<br>to do so, creating Self/R. However attempts like those by Cardelli
(Abadi, M.
<br>and Cardelli, L. A theory of objects. Springer 1996) are a far cry
from
<br>this artistic process.
<br>Well Mario Wolczko showed perfectly well that Self can simulate classes!
<br>So what everybody regrets  is that prototype-based languages have
several
<br>problems, the most significant of which is availability. Most of these
<br>languages are either noncommercial research projects or specialized
for
<br>a particular domain. Prototype based languages also require a fairly
<br>sophisticated implementation to achieve acceptable performance (see
Are
<br>classes necessary ? Bob Hallman in Journal of Object Oriented Programming
<br>September 1997).
<p>Günther Kniesel seems to be making a good job in his Ph.D Thesis
<br>(Take a look at the Darwin project. It is an extension of Java supporting
a
<br>form of delegation, so you get both classes and delegation.
<p><A HREF="http://javalab.cs.uni-bonn.de/research/darwin/darwin_eng.html">http://javalab.cs.uni-bonn.de/research/darwin/darwin_eng.html</A>
<p>Cheers,  Gilad)
<br>And what is best  he argues that the complexity of many patterns
<br>is not intrinsic, it can often be seen as resulting from poor language
<br>support. (Kniesel, Ph.D thesis page 165 at the bottom).
<br>So I invite him to join our discussion and show to us how
<br>delegation implements the design patterns better.
<br>Jan Bosch wrote an interesting article "Design Patterns as Language
<br>Constructs" in Journal of Object Oriented Programming May 1998
<p>He identifies four problems associated with their implementation
<br>using conventional object-oriented languages. First, the traceability
<br>of a design pattern in the implementation is often insufficient; the
<br>design pattern is lost. Second, because several patterns require an
<br>object to forward messages to other objects to increase flexibility,
<br>the self problem often occurs. Third, because the pattern
<br>implementatin is mixed with the domain class, the reusability
<br>of pattern implementations is often limited. Finally,
<br>implementing design patterns may present significant
<br>implementation overhead for the software engineer. He presents
<br>a solution to these problems in the context of the layered
<br>object model (LayOM). It contains several components
<br>taht are not part of the conventional object model such as
<br>states, categories and layers.  Layers are used to represent
<br>design patterns at the level of the programming language.He
<br>presents layer types for eight design patterns: Adapter, Bridge, etc
<p>I would like to invite the programmers in Self to show if
<br>Self indeed performs better to cope up with these  intriguing
<br>remarks made by the community.Mahesh Dodani wrote
<br>a  polemic paper entitled Rules are for fools, patterns are
<br>for cool fools in JOOP  october 1999.
<p>Continue next message...
<br>Cheers
<p>Albertina
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<br> 
<blockquote TYPE=CITE>Thanks for your reply, Albertina. Firstly my apologies
if people find
<br>this thread off topic. If they can point me to an appropriate place
<br>then I'll glad take the conversation elsewhere.
<p>Secondly, all I have is my hands-on experience - I'm pretty low on
<br>the theoretical side. I think there are several issues but for now
<br>I'm only going to mention two: 1. patterns, and 2. the prototype
<br>paradigm
<p>1. Patterns
<br>Patterns have been heavily discussed elsewhere. So the key points I
<br>want to raise are: a. they provide a way for "experience or the
<br>defining concepts" to be noted, b. they enrich the vocabulary of the
<br>pattern users and c. the patterns often work in unison.
<br>Patterns crop up everywhere, architecture, object oriented design,
<br>organisational structures (See Jim Coplien). Maybe even stories and
<br>Hollywood Movies if you consider Campbells' "The Hero with a Thousand
<br>Faces" and Vogler's "The Writer's Journey". My last job involved
<br>assessing tons of business plans for a major technology incubator and
<br>I know there are quite a few potential patterns for business models
<br>(B2B, ASP, RFP, etc)!!!! Patterns seems to be self standing. Perhaps
<br>someone has put in some thought about a pattern language for
<br>patterns!!!
<p>2. Prototypes
<br>So there is a good chance that there are "patterns" for prototypical
<br>structures. I struggled with OO concepts for years which was
<br>confounded by using C++. The GOF Design Patterns book really helped
<br>me to understand OO by the medium of patterns. However, I still get
<br>frustrated by core OO concepts. I helped to design and implement an
<br>OO framework based on a generic opaque object. The interface of the
<br>object followed the Composite and Prototype design patterns. Parent
<br>an child nodes could communicate to each other (ie two way
<br>delegation). This was enough to quickly create different complex
<br>structures for example to mimic inheritance, polymorphism,
<br>encapsulaton (ie metaclasses). This has helped me understand the
<br>inner workings of OO much more. Then I discovered Self and prototype
<br>paradigm which I felt very comfortable with. I now feel pretty stupid
<br>since I realised I was using a prototypical approach to create
<br>traditional OO structures just like how I used C++ as a better C a
<br>long time ago! But then again this may be correct. Perhaps the
<br>problem context is such that the forces to be  balance require
a
<br>class based solution. Therefore, inheritance, polymorphism &
<br>encapsulaton could be prototypical design patterns ???
<p>The GOF book (I think) advocates delegation over inheritance. I'm
<br>confused how to compare delegation to design patterns. Maybe the PHD
<br>is available online ?
<br>Is your own ecodesign model available on a web site somewhere, I'd
<br>love to read it ?
<p>cheers,
<p>Bharat
<p>--- In self-interest@egroups.com, Albertina Lourenci <lourenci@l...>
<br>wrote:
<br>> Subject: [self-interest] Prototypical analysis and design
<br>> From: "Bharat Bedia" <bharat@l...>
<br>> To: self-interest@egroups.com
<br>> Date: Wed, 15 Nov 2000 01:45:16 -0000
<br>>
<br>> Dear Bharat:
<br>>
<br>>                
I am also interested in showing the superiority of
<br>the
<br>> prototype paradigm  to express complex concepts.
<br>>
<br>> There are many people dealing with prototypes or delegation.
<br>> But no language has reached the level of development of the
<br>> Self language.
<br>>
<br>> At the right moment based on  Günther Kniesel's PHD thesis
<br>>
<br>> I am trying to figure out why he  argues that delegation is
<br>> far better than design patterns.
<br>> Since I am an architect and I was expected to unfold my PHD under
<br>> the advising of Christopher Alexander, the author of the A Pattern
<br>> Language, I would not deny the importance of this trend.
<br>>
<br>> My contact with Alexander began in 1990 and lasted until 1992.
<br>Exactly
<br>> at this time computer scientists showed interest  in mimicking
in
<br>> computer science what he did in architecture.
<br>>
<br>> I have unfolded my own ecodesign model - or the domain dependent
<br>> model entitled THe model of Primary, Secondary and Tertiary Waves
<br>> to plan and design sustainable cities. It is an appplication of
<br>> catastrophe theory, graph theory, semiotics, symmetry groups of
<br>> the plane and the dotless plane.  Its hermeneutic nature tunes
<br>> well with the hermeneutic  (really musical) Self nature.
<br>> I am trying to unfold a tutorial in Self and so the core of the
<br>tutorial
<br>>
<br>> necessarily must deal with your concerns, because it is very complex
<br>> to implement  concepts about sustainable cities.
<br>>
<br>>
<br>> Alexander agrees it is far more complex  and complete than his
<br>> A Pattern Language.
<br>>
<br>> What I object to A Pattern Language is that Chris had not developed
<br>> a correspondent geometric modeling (even less a computational
<br>modeling).
<br>>
<br>> Likewise the Gang of the Four has not focused on developing language
<br>> constructs that would correspond straightforwardly  to the design
<br>> patterns.
<br>>
<br>> I am reading an interesting paper from Jan Bosch that shows how to
<br>do
<br>> this. Unfortunately he does not use delegation.
<br>>
<br>> Kniesel in his thesis wants to show the superiority of delegation
<br>but
<br>> I am still reading through his thesis and the papers I gathered and
<br>I
<br>> have no conclusion.
<br>>
<br>> But I would be happy if the researchers joined us in this  important
<br>> discussion.
<br>>
<br>>
<br>> I've read through the book "Prototype-Based Programming: Concepts,
<br>> Languags and Applications" which provided lots of useful background
<br>> material.
<br>>
<br>> Like OO analysis & design, I'm interested in analysis, modelling
&
<br>> application design techniques for the object-based prototypical
<br>> paradigm. The implementation would be done in an object-based
<br>> language like Self.
<br>>
<br>> Can anyone point to any online research material or book reference
?
<br>>
<br>> I am exhausted now and recovering...But I hope we can trigger off
<br>> a discussion and I promise to give the references gladly.
<br>>
<br>> Best wishes
<br>>
<br>> Albertina
<br>>
<br>> Thanks in advance,
<br>>
<br>> Bharat
<br>> --------------------------------------Bharat@
<br>>
<br>> --
<br>> .----------------------------------------------------------.
<br>> | Albertina Lourenci                                      
|
<br>> | PhD  in Architecture and Urbanism                       
|
<br>> | post-doctorate researcher                               
|
<br>> | Laboratory of Integrated Systems University of Sao Paulo |
<br>> | Avenida Professor Luciano Gualberto, 158 Travessa 3     
|
<br>> | CEP: 05508-900                                          
|
<br>> | Sao Paulo Sao Paulo State Brazil                        
|
<br>> | Voice: +55 011 818 5254                                 
|
<br>> | Fax: +55 11 211 4574                                    
|
<br>> .----------------------------------------------------------.</blockquote>

<pre>-- 
.----------------------------------------------------------.
| 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                                     |
.----------------------------------------------------------.</pre>
 </html>