The Origins of MV
MV systems have their genesis in projects done by TRW during the Vietnam war. The first project was called "GIRLS" and started in 1965. It was a system to keep track of parts for rocket motors within TRW.
Postley, J.A., Buetell T.D., "Generalized Information Retrieval And Listing System" Datamation, December 1962.
I have never seen the above, but in 1965 Don Nelson wrote the following
Nelson, D. B., "Generalised Information Retrieval Language and System (GIRLS) User Requirements Specification."
It was adopted by the U.S. Army for another project called "GIM" which was to track the maintenance and repair of Cheyenne helicopters. This project finished in 1969.
Nelson, D. B., Pick, R. A., and Andrews, K. B., "GIM-1, a generalized information management language and computer system," Proc. AFIPS 1967 Spring Joint Comp. Conf., 169-173.
and also
"Generalized Information Management (GIM), Users Manual," TRW Doc. #3181-C, 15 August 1969.
This project was to allow U.S. Army personnel to produce reports from a mainframe database - or possibly a set of databases. It involved developing an easily understood enquiry language and a type of data dictionary to translate a requested column name to a data location. You could say that the basis of MV was an enquiry language.
The "Pick" Operating system
Don Nelson was the conceptual designer for the "GIM" project, while Dick Pick was a programmer. As the project was a government one, quite a lot of it came into the public domain. Dick Pick took the concepts and worked with Microdata to develop a business computer system. It thus developed into an operating system of sorts, although it didn't have many of the things that one might arguably expect from an operating system. To quote Ian Sandler ("The Pick Perspective" Tab Books 1989) "...PICK is much less ambitious in its aims, and much more thorough in the way it achieves them". Because the initial work was started before any hardware was available, the system was developed on a paper computer using a conceptual assembler. When hardware became available, all that was needed was something to run the assembler. The Microdata system was called the "Reality" OS and appeared in 1974 with the 'something' running in firmware.
Dick left Microdata and after some legal discussion formed Pick & Associates to port the system to other hardware. Because of the 'virtual assembler' the system could be ported to other microprocessor chips reasonably easily. With becoming modesty, Dick called it the "Pick" operating system and on-sold it to about twenty five licensees for use on mini computers. After IBM introduced the PC, the Pick OS became the first multi-user OS to be ported to it. This is called "R83" and is regarded by many as the archetype. Later versions were 'Advanced Pick' (AP), 'Open Architecture' (OA), and D3.
Other MV Systems
With financing from some dissatisfied Microdata customers, Rod Burns and John Drumheller developed a version for Prime computers which was called 'Information', ran under the 'Primos' operating system and was (I think) written in FORTRAN. A single-user MS-DOS version was developed called 'Revelation' and later 'Open Insight' - I think these were written in C. A UNIX version was written in C called UniVerse and later another called UniData - these are now both owned by IBM. One of the licensees (ADDS) created their own version called MVBase. A group of resellers for another licensee (General Automation) wrote their own version called Univision. A company called Ladybridge has developed one called QM and also released an open-source version called OpenQM. There is also an open-source project called Maverick.
It is interesting that while the various MV systems have been implemented in many very different ways, they tend to give comparable performance.
What is in MV systems
This is not a detailed description, but all MV systems have a programming language based on Dartmouth BASIC which has advanced string handling capabilities. This BASIC is compiled into an intermediate form which is then interpreted. QM is notable in that a number of the elements of it are written in this BASIC.
Data is held in direct-access hashed files as strings using delimiters to seperate fields. Fields may contain list-style data seperated by other delimiters. These 'lists' are called multivalues. All data is stored as a character string - even numbers. This is a key philosophical difference whereby MV systems bring the storage of data 'closer', as it were, to the presentation of the data.
MV systems all have a reporting language which is relatively free-form and easy to use. Particular fields are referred to by name and a dictionary is used to define the path to locate the data within the file. There is generally a dictionary for each file. These dictionaries can also contain definitions that derive 'virtual' fields by mathematical or other operations on data - including gathering data from other files. A point to note is that the data dictionaries do not, in most cases, control or restrict the data being written to the file.