Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!rochester!pt.cs.cmu.edu!andrew.cmu.edu!mp1u+ From: mp1u+@andrew.cmu.edu (Michael Portuesi) Newsgroups: comp.sys.amiga Subject: Re: Callable Application Interfaces Message-ID: Date: 15 May 89 03:27:27 GMT References: <15323@louie.udel.EDU>, <282@xdos.UUCP> Organization: Mathematics, Carnegie Mellon, Pittsburgh, PA Lines: 48 In-Reply-To: <282@xdos.UUCP> > Excerpts from ext.nn.comp.sys.amiga: 13-May-89 Re: Callable Application > In.. Doug Merritt@xdos.UUCP (1108) > In article <15323@louie.udel.EDU> thywiss@csvax.cs.ukans.edu (John A. > Thywissen) writes: > > > >I propose the somehow, there should be a standardization effort for > >callable interfaces to applications and that a registry, similar to > >CATS's IFF registry, be set up. Essentially, the interface > >specification would amount to a ".fd" file and a corresponding AutoDoc. > Interestingly enough, the freeware Andrew Toolkit (under X windows, > usually on Unix) supports this notion. I'm still trying to figure > out the release tape (currently my only source of info), but they > definitely support dynamically-loaded applications into an > already-running > process, so that (I think) multimedia documents can specify execution > of some module that is not previously known to the system, and it > can do so very efficiently. Yes, everything you've said is correct. The mail system here at CMU uses the Andrew Toolkit, and it is possible for people to mail each other working dynamic objects. For example, I could mail another person a clock that actually tells the time of day, or a calculator that actually adds numbers when you click on it. The system is based around objects that are written in an object-oriented dialect of C. The runtime mechanism provides a dynamic loading capability that loads code for and initializes instances of objects on demand. Objects can be imbedded inside one another -- examples include the calculator and clock imbedded in a mail message, or bit-mapped pictures as part of a piece of text. Adding new objects to the system is a matter of creating a new dynamic object and placing it somewhere on your dynamic object search path. > Wish I knew more about it. Looks like they may have done quite a number > of things "right". What else would you like to know? --M -- Michael Portuesi * Information Technology Center * Carnegie Mellon University INTERNET: mp1u+@andrew.cmu.edu * BITNET: mp1u+@andrew UUCP: ...harvard!andrew.cmu.edu!mp1u+ MAIL: Carnegie Mellon University, P.O. Box 259, Pittsburgh, PA 15213