Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
MUMPS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== History == === 1960s-1970s - Genesis === MUMPS was developed by [[Neil Pappalardo]], [[Robert A. Greenes]], and Curt Marble in Dr. Octo Barnett's lab at the [[Massachusetts General Hospital]] (MGH) in [[Boston]] during 1966 and 1967.<ref name="MUMPS1969" /> It grew out of frustration, during a [[National Institutes of Health]] (NIH) supported hospital information systems project at the MGH, with the development in assembly language on a time-shared [[PDP-1]] by primary contractor [[Bolt, Beranek & Newman]] (BBN). MUMPS came out of an internal "[[Skunkworks project|skunkworks]]" project at MGH by Pappalardo, Greenes, and Marble to create an alternative development environment. As a result of initial demonstration of capabilities, Dr. Barnett's proposal to NIH in 1967 for renewal of the hospital computer project grant took the bold step of proposing that the system be built in MUMPS going forward, rather than relying on the BBN approach. he project was funded, and serious implementation of the system in MUMPS began. The original MUMPS system was, like [[Unix]] a few years later, built on a [[Digital Equipment Corporation|DEC]] [[PDP-7]]. Octo Barnett and Neil Pappalardo obtained a [[backward compatible]] [[PDP-9]], and began using MUMPS in the admissions cycle and laboratory test reporting. MUMPS was then an [[interpreted language]], yet even then, it incorporated a [[hierarchical database]] file system to standardize interaction with the data and abstract disk operations so they were only done by the MUMPS language itself. MUMPS was also used in its earliest days in an experimental clinical progress note entry system<ref name="ProgNote1969" /> and a radiology report entry system.<ref name="Radiol1969" /> Some aspects of MUMPS can be traced from [[RAND Corporation]]'s [[JOSS]] through [[BBN Technologies|BBN]]'s [[TELCOMP]] and [[STRINGCOMP]]. The MUMPS team chose to include portability between machines as a design goal. An advanced feature of the MUMPS language not widely supported in [[operating system]]s or in [[computer hardware]] of the era was [[computer multitasking|multitasking]]. Although [[time-sharing]] on [[mainframe computer]]s was increasingly common in systems such as [[Multics]], most mini-computers did not run parallel programs and threading was not available at all. Even on mainframes, the variant of batch processing where a program was run to completion was the most common implementation for an operating system of multi-programming. It was a few years until Unix was developed. The lack of memory management hardware also meant that all multi-processing was fraught with the possibility that a memory pointer could change some other process. MUMPS programs do not have a standard way to refer to memory directly at all, in contrast to [[C language]], so since the multitasking was enforced by the language, not by any program written in the language it was impossible to have the risk that existed for other systems. Dan Brevik's DEC MUMPS-15 system was adapted to a DEC [[PDP-15]], where it lived for some time. It was first installed at Health Data Management Systems of Denver in May 1971.{{r|FAQ}} The portability proved to be useful and MUMPS was awarded a government research grant, and so MUMPS was released to the public domain which was a requirement for grants. MUMPS was soon ported to a number of other systems including the popular DEC [[PDP-8]], the [[Data General Nova]] and on DEC [[PDP-11]] and the [[Artronix]] [[PC12 minicomputer]]. Word about MUMPS spread mostly through the medical community, and was in widespread use, often being locally modified for their own needs. Versions of the MUMPS system were rewritten by technical leaders Dennis "Dan" Brevik and Paul Stylos{{r|FAQ}} of [[Digital Equipment Corporation|DEC]] in 1970 and 1971. By the early 1970s, there were many and varied implementations of MUMPS on a range of hardware platforms. Another noteworthy platform was Paul Stylos'{{r|FAQ}} DEC MUMPS-11 on the PDP-11, and [[MEDITECH]]'s [[MIIS (programming language)|MIIS]]. In the Fall of 1972, many MUMPS users attended a conference in Boston which standardized the then-fractured language, and created the '''MUMPS Users Group''' and '''MUMPS Development Committee''' (MDC) to do so. These efforts proved successful; a standard was complete by 1974, and was approved, on September 15, 1977, as [[American National Standards Institute|ANSI]] standard, X11.1-1977. At about the same time DEC launched DSM-11 (Digital Standard MUMPS) for the PDP-11. This quickly dominated the market, and became the reference implementation of the time. Also, [[InterSystems]] sold ISM-11 for the PDP-11 (which was identical to DSM-11). === 1980s === During the early 1980s several vendors brought MUMPS-based platforms that met the ANSI standard to market. The most significant were: * Digital Equipment Corporation with '''DSM''' (Digital Standard MUMPS). For the PDP-11 series DSM-11 was released 1977. '''VAX DSM'''<ref>{{cite book |title=VAX-11 DSM Language Reference Manual |date=1982 |publisher=Digital Equipment Corporation |oclc=29217964 }}</ref> was sold in parallel after released 1978. Both hardware families as well as MUMPS versions were available until 1995 from DEC. The DSM-11 was ported to the [[DEC Alpha|Alpha]] in two variants: '''DSM for OpenVMS''', and as '''DSM for Ultrix'''. * [[InterSystems]] with '''ISM''' (InterSystems M) on VMS (M/VX), ISM-11 later M/11+ on the PDP-11 platform (1978), M/PC on MS-DOS, M/DG on [[Data General]], M/VM on IBM VM/CMS, and M/UX on various Unixes. * Greystone Technology Corporation founded 1980, with a compiled version called [[GT.M]] for AIX, HP-UX, UNIX and OpenVMS * DataTree Inc. with an Intel PC-based product called '''DTM'''. (1982) * Micronetics Design Corporation (1980) with a product line called '''MSM.''' MSM-PC, MSM/386, MS-UNIX, MSM-NT, MSM/VM [[operating system|fo IBM]], VAX/VMS platforms and OpenVMS Alpha platforms. * Computer Consultants (later renamed MGlobal), a [[Houston]]-based company originally created '''CCSM''' on 6800, then 6809, and eventually a port to the 68000, which later became '''MacMUMPS''', a [[Classic Mac OS|Mac OS]]-based product. They also worked on the '''MGM''' MUMPS implementation. MGlobal also ported their implementation to the DOS platform. MGlobal MUMPS was the first commercial MUMPS for the IBM PC and the only implementation for the classic Mac OS. * [[Tandem Computers]] developed an implementation for their fault-tolerant computers.<ref>{{ cite web |url=https://techlibrary.hpe.com/docs/enterprise/servers/nonstop/SPML_20_January_2012_final.pdf | access-date = 2014-05-17 | title = HP NonStop Servers, Software Product Maintenance List, Effective Date: January 2012 | publisher = Hewlett-Packard Development Company, L.P. | date = 2012-01-20 | page = 32 }}</ref> * [[IBM]] briefly sold a MUMPS implementation named '''MUMPS/VM''' which ran as a [[virtual machine]] on top of [[VM/370]].<ref>{{cite news|title=Two versions of MUMPS out|url=https://books.google.com/books?id=7RERQMhC7cYC&pg=PP23|date=1987-11-30|newspaper=Computerworld|volume=XXI|issue=48|access-date=2022-07-09}}</ref> This period also saw considerable MDC activity. The second revision of the ANSI standard for MUMPS (X11.1-1984) was approved on November 15, 1984. === 1990s === * On November 11, 1990, the third revision of the ANSI standard (X11.1-1990) was approved. * In 1992 the same standard was also adopted as [[International Organization for Standardization|ISO]] standard 11756–1992. Use of '''M''' as an alternative name for the language was approved around the same time. * On December 8, 1995, the fourth revision of the standard ([[X11.1-1995]]) was approved by ANSI, and by [[International Organization for Standardization|ISO]] in 1999 as [https://www.iso.org/standard/29268.html ISO 11756:1999], which was also [https://webstore.ansi.org/standards/iso/isoiec117561999 published by ANSI]. The MDC finalized a further revision to the standard in 1998 but this has not been presented to ANSI for approval. * In 1999 the last M Standard (ISO-IEC 11756-1999) was approved. ISO re-affirmed this on 2020. Together with [https://www.iso.org/standard/29269.html ISO/IEC 15851:1999, Open MUMPS Interconnect] and [https://www.iso.org/standard/29270.html ISO/IEC 15852:1999, MUMPS Windowing Application Programmers Interface]. === 2000s === * By 1998, the [[middleware (distributed applications)|middleware]] vendor InterSystems had become the dominant player in the MUMPS market with the purchase of several other vendors. Initially they acquired DataTree Inc. in 1993. On December 30, 1994, InterSystems acquired the DSM product line from DEC.{{r|Grabscheid_19950102}} InterSystems consolidated these products into a single product line, branding them, on several hardware platforms, as '''OpenM'''. In 1997, InterSystems launched a new product named [[InterSystems Caché|Caché]]. This was based on their ISM product, but with influences from the other implementations. Micronetics Design Corporation, at this time #2 on the market, was acquired by InterSystems on June 21, 1998. InterSystems remains the dominant "M vendor" owning MSM, DSM, ISM, DTM and selling its IRIS Data Platform (and, until 2018, its predecessor Caché) to M developers who write applications for a variety of operating systems. Also Intersystems did not use the term M anymore, neither followed the M standard. * Greystone Technology Corporation's GT.M implementation was sold to Sanchez Computer Associates (now part of [[Fidelity National Information Services|FIS]]) in the mid-1990s. On November 7, 2000, Sanchez made GT.M for Linux available under the [[GNU General Public License|GPL]] license{{r|Sanchez_20001107}} and on October 28, 2005, GT.M for [[OpenVMS]] and [[Tru64 UNIX]] were also made available under the AGPL license.<ref>{{cite web |url=https://sourceforge.net/projects/fis-gtm/files/ |title=GT.M High end TP database engine |publisher=Sourceforge.net |access-date=2013-08-12}}</ref> GT.M continues to be available on other [[UNIX]] platforms under a traditional license. * During 2000, Ray Newman and others released MUMPS V1, an implementation of MUMPS (initially on FreeBSD) similar to DSM-11. MUMPS V1 has since been ported to [[Linux]], [[Mac OS X]], and [[Microsoft Windows|Windows]] (using cygwin).<ref>{{cite web |url=https://sourceforge.net/projects/mumps/files/ |title=MUMPS Database and Language |publisher=Sourceforge.net |access-date=2013-08-12}}</ref> Initially only for the x86 CPU, MUMPS V1 has now been ported to the Raspberry Pi. * Released in April 2002 an '''MSM''' derivative called '''M21''' is offered from the Real Software Company of Rugby, [[UK]]. * There are also several open source implementations of MUMPS, including some research projects. The most notable of these is [https://www.cs.uni.edu/~okane/ Mumps/II], by Dr. Kevin O'Kane (Professor Emeritus, [[University of Northern Iowa]]) and students' project. Dr. O'Kane has also ported the interpreter to Mac OS X.<ref>{{cite web|url=https://www.rychannel.com/mumps |title=Mumps/Mii |publisher=Rychannel.com |date=2012-11-08 |access-date=2013-08-12}}</ref> * One of the original creators of the MUMPS language, Neil Pappalardo, founded a company called [[MEDITECH]] in 1969. They extended and built on the MUMPS language, naming the new language MIIS (and later, another language named MAGIC). Unlike InterSystems, MEDITECH no longer sells middleware, so MIIS and MAGIC are now only used internally at MEDITECH. * A lightweight implementation is MiniM from Eugene Karataev which halted development in 2024<ref>{{cite web | url=https://thedarkaugust.blogspot.com/2024/11/minim-database-server.html | title=The Dark August: MiniM Database Server }}</ref> {{More citations needed section|date=October 2018}} === Name === The chief executive of InterSystems disliked the name MUMPS and felt that it represented a serious marketing obstacle. Thus, favoring M to some extent became identified as alignment with InterSystems. The 1990 ANSI Standard was open to both M and MUMPS and after a "world-wide" discussion in 1992 the Mumps User Groups officially changed the name to M. The dispute also reflected rivalry between organizations (the M Technology Association, the MUMPS Development Committee, the ANSI and ISO Standards Committees) as to who determines the "official" name of the language.{{citation needed|date=February 2022}} As of 2020, the ISO still mentions both M and MUMPS as officially accepted names.<ref>{{Cite web |date=2020 |title=ISO/IEC 11756:1999(en) Information technology — Programming languages — M |url=https://www.iso.org/obp/ui/en/#iso:std:iso-iec:11756:ed-2:v1:en |access-date=2024-04-18 |website=www.iso.org}}</ref> [[Massachusetts General Hospital]] registered "MUMPS" as a trademark with the USPTO on November 28, 1971, and renewed it on November 16, 1992, but let it expire on August 30, 2003.<ref>{{cite web |url=https://tsdr.uspto.gov/#caseNumber=72382020&caseType=SERIAL_NO&searchType=statusSearch |title=Trademark Status & Document Retrieval |website=tsdr.uspto.gov |access-date=26 February 2018}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)