MAPPER

Last updated

MAPPER Systems, now known as Business Information Server, BIS, is a fourth-generation programming language originally from Sperry Univac. Now owned by Unisys Corporation. Mapper originated in the 1970s [1] based on some work in the 1960s, [2] It has been functionally enhanced and kept current. It was also given an extension named ICE - Internet Commerce Enabler. [3] [1]

Contents

Originally available on Sperry's Univac 1108, implementations now also exist for Windows NT, Sun Solaris and Linux. [4] The GUI on Windows is the most advanced of these. [1]

History

MAPPER (MAintain, Prepare, and Produce Executive Reports) (alternatively nicknamed "Most Amazing Programming Product Ever Released" by enthusiasts)—officially renamed BIS (Business Information Server) but still called MAPPER by many users [1] —began as an internal product. It was developed in Sperry Univac's computer factory in Roseville, Minnesota to help the company manage their factory producing computer hardware. [5] [6] It was initially called CRT RPS (Report Processing System), to differentiate it from RPG. Its first external customer was Santa Fe Railway. Besides the Santa Fe, the Kansas City government was an early customer. MAPPER became a popular solution in the Government sector. User group communities formed like the New England MAPPER Users Group. The concept of MAPPER was conceived by Louis Schlueter in 1967 and presented in a whitepaper in February 1968 entitled 418 Report Processing System to management and accepted for development immediately. Three developers (Bill Grey, Louis Schlueter and Chuck Hanson) began coding under another budget that was initially approved for a different project. They had a lot of resistance, such as the lead programmer (Jack Olgren) under the initial testing department (the original programming was for stress testing the hardware), stating "You can't use computers that way!" but after seeing more of what was happening, he joined the team and eventually became the lead programmer due to his genius mind. Unfortunately, he died a year later, never to see the full realization implemented. There was so much continued obstruction, fighting the cognitive dissonance around traditional thinking at that time.

CRT RPS was renamed MAPPER in 1975. Because of its unofficial status, it was a low-budget development, and was built for minimum use of resources. Today the entire system, minus user data, is only 25 megabytes. It was written in Assembler language. [1] Initially it had only limited string manipulation; [1] that has since been corrected. A Macro capability was also subsequently added. The development of the UNIVAC 1100, as well as pressure from customers, led to a release for more general use in 1979.

In the mid-1980s, Sperry actively marketed MAPPER, including advertising featuring "MAPPER Man", the self-empowered executive end-user. In the Scandinavian countries, Sperry had a MAPPER song—"Do it the MAPPER way!" (1983)—written and performed by an ABBA-style group.

Under Sperry Corp, a MAPPER System Controlled eight Factories, proving Major Application Design by USERS. The MAPPER system supported over 1,300 applications, 99 percent of which were designed by non DP (Data Processing Department e.g. the old programming methods) users. It had about 20 million lines in the online database. There were 3,700+ registered users on this system, 540 of which were registered as RUN (Application) Designers. A typical day would see over 500,000 manual function starts with an additional 405,000+ function starts under control of 90,000+ RUN application executions. Over 355 million lines of Report data were processed in such a day of service.

Average MAPPER system response times for the manual functions and RUN executions was ~ 0.4 seconds. Over 7,000 terminals were registered for use on this system. Any prime time, instantaneous sample will show over 1,000 users signed on using the system. This is a mixed computing environment system. Besides the MAPPER service, background batch COBOL applications and transaction processing were also done on the mainframe system.

The 1st Customer was Santa Fe Railroad. MAPPER Systems were translated in 15 languages, including Chinese and Japanese (which was expanded to 23 in total) and installed worldwide in a customer base worth over $3 Billion. Sperry MAPPER System profits caused the $7 Billion Unisys Merger with Burroughs. This forceful takeover has been seen as the downfall of MAPPER. It was essentially shelved at that time, as no further promotion was done whatsoever. And the name was changed to BIS (Business Information Server). (Various inside sources said this was because a deal was made to suppress it due to the heavy use by the military and intelligence agencies. As an example, Japan had a boom in all its industry manufacturing because of 500 Mainframes with MAPPER on it.)

A 1989 survey by Unisys showed that 140 of 224 UNIVAC 1100 customers were using MAPPER. By 2006, there were more than 600 sites using MAPPER for Windows NT.

Its story is a strong testimony and example to the efficiency and potential of well promoted and coordinated, user-designed computing, Real-Time Report Processing System services.

Interesting to note that MAPPER was essentially the first blockchain due to the LOG Ledger and function, which is a record of all transactions; who did what, when and where. This LOG maintained a chain of events that was incorruptible or accessible by users who didn't have access rights by the Coordinator. It was also the first spreadsheet, as it was over a decade before LOTUS123.

Features

An early description of MAPPER was the paper "MAPPER Was the First User-command Language" presented at the USE technical conference in March 1983 by Michael Nicoll-Griffith of Canadian Pacific Consulting Services and published as part of the USE proceedings. In 1988, the book "User-driven Computing" by Louis Schlueter was published.

MAPPER use requires that the community have a MAPPER Coordinator, who has a set of privileged tools to monitor and tune the development and control abuses. MAPPER has over 150 functions that can be used manually, nearly each has a corresponding script command.

MAPPER was so easy to learn and use that many users became "RUN" developers who created applications that ran all their data processing requirements.

Data structure

The basic unit of data is called a "report". This appears similar to a Microsoft Excel spreadsheet. It is usual to have sets of similar reports with the same column structure that apply to different categories or groupings of items. Reports are organized into "drawers" of identically structured reports, and groups of up to 8 drawers form a "cabinet" (4000 total per MAPPER system). Reports can be between 40 and up to 998 characters wide, depending on platform. On the "Core MAPPER" platforms (Windows/Unix/Linux), the drawer size must be a multiple of 2: on the 1100/2200 it can be an odd number.

Reports are numbered from 1 to the maximum set for the drawer- there is also a report zero, which has a special significance as it acts as both a template and as a filter for the rest of the reports in the drawer. Drawers have a drawer letter, from B to I. Cabinets are numbered from 0 and increment by 2 - odd numbered cabinets reference the same data as the matching even cabinet, but provide a read-only view of the data (e.g. cabinet 0 and cabinet 1 represent full and limited access to the same data). There is a system maximum for a given system, which varies depending on platform and is represented by the system reserved work MAXCAB$. Drawers run from B to I because A is a special drawer; it is deemed to exist simultaneously in all cabinets, so acts as a global resource. Drawer A is typically used for "quick and dirty" temporary datasets, captured data, prototype run code, notes, documentation and so on. The third report in drawer C in cabinet 36 would be referenced as 3C36, or simply 3C if the user is logged into cabinet 36 already.

A major difference from spreadsheets is that MAPPER reports have no built-in calculation capability. Processing is achieved by applying a "Command" or "Function" to a report, an action that produces a duplicated "result". This result can be processed further, refining the data down to the most meaning information; a result, which a manipulated copy of the original report. Hence report processing system as part of the original system capability. Thus allowing users to access and manipulate their data needs according to their specifications.

Another important difference is that MAPPER data is a form of visible-record data; what you see is literally what you get. Within an individual drawer, reports all have the same line length, which is padded with spaces or tab characters to move you through the data for record input or modification. By the same token, column sizes within a data record are fixed, however you can create any field size you want up to 999 characters. You can locate data in either field columns or free form type data that is akin to typed text or paragraph style data. There are several functions that make locating data quick and efficient. Many functions and methods can be deployed to structure data for even faster responses. The response time on manipulating data was nearly always less than a second.[ citation needed ](Even if used on a PC and the CPU is at 100%, due to the skinny code it produces a second response on a search of over 1 million records.)[ vague ]

In older versions of MAPPER, security was applied at a cabinet level – with current versions, security has a finer granularity and is applied at drawer level. If a user is not granted access to a particular drawer, the data will not be visible to that user. It's possible to grant either update or read-only access to a given drawer.

It was the first at many things, including being an ODBC-compliant system.

Command language

When a command is to be performed, the software obtains the data organization from column headings that are above the data. In essence, it generates the "schema" on demand. Popular commands are "Search" to make a subset, "Sort" to change the sequence of lines, "Totalize" to generate subtotals by type, category or date. Two independent reports can be combined with "Match", while very sophisticated commands like "Calculate and Update" include successive steps in one operation. The result of a command can be operated on by a succeeding command. In this way, large processing requirements could be accomplished with just a few commands. The script code as a single command would execute a manual function and in this way minimize the amount of code required to accomplish tasks. i.e. writing a search program of many lines of code, was already done. And in this way MAPPER was essentially calling macros; the first of its kind also.

Real-time efficiency

In the operation of MAPPER, the data is not obtained by a program that "reads" them, but waits for user action, aside from background jobs. The programmed commands are brought to operate upon it. However, the complete set of available commands remains in the active memory of the computer as interpreted resident commands. Being written in "re-entrant code", any command can be used by many thousands of different users concurrently.

To avoid a bottleneck in disk accesses, the data is spread across multiple shallow reports, so that many users can be in the data and not locked out of a single report. This results in fewer disk reads per report than most alternatives.

The Coordinator, who is like an Administrator, gets alerted when inefficient processing practices slow down the system. Then that user could be restricted or limited on how much resources they were able to use or the time they could perform scripts or functions.

Extended capabilities

Run language Major Application Design By Non DP Users

Over time, the product has seen extensions made from the base described above. The first of these, mandated by the Santa Fe Railroad, was a repeat command capability, called a "Run", and similar in concept to an Excel macro. This use of the pretested commands applied successively reduces the chance for programming errors.

The "Run language" uses scripted forms of normal screen commands on the reports (e.g. the manual SORT and the run-language element @SOR will invoke the same compiled re-entrant code module).

It permits logical selection of different processing paths, allows loops and logic branching, user-interaction and similar. It also has the capacity to perform calculations or base processing logic on any character or data field in the entire database. Naturally, this is subject to the security category of the data.

Cooperative processing

By using network connections, two or more MAPPER systems can process cooperatively. In this, one will wait for task completion by another. MAPPER handles data or text message traffic between users.

Operations in one machine may be started over the network. SQL data retrieval commands can be issued with full SQL syntax on external databases, and the results used in further MAPPER processing. MAPPER can run websites with its own .asp front end, has an integrated JavaScript engine, can produce XML for B2B, and is able to manipulate SOAP objects. See some examples below.

Related Research Articles

<span class="mw-page-title-main">Burroughs Corporation</span> American computer company

The Burroughs Corporation was a major American manufacturer of business equipment. The company was founded in 1886 as the American Arithmometer Company by William Seward Burroughs. In 1986, it merged with Sperry UNIVAC to form Unisys. The company's history paralleled many of the major developments in computing. At its start, it produced mechanical adding machines, and later moved into programmable ledgers and then computers. It was one of the largest producers of mainframe computers in the world, also producing related equipment including typewriters and printers.

A fourth-generation programming language (4GL) is a high-level computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL). Each of the programming language generations aims to provide a higher level of abstraction of the internal computer hardware details, making the language more programmer-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Some researchers state that 4GLs are a subset of domain-specific languages.

<span class="mw-page-title-main">Mainframe computer</span> Large computer

A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise resource planning, and large-scale transaction processing. A mainframe computer is large but not as large as a supercomputer and has more processing power than some other classes of computers, such as minicomputers, servers, workstations, and personal computers. Most large-scale computer-system architectures were established in the 1960s, but they continue to evolve. Mainframe computers are often used as servers.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

<span class="mw-page-title-main">Text editor</span> Computer software used to edit plain text documents

A text editor is a type of computer program that edits plain text. Such programs are sometimes known as "notepad" software. Text editors are provided with operating systems and software development packages, and can be used to change files such as configuration files, documentation files and programming language source code.

<span class="mw-page-title-main">Terminal emulator</span> Program that emulates a video terminal

A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term terminal covers all remote terminals, including graphical interfaces. A terminal emulator inside a graphical user interface is often called a terminal window.

<span class="mw-page-title-main">History of operating systems</span> Aspect of computing history

Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use.

<span class="mw-page-title-main">UNIVAC</span> Series of mainframe computer models

UNIVAC was a line of electronic digital stored-program computers starting with the products of the Eckert–Mauchly Computer Corporation. Later the name was applied to a division of the Remington Rand company and successor organizations.

<span class="mw-page-title-main">UNIVAC 1100/2200 series</span> Family of mainframe computers

The UNIVAC 1100/2200 series is a series of compatible 36-bit computer systems, beginning with the UNIVAC 1107 in 1962, initially made by Sperry Rand. The series continues to be supported today by Unisys Corporation as the ClearPath Dorado Series. The solid-state 1107 model number was in the same sequence as the earlier vacuum-tube computers, but the early computers were not compatible with their solid-state successors.

<span class="mw-page-title-main">Computer terminal</span> Computer input/output device for users

A computer terminal is an electronic or electromechanical hardware device that can be used for entering data into, and transcribing data from, a computer or a computing system. The teletype was an example of an early-day hard-copy terminal and predated the use of a computer screen by decades. Starting in the mid-1970s with machines such as the Sphere 1, Sol-20, and Apple I, terminal circuitry began to be integrated into personal and workstation computer systems, with the computer handling character generation and outputting to a CRT display such as a computer monitor or, sometimes, a consumer TV.

The Burroughs Large Systems Group produced a family of large 48-bit mainframes using stack machine instruction sets with dense syllables. The first machine in the family was the B5000 in 1961, which was optimized for compiling ALGOL 60 programs extremely well, using single-pass compilers. The B5000 evolved into the B5500 and the B5700. Subsequent major redesigns include the B6500/B6700 line and its successors, as well as the separate B8500 line.

<span class="mw-page-title-main">Convergent Technologies Operating System</span> Operating system

The Convergent Technologies Operating System, also known variously as CTOS, BTOS and STARSYS, is a discontinued modular, message-passing, multiprocess-based operating system.

The MCP is the operating system of the Burroughs B5000/B5500/B5700 and the B6500 and successors, including the Unisys Clearpath/MCP systems.

LINC is a fourth-generation programming language, used mostly on Unisys computer systems.

VS/9 is a computer operating system for the UNIVAC Series 90 mainframes, used during the late 1960s through 1980s. The 90/60 and 90/70 were repackaged Univac 9700 computers. After the RCA acquisition by Sperry, it was determined that the RCA TSOS operating system was far more advanced than the Univac counterpart, so the company opted to merge the Univac hardware with the RCA software and introduced the 90/70. The 90/60 was introduced shortly thereafter as a slower, less expensive 90/70. It was not until the introduction of the 90/80 that VS/9 finally had a hardware platform optimized to take full advantage of its capability to allow both interactive and batch operations on the same computer.

OS 2200 is the operating system for the Unisys ClearPath Dorado family of mainframe systems. The operating system kernel of OS 2200 is a lineal descendant of Exec 8 for the UNIVAC 1108 and was previously known as OS 1100. Documentation and other information on current and past Unisys systems can be found on the Unisys public support website.

The following outline is provided as an overview of and topical guide to computing:

In operating systems, memory management is the function responsible for managing the computer's primary memory.

EDT is a text editor running on the Unisys VS/9 operating system using the UNIVAC Series 90 mainframe computers, and as of 2013 runs on the Fujitsu BS2000 mainframe computer and operating system. It was developed by RCA for the TSOS operating system for Spectra series mainframes. The RCA version was later sold to Sperry Univac, and was released for the VS/9 operating system.

References

  1. 1 2 3 4 5 6 "Language Mapper".
  2. Del Fiacco, Gerry (2008-08-23). "MAPPER: A Mission Critical Legacy". enterprisenetworksandservers.com. Archived from the original on 2008-08-23. Retrieved 2019-02-03.
  3. Oracle can be used as the backend database
  4. "Rosetta Code - Category:MAPPER".
  5. MAPPER Collection, 1983-1996
  6. Early motivation (Gerry Del Fiacco)