Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide
I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development 
Guide—109759 3-3
I Process Program Structure Concepts
I Process Program Structure Concepts
The following concepts are central to the I process program structure:
Frame
 A frame is a set of compiled procedures supplied by Tandem into which user-written 
subsystem-specific code is bound to produce an I process that conforms to DSNM 
protocols. The frame carries out the following major functions:
•
Initialization and configuration
•
Thread management
•
Communication with the DSNM requester (usually the command server)
•
Communication with the subsystem CI (any gateway to the subsystem for control 
purposes)
Thread
A thread is an independent instruction stream capable of being interleaved in execution 
with other instruction streams (under the control of the frame). In this manual, an 
executing instance of a command thread is called simply “a thread,” and the procedures 
that compose it are called the “thread procedures.” 
You use I process-development library services to write TAL procedures executed by the 
frame as an independent thread, called the “command thread.” These procedures 
collectively perform the following major functions:
•
Translation of DSNM commands into subsystem-specific commands
•
Construction of command buffers to be sent to the subsystem CI
•
Interpretation of response buffers returned by the subsystem CI
The frame handles the bulk of the complexity of the requester-to-I process and process-
to-CI interactions. Library services support frame and user-written operations such as 
memory management and list processing. 
Figure 3-2 illustrates the relationship between the I process program frame supplied by 
Tandem and the user-written procedures _COMMAND^PROC, _STARTUP, 
_STARTUP^MODE, and _COMMAND^TERMINATION^PROC.
See Table 3-1 for an overview of the defines, procedures, structure templates, and user-
written procedure identifiers referenced in this illustration and in code examples 
throughout this section.
Caution. All $RECEIVE operations are done by the frame on behalf of the I process; the 
frame does this by calling internal DSNM library procedures. Do not perform any NonStop 
Kernel file operations that affect $RECEIVE, such as FILE_OPEN_ or 
FILE_GETRECEIVEINFO_. Processes may fail or behave unpredictably if you attempt to open 
$RECEIVE.










