Re: IDL files (Application model)

Pedro Szekely ([email protected])
Fri, 23 Dec 1994 13:39:12 PST

JK,

I looked at the Application IDL files and I only have a few comments. I think
your part is nearing completion.

Comments:

- I didn't understand how the File interface is supposed to be used. The
methods to parse and write the file appear both in the File interface, and in
the Manager interface.

Some questions:
Will every element in the appication model have an associated file where it
wants to be saved? I am imagining that a model (application + task +
presentation + everything else) will consist of perhaps many files. Something
in the model server needs to know where each object goes. This gets more
complicated when you load in models for several applications. Maybe the way
to structure things is using modules: a developer can say "save all objects
for module X" and all the associated files are saved. A developer can also
say "save file F" or "save the file that contains object X". We need to think
about this.

On the load side, a developer needs to be able to say "load module X". Maybe
we need to keep a repository of modules. Do we need something like makefiles
or project files so that things are loaded in an orderly fashion. How about
"require module" statements or include "statements"?

- I think we are not in sync wrt to the iterators. I was thinking about
iterators similar to the ones in Amulet. The start, next, last, length
methods are generic (returns void or ints or booleans). The only method that
needs to be type specific is get, which returns the current object in the
iterator.

So in the presentation model we were assuming that there is an interface
called Iterator that defines the generic interface for all (or most
iterators). Specific iterators inherit from Iterator, and only need to define
a get method that returns the particular type of object needed. One can also
define additional get methods to get additional information about the current
element of the iterator (eg when iterating over an array, get returns the
current value, and get_index returns the current index).

Pedro Szekely
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292
Phone: 310/822-1511, Fax: 310/823-6714
URL: http://www.isi.edu/isd/HUMANOID-HOME.html