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.