Complier Monitor System 2 (CMS-2)
Government & Military
A programming language is a computer language programmers use to develop software programs, scripts, or other instructions for computers to execute. Today, there are hundreds of different programming languages. Among them, CMS-2 is one of the programming languages, and it is a statements-oriented language. Compiler Monitor System 2 (CMS-2) is an integrated group of computer program modules that comprise a Monitor System (MS-2) and a Compiler System (CMS-2). The Monitor System supervises the compiling, library, and loading processes.
History of CMS-2 programming language
The CMS-2 language expands the Compiler System-1 (CS-1) language capabilities by incorporating some FORTRAN, JOVIAL, and P-L/I functionality. CMS-2 was developed for FCPCPAC (Fleet Computer Programming Center — Pacific) in San Diego, CA. CMS-2 was created by Vincent Cecil Secades and David Clark Rummler. Computer Sciences Corporation implemented it in 1968 with design assistance from intrametric. The language continued to be developed, eventually supporting several computers, including the AN/UYK-7 and AN/UYK-43 and UYK-20 and UYK-44 computers. CMS-2 language features were introduced expressly for Command-and-Control Communications issues such as message delivery both internally and externally. Update and scan tables, coordinate conversion, transcendental and hyperbolic functions, and data display processing requirements are covered. The wording was first adopted in 1969 and has become the Navy’s uniform for all Command-and-Control System applications.
CMS-2 is a general-purpose programming language used almost exclusively for real-time and embedded applications for the US Navy. A CMS-2 module consists of a global declarations “SYS-DD” block and a code “SYS-PROC” block. Both global and local data, as well as procedures, can appear in the SYS-PROC block. Depending on the compiler, there are various facilities for source code inclusion and cross-module linking. Data types in CMS-2 include integer, fixed-point and floating-point numbers, fixed-length strings, and enumerations. Identifiers are strongly typed, but unlike Pascal and Ada, most versions of CMS-2 had a facility for type declaration. The only aggregate data type in CMS-2 is the array. CMS-2 has a conventional complement of imperative control-flow statements but with peculiar syntax. Loop statements offer special exit/resume facilities; it is possible to resume a loop after exiting it. CMS-2 also offers several index jump table statements (like Fortran’s computed GOTO but more complicated).
CMS-2 System Design
CMS-2 System Design consists of a monitor, Compiler, Librarian, Loader, Assembler, Flowcharter, and Tape Utility.
The MS-2 Monitor System is a batch-processing operating system designed to control the execution of its subsidiary components and user jobs being run on the computer. The monitor provides the environmental interfaces necessary for all programs running under its control. These interfaces include a job control card processor. An interrupt processor, an input/output system, an operator communication module, a debug module with the dump, patch, snap capabilities, and a job accounting package. In addition, the monitor maintains a library of the system component programs and database definitions that can be called by the user upon request to be added to his compile or execution package.
CMS-2 Compiler System is a compiler for the CS-1 and CMS-2 languages that generates object code for the CP-642, L-304, AN/UYK-7, 1830A, and 1218/1219 computers. During the 1970s, there were different versions of the CMS-2 compiler, depending on which computer was used to compile the code. Some source code had to be rewritten to work around some functions. And the different versions of CMS-2 had problems with the debugging tools.
CMS-2 Librarian is a file management system that provides storage, retrieval, and correction functions for a programmer’s source programs and object code. The CMS-2 system provides a set of utility routines to assist the programmer with manipulating data recorded on magnetic tape. The routines provide the capability to construct, duplicate, compare, list, and reformat data files on tape. The CMS-2 flowcharter is designed to process unique flowcharter statements in a user’s CMS-2 source program and output a flowchart of the program logic to the high-speed printer. The CMS-2 assembler, in the case of the AN/UYK-7 version, accepts mnemonic-oriented instructions and provides a macro instruction capability.
Compiler Monitor System (CMS-2Y) tactical code on an X86 computer running the Linux operating system to validate critical software updates in the AEGIS Test Bed (ATB). CMS-2Y is currently run on AEGIS BL3.6, BL5.3, and BL5.4. The current ATB resides on an X86 computer system that utilizes Linux operating systems. The ATB is a simulation environment that contains representative functions for the AEGIS Combat System (ACS) such as sensors, radars, digital data links, and weapons systems which comprise the ACS. CMS-2Y software language code is not compatible with the X86 COTS hardware and the Linux operating system which hosts the ATB. This incompatibility prevents these legacy baselines from being thoroughly tested in the current ATB environment. CMS-2Y tactical software code needs to run in the ATB hosted environment on an X86 computer system running the Linux operating system to ensure that the ships running CMS-2Y software are accurately and thoroughly tested. A method is required to translate CMS-2Y tactical code to support its evaluation on the ATB.
CMS-2 has benefits and downsides. The Benefits of CMS-2 are it allows multiple users, and it is easy for non-technical mended. Slow loading, maintenance cost, limited flexibility in design, and large security risk are some of its downsides.
As stated, above CMS-2 is an integrated system programming language used by the US Navy. This was the first effort to develop a standardized high-level computer programming language to make code more accessible and scalable.
In conclusion, CMS-2 is an embedded systems programming language used by the United States Navy. It was developed by Rand Corporation in the early 1970s and stood for “Compiler Monitor System.” It has some benefits and downsides. One of the benefits of CMS-2 is, it allows multiple users, and also it is easy for non-technical mended. However, it is slow loading, maintenance cost, limited design flexibility, and large security risks.