Interface Specification for ISL files (template)


Table of Contents

Overview

This is a template for writing ISL file documentation. Since this is all work-in-progress, many of the existing files will not completely conform to this style. I tried to capture existing practice and my own preferences; there is definitely some debate about stylistic choices. Above all consistency within a single file is the most important quality to adhere to.

Note that empty sections are omitted (so if your interface doesn't define any constants, there's no "Constants" section.)

Imported Interfaces

This interface imports the following interfaces:

Constants

This interface defines the following constants:
BoondaBindaFormat
A String constant, with the value "Boonda Binda Transmission Format"

Types

This interface following defines the following non-OBJECT types:
String
An alias for ilu.CString
Strings
An alias for SEQUENCE OF String
Toink
An alias for String, used as a toinkable jibberdy by Knowbot flijibits.

Exceptions

This interface defines the following exceptions:
NotFound
The requested object is not found.
NotPermitted
There is insufficient authority for requested operation.
CannotBazz
A booz-able object cannot bazz.

Objects

This interface defines the following OBJECT types:
Flijibit
A thingie that services jibitting requests.
Boozbazz
A thingie that boozes when it should bazz instead. Not recommended to use
Zilch SUPERTYPES Boozbazz
A subtype of a Boozbazz, and a very nasty thingie indeed.

Methods

This interface defines the following OBJECT methods:

Object Flijibit

Submit(format : String, jibberdy : Toink) : INTEGER
Submit jibberdy (a Toink) for execution using the specified format. Return an INTEGER which is the identifier for the submitted jibberdy. Raise NotPermitted if the caller is not allowed to submit Toinks.

Kill(jibberdyId : INTEGER)
Kill the jibberdy associatd with the jibberdyId. Raise NotFound if no jibberdy is associated with the jibberdyId. Raise NotPermitted if the caller is not allowed to kill the referenced jibberdy.

Object Boozbazz

BoozYerself() : String
Attempt to booz the object. Return the status result of the boozing as a String.
BazzYerself() : String
Attempt to bazz the object. Return the status result of the bazzing as a String. If the object really boozed itself instead, raise a CannotBazz exception.

Object Zilch

A Zilch object overrides the methods of its supertype so that both are no-op'd and return the empty string. It defines no new methods.

Table of Contents

Copyright © 1998 by the Corporation for National Research Initiatives.