New MOOC: Dispatcher
A mechanism to translate device-property based data requests to object-method based data requests.
Carl Schumann
 
  1. Requirements/Goals
  2. Details of mapping for requests which do not involve an alarm block property
  3. Computation of mapping using SSDN used for non-alarm-block properties
  4. Details of mapping for requests which involve an alarm-block property
  5. How a  request is handled (This does not address the modification of the SSDN for a di-pi  for which the mapping has already been computed with the old SSDN.   This situation could be handled in at least two ways which are presented in the next section.)
    1. if the property is not an alarm-block
      1. Look-up the protocol-di-pi 3-tuple in the dictionary.
        1. if the dictionary returns an object-method pair continue
        2. if the dictionary indicates that the di-pi is known but the protocol is in appropriate, e.g., setting a reading, return an error
        3. else ( the dictionary does not have a mapping for this di-pi )
          1. Invoke ObjectLocater's method to translate the pi-SSDN pair to object pointer, this could fail in which case the front-end should return an error
          2. On the object returned by the ObjectLocater invoke the MethodLocater method to translate the pi-SSDN pair to method pointers for both protocol types, this could fail in which case the front-end should return an error
          3. Add mapping of this di-pi pair for both protocols to dictionary.
      2. Invoke the method on the object.
    2. else ( the property is an alarm block)
      1. if getting alarm block
        1. Look-up alarm block by di-pi in alarm block storage and return it
      2. else ( setting alarm block )
        1. Store alarm block by di-pi in alarm block storage
        2. if this alarm block's object, method, and method arguments have not been initialized
          1. Compute and initialize object, method, and method arguments from SSDN
  6. How consistency with database is maintained. In the following discussion when I refer to DABBEL doing a particular task, this task could instead be done by some auxilliary program, which is informed of database changes by DABBEL, e,g., DOWNLD.
 

Security, Privacy, Legal