[cap-talk] Piping capability communication, data vs. descriptor capability strengths

Jed Donnelley capability at webstart.com
Sat Feb 28 02:51:37 EST 2009


At 04:03 PM 2/27/2009, Bill Frantz wrote:
>capability at webstart.com (Jed Donnelley) on Friday, February 27, 2009 wrote:
>
> >Have there ever been such systems (e.g. E,
> >KeyKos/EROS/Coyotos/CapROS, etc.) that can effectively "pipe"
> >communication streams between running programs that include
> >capabilities?  Perhaps supporting something like the Unix shell
> >piping syntax, but including capabilities in the communication for
> >tinker toy connections between working modules?
>
>KeyKOS could link two domains together in a coroutine linkage
><http://www.cap-lore.com/CapTheory/KK/m/180.html#coroutine>. This linkage
>permitted both data and keys to be passed on every invocation.
>
>The New Command System had pipe syntax
><http://www.cap-lore.com/CapTheory/KK/m/166.html> (see under heading "Pipe
>Syntax") which made it easy to set up these linkages.

Thanks for responding Bill.  While the first is interesting, I don't see
how it relates to my question.  Perhaps the mechanisms are more intertwined
that I understand, but let me try to focus on:

The second is close and perhaps by asking a few more details I can
determine if it answers my question.  This is one of those things
that would be easy in person but that can be difficult with email.
I'm not sure it's wise to proceed here (perhaps better to call
on the telephone?), but let me give it a shot:

The crux of my question was "including capabilities" in piped
communication.  In the first piping example that is given for KeyKOS:
___________

list(0,sok6==>) ^ filter(0;sik6,sok6==>) ^ format(0;sik6,sok6==>)

This command line forks key "list" causing its output (on "sok6") to 
be passed to key "filter" with a coroutine linkage to "sik6". The 
output of "filter" is likewise linked to "sik6" of "format". Since 
"format" is the last key and specifies a "sok6" key a terminal system 
is built to pass the output of format to the terminal.
___________

can you describe which of the above are names of capabilities and
what capabilities pass between the running programs servicing
those capabilities?  Perhaps I shouldn't anticipate, but it sounds
like "list", "filter", perhaps "sik6" (reserved word meaning?), and
"format" name keys == capabilities.  Right so far?  Presumably
these named capabilities are available in the domain of the script
interpreter running on behalf of some person typing or otherwise
having the above characters interpreted and actions taken?

The above syntax then specifies how some of the capabilities are
to be invoked and how their output is to be linked to other
invocations I guess?  Can you describe in the above where
a capability that is communicated as output from one of the
invocations that is then considered input by another?  That
would suffice to answer my question.

The rest is mostly for my curiosity.

The User's Guide specifies that sok6 and sik6 are reserved words.  What is
their meaning?

In the description of "Input/Output Redirection":
______________
If the first (or only) command of a pipe expression is followed by "< 
KEYNAME" the data in the object KEYNAME (which must be acceptable to 
the os simulator {(p3,ossim)} for QSAM simulation) will be converted 
to a byte stream and passed to the first command as its "standard 
input" (SIK6) key.

Similary, if the last (or only) command of a pipe expression is 
followed by "> KEYNAME" or ">> KEYNAME" then its "standard output" 
(SOK6) will be respectivly placed in or appended to the object 
KEYNAME (which must be acceptable to the os simulator {(p3,ossim)} 
for QSAM simulation). If KEYNAME does not exist in the directory, a 
fresh segment {(p2,fsc)} will be created to hold the data.
_______________

can you give a brief explanation of what that first parenthetical 
expression means:

"(which must be acceptable to the os simulator {(p3,ossim)} for QSAM 
simulation)"?

What is CS84?

Thanks.

--Jed  http://www.webstart.com/jed-signature.html 



More information about the cap-talk mailing list