ReportingAPI is an interface to reporting stations
and visualizers.
The ReportingStation is the fundamental interface
for communication of KP state changes to the originator
(e.g. launcher) of a KP. Other entities in the system may be
interested in migration and termination state changes for
particular KPs, and they would also use a
ReportingStation object to gather this information.
The Visualizer interface is used for GUI tools
that act like reporting stations. Since a visualizer is a tool,
it is possible to remotely shut it down.
This interface defines the following non-OBJECT
types:
String
- An alias for
ilu.String
VisualizerID
- An alias for
String
, used as a visualizer
identifier by the
AdministratorAPI
interface.
This interface defines the following OBJECT
types:
- ReportingStation
- The object to which the KOS reports KP status changes.
- Visualizer
- A object subtyped from ReportingStation, this
object is used to represent a reporting station which is a
user tool (and thus can be remotely shut down).
- KPTerminated
(reportingID : String,
reason : String,
details : String,
repr : KPRepr.Representation)
- Report non-migration related termination of KP. The
reportingID is considered the name of the KP.
It should be assumed that this name is a globally unique
pure name, although the current implementation may not
strictly guarantee this. reason is a string
representation of the exception causing termination while
details is the string representation of the
exception's value. repr is the KP's
Representation object.
- ASYNCHRONOUS
KPMigrationReceived
(reportingID : String,
idTo : KOS.KPID,
migratingTo : KOS.KOSAddress)
- Report an acceptance of a migrating KP.
reportingID is the globally unique name of the
KP. idTo is the KP's internal identifier in
the destination KOS. migratingTo is the name
of the destination KOS.
- AllocateID
(prefix : String) : String
- Allocate and return a new reporting ID, e.g. for a clone.
Raise KOS.AuthorizationError if a KP attempts
to clone when cloning has been disabled.
The Visualizer object inherits its interface from the
ReportingStation object. It defines these additional
methods:
- ASYNCHRONOUS Shutdown ()
- Gracefully shut down the Visualizer.