Prototype OO was Re: Inheritance/defaulting of attributes
Meltsner, Kenneth J
Kenneth.J.Meltsner at jci.com
Thu Oct 9 18:47:35 BST 1997
[Apologies for jumping in from outside the document/XML community -- I
was reading the archive and found this thread interesting. An earlier
attempt at sending this out failed, so this may be a duplicate as
well.]
The XML community may want to look at prototype-based object-oriented
programming as an alternative to traditional class-instance objects.
Prototypes allow the designer/user to create an object, change its
properties, and then create new objects that inherit from the original
prototype. There's a lot more details, including a description of
inheritance by delegation of methods/properties to parent prototypes,
but it tends to be a more useful approach for objects that model real
world objects -- my dissertation used a variant of prototypes to
implement an object-oriented approach to simulation for chemical
thermodynamics.
Another useful approach might be to look into constraint-based OO. In
this approach, the relationships between objects can be described and
manipulated, usually in both directions (i.e. if x.width + y.width =
total.width, setting the total.width and x.width to new values will
force a change in y.width as well).
Finally, I was impressed with, but lost the references to, some work
on "middle-out" modeling. Basically, traditional classes are used to
go from general classes (animals, mammals) to specific classes (dogs,
beagles), and then the system permits class properties to be replaced
to allow for Ralph, a beagle with three legs, etc. A similar
middle-out approach might be useful -- define a hierarchy of DTDs, I
suppose, and then permit specific exceptions to override default
properties.
Here are the references for folks with extra time, if I'm not too
off-topic.
The classic prototype-based OO language developed at Sun:
http://self.sunlabs.com/
A prototype-based, C++, constraint-based user interface system:
http://www.cs.cmu.edu/Groups/amulet/amulet-home.html
A bunch of variants on constraint-based languages and systems,
including Web layout:
(The hierarchy of constraints is especially useful for systems with
defaults and different constraint strengths)
http://www.cs.washington.edu/research/constraints/
Ken Meltsner
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list