TACL (programming language): Difference between revisions
Prholenstein (talk | contribs) →Design philosophy: added "and especially Telecommunications" along with the link |
m Clean up spacing around commas and other punctuation fixes, replaced: , → , |
||
(18 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
{{short description|Scripting programming language}} |
|||
{{Multiple issues| |
|||
{{About|programming language||TACL (disambiguation){{!}}TACL}} |
|||
{{technical|date=June 2012}} |
|||
{{more citations needed|date=August 2013}} |
{{more citations needed|date=August 2013}} |
||
{{Infobox software |
|||
| title = TACL (Tandem Advanced Command Language) |
|||
| logo = <!-- [[File: ]] --> |
|||
| screenshot = <!-- [[File: ]] --> |
|||
| author = Tandem Computers |
|||
| developer = [[Hewlett Packard Enterprise|HPE]] (Hewlett Packared Enterprise) |
|||
| released = 1970s |
|||
| programming language = Tandem Application Language (TAL) |
|||
| operating system = NonStop OS |
|||
| platform = NonStop |
|||
| included with = NonStop OS |
|||
| language = English |
|||
| genre = [[command language]] and [[scripting programming language]] |
|||
| license = [[Proprietary software|Proprietary]] |
|||
}} |
}} |
||
'''TACL''' ( |
'''TACL''' ('''Tandem Advanced Command Language''') is the [[scripting programming language]] which acts as the [[Shell (computing)|shell]] in [[Tandem Computers]]/[[NonStop (server computers)|NonStop]] computers.<ref name=":0" /> |
||
==History== |
==History== |
||
Tandem |
Tandem computers were originally designed and sold by Tandem Computers, Inc., based in [[Cupertino, California|Cupertino, CA]]. These were the first commercially available parallel processing computers. Despite their ability to expand to large sizes using parallelism, later to be called clustering, they were in the category of "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 (using the Guardian operating system, later NonStop Kernel or NSK, and later NonStop OS). In computing, a [[single point of failure]] 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|Compaq Computer Corporation]] in 1997; and Compaq Computer Corp. was subsequently purchased by [[Hewlett-Packard]] in 2001. |
Tandem Computers, Inc. was acquired by [[Compaq|Compaq Computer Corporation]] in 1997; and Compaq Computer Corp. was subsequently purchased by [[Hewlett-Packard]] in 2001. Today they are known as "[[NonStop (server computers)|HPE Nonstop]]", with products such as the HP Integrity NonStop Blade systems.<ref name=":0">{{cite web | publisher = Hewlett-Packard Development Company |
||
| url=http://h20223.www2.hp.com/nonstopcomputing/cache/595857-0-0-224-121.html | title = HP Integrity NonStop BladeSystem NB50000c - overview | year = 2001 | accessdate = 12 October 2012}}</ref> |
| url=http://h20223.www2.hp.com/nonstopcomputing/cache/595857-0-0-224-121.html | title = HP Integrity NonStop BladeSystem NB50000c - overview | year = 2001 | accessdate = 12 October 2012}}</ref> |
||
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== |
==Design philosophy== |
||
{{cleanup section | reason = conversational tone |
{{cleanup section | reason = conversational tone, passing references to language features not familiar to non-TACL users, wandering structure, incomplete examples, lack of comparison & contrast to similar job control languages|date=December 2021}} |
||
Many computer systems that were produced after the Tandem NonStop platform relied on some form of redundancy (or HOT backup) and a "failover" scheme to continue running. On the Tandem NonStop, however, each CPU performs its own work and may contain a dormant "backup" process for another CPU. Each pair of CPUs, 0 and 1 for example, share hardware ownership of controllers and disk drives. The drives are not REDUNDANT. Writes to the disk pair are performed on both the primary and backup drives. Reads, however, take advantage of which head on which drive is closer to the information and choose that drive onto which to perform the read. For example if CPU 0 fails, then CPU 1 takes over ownership of a disk drive, providing continuous availability to that data. A primary process that is running may be given a backup process, which receives checkpoint information. If the primary process fails, through whatever reason, the backup process takes over, that backup process may spawn its own backup. This is what earned them the name NonStop, since application programs can be fault-tolerant. This makes them very attractive for their customers, because of their ability for continuous availability, or being NonStop. These systems are also known for handling very high numbers of transactions per second, which is very useful for banks, stock exchanges, and especially [[Telecommunications]]. |
|||
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 paragraph above describes the philosophy behind the design of the hardware and the software. Upon that NSK platform there are two programming languages at least - [[Transaction Application Language|TAL]] as the compiled language, and TACL as the interpreted language. NSK has compilers for most useful languages too. TAL is rumoured to be about to be deprecated, but TACL remains as the default scripting language on these machines. HP provide a Korn-based shell command interface also these days, but it does not offer all that TACL does for NSK sysadmins - for instance, the netstat command has not been implemented. TACL builtins reflect the multi-CPU nature of NSK, and there probably isn't much more to say than that - if you fully understand all the TACL builtins then you are probably well on the way to understanding the NSK. |
|||
The Tandem NonStop design philosophy differs as each CPU performs its own work and may contain a dormant "backup" process in another CPU. Each pair of CPUs share hardware ownership of controllers and disk drives. Writes to the mirrored disk pair are performed on both the primary and backup drives. However, the drives are not truly [[Redundancy (engineering)|redundant]] as reads will only be performed by the drive that can most quickly access the 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, including re-driving disk I/Os. A running primary process may be given a backup process in another CPU, 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. |
|||
⚫ | |||
The name "NonStop" refers to this fault-tolerant design. HPE NonStop systems can support operations involving high transactions-per-second and are therefore used in critical applications such as banking, stock trading platforms and telecommunications systems. |
|||
⚫ | The TACL language has a large number of |
||
Upon the NonStop OS platform there are at least two programming languages—[[Transaction Application Language|TAL]] (Transaction Application Language) as the compiled language, and TACL as the interpreted language. NonStop OS software includes compilers for other languages (including [[Java (programming language)|Java]], C, [[C++]], [[COBOL]], SCOBOL, etc.), which may be used to support functions in languages other than TAL/TACL if required. TACL remains as the default scripting language on these machines. HPE later introduced a [[KornShell|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.<ref>{{Cite book |title=TAL Programmer's Guide |publisher=Tandem Computers, Incorporated |year=1993 |location=Cupertino, California |at=Appendix E |language=en-us}}</ref> Such scripts are often used to store complex configuration instructions such as start-up and hardware configuration sequences. TACL is also used as a [[Job Control Language|job control language]] for batch jobs. |
||
⚫ | |||
==Example uses of TACL== |
==Example uses of TACL== |
||
Line 31: | Line 50: | ||
How to run the TACL routine: |
How to run the TACL routine: |
||
# From a TACL prompt type: |
# From a TACL prompt type: LOAD / KEEP 1 / FILE1 (this loads the routine into memory) |
||
# Type: |
# Type: HELLO_BERNARD (this runs the routine) |
||
# Output will be: |
# Output will be: Hello BERNARD |
||
===TACL code in the file FILE1=== |
===TACL code in the file FILE1=== |
||
Line 41: | Line 60: | ||
Execute the routine by naming the file at the TACL prompt: |
Execute the routine by naming the file at the TACL prompt: |
||
> RUN FILE1 |
> RUN FILE1 |
||
== See also == |
|||
* [[NonStop (server computers)]] |
|||
* [[Tandem Computers]] |
|||
* [[List of compilers]] for a partial list of NonStop compilers |
|||
==References== |
==References== |
||
Line 54: | Line 79: | ||
==External links== |
==External links== |
||
* [https://web.archive.org/web/20080220010732/http://docs.hp.com/en/NSGSeries.html NonStop G Series] |
* [https://web.archive.org/web/20080220010732/http://docs.hp.com/en/NSGSeries.html NonStop G Series] |
||
* [https://www.hpe.com/info/nonstop NonStop Computing Home] – main Nonstop Computing page at Hewlett Packard Enterprise |
|||
{{Compaq}} |
{{Compaq}} |
Latest revision as of 13:25, 15 October 2024
This article needs additional citations for verification. (August 2013) |
Original author(s) | Tandem Computers |
---|---|
Developer(s) | HPE (Hewlett Packared Enterprise) |
Initial release | 1970s |
Written in | Tandem Application Language (TAL) |
Operating system | NonStop OS |
Platform | NonStop |
Included with | NonStop OS |
Available in | English |
Type | command language and scripting programming language |
License | Proprietary |
TACL (Tandem Advanced Command Language) is the scripting programming language which acts as the shell in Tandem Computers/NonStop computers.[1]
History
[edit]Tandem computers were originally designed and sold by Tandem Computers, Inc., based in Cupertino, CA. These were the first commercially available parallel processing computers. Despite their ability to expand to large sizes using parallelism, later to be called clustering, they were in the category of "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 (using the Guardian operating system, later NonStop Kernel or NSK, and later NonStop OS). In computing, a single point of failure 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 in 1997; and Compaq Computer Corp. was subsequently purchased by Hewlett-Packard in 2001. Today they are known as "HPE Nonstop", with products such as the HP Integrity NonStop Blade systems.[1]
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
[edit]This section may require cleanup to meet Wikipedia's quality standards. The specific problem is: conversational tone, passing references to language features not familiar to non-TACL users, wandering structure, incomplete examples, lack of comparison & contrast to similar job control languages. (December 2021) |
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 in another CPU. Each pair of CPUs share hardware ownership of controllers and disk drives. Writes to the mirrored 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 the 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, including re-driving disk I/Os. A running primary process may be given a backup process in another CPU, 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.
The name "NonStop" refers to this fault-tolerant design. HPE NonStop systems can support operations involving high transactions-per-second and are therefore used in critical applications such as banking, stock trading platforms and telecommunications systems.
Upon the NonStop OS platform there are at least two programming languages—TAL (Transaction Application Language) as the compiled language, and TACL as the interpreted language. NonStop OS software includes compilers for other languages (including Java, C, C++, COBOL, SCOBOL, etc.), which may be used to support functions in languages other than TAL/TACL if required. 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.[2] Such scripts are often used to store complex configuration instructions such as start-up and hardware configuration sequences. TACL is also used as a job control language for batch jobs.
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
[edit]A TACL routine saved in the file FILE1
[edit]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
[edit]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
See also
[edit]- NonStop (server computers)
- Tandem Computers
- List of compilers for a partial list of NonStop compilers
References
[edit]- "Business Support Center: Manuals". Hewlett-Packard Development Company.
- ^ a b "HP Integrity NonStop BladeSystem NB50000c - overview". Hewlett-Packard Development Company. 2001. Retrieved 12 October 2012.
- ^ TAL Programmer's Guide. Cupertino, California: Tandem Computers, Incorporated. 1993. Appendix E.
Further reading
[edit]- Hill, Terri; Alvarado, Ellen (22 September 2003). HP NonStop Server Security: A Practical Handbook. Digital Press. p. 26. ISBN 9780080491493. Retrieved 27 June 2012.
External links
[edit]- NonStop G Series
- NonStop Computing Home – main Nonstop Computing page at Hewlett Packard Enterprise