Jump to content

IBM TPNS

From Alfawiki
Adapted from the English Wikipedia article IBM TPNS, available under CC BY-SA 4.0Updated 9 August 20251 source
Teleprocessing Network Simulator (TPNS)
Company typeSoftware
IndustryComputer software, Test automation
Founded1976
FounderIBM
FateRebranded and succeeded by Workload Simulator for z/OS and S/390 (WSim) in 2002
ProductsNetwork terminal simulation and test automation software
ParentIBM

Teleprocessing Network Simulator (TPNS) is an IBM-authorized software initially introduced in 1976 as a test automation solution designed to emulate user interactions on network terminals connected to an IBM mainframe computer. Its primary applications include functional testing, regression testing, system testing, capacity management, benchmarking, and stress testing.

In 2002, IBM rebranded and succeeded TPNS with the release of Workload Simulator for z/OS and S/390 (WSim).


History

  • The Teleprocessing Network Simulator (TPNS) debuted with Version 1 Release 1 (V1R1) in February 1976 as Program Product 5740-XT4. This initial release was followed by four additional updates culminating in V1R5 by 1981.
  • TPNS Version 2 Release 1 (V2R1), identified as Program Product 5662-262, was launched in August 1981, with three subsequent releases extending through to V2R4 by 1987.
  • January 1989 marked the introduction of TPNS Version 3 Release 1 (V3R1), Program Product 5688-121, which saw four more releases up to V3R5 by 1996.
  • In December 1997, the TPNS V3R5 Service Level 9711 was issued, delivering functional and service enhancements.
  • The TPNS Test Manager for V3R5 was introduced in September 1998, aiming to automate testing processes and boost efficiency specifically for IBM 3270 interfaces and CPI-C transaction applications.
  • December 2001 saw the release of TPNS V3R5 Service Level 0110, featuring further functional and service improvements.
  • August 2002 witnessed the launch of Workload Simulator for z/OS and S/390 (WSim) Version 1.1 as Program Number 5655-I39, effectively repackaging TPNS alongside the WSim Test Manager Version 1.1.
  • A maintenance update simplifying the installation process for Workload Simulator for z/OS and S/390 V1.1 was announced in November 2012.
  • December 2015 brought enhancements to Workload Simulator for z/OS and S/390 V1.1, including new tools supporting TCP/IP data capture and script creation.

Teleprocessing Network Simulator (TPNS)

TPNS enables the emulation of a wide array of networking protocols and devices, including SNA/SDLC, start-stop, BSC, TWX, TTY, X.25 Packet Switching Network, Token Ring Local Area Networking, as well as TCP/IP servers and clients such as Telnet 3270 and 5250, Telnet Line Mode Network Virtual Terminal, FTP, and basic UDP clients. Additionally, TPNS simulates devices utilizing Airline Line Control (ALC) and HDLC protocols. Its comprehensive SNA support covers all LU categories—including LU6.2 and CPI-C—as well as all relevant PU types like PU2.1, plus SSCP functions. TPNS provides extensive user exit interfaces to allow the simulation of customized line disciplines, protocols, hardware devices (such as terminals and printers), and software applications.

TPNS is particularly suited for validating:

  • Complete system communication paths, starting from teleprocessing line interfaces (modem) through subsystems (CICS, IMS, DB2, TSO/ISPF), applications, down to file or database record (disk I/O) operations and back;
Note: In this scenario, TPNS generates data traffic within its MVS address space, which is sent through a channel-adapter to its Control Program (TPNCP) running on a dedicated IBM 37x5 Communications Controller. The data then traverses teleprocessing lines connected to the target IBM 37x5 linked to the host system under test.[1]
  • Application environments including their hardware and software elements, covering networking access method APIs (VTAM or TCP/IP High Performance Native Sockets/Macro API), subsystems, applications, and file or database record (disk I/O) transactions;
Note: Here, TPNS transmits data directly from its MVS address space via the networking access method API without needing a dedicated IBM 37x5 Communications Controller or extra networking hardware beyond what is already installed on the host.[1]
  • Or a combination of both configurations.[1]

Workload Simulator for z/OS and S/390 (WSim)

WSim supports a limited range of the devices and programmed resources that TPNS simulates, including CPI-C, various TCP/IP servers and clients such as Telnet 3270 & 5250, Line Mode Network Virtual Terminal, FTP, simple UDP clients, and emulated SNA LU functions. It operates exclusively through software interfaces with the system being tested.

This design makes WSim an excellent choice for assessing application systems along with their hardware and software components—from networking access method APIs like VTAM or TCP/IP High Performance Native Sockets through subsystems such as CICS, IMS, DB2, TSO/ISPF, down to file or database record I/O—without requiring any additional networking hardware or software beyond what is already available on the host platform.

Additional Applications

Apart from evaluating message traffic with the system under test, TPNS/WSim has also been utilized as:

TPNS Language

Originally, TPNS provided its proprietary 'TPNS language,' a high-level scripting language resembling macro assembler, which allowed test developers to specify:

  • the setup of the network device(s) being emulated (NTWRK definitions), generally consisting of one or more terminals such as IBM 3270 display units;
  • one or multiple message text scripts (MSGTXT definitions) that simulate keystrokes and data transmissions from virtual users. Distinct scripts could be tailored to particular testing scenarios like login, inquiry, data input, and logout;
  • the execution order for scripts assigned to each simulated terminal:
    • PATH statements within NTWRK determine the sequence of MSGTXTs execution,
    • each terminal includes a PATH operand that assigns one or more PATH statements.

During simulation, the ITPENTER program interprets these scripts, producing data streams formatted and protocolled to mimic genuine user-system interactions. The application under test responds accordingly until all scripts finish and ITPENTER concludes.

ITPENTER records all message exchanges onto tape or disk. After completion, test engineers can review these logs using TPNS tools such as ITPLL for comprehensive data exchange listings, ITPRESP for response time analytics, and ITPCOMP for comparing 3270 screen captures between simulation runs.

When TPNS transitioned to 'WSim' in 2002, documentation replaced 'TPNS language' with 'WSim language,' although original terminology and component identifiers—including program titles and message codes (ITPxxxxx)—remained intact.

Structured Translator Language (STL)

Introduced with TPNS V3R1 (1989), IBM launched the Structured Translator Language (STL), a high-level scripting language inspired by REXX syntax. STL was designed to streamline script writing for programmers familiar with REXX or comparable structured programming languages. It supports scripting not only for simulating terminal operator actions but also for interactions between TPNS-emulated programs and actual applications or for prototyping ATM shared network components. STL scripts are converted into TPNS language prior to execution using the translator utility (ITPSTL).

Functioning as a 'script generation language,' STL’s syntax parallels REXX but requires translation into TPNS language before simulations can run.

Script Development Features

Both TPNS and STL provide comprehensive scripting capabilities enabling test developers to:

  • define input from simulated users, including delays (think time), keystrokes, and response wait conditions;
  • evaluate logic on incoming and outgoing messages and trigger diverse actions based on those evaluations;
  • implement verification clauses that record expected successful or error conditions;
  • structure message content within user tables to support generic, data-independent scripts;
  • dynamically produce test data inside messages through numerous field options;
  • capture live data during simulation runs for immediate reuse as input;
  • generate random values;
  • manage counters and switches effectively;
  • coordinate simulated user actions via event mechanisms;
  • create named queues facilitating data exchange among simulated entities;
  • perform sequential file I/O (QSAM) operations on external datasets;
  • utilize debugging aids such as message trace (MSGTRACE) to log logic flow, actions taken, and data exchanges during script execution;
  • record message traffic for post-simulation examination—including tracing messages, transferring data, printing screen images, verifying results, measuring response times, and comparing outcomes across multiple runs;
  • regulate message throughput rates throughout simulations;
  • specify protocols governing session setup/teardown and data exchange between simulated resources and real applications.

WSim offers equivalent scripting functionality but restricts network configuration (NTWRK) definitions to statements supporting CPI-C, TCP/IP servers/clients (including Telnet 3270/5250 and Telnet Line Mode Network Virtual Terminal), FTP, simple UDP clients, and SNA LU emulation.

Syntax Validation Preprocessor

The ITPENTER simulator can operate as a preprocessor (by setting PARM='PREP') to verify the syntax of network configurations and scripts prior to running simulations. This function assists testing teams in preventing simulation failures caused by errors in script coding.

Consistency of Execution

Test scripts provide consistent repeatability throughout the testing process, allowing identification and correction of functional or system issues to improve reliability, scalability, and overall performance. For functional and regression testing, developers usually simulate a single terminal executing customized scripts at moderate traffic levels. In contrast, system, performance, stress, and benchmarking tests involve extensive networks comprising hundreds or thousands of simulated terminals running grouped functional scripts to stimulate various system components under heavy message loads.

Automated Script Creation

TPNS offers multiple automated tools for script generation, which are also integrated into Workload Simulator for z/OS and S/390 (WSim).

The Interactive Data Capture (IDC) Script Generator (ITPIDC)

The Interactive Data Capture (IDC) script generator functions as a pass-through VTAM application managed from a single real 3270 terminal session connected to the target application. ITPIDC maintains dual SNA sessions: one primary LU linked to the actual terminal and a secondary LU connected to the target application. During recording, it captures the data exchange between terminal and application, producing equivalent TPNS language or STL scripts.

The IDC log dataset shares the same format as TPNS simulation logs, enabling its use with TPNS post-processing tools for tasks such as content printing, response time measurement, or screen image comparisons between capture and simulation outputs.

The 3270 Trace Reformatter and Script Generator (ITPLU2RF & ITPLSGEN)

For capturing activity from production environments involving one or multiple 3270 terminals, the 3270 trace reformatter and script generator processes trace files generated by IBM Network Performance Monitor (NPM V1R4+) VTAM PIU logs (FNMVLOG) or IBM VTAM (V4R1+) Full Buffer Trace. The ITPLU2RF utility reformats these traces into log datasets compatible with the IDC script generator, which can then produce batch scripts via ITPLSGEN. This reformatted IDC log supports analysis through three post-processing utilities that provide content listings, response time calculations, and screen image comparisons.

The Script Generator (ITPSGEN)

The script generator processes trace datasets from IBM NPM or VTAM Buffer Trace combined with IBM Generalized Trace Facility (GTF) data. It supports production networks consisting of one or more 3270 devices along with other device types and protocols including LU0, LU1, LU2, LU4, LU 6.2, and CPI-C resources. For CPI-C resources, it can also utilize LU 6.2 traces from OS/2 Communications Manager (CM/2) or IBM Communications Server. TPNS utilities convert these various trace formats into a standardized format usable by ITPSGEN, which generates scripts:

  • optionally in TPNS language or STL for all supported device types except CPI-C programmed resources;
  • exclusively in STL for CPI-C programmed resources.

The TCP/IP script generator (ITPIPGEN)

Exclusively available in WSim since its introduction in December 2015, the TCP/IP script generator processes TCP/IP trace files created by the WSim TCP/IP Trace Utility (ITPIPTRX). This utility captures HTTP communication between client and server by leveraging the z/OS Communication Server’s real-time TCP/IP trace Network Management Interface (NMI). ITPIPGEN transforms these trace datasets into an STL script that emulates the recorded interactions. When this script is converted into WSim language and executed through ITPENTER, it transmits client messages to the server port and waits for corresponding server replies. Furthermore, the ITPIPFMT tool provides formatting and printing capabilities for TCP/IP trace datasets produced by ITPIPTRX.

The TPNS Test Manager

Scripts generated via script generators are often further refined by test developers to improve their reusability. This refinement typically includes incorporating advanced programming constructs, such as relocating fixed data into user data tables to facilitate broader testing scenarios. Modifications can be made directly within the NTWRK and MSGTXT datasets or through the use of the TPNS Test Manager (or its equivalent, the WSim Test Manager), both accessible under TSO/ISPF.

The Test Manager serves as a knowledge-driven, interactive application aimed at boosting tester productivity and streamlining test cycles by systematically managing test projects throughout development, test execution, and result evaluation.

Operator commands

While the TPNS simulator program ITPENTER is active, testers have access to TPNS-specific operator commands that allow them to initialize, launch, adjust, and halt one or multiple TPNS networks and their associated scripts. These commands also enable monitoring of simulated device and script statuses as well as real-time control actions such as modifying message traffic rates.

Running as an MVS procedure

Originally, ITPENTER functioned as an MVS procedure managed from the MVS operator console. The generated data traffic was routed from its MVS address space through a channel adapter to the TPNS Control Program (TPNCP) running on a dedicated IBM 37x5 Communications Controller. From there, communication passed over teleprocessing lines connecting the TPNCP to another IBM 37x5 attached via channel to the host system under test and its application subsystems (CICS, IMS, DB2, TSO/ISPF, among others).

Running under TSO

With the release of TPNS V1R5 in 1979, ITPENTER gained the capability to execute from a TSO command list within the TSO user address space. This enhancement enabled simulations to be initiated from remote VTAM network terminals rather than relying solely on the MVS system console.

Running as a VTAM application

In TPNS V2R3 (1985), ITPENTER was further enhanced to operate as a VTAM application. This allowed data traffic from simulated terminals or programmed resources (defined as VTAM logical units) to be routed through the VTAM API directly to the application under test. This advancement removed dependency on 37x5 and other teleprocessing hardware when conducting tests on systems such as CICS, IMS, DB2, ISPF, and other online transaction processing environments.

Display Monitor

Introduced with TPNS V2R4 (1987), the Display Monitor capability enabled the visualization of simulated 3270 screen images on actual 3270 terminals, facilitating real-time observation of script execution during simulations. Additionally, TPNS could be controlled via the NetView console, allowing simulation runs to be automated through TPNS-provided NetView command lists.

Running under ISPF

With the release of TPNS V3R3 (1992), all TPNS programs and utilities (ITPxxxxx) became operable entirely within ISPF, utilizing panel-driven interfaces. This advancement replaced the previous reliance on TSO command lines and separate JCL job streams.

Running as a TCP/IP for MVS application

TPNS V3R5 (1997) upgraded ITPENTER to function as a TCP/IP for MVS application, transmitting data traffic generated by simulated terminals or scripted resources to target applications through IBM TCP/IP V3R2 for MVS High Performance Native Sockets (HPNS) API, later known as the 'Macro API'.

TPNS Test Manager

In 1998, IBM launched the Test Manager for TPNS V3R5, introducing automation capabilities that simplify the planning, preparation, execution, and evaluation of TPNS-based simulations. This tool provides test programmers with continuous visibility into test progress and the ability to intervene promptly when necessary.

Post-processing utilities

During simulation runs, ITPENTER records all communication between simulated devices and actual applications. Upon completion, test programmers can analyze these logs using three dedicated TPNS utilities.

Log list (ITPLL)

The ITPLL utility offers a comprehensive review of logged information, encompassing operator commands, data transmissions, screen captures, message tracing, and test validation details.

Response time calculator (ITPRESP)

ITPRESP processes simulation logs to produce detailed response time reports.

Log compare (ITPCOMP)

ITPCOMP enables comparison of 3270 screen images from two separate executions of identical scripts to detect any discrepancies.

The Echo program (ITPECHO)

Included with both TPNS and WSim, the Echo program (ITPECHO) operates as a VTAM application within the system under test. It supports network connectivity and load testing without requiring deployment of full production applications or databases, thereby minimizing scripting complexity and storage requirements. ITPECHO echoes back received messages upon 'Enter' key activation and can return variable-length responses on 'PF5', padding messages with alphabetic characters as needed to emulate different send/receive sizes.

The AVailability MONitor (AVMON) facility

AVMON is a TPNS-based solution designed to track availability and performance metrics of production network subsystems such as NetView and TSO. Its functionality can be extended to monitor additional subsystems like CICS, IMS, and DB2 through tools such as the Interactive Data Capture script generator. During execution, AVMON updates the TPNS log dataset for subsequent analysis by TPNS utilities.

Operating by simulating terminal user sessions that periodically send probes to verify subsystem status, AVMON alerts operators when outages occur and measures response times against predefined thresholds. Utilizing the Response Time utility, organizations gain comprehensive reports on end-user performance. Furthermore, AVMON supports customization for automatic operator actions including restarting failed components.

Teleprocessing Network Simulator (TPNS) Collection

  • TPNS Sample Programs SC30-3454
  • TPNS Operational Guide SC30-3289
  • TPNS Codes and Messages Reference SC30-3310
  • TPNS Utility Tools Overview SC30-3290
  • TPNS Script Generation Tools SC30-3453
  • TPNS Installation and Planning Manual SH20-2488
  • TPNS Language Documentation SH20-2489
  • Network Definitions for TPNS SC31-6008
  • Message Generation Deck Creation with TPNS SC31-6009
  • Using Structured Translator Language (STL) and STL Translator in TPNS SC31-6013
  • TPNS STL Quick Reference Card SX75-0065
  • User Exits in TPNS SC31-6071
  • Specifications for Licensed TPNS Programs GH20-5323
  • General TPNS Information GH20-2487
  • Introduction to TPNS SC31-6043
  • Master Index for TPNS Documents GC31-6059
  • Enhancements to TPNS Functionality V3R5 (1997) SC31-8654-00
  • Enhancements to TPNS Functionality V3R5 (2001) SC31-8654-02

Workload Simulator (WSim) Collection

  • Guide to Creating Workload Simulator Scripts SC31-8945
  • Workload Simulator Script Reference and Guide SC31-8946
  • Utilities Guide for Workload Simulator SC31-8947
  • User Guide for Workload Simulator SC31-8948
  • Test Manager User Guide and Reference for Workload Simulator SC31-8949
  • User Exits Documentation for Workload Simulator SC31-8950
  • Messages and Codes for Workload Simulator SC31-8951

Bibliography

  • IBM TCP/IP Version 3 Release 2 for MVS/ESA, Announcement No. 296-317, IBM, September 10, 1996
  • IBM Teleprocessing Network Simulator – Function and Service Enhancements Version 3 Release 5, First Edition, IBM, December 1997, SC31-8654-00
  • IBM Teleprocessing Network Simulator – Function and Service Enhancements Version 3 Release 5 (2001), Second Edition, IBM, December 2001, SC31-8654-02
  • IBM TPNS—Teleprocessing Network Simulator Overview, IBM, April 1998, G325-3806-00
  • IBM Workload Simulator – Creating Scripts, Second Edition, IBM, October 2015, SC31-8945-01
  • IBM Workload Simulator – Script Guide and Reference, Second Edition, IBM, October 2015, SC31-8946-01
  • IBM Workload Simulator – Utilities Guide, Second Edition, IBM, October 2015, SC31-8947-01
  • IBM Workload Simulator – User’s Guide, Second Edition, IBM, October 2015, SC31-8948-01
  • IBM Workload Simulator – Test Manager User’s Guide and Reference, Second Edition, IBM, October 2015, SC31-8949-01
  • IBM Workload Simulator – User Exits Manual, First Edition, IBM, August 2002, SC31-8950-00
  • IBM Workload Simulator – Messages and Codes Reference, Second Edition, IBM, October 2015, SC31-8951-01

External links

  1. ↑ 1.0 1.1 1.2 Cite error: Invalid <ref> tag; no text was provided for refs named 1998Flyer