Re: [ Tcl & ] Open Scripting Architecture?

Steven D. Majewski (sdm7g@elvis.med.Virginia.EDU)
Tue, 10 Jan 1995 19:15:26 GMT

In article <3een49$b6q@engnews2.Eng.Sun.COM>,
Ray Johnson <rjohnson@insurance.Eng.Sun.COM> wrote:
>
>An OSA version of Tcl does exist on the Mac. However, I don't think
>it is supported & I don't know if it will work with OpenDoc. I would
>love to see an OSA version of Tcl/Tk. However, getting Tk to run on
>the Mac is a higher priority at the moment...
>
>If someone is working on an OSA version of Tcl I would love to hear
>about it. That might be something we could work back into the official
>release at a later date.
>

I haven't gotten an OpenDoc Dev kit yet, but I have been told that
OpenDoc's portable OSA will be pretty source compatable with Apple
Macintosh OSA: most likely there'll be an include file that renames
AEsomething ( AppleEvents prefix ) to OEsomething ( OpenEvents )
and not much more should be required. So writing for AppleEvents
on the Mac now, and porting to portable OpenEvents later is a
reasonable way to proceed.

Someone else in this thread mentioned my WWW page at :
<http://minsky.med.virginia.edu/sdm7g/Projects/Python/OSA/>
which has a PostScript paper os OSA and some other info including
links to the AppleScript archives and "tickle" , the OSA aware
Mac Tcl port. I have been considering making an OSA compliant
module for Python, however as part of that and other projects,
I've gathered a bunch of links and references on OpenDoc, OSA,
Telescript + safe-Tcl + "agentware" in general, CORBA+ILU+SOM+
other distributed object technology in general:
<http://minsky.med.virginia.edu/sdm7g/Projects/Python/SafePython.html>
( That page is my working notes - I hope to find time to update the
info and make it a bit more "user friendly". )

I think OSA may be a good way for Python, Perl, Tcl and other
languages to communicate and interact with each other, so I'ld
be happy to see work done by other groups to add OSA support.
( So I've expanded the distribution on this post a bit. )

Apple's Open Scripting Architecture defines several types of
compliance. There are several suites of Events ( and Objects ).
Minimal compliance means just supporting the core suite of
OpenApp, OpenDoc, PrintDoc & Close. There are other suites of
Events defined, and there are other senses of OSA compliance:
for example, an application can support "recording" of scripts.

( I'm not quite sure what level of compliance 'tickle' claims. )

There is an Apple Event Registry that defines all of the suites of
publicly known events. I didn't post that because it's a copyrighted
document, but Apple is in the process of transferring the copyright to
CI-Labs ( the non-profit Apple/IBM/Xerox/WordPerfect/et.al consortium
behind OpenDoc). There is a link to a copy of the document on Apple's
Web page, but that is in a format only viewable on a Mac ( a StuffIt
archive of a DocViewer document ) - I'm trying to get permission to
convert it to PostScript and publicly post it.
This Event Registry is one of the "value added" standardizations
that OSA adds on top of SOM, so it would be useful for non Mac
folks to see and comment on this. It seems to me that that ( and
also, the future success of OpenDoc, in general) is what determines
whether OSA is worth porting beyond the Mac.
OSA also defines a way for applications to "publish" the events,
objects and messages it responds to. One the Mac, this is a 'aete'
structure in the applications resource fork. On OS/2, it goes in
an extended file attribute. On unix, it'll probably be an associated
".dot" file. I believe that Apple considers "Scriping Languages"
(AppleScript) in a slightly different category than "Applications" -
and I'm not sure that it's simple for an AppleScript script to
define a new 'aete' resource - i.e. to change the OSA messages accepted
from the set that the Scripting Language accepts to a set defined by
the application written *in* the scripting language. I may be wrong
about this - I haven't tried AppleScript - but my impression is that
the consider AppleScript as the "glue" and not the application.
I am probably going to at least add a bit more than minimal OSA
compliance to Mac Python, and then evaluate whether it is worth
additional effort, or whether I should just use ILU. ( Or - if there
is no freely|cheaply available generic Unix SOM by then: whether OSA
can be built on top of ILU instead of SOM. If both are CORBA compliant,
they *should* be able to interoperate. The same should go for a Sun
OSA-Tcl built ontop of their object technology. Another reason I'm
looking at a higher level abstraction like OSA. )

This turned into a longer, more rambling post than I had intended:
well, there are a lot of issues here, and I didn't have time to
make it shorter! :-)

---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Computer Systems Engineer University of Virginia |---
---| Department of Molecular Physiology and Biological Physics |---
---| Box 449 Health Science Center Charlottesville,VA 22908 |---