TACL
   HOME

TheInfoList



OR:

TACL (the Tandem Advanced Command Language) is the
scripting programming language A scripting language or script language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system. Scripting languages are usually interpreted at runtime rather than compiled. A scripting ...
which acts as the
shell Shell may refer to: Architecture and design * Shell (structure), a thin structure ** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses ** Thin-shell structure Science Biology * Seashell, a hard ou ...
in
Tandem Computers Tandem Computers, Inc. was the dominant manufacturer of fault-tolerant computer systems for Automated teller machine, ATM networks, banks, stock exchanges, telephone switching centers, and other similar commercial transaction processing applicati ...
.


History

Tandem Computers were originally designed and sold by Tandem Computers, Inc., based in
Cupertino, CA Cupertino ( ) is a city in Santa Clara County, California, United States, directly west of San Jose on the western edge of the Santa Clara Valley with portions extending into the foothills of the Santa Cruz Mountains. The population was 57,82 ...
. These were the first commercially available parallel processing computers, then referred to as "mini-computers". Tandem's strategy was the emerging concept of "continuous availability" for applications requiring near-total uptime, in which single points of failure were minimized through mirrored storage devices, controllers and software, and operating systems engineered specifically for fault tolerance (Guardian, and later NonStop Kernel or NSK). In computing, a
single point of failure A single point of failure (SPOF) is a part of a system that, if it fails, will stop the entire system from working. SPOFs are undesirable in any system with a goal of high availability or reliability, be it a business practice, software appl ...
refers to any scenario in which the failure of a single component, application or process could result in broader impacts such as data loss or the cascading failure of the system. The relative likelihood of multiple component or process failures within a short time is considered much lower than the likelihood a single failure. Tandem Computers, Inc. was acquired by
Compaq Computer Corporation Compaq Computer Corporation (sometimes abbreviated to CQ prior to a 2007 rebranding) was an American information technology company founded in 1982 that developed, sold, and supported computers and related products and services. Compaq produced ...
in 1997; and Compaq Computer Corp. was subsequently purchased by
Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company headquartered in Palo Alto, California. HP developed and provided a wide variety of hardware components ...
in 2001. Today they are known as " HPE Nonstop", with products such as the HP Integrity NonStop Blade systems. In 2022, HPE NonStop platforms underpin many of the largest banks, casinos, retailers, telephone companies, email systems, and stock exchanges worldwide. TACL continues to be the scripting language used on NonStop Servers.


Design philosophy

Many high-uptime computer systems that were produced after the Tandem NonStop platform rely on a pair of concurrently running, parallel but independent processes. A "failover" scheme ensures that the secondary process (or HOT backup) continues operating in the event of a failure in the primary process, thereby ensuring that any failure in the primary process does not result in a total failure of the function, network or system it supports. The Tandem NonStop design philosophy differs as each CPU performs its own work and may contain a dormant "backup" process for another CPU. Each pair of CPUs share hardware ownership of controllers and disk drives. Writes to the disk pair are performed on both the primary and backup drives. However, the drives are not truly redundant as reads will only be performed by the drive that can most quickly access data, not both. If one CPU in the pair fails, the other will take full ownership of the disk drives and tasks it was undertaking, providing continuous availability to that data and continuous operation of the system. A running primary process may be given a backup process, which receives checkpoint information. If the primary process fails, the backup process resumes the transaction using the checkpoint information. The backup process may also spawn its own backup to avoid data loss in case there are further failures, and the name "NonStop" refers to this fault-tolerant design. HPE NonStop can support operations involving high transactions-per-second and are therefore used in banking, stock trading platforms and telecommunications systems. Upon the NSK platform there are at least two programming languages - TAL as the compiled language, and TACL as the interpreted language. NSK software includes compilers for other languages, which may be used to support functions in languages other than TAL/TACL if required. TAL may be deprecated in the future, but TACL remains as the default scripting language on these machines. HPE later introduced a ksh-based shell command interface, however this does not contain every capability offered by TACL such as the netstat command. TACL built-ins reflect the multi-CPU nature of NSK. TACL instructions can be stored in a simple text file as MACROS, ROUTINES, or DEFINES which the TACL interpreter can execute as scripts. Such scripts are often used to store complex configuration instructions such as start-up and hardware configuration sequences. The TACL language has a large number of Built-in utilities which allow the user to capture and parse output from various system utilities. This allows users to build TACL programs that can monitor system events through the use of filters that monitor the system and application event logs.


Example uses of TACL


A TACL routine saved in the file FILE1

Create the following subroutine in the file FILE1: ?Section HELLO_BERNARD ROUTINE #OUTPUT Hello BERNARD How to run the TACL routine: # From a TACL prompt type: LOAD / KEEP 1 / FILE1 (this loads the routine into memory) # Type: HELLO_BERNARD (this runs the routine) # Output will be: Hello BERNARD


TACL code in the file FILE1

An alternate strategy is to create a file named FILE1 and add the following two lines: ?TACL ROUTINE #OUTPUT Hello BERNARD Execute the routine by naming the file at the TACL prompt: > RUN FILE1


References

*


Further reading

*


External links


NonStop G Series
{{Compaq Scripting languages