MAPPER (Software)
   HOME

TheInfoList



OR:

MAPPER, now known as BIS, is a
fourth-generation programming language A fourth-generation programming language (4GL) is any 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 ai ...
from
Sperry Univac UNIVAC (Universal Automatic Computer) 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 ...
. Mapper originated in the 1970s based on some work in the 1960s, but has been kept current. It was renamed and also given an extension named ICE - Internet Commerce Enabler. Originally available on Sperry's
Univac 1108 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. ...
, implementations now also exist for
Windows NT Windows NT is a proprietary graphical operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems sc ...
, Sun Solaris and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
. The
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
on Windows is the most advanced of these.


History

MAPPER (MAintain, Prepare, and Produce Executive Reports)—officially renamed BIS (Business Information Server) but still called MAPPER by many users—began as an internal product. It was developed in Sperry Univac's computer factory in
Roseville, Minnesota Roseville is a city in Ramsey County, Minnesota, United States. It is one of two Minneapolis-Saint Paul, Twin Cities suburbs that are adjacent to both Saint Paul and Minneapolis (the other is Lauderdale, Minnesota, Lauderdale). The land comprisin ...
to help the company manage their factory producing computer hardware.MAPPER Collection, 1983-1996
/ref> 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. 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. It was written in
Assember language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
. Initially it had only limited string manipulation; that has since been corrected. A Macro capability was also subsequently added. The development of the
UNIVAC UNIVAC (Universal Automatic Computer) 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 an ...
1100, and 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 ABBA ( , , formerly named Björn & Benny, Agnetha & Anni-Frid or Björn & Benny, Agnetha & Frida) are a Swedish supergroup formed in Stockholm in 1972 by Agnetha Fältskog, Björn Ulvaeus, Benny Andersson, and Anni-Frid Lyngstad. The group's ...
-style group. A 1989 survey by
Unisys Unisys Corporation is an American multinational information technology (IT) services and consulting company headquartered in Blue Bell, Pennsylvania. It provides digital workplace solutions, cloud, applications, and infrastructure solutions, e ...
showed that 140 of 224 UNIVAC 1100 customers were using MAPPER. By 2006 there were more than 600 sites using MAPPER for Windows NT.


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. Tools are written in the MAP programming edit mapper (command)


Data structure

The basic unit of data is called a "report". This appears similar to a
Microsoft Excel Microsoft Excel is a spreadsheet developed by Microsoft for Microsoft Windows, Windows, macOS, Android (operating system), Android and iOS. It features calculation or computation capabilities, graphing tools, pivot tables, and a macro (comp ...
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 organised into "drawers" of identically-structured reports, and groups of up to 8 drawers form a "cabinet". 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 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. 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 if not filled. By the same token, column sizes within a data record are fixed, unlike Excel where you can type hundreds of characters into a small field unless limited by data validation. This is both a strength and a weakness of MAPPER- due to the fixed sizes, the position of any section of the data on disk can be calculated, but the data must be able to be expressed in fixed-format fields. 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.


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.


Real-time efficiency

In the operation of MAPPER, the data is not obtained by a program that "reads" them, but the data wait for action. The programmed commands are brought to operate upon it. However, the complete set of available commands remains in the active memory of the computer. Being written in " re-entrant code", any command can be used by many hundreds of different users at the same time. To avoid a bottleneck in disk accesses, the data is kept in screen display format. This results in the average number of disk reads per report display to be less than two. The addition of new "records" to a long report can involve high disk activity and render a system non-responsive. understandable.


Extended capabilities


Run language

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 JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
engine, can produce
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
for B2B, and is able to manipulate
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
objects.


Current status

The BIS product is still in use, and there still are job postings for it. There's even coverage of "average salaries by job title and skillset" at SimplyHired, BIS/MAPPER use includes end-user-written applications.Employer seeking a trainer for BIS/MAPPER (Timestamped "18 hours ago") , date=July 30, 2018


External links


Louis Schlueter, User-Designed Computing: The Next Generation, 1988.


References

{{Reflist Fourth-generation programming languages UNIVAC software