Data dictionary

This text is from the Teamwork CASE model ING-message-log-4.


Alarm_box (data flow, alias) =
0{Stamped_msg}N + Background.
*
The alarm box is a Tk dialogue that displays the current
(unacknowledged) alarm-messages.
*


Alarm_text (store) =
0{Stamped_msg}N.
*
Text to be displayed in the Alarm_box (q.v).  Alarm 
messages accumulate here until the user purges them with 
an acknowlegement.
* 


Background (data flow, cel) =
.
*
The colour to draw the background of text with a given tag.
*


C1 (data flow, cel) =
.
*
A colour as understood by Tk.  This can be a name
(e.g. "red") or an RGB value (e.g. #F00)
*


C2 (data flow) =
.
*
A colour as understood by Tk.  This can be a name 
(e.g. "red" or an RGB value (e.g. #F00).
*


Display_line (data flow) =
Timestamp + " " + Msg_attr + " " + Sender + ":" + ""
*
This is the detailed format of each line of the message display
(where  stands for arbitrary text).  It is similar to the
Stamped_msg type, but one Stamped_msg is broken into two
Display_line where-ever the former has a backslash character.
*


Enable_audible_alarm (control flow, del) =
["TRUE"|"FALSE"].


ERS_table (store) =
0{ Raw_msg + Msg_flags }N.
*
A table of messages, held by DRAMA's ERS.

The table holds the text of each message plus a set of flags from
which Msg_attr can be deduced.  The table is built up an element
at a time by ERS calls in the DRAMA server and then flushed into
the message-reporting system as a single action.
* 


Filter_level (data flow) =
["notice" | "info" | "debug" ].
*
The lowest priority of messages, using the levels
defined for syslog.conf(4), that should be displayed
by the Talker.
*


Font (data flow, cel) =
.
*
A font-name in X11's format.
*


Foreground (data flow, cel) =
.
*
The colour to draw the lettering of text with a given tag.
*


Log_file_name (data flow) =
.
*
The name of the log of messages.

The name embeds the date (changed at noon, not at midnight).  
For example:

   /int/s5-2/etc/19971101.mlog

is the log created for the system s5.2 at the INT for the night
of 01-02 November 1997.  There is a separate log for each telescope,
and the logs for different versions of the observing system are
kept separately.  (Hence, one can run a test without adding
to the log of the operational system.)
*


Ms_until_noon (data flow, cel) =
.
*
The time interval from now until noon, in milliseconds
(used to schedule the next change of log-file).


Msg_log (data flow) =
0{Stamped_msg}N.
*
A Tcl file-handle representing the current log-file.

Rather than leading directly to the file, the handle 
points to a pipe. A filter program (tailfin) is reading 
the file and copying the messages to the pipe.  Writing
to the pipe causes tailfin to terminate.
*


Msg_text (data flow) =
.
*
Free-form ASCII text consiting only in printing characters.
The message may not have embedded NL characters.
*


Node_of_origin (data flow, cel) =
.
*
A string stating the IP node that sent the corresponding 
message.  Conventionally, this is the node name, e.g. lpss13,
or lpss15.
*


Point_size (data flow, cel) =
.
* The size of the desired font in points.  Typically
10, 12 or 14.
*


Prioritized_msg (data flow) =
"<" + Priority_code + "> " +
Timestamp + " " + 
Sender + ": " + 
Priority_keyword + " " + 
Msg_text
*
A message of the kind sent to syslogd.
*


Priority_code (data flow, cel) =
.
*
An interger code, as defined in /usr/include/sys/syslog.h
on Solaris.
*


Priority_flag (data flow, del) =
["ERS_M_ALARM"     | 
 "ERS_M_HIGHLIGHT" | 
 "SRV_M_DEBUG"     |
 "CIA_M_DEBUG"       ].
*
Flags indicating the priority of an associated message.
The symbols above are defined as bit masks in three
include-files: ERS_M_ALARM and ERS_M_HIGHLIGHT in Ers.h,
SRV_M_DEBUG in srv.h and CIA_M_DEBUG in ciaTalk.h.
*  


Priority_keyword (data flow, del) =
[ "ALARM" | "NOTICE" | "INFO" | "DEBUG" ].
*
A string carried near the start of the message stating its
priority forthe benefit of the talker.  C.f. Priority_code.
*


Sender (data flow, cel) =
.
*
The name of the sender of the message.  The name is arbitrary
but may contain only printable ASCII characters and may not
contain the backslash character.
*


Stamped_msg (data flow) =
Timestamp + " " + 
Node_of_origin + " " +
Sender + ": " + 
Priority_keyword + " " + 
Msg_text
*
A message of the kind logged by syslogd on the 
system computer.
*


Syslog_log_file (store) =
0{Stamped_msg}N.
*
One of three messages files created by syslogd for the 
benefit of this message-system.  The files are

  /var/log/talker.debug
  /var/log/talker.info
  /var/log/talker.notice
*


Talker_global_variables (store) =
Enable_audible_alarm + Log_file_name + Msg_log.


Text_tag (data flow, del) =
[ "Alarm" | "Highlight" | "Normal" | "Debug" ].
*
An instruction to the text display on how to display a
particular line.

These data are implemented as tags on ranges in the Tk
Text widget.  The tag names are used exactly as stated
above, including the mixed case.
*


Text_widget (store) =
0{Display_line}N +
4{Text_tag}4 +
Font.
*
A Tk text-widget displaying the messages.
*


Timestamp (data flow, cel) =
"yyyy-mm-ddThh:mm:ss".
*
A date-time marker conforming to ISO 8601:1988 requirements,
i.e.:

  yyyy is the year.
  mm   is the number of the month.
  dd   is the day of the month.
  hh   is the number of houts since midnight.
  mm   is the number of minutes since the hour.
  ss   is the number of seconds since the minute.

All separator characters must be exactly as shown above; the
`T' must be a capital letter.  The numbers must be written
with leading zeros where necessary to fill out to the full
field-width.

For this particular application, the time must be in UTC
and the seconds must not show a fractional part.
*


Widget (data flow, cel) =
.
*
The indentifier of a Tk widget.  In Tcl, the path-name
of the widget.
*