overview

Overview

STARS (Simple Transmission and Retrieval System) is a message transferring software for smallscale control systems with TCP/IP sockets, which works on various types of operating systems (STARS server is wrtten in Perl).
STARS consists of client programs (STARS clients) and a server program (STARS server), and each client is connected to the server via a TCP/IP socket.
STARS users can upgrade the system by writing client programs, and STARS clients are able to participate in the system at any time without system stoppage.


STARS clients and STARS servers handle only textbased messages. Figure 1 shows an example of message transfer on STARS.
Each client program has its own unique node name on STARS and sends messages to the server with the destination node name. “0” to “9”, “A” to “Z”, “a” to “z”, “_” and “-” are available for the node name.
In the example, a client named Term1 sends a message (1) to the server with the destination client name “Dev1”. The server then sends the message to the applicable client named Dev1 (2).

STARS has the following simple rules for messages:

  • A message that starts with “@” (e.g., @message) is a reply to a command.
  • A message that starts with “_” (e.g., _message) is an event.
  • Any other type of message is a command.

Dev1 receives a command from the server in the example.
It must send a reply message to the server with the destination node name “Term1” (3) in this case.
Finally, the server delivers the message to Term1 (4).


STARS has an event delivery function. Figure 2 shows an example of the message delivery process.
An event delivery request is registered by sending a “flgon”command to the STARS server. “System” is used as the destination node name of the STARS server. In this example,
Term1 sends an event delivery request related to Dev1 to the server (1).
The server then returns a reply message to Term1 indicating that the request has been registered (2).
After the request has been accepted by the server, if Dev1 sends an event message with the destination node name “System” (3) to the server, the request is delivered to Term1 (4).


STARS has a simple certification procedure in three steps as follows:

  • Host name certification
  • Node name and keyword certification
  • Node name and host name certification (option)

Figure 3 shows the certification procedure. When a client connects to the STARS server via port 6057, the server first checks the host name of the client machine.
If the host name is not on the list of the server, the connection is immediately cut by the server.
If the host name exists, the server returns a random number. This number indicates a valid keyword, and the client must next send its node name and a corresponding keyword with the number.
For example, if the node name of the client is “term1” and the server returns “0”, the client must send “term1 key1” to the server. The server then checks the node name and keyword against the keyword file.
Finally, the server checks the host name and node name (if necessary), and if every procedure has been performed correctly a connection is established.


A hierarchically structured system can be developed with the hierarchical node name of STARS. A period (“.”) is used for the separator and the STARS server uses the first part of the node name as the destination.
For example, if the destination node is specified as “Br1.Dev1” or “Br1.Dev2”, both messages are delivered to Br1 (Figure 4).
A client program like Br1 must be able to handle hierarchical node names in a real hierarchically structured system. This type of client program is called a bridge.

  • overview.txt
  • 最終更新: 2024/07/04 01:41
  • by T. Kosuge