[ale] Object Model on Linux

Brad Dixon bdixon at r52h146.res.gatech.edu
Thu Dec 26 13:58:17 EST 1996


> describes each utilities operations and functions. The GUI provides the 
> 'test' function, and may either execute the utilities directly, or build
> a shell script and then execute the shell. Functionally, the GUI takes
> the place
> of BASH, and uses the 'registry' data base to format the command line 
> arguments. 

Hey, I'm glad somebody saw the topic I had originally brought up! I'm not
sure where that whole Web/Microsoft/OLe conversation got started, but it
was weird.

You've got the right idea, but I am much less interested in creating a
scripting tool then creating an object system, and a free one at that.
Yes, I think that CUA scripting like in the demo is cool, but I was much
more impressed with the rest of the demo: nestable folders, objects that
had intelligent uses (not just an icon with a popup menu!), multiple views
of the same folder (list, icon, details).

You should also think about extensablity. I'm not sure how they do it, but
IBM's WPS has some interesting features. All of the object classes are
contained in DLLS (I would rather see our object system use an object
database for that). Say you have a basic folder object. It can display the
files in a directory, and is set up for drag and drop and all that jazz.
You download a new folder class that supports FTP, so now you can create
folders that are populated by an ftp site. You then also download another
class that extends the orignal folder by adding a new sort routine. Now
normal-folder and ftp-folder both have the new sort routine. You add a
third class of folder that represents a zip file. When you double click on
a zip file, the contents pop up in a folder. The zip-folder, of course,
has the new sort routine. You could also open a zip folder and a ftp
folder and copy objects between the two. The WPS, I think, implements
meta-classes that have the same interfaces to other objects and somehow
almagate their features. Other objects work with ftp-folders, zip-folders,
and normal-folders all the same way, but their features are distinctive.
Maybe a picture would help:

Root Object-------\
		  |
	/FOLDER META-CLASS
	|	normal-folder
	|	      |
	|	sorting folder
	|	/	|	\
	\ftp-folder  zip-folder  tar-folder

All folders have the same meta-class, and therefore the same external
interface. If you just want a normal-folder, the object system would give
you an instance of sorting-folder, not normal-folder, because
sorting-folder extends the functionality of normal-folder. ftp-, zip-, and
tar- folder would be differentiations of normal-folder, but since
normal-folder was extended by sorting folder they would inherit from
sorting folder. If an enterprising young programmer wrote a voice enabled
class for normal-folder, it would plug in just below sorting folder and
extend it's functionality. Of course, the entire meta-class would then
gain the voice enabled features, so you could yell "copy" at your
ftp-folder and have it do something.

While this may sound like poppy-cock, major portions of this above
scenario already happen in OS/2. There really are ftp-folders and whatnot,
and programmers often write extended classes that get plugged into the
object hierarchy.

Now, any idea how they do this? I've been reading a little about CORBA and
ilu, and it seems in the ballpark.

Brad

-- 
Brad Dixon                                                                  
Georgia Tech Research Institute -- Atlanta, GA                             
bdixon at cmdl.gtri.gatech.edu                                                






More information about the Ale mailing list