%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.24",
%%%     date            = "10 July 2008",
%%%     time            = "16:26:56 MDT",
%%%     filename        = "virtual-machines.bib",
%%%     address         = "University of Utah
%%%                        Department of Mathematics, 110 LCB
%%%                        155 S 1400 E RM 233
%%%                        Salt Lake City, UT 84112-0090
%%%                        USA",
%%%     telephone       = "+1 801 581 5254",
%%%     FAX             = "+1 801 581 4148",
%%%     URL             = "http://www.math.utah.edu/~beebe",
%%%     checksum        = "18916 12778 61761 594899",
%%%     email           = "beebe at math.utah.edu, beebe at acm.org,
%%%                        beebe at computer.org (Internet)",
%%%     codetable       = "ISO/ASCII",
%%%     keywords        = "bibliography; BibTeX; virtual machines;
%%%                        VMware; Xen",
%%%     license         = "public domain",
%%%     supported       = "yes",
%%%     docstring       = "This is a bibliography of books and other
%%%                        publications about virtual machines.  However,
%%%                        it specifically excludes publications about
%%%                        the Parallel Virtual Machine (PVM), which
%%%                        is covered in a separate bibliography, pvm.bib.
%%%
%%%                        The ECMA and ISO Standard virtual machine,
%%%                        Common Language Infrastructure (CLI), is
%%%                        available on Microsoft .NET Framework on
%%%                        Microsoft Windows, GNU DotGNU's ilrun, and
%%%                        the Mono Project's mono.  These environments
%%%                        may offer compilers for C#, Visual Basic, C,
%%%                        C++, and possibly other languages.
%%%
%%%                        At version 1.24, the year coverage looked
%%%                        like this:
%%%
%%%                             1966 (   1)    1981 (   4)    1996 (   3)
%%%                             1967 (   0)    1982 (   5)    1997 (   7)
%%%                             1968 (   0)    1983 (   7)    1998 (   4)
%%%                             1969 (   0)    1984 (  10)    1999 (  12)
%%%                             1970 (   2)    1985 (  10)    2000 (  12)
%%%                             1971 (   1)    1986 (  11)    2001 (  13)
%%%                             1972 (   3)    1987 (   9)    2002 (  10)
%%%                             1973 (   3)    1988 (  10)    2003 (  11)
%%%                             1974 (   3)    1989 (  17)    2004 (  14)
%%%                             1975 (  15)    1990 (  21)    2005 (  32)
%%%                             1976 (   8)    1991 (  32)    2006 (  67)
%%%                             1977 (   5)    1992 (  21)    2007 (   8)
%%%                             1978 (   6)    1993 (  28)    2008 (   2)
%%%                             1979 (  10)    1994 (  15)
%%%                             1980 (   7)    1995 (   2)
%%%
%%%                             Article:        193
%%%                             Book:            39
%%%                             InCollection:     4
%%%                             InProceedings:   81
%%%                             Manual:          13
%%%                             MastersThesis:   10
%%%                             PhdThesis:        7
%%%                             Proceedings:     66
%%%                             TechReport:      47
%%%                             Unpublished:      1
%%%
%%%                             Total entries:  461
%%%
%%%                        The checksum field above contains a CRC-16
%%%                        checksum as the first value, followed by the
%%%                        equivalent of the standard UNIX wc (word
%%%                        count) utility output of lines, words, and
%%%                        characters.  This is produced by Robert
%%%                        Solovay's checksum utility.",
%%%  }
%%% ====================================================================

@Preamble{
   "\ifx \undefined \circled \def \circled #1{(#1)}\fi"
 # "\ifx \undefined \reg \def \reg {\circled{R}}\fi"
 # "\ifx \undefined \TM \def \TM {${}^{\sc TM}$} \fi"
}

%%% ====================================================================
%%% Acknowledgement abbreviations:

@String{ack-nhfb = "Nelson H. F. Beebe,
                    University of Utah,
                    Department of Mathematics, 110 LCB,
                    155 S 1400 E RM 233,
                    Salt Lake City, UT 84112-0090, USA,
                    Tel: +1 801 581 5254,
                    FAX: +1 801 581 4148,
                    e-mail: \path|beebe@math.utah.edu|,
                            \path|beebe@acm.org|,
                            \path|beebe@computer.org| (Internet),
                    URL: \path|http://www.math.utah.edu/~beebe/|"}

%%% ====================================================================
%%% Institution abbreviations:

@String{inst-SRC-IDA            = "Supercomputing Research Center: IDA"}

@String{inst-SRC-IDA:adr        = "Lanham, MD, USA"}

%%% ====================================================================
%%% Journal abbreviations:

@String{j-ACM-SIGSOFT           = "ACM Sigsoft"}

@String{j-ADA-USER              = "Ada User"}

@String{j-ADA-USER-J            = "Ada User Journal"}

@String{j-BYTE                  = "Byte Magazine"}

@String{j-CACM                  = "Communications of the ACM"}

@String{j-CGF                   = "Com{\-}pu{\-}ter Graphics Forum"}

@String{j-COMP-ARCH-NEWS        = "ACM SIGARCH Computer Architecture News"}

@String{j-COMP-J                = "The Computer Journal"}

@String{j-COMP-NET              = "Computer Networks: The International
                                  Journal of Distributed Informatique"}

@String{j-COMP-SURV             = "ACM Computing Surveys"}

@String{j-COMP-SYS              = "Computing Systems"}

@String{j-COMPUTER              = "Computer"}

@String{j-DDJ                   = "Dr. Dobb's Journal of Software Tools"}

@String{j-DEC-TECH-J            = "Digital Technical Journal of Digital
                                  Equipment Corporation"}

@String{j-HEWLETT-PACKARD-J     = "Hew\-lett-Pack\-ard Journal: technical
                                  information from the laboratories of
                                  Hew\-lett-Pack\-ard Company"}

@String{j-IBM-JRD               = "IBM Journal of Research and Development"}

@String{j-IBM-SYS-J             = "IBM Systems Journal"}

@String{j-IEEE-ANN-HIST-COMPUT  = "IEEE Annals of the History of Computing"}

@String{j-IEEE-MICRO            = "IEEE Micro"}

@String{j-IEEE-PAR-DIST-TECH    = "IEEE parallel and distributed technology:
                                  systems and applications"}

@String{j-IEEE-SEC-PRIV         = "IEEE Security \& Privacy"}

@String{j-IEEE-TRANS-COMPUT     = "IEEE Transactions on Computers"}

@String{j-IEEE-TSE              = "IEEE Transactions on Software Engineering"}

@String{j-INFO-PROC-LETT        = "Information Processing Letters"}

@String{j-INT-J-COMPUT-INF-SCI  = "International Journal of Computer and
                                  Information Sciences"}

@String{j-INT-J-PARALLEL-PROG   = "International Journal of Parallel
                                  Programming"}

@String{j-INTEL-TECH-J          = "Intel Technology Journal"}

@String{j-J-FORTH-APPL-RES      = "Journal of FORTH Application and Research"}

@String{j-J-FORTH-APPLIC-RESEARCH = "Journal of Forth Applications and
                                  Research"}

@String{j-J-PAR-DIST-COMP       = "Journal of Parallel and Distributed
                                  Computing"}

@String{j-J-PHYS-IV-COLLOQUE    = "Journal de physique. IV, Colloque"}

@String{j-J-SYST-SOFTW          = "The Journal of Systems and Software"}

@String{j-LINUX-J               = "Linux Journal"}

@String{j-LISP-SYMB-COMPUT      = "Lisp and Symbolic Computation"}

@String{j-LOGIN                 = ";login: the USENIX Association newsletter"}

@String{j-OPER-SYS-REV          = "Operating Systems Review"}

@String{j-PARALLEL-COMPUTING    = "Parallel Computing"}

@String{j-PROGRAMMIROVANIE      = "Programmirovanie"}

@String{j-QUEUE                 = "ACM Queue: Tomorrow's Computing Today"}

@String{j-SIGADA-LETTERS        = "ACM SIGADA Ada Letters"}

@String{j-SIGCSE                = "SIGCSE Bulletin (ACM Special Interest Group
                                  on Computer Science Education)"}

@String{j-SIGPLAN               = "ACM SIG{\-}PLAN Notices"}

@String{j-SPE                   = "Soft\-ware\emdash Prac\-tice and
                                  Experience"}

@String{j-TECS                  = "ACM Transactions on Embedded Computing
                                  Systems"}

@String{j-TODS                  = "ACM Transactions on Database Systems"}

@String{j-TOPLAS                = "ACM Transactions on Programming
                                  Languages and Systems"}

@String{j-TRANS-AM-NUCL-SOC     = "Transactions of the American Nuclear
                                  Society"}

%%% ====================================================================
%%% Publishers and their addresses:

@String{pub-ACM                 = "ACM Press"}

@String{pub-ACM:adr             = "New York, NY 10036, USA"}

@String{pub-APRESS              = "Apress"}

@String{pub-APRESS:adr          = "Berkeley, CA, USA"}

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}

@String{pub-AW:adr              = "Reading, MA, USA"}

@String{pub-CRC                 = "CRC Press"}

@String{pub-CRC:adr             = "2000 N.W. Corporate Blvd., Boca Raton, FL
                                  33431-9868, USA"}

@String{pub-IBM                 = "IBM Corporation"}

@String{pub-IBM:adr             = "San Jose, CA, USA"}

@String{pub-IEEE                = "IEEE Computer Society Press"}

@String{pub-IEEE:adr            = "1109 Spring Street, Suite 300,
                                  Silver Spring, MD 20910, USA"}

@String{pub-IOS                 = "IOS Press"}

@String{pub-IOS:adr             = "Amsterdam, The Netherlands"}

@String{pub-KLUWER              = "Kluwer Academic Publishers Group"}

@String{pub-KLUWER:adr          = "Norwell, MA, USA, and Dordrecht,
                                  The Netherlands"}

@String{pub-MCGRAW-HILL         = "Mc{\-}Graw-Hill"}

@String{pub-MCGRAW-HILL:adr     = "New York, NY, USA"}

@String{pub-MORGAN-KAUFMANN     = "Morgan Kaufmann Publishers"}

@String{pub-MORGAN-KAUFMANN:adr = "Los Altos, CA 94022, USA"}

@String{pub-MORGAN-KAUFMANN:adrsf = "San Francisco, CA, USA"}

@String{pub-NO-STARCH           = "No Starch Press"}

@String{pub-NO-STARCH:adr       = "San Francisco, CA, USA"}

@String{pub-NORTH-HOLLAND       = "North-Hol{\-}land"}

@String{pub-NORTH-HOLLAND:adr   = "Amsterdam, The Netherlands"}

@String{pub-ORA                 = "O'Reilly \& Associates, Inc."}

@String{pub-ORA:adr             = "103a Morris Street,
                                  Sebastopol, CA 95472,
                                  USA,
                                  Tel: +1 707 829 0515,
                                  and
                                  90 Sherman Street,
                                  Cambridge, MA 02140,
                                  USA,
                                  Tel: +1 617 354 5800"}

@String{pub-PH                  = "Pren{\-}tice-Hall"}

@String{pub-PH:adr              = "Upper Saddle River, NJ 07458, USA"}

@String{pub-SAMS                = "SAMS Publishing"}

@String{pub-SAMS:adr            = "Indianapolis, IN, USA"}

@String{pub-SV                  = "Spring{\-}er-Ver{\-}lag"}

@String{pub-SV:adr              = "Berlin, Germany~/ Heidelberg, Germany~/
                                  London, UK~/ etc."}

@String{pub-SYNGRESS            = "Syngress Publishing, Inc."}

@String{pub-SYNGRESS:adr        = "Rockland, MA, USA"}

@String{pub-USENIX              = "USENIX"}

@String{pub-USENIX:adr          = "San Francisco, CA, USA"}

@String{pub-USENIX-EL-CERRITO:adr = "P.O. Box 7, El Cerrito 94530, CA, USA"}

@String{pub-WILEY               = "Wiley"}

@String{pub-WILEY:adr           = "New York, NY, USA"}

%%% ====================================================================
%%% Series abbreviations:

@String{ser-LNCS                = "Lecture Notes in Computer Science"}

%%% ====================================================================
%%% Bibliography entries, sorted by ascending year and then by citation
%%% key:

@TechReport{Adair:1966:VMS,
  author =       "R. J. Adair and R. U. Bayles and L. W. Comeau and R.
                 J. Creasy",
  title =        "A Virtual Machine System for the 360\slash 40",
  institution =  "International Business Machines (IBM), Data Processing
                 Division",
  year =         "1966",
  annote =       "ABEND module of OS at SSC",
  keywords =     "IBM 360/40",
}

@Article{Brawn:1970:SPE,
  author =       "B. S. Brawn and F. G. Gustavson and E. S. Mankin",
  title =        "Sorting in a Paging Environment",
  journal =      j-CACM,
  volume =       "13",
  number =       "8",
  pages =        "483--494",
  month =        aug,
  year =         "1970",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Tue Mar 25 13:26:09 MST 1997",
  bibsource =    "Compendex database;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib",
  abstract =     "This sorting study was part of an extensive
                 measurement project undertaken on the M44\slash 44X, an
                 experimental paging system which was conceived and
                 implemented at IBM Research in order to explore the
                 virtual machine concept. The study was concerned with
                 the implementation of sorting procedures in the context
                 of the dynamic paging environment characteristic of
                 virtual memory machines. Descriptions of the
                 experimental sort programs and analysis of the
                 performance measurement results obtained for them are
                 presented. The insight gained from the experimental
                 effort is used to arrive at a set of broad guidelines
                 for writing sort programs for a paging environment.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6130 (Data handling techniques)",
  corpsource =   "IBM Thomas J. Watson Res. Center, Yorktown Heights,
                 NY, USA",
  journalabr =   "Commun ACM",
  keywords =     "CACMA; computer, memories; computers; computers,
                 programming; dynamic memory management; External sort
                 virtual memory CACM; operating systems; sorting;
                 virtual machines",
}

@Article{Meyer:1970:VMT,
  author =       "Richard A. Meyer and Love H. Seawright",
  title =        "A Virtual Machine Time-Sharing System",
  journal =      j-IBM-SYS-J,
  volume =       "9",
  number =       "3",
  pages =        "199--218",
  year =         "1970",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Jan 22 13:28:16 MST 2001",
  bibsource =    "Compendex database;
                 http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj9.html#MeyerS70",
  abstract =     "The ControlProgram-67\slash Cambridge Monitor System
                 (CP-67\slash CMS) is a multiaccess system that manages
                 the resources of a computer set up for time-sharing
                 such that each (remote) user appears to have a
                 complete, dedicated computer at his disposal. This
                 concept is known as a virtual machine and allows each
                 user to select the operating system he wishes to run
                 because concurrent operation of several operating
                 systems is possible. The history and design objectives
                 of the system are discussed as well as its present
                 capabilities and some of the applications for its
                 use.",
  acknowledgement = ack-nhfb,
  journalabr =   "IBM Syst J",
  oldlabel =     "MeyerS70",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/MeyerS70",
}

@Manual{Forum:1971:VMI,
  author =       "IBM (Forum)",
  title =        "On Virtual Machine Integrity",
  year =         "1971",
}

@Article{McGrath:1972:VMC,
  author =       "Mark McGrath",
  title =        "Virtual machine computing in an engineering
                 environment",
  journal =      j-IBM-SYS-J,
  volume =       "11",
  number =       "2",
  pages =        "131--149",
  year =         "1972",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Jan 22 13:28:02 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj11.html#McGrath72",
  acknowledgement = ack-nhfb,
  oldlabel =     "McGrath72",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/McGrath72",
}

@Article{Morris:1972:SMO,
  author =       "D. Morris and G. D. Detlefsen and G. R. Frank and T.
                 J. Sweeney",
  title =        "The structure of the {MU5} operating system",
  journal =      j-COMP-J,
  volume =       "15",
  number =       "2",
  pages =        "113--116",
  month =        may,
  year =         "1972",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620",
  bibdate =      "Fri Sep 29 08:52:02 MDT 2000",
  bibsource =    "http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/150113.sgm.abs.html;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/113.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/114.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/115.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_15/Issue_02/tiff/116.tif",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  corpsource =   "Univ. Manchester, UK",
  keywords =     "1905E; ICL; modular structure; MU5; multicomputer
                 complex; operating system; operating systems
                 (computers); structure; virtual machine",
  treatment =    "P Practical",
}

@Article{Parmelee:1972:VSV,
  author =       "Richard P. Parmelee and Theodore I. Peterson and Coyt
                 C. {Tillman, Jr.} and Donald J. Hatfield",
  title =        "Virtual Storage and Virtual Machine Concepts",
  journal =      j-IBM-SYS-J,
  volume =       "11",
  number =       "2",
  pages =        "99--130",
  year =         "1972",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Jan 22 13:29:15 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj11.html#ParmeleePTH72",
  acknowledgement = ack-nhfb,
  oldlabel =     "ParmeleePTH72",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/ParmeleePTH72",
}

@InProceedings{Goldberg:1973:AVM,
  author =       "R. P. Goldberg",
  booktitle =    "Proceedings of the {ACM} Workshop on Virtual Computer
                 Systems",
  title =        "Architecture of virtual machines",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "74--112",
  year =         "1973",
  URL =          "http://portal.acm.org/citation.cfm?id=803950&dl=ACM&coll=portal#",
  abstract =     "In this paper we develop a model which represents the
                 addressing of resources by processes executing on a
                 virtual machine. The model distinguishes two maps: the
                 $\phi$-map which represents the map visible to the
                 operating system software running on the virtual
                 machine, and the f-map which is invisible to that
                 software but which is manipulated by the virtual
                 machine monitor running on the real machine. The
                 $\phi$-map maps process names into resource names and
                 the f-map maps virtual resource names into real
                 resource names. Thus, a process running on a virtual
                 machine addresses its resources under the composed map
                 f o $\phi$. In recursive operation, f maps from one
                 virtual machine level to another and we have f o f o
                 \ldots{} o f o $\phi$. The model is used to describe
                 and characterize previous virtual machine designs. We
                 also introduce and illustrate a general approach for
                 implementing virtual machines which follows directly
                 from the model. This design, the Hardware Virtualizer,
                 handles all process exceptions directly within the
                 executing virtual machine without software
                 intervention. All resource faults (VM-faults) generated
                 by a virtual machine are directed to the appropriate
                 virtual machine monitor without the knowledge of
                 processes on the virtual machine (regardless of the
                 level of recursion).",
  added-at =     "Wed Apr 9 10:12:31 2003",
  added-by =     "msteiner",
  annote =       "See also \cite{Goldbe72}",
}

@InProceedings{Madnick:1973:AAV,
  author =       "Stuart E. Madnick and John J. Donovan",
  booktitle =    "Proceedings of the {ACM} Workshop on Virtual Computer
                 Systems",
  title =        "Application and analysis of the virtual machine
                 approach to information system security and isolation",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "210--224",
  year =         "1973",
  URL =          "http://portal.acm.org/citation.cfm?id=803961&coll=portal&dl=ACM",
  abstract =     "Security is an important factor if the programs of
                 independent and possibly malicious users are to coexist
                 on the same computer system. In this paper we show that
                 a combined virtual machine monitor/operating system
                 (VMM/OS) approach to information system isolation
                 provides substantially better software security than a
                 conventional multiprogramming operating system
                 approach. This added protection is derived from
                 redundant security using independent mechanisms that
                 are inherent in the design of most VMM/OS systems.",
  added-at =     "Wed Apr 9 10:08:32 2003",
  added-by =     "msteiner",
}

@Article{Sitton:1973:PEL,
  author =       "Gary A. Sitton and Thomas A. Kendrick and A. Gil
                 Carrick",
  title =        "The {PL\slash EXUS} language and virtual machine",
  journal =      j-SIGPLAN,
  volume =       "8",
  number =       "11",
  pages =        "124--130",
  month =        nov,
  year =         "1973",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:35 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
}

@Article{Lesser:1974:DEP,
  author =       "Victor R. Lesser",
  title =        "The design of an emulator for a parallel machine
                 language",
  journal =      j-SIGPLAN,
  volume =       "9",
  number =       "8",
  pages =        "23--36",
  month =        aug,
  year =         "1974",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:40 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C5220 (Computer architecture); C6140B
                 (Machine-oriented languages); C7430 (Computer
                 engineering)",
  conflocation = "Harriman, NY, USA; 30 May-1 June 1973",
  conftitle =    "Proceedings of the ACM SIGPLAN-SIGMICRO interface
                 meeting on programming languages-Microprogramming",
  corpsource =   "Carnegie-Mellon Univ., Pittsburgh, PA, USA",
  keywords =     "coded; complex emulator; control structure; coupled;
                 dynamic execution characteristics; dynamically;
                 emulator; machine oriented languages; microcomputer
                 architecture; microprocesses; microprogramming;
                 paradigm; parallel hardware environment; parallel
                 machine language; parallel processing; structured;
                 virtual machines; virtual machines processing",
  sponsororg =   "ACM",
  treatment =    "A Application; T Theoretical or Mathematical",
}

@TechReport{Madnick:1974:AAV,
  author =       "Stuart E. Madnick and John J. Donovan",
  title =        "Application and analysis of the virtual machine
                 approach to information system security and
                 reliability",
  number =       "722--74(2)",
  institution =  "MIT Center for Information Systems Research",
  address =      "Cambridge, MA, USA",
  pages =        "25",
  year =         "1974",
  LCCN =         "HD28 .M414 no.722, 74; HD28.M414",
  bibdate =      "Mon Apr 10 10:43:19 MDT 2006",
  bibsource =    "library.mit.edu:9909/mit01",
  series =       "Sloan School of Management. Working paper;
                 Massachusetts Institute of Technology. Alfred P. Sloan
                 School of Management. Center for Information Systems
                 Research. Report",
  acknowledgement = ack-nhfb,
}

@Article{Popek:1974:FRV,
  author =       "Gerald J. Popek and Robert P. Goldberg",
  title =        "Formal Requirements for Virtualizable Third Generation
                 Architectures",
  journal =      j-CACM,
  volume =       "17",
  number =       "7",
  pages =        "412--421",
  month =        jul,
  year =         "1974",
  CODEN =        "CACMA2",
  DOI =          "http://doi.acm.org/10.1145/800009.808061",
  ISSN =         "0001-0782",
  MRclass =      "68A05",
  MRnumber =     "49 10177",
  MRreviewer =   "I. Kaufmann",
  bibdate =      "Mon Jan 22 07:13:00 MST 2001",
  bibsource =    "Compendex database;
                 ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib;
                 http://dblp.uni-trier.de/db/journals/cacm/cacm17.html#PopekG74",
  abstract =     "Virtual machine systems have been implemented on a
                 limited number of third generation computer systems,
                 for example CP-67 on the IBM 360/67. The value of
                 virtual machine techniques to ease the development of
                 operating systems, to aid in program transferability,
                 and to allow the concurrent running of disparate
                 operating systems, test and diagnostic programs has
                 been well recognized. However, from previous empirical
                 studies, it is known that many third generation
                 computer systems, e.g. the DEC PDP-10, cannot support a
                 virtual machine system. In this paper, the hardware
                 architectural requirements for virtual machine systems
                 are discussed. First, a fairly specific definition of a
                 virtual machine is presented which includes the aspects
                 of efficiency, isolation, and identical behavior. A
                 model of third generation-like computer systems is then
                 developed. The model includes a processor with
                 supervisor and user modes, memory that has a simple
                 protection mechanism, and a trap facility. In this
                 context, instruction behavior is then carefully
                 characterized.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C7430 (Computer
                 engineering)",
  classification = "722",
  corpsource =   "Univ. California, Los Angeles, CA, USA",
  journalabr =   "Commun ACM",
  keywords =     "abstract model; architectures; computer architecture;
                 computer operating systems; formal requirements;
                 generation architecture; hypervisor; operating system;
                 sufficient conditions; systems; third; third generation
                 computer; virtual machine; virtual machine monitor;
                 virtual machines; virtual memory; virtualizable third
                 generation",
  oldlabel =     "PopekG74",
  treatment =    "A Application; P Practical",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/PopekG74",
}

@InProceedings{Bagley:1975:SDS,
  author =       "John D. Bagley and E. R. Floto and S. C. Hsieh and V.
                 Watson",
  title =        "Sharing Data and Services in a Virtual Machine
                 System",
  crossref =     "ACM:1975:PFS",
  pages =        "82--88",
  year =         "1975",
  bibdate =      "Sat Jan 27 15:11:04 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/conf/sosp/sosp75.html#BagleyFHW75",
  oldlabel =     "BagleyFHW75",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/BagleyFHW75",
}

@InProceedings{Belpaire:1975:FPR,
  author =       "Gerald Belpaire and Nai-Ting Nsu",
  title =        "Formal Properties of Recursive Virtual Machine
                 Architectures",
  crossref =     "ACM:1975:PFS",
  pages =        "89--96",
  year =         "1975",
  bibdate =      "Sat Jan 27 15:11:08 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/conf/sosp/sosp75.html#BelpaireN75",
  oldlabel =     "BelpaireN75",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/BelpaireN75",
}

@Article{Callaway:1975:PMT,
  author =       "Peter H. Callaway",
  title =        "Performance Measurement Tools for {VM\slash 370}",
  journal =      j-IBM-SYS-J,
  volume =       "14",
  number =       "2",
  pages =        "134--160",
  year =         "1975",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Wed Jan 08 16:35:07 1997",
  bibsource =    "Compendex database",
  abstract =     "To support the smooth running of a Virtual Machine
                 Facility\slash 370 (VM\slash 370) installation,
                 performance measurements of various types are
                 desirable. This paper describes a range of measurement
                 facilities that have been developed for VM\slash 370
                 for use both on-line and off-line at the level of the
                 users (general user, operator, and system analyst) and
                 the installation management.",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "IBM Syst J",
  keywords =     "computer operating systems",
}

@Article{DeRemer:1975:PLV,
  author =       "Frank DeRemer and Hans Kron",
  title =        "Programming-in-the large versus
                 programming-in-the-small",
  journal =      j-SIGPLAN,
  volume =       "10",
  number =       "6",
  pages =        "114--121",
  month =        jun,
  year =         "1975",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:49 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6110 (Systems analysis and programming); C6140
                 (Programming languages); C7430 (Computer engineering)",
  conflocation = "Los Angeles, CA, USA; 21--23 April 1975",
  conftitle =    "International Conference on Reliable Software",
  corpsource =   "Univ. of California, Santa Cruz, CA, USA",
  keywords =     "compiler; fault tolerant computing; information
                 hiding; large programs; module interconnection
                 language; modules; programming; programming languages;
                 small programs; software reliability; virtual machines;
                 virtual machines languages",
  sponsororg =   "IEEE; ACM; et al",
  treatment =    "A Application; P Practical",
}

@Article{Donovan:1975:HAC,
  author =       "John J. Donovan and S. E. Madnick",
  title =        "Hierarchical Approach to Computer System Integrity",
  journal =      j-IBM-SYS-J,
  volume =       "14",
  number =       "2",
  pages =        "188--202",
  year =         "1975",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Wed Jan 08 16:35:07 1997",
  bibsource =    "Compendex database",
  note =         "See letters
                 \cite{Chandersekaran:1976:FVM,Donovan:1976:FAR}.",
  abstract =     "Security is an important factor if the programs of
                 independent and possibly error-prone or malicious users
                 are to coexist on the same computer system. In this
                 paper, it is shown that a hierarchically structured
                 operating system, such as produced by a virtual machine
                 system, that combines a virtual machine monitor with
                 several independent operating systems (VMM\slash OS),
                 provides substantially better software security than a
                 conventional two-level multiprogramming operating
                 system approach. This added protection is derived from
                 redundant security using independent mechanisms that
                 are inherent in the design of most VMM\slash OS
                 systems. Such a system can be obtained by exploiting
                 existing software resources.",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "IBM Syst J",
  keywords =     "computer operating systems; computer systems
                 programming --- Time Sharing Programs",
}

@InProceedings{Gaines:1975:ACV,
  author =       "Brian R. Gaines",
  title =        "Analogy Categories, Virtual Machines, and Structured
                 Programming",
  crossref =     "Muhlbacher:1975:GIF",
  pages =        "691--699",
  year =         "1975",
  bibdate =      "Tue Jan 23 23:24:01 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/conf/gi/gi75.html#Gaines75",
  oldlabel =     "Gaines75",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/gi/Gaines75",
}

@Article{Infante:1975:PSP,
  author =       "R. Infante and U. Montanari",
  title =        "Proving structured programs correct, level by level",
  journal =      j-SIGPLAN,
  volume =       "10",
  number =       "6",
  pages =        "427--436",
  month =        jun,
  year =         "1975",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:49 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6110 (Systems analysis and programming)",
  conflocation = "Los Angeles, CA, USA; 21--23 April 1975",
  conftitle =    "International Conference on Reliable Software",
  corpsource =   "Olivetti, Ivrea, Italy",
  keywords =     "assertions; fault tolerant computing; level axioms;
                 predicates; problem oriented data structures; problem
                 oriented predicates; programming; structured programs
                 correctness proof; theorem prover; virtual machines",
  sponsororg =   "IEEE; ACM; et al",
  treatment =    "A Application; P Practical",
}

@Article{Kamnitzer:1975:BXI,
  author =       "Stephen H. Kamnitzer",
  title =        "Bootstrapping {XPL} from {IBM\slash 360} to {UNIVAC
                 1100}",
  journal =      j-SIGPLAN,
  volume =       "10",
  number =       "5",
  pages =        "14--20",
  month =        may,
  year =         "1975",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:47 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6150C (Compilers, interpreters and other
                 processors); C7430 (Computer engineering)",
  corpsource =   "Sperry Univac, Cape Town, South Africa",
  keywords =     "compiler; IBM/360 to UNIVAC 1100 bootstrapping;
                 program compilers; UNIVAC 1100 series computers;
                 virtual machines; XPL Compiler Generator System",
  treatment =    "A Application; P Practical",
}

@TechReport{Lamming:1975:LVM,
  author =       "M. Lamming",
  title =        "{LITL} Virtual machine. Fixed or Variable Size
                 Blocks",
  number =       "QMW-DCS-1975-085; QMW-DCS-1975-091",
  institution =  "Queen Mary College, Department of Computer Science",
  month =        jun,
  year =         "1975",
  abstract-url = "http://www.dcs.qmw.ac.uk/publications/report_abstracts/1975/091;
                 http://www.dcs.qmw.ac.uk/publications/report_abstracts/1975/085",
  scope =        "misc",
  xxnote =       "Check: Two reports or one??",
}

@InProceedings{Popek:1975:PVM,
  author =       "Gerald J. Popek and Charles S. Kline",
  title =        "The {PDP-11} Virtual Machine Architecture: {A} Case
                 Study",
  crossref =     "ACM:1975:PFS",
  pages =        "97--105",
  year =         "1975",
  bibdate =      "Sat Jan 27 15:12:53 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/conf/sosp/sosp75.html#PopekK75",
  oldlabel =     "PopekK75",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/PopekK75",
}

@Article{Popek:1975:VPS,
  author =       "Gerald J. Popek and Charles S. Kline",
  title =        "A verifiable protection system",
  journal =      j-SIGPLAN,
  volume =       "10",
  number =       "6",
  pages =        "294--304",
  month =        jun,
  year =         "1975",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:49 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6110 (Systems analysis and programming); C6150J
                 (Operating systems); C7430 (Computer engineering)",
  conflocation = "Los Angeles, CA, USA; 21--23 April 1975",
  conftitle =    "International Conference on Reliable Software",
  corpsource =   "Univ. of California, Los Angeles, CA, USA",
  keywords =     "capability faulting; fault tolerant computing; fault
                 tolerant computing faulting; flexible information
                 sharing facilities; levels of kernels; multiuser
                 operating system; operating systems (computers);
                 program verification; programming; security kernels;
                 security of data; systems analysis; UCLA Virtual
                 Machine System; ultra high reliability protection;
                 verifiable protection system; virtual machines; virtual
                 memory",
  sponsororg =   "IEEE; ACM; et al",
  treatment =    "A Application; P Practical",
}

@Article{Saltzer:1975:PIC,
  author =       "Jerome H. Saltzer and Michael D. Schroeder",
  title =        "The Protection of Information in Computer Systems",
  journal =      "Proceedings of the {IEEE}",
  volume =       "63",
  number =       "9",
  pages =        "1278--1308",
  month =        sep,
  year =         "1975",
  URL =          "http://www.mediacity.com/~norm/CapTheory/ProtInf/",
  abstract =     "This tutorial paper explores the mechanics of
                 protecting computer-stored information from
                 unauthorized use or modification. It concentrates on
                 those architectural structures--whether hardware or
                 software--that are necessary to support information
                 protection. The paper develops in three main sections.
                 Section I describes desired functions, design
                 principles, and examples of elementary protection and
                 authentication mechanisms. Any reader familiar with
                 computers should find the first section to be
                 reasonably accessible. Section II requires some
                 familiarity with descriptor-based computer
                 architecture. It examines in depth the principles of
                 modern protection architectures and the relation
                 between capability systems and access control list
                 systems, and ends with a brief analysis of protected
                 subsystems and protected objects. The reader who is
                 dismayed by either the prerequisites or the level of
                 detail in the second section may wish to skip to
                 Section III, which reviews the state of the art and
                 current research projects and provides suggestions for
                 further reading.",
  added-by =     "rah,sti",
  annote =       "Part I: --- Basics --- Design Principles: economy of
                 mechanism, fail-safe defaults, complete mediation, open
                 design, separation of privilege, least privilege, least
                 common mechanism, psychological acceptability. ---
                 separate virtual machines with controlled communication
                 Part II: --- Separation of addressing and protection
                 --- capabilities --- access control lists",
}

@Article{Williams:1975:CMI,
  author =       "M. H. Williams and H. L. Ossher",
  title =        "A computer model for instructional purposes",
  journal =      j-COMP-J,
  volume =       "18",
  number =       "4",
  pages =        "333--341",
  month =        nov,
  year =         "1975",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/333.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/334.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/335.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/336.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/337.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/338.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/339.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/340.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_18/Issue_04/tiff/341.tif",
  acknowledgement = ack-nhfb,
  classcodes =   "C0220 (Computing education and training); C7810C
                 (Computer-aided instruction)",
  classification = "721; 723; 901",
  corpsource =   "Department of Computer Sci., Rhodes Univ., Rhodes,
                 Grahamstown, South Africa",
  keywords =     "computer aided instruction; computer model; computer
                 programming languages; computer science; computer
                 simulator; computers; engineering education;
                 instructional purposes; machine architecture; teaching;
                 virtual machines",
  treatment =    "A Application; P Practical",
}

@Article{Adix:1976:IER,
  author =       "Mary S. Adix and Henrik A. Schutz",
  title =        "Interpretive execution of real-time control
                 applications",
  journal =      j-SIGPLAN,
  volume =       "11",
  number =       "4",
  pages =        "78--87",
  day =          "1",
  month =        apr,
  year =         "1976",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:54 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6140D (High level languages); C6150C (Compilers,
                 interpreters and other processors); C7430 (Computer
                 engineering)",
  conflocation = "New Orleans, LA, USA; 4--6 March 1976",
  conftitle =    "ACM SIGMIN/SIGPLAN Interface Meeting on Programming
                 Systems in the Small Processor Environment",
  corpsource =   "General Motors Res. Labs., Warren, MI, USA",
  keywords =     "interpretive execution; problem oriented languages;
                 program interpreters; real time control application;
                 space compaction; virtual machine language; virtual
                 machines",
  sponsororg =   "ACM",
  treatment =    "A Application; P Practical",
  xxpages =      "78--86",
}

@Article{Bagley:1976:SFM,
  author =       "John D. Bagley",
  title =        "Special feature: microprogrammable virtual machines",
  journal =      j-COMPUTER,
  volume =       "9",
  number =       "2",
  pages =        "38--42",
  month =        feb,
  year =         "1976",
  CODEN =        "CPTRB4",
  ISSN =         "0018-9162",
  bibdate =      "Thu Dec 12 07:20:54 MST 1996",
  bibsource =    "Compendex database",
  abstract =     "User alterable microprograms make it possible to
                 tailor the architecture of the computer to the
                 application domain but raises the problem of
                 microprogram development and testing. The technique
                 outlined provides a tool which furnishes the
                 microprogrammer with a virtual machine which is
                 microprogrammable. The function provided is similar to
                 that provided by a simulator, but the technique is more
                 efficient and allows multiple microprograms to be
                 executed concurrently with regular programs on a single
                 real machine.",
  acknowledgement = ack-nhfb,
  classification = "722; 723",
  journalabr =   "Computer",
  keywords =     "computer architecture; computer simulation; computer
                 systems programming --- testing",
}

@Article{Chandersekaran:1976:FVM,
  author =       "C. S. Chandersekaran and K. S. Shankar",
  title =        "Forum: On virtual machine integrity",
  journal =      j-IBM-SYS-J,
  volume =       "15",
  number =       "3",
  pages =        "264--269",
  year =         "1976",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Tue Mar 19 17:38:46 1996",
  note =         "See \cite{Donovan:1975:HAC,Donovan:1976:FAR}.",
  acknowledgement = ack-nhfb,
}

@TechReport{Donovan:1976:VMC,
  author =       "John J. Donovan and Henry D. Jacoby",
  title =        "Virtual machine communication for the implementation
                 of decision support systems",
  number =       "884--76(28)",
  institution =  "MIT Center for Information Systems Research",
  address =      "Cambridge, MA, USA",
  pages =        "3 + 29",
  year =         "1976",
  LCCN =         "HD28 .M414 no.884-76; HD28.M414",
  bibdate =      "Mon Apr 10 10:43:19 MDT 2006",
  bibsource =    "library.mit.edu:9909/mit01",
  acknowledgement = ack-nhfb,
}

@Article{Hamlet:1976:PBT,
  author =       "Richard Hamlet",
  title =        "The {PDP-11} as {B5500} in teaching systems
                 programming",
  journal =      j-SIGPLAN,
  volume =       "11",
  number =       "5",
  pages =        "47--52",
  month =        may,
  year =         "1976",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:56 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C0220 (Computing education and training); C6110
                 (Systems analysis and programming); C7430 (Computer
                 engineering)",
  corpsource =   "Department of Computer Sci., Univ. of Maryland,
                 College Park, MD, USA",
  keywords =     "B5500; computer aided instruction; PDP 11;
                 programming; SIMPL XI; systems programming; teaching;
                 virtual machines",
  treatment =    "P Practical",
}

@Article{Suski:1976:AGC,
  author =       "Gregory J. Suski",
  title =        "Automatic generation of computer graphics languages",
  journal =      j-SIGPLAN,
  volume =       "11",
  number =       "6",
  pages =        "113--122",
  month =        jun,
  year =         "1976",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:57 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C5540 (Terminals and graphic displays); C6140D (High
                 level languages); C7430 (Computer engineering)",
  conflocation = "Miami Beach, FL, USA; 26--27 April 1976",
  conftitle =    "Symposium on Graphic Languages",
  corpsource =   "Northwestern Univ., Evanston, IL, USA",
  keywords =     "computer graphics; computer graphics languages;
                 language generation system; LGS; mechanical language
                 generation; programming languages; virtual machines",
  sponsororg =   "ACM",
  treatment =    "P Practical",
}

@TechReport{Taylor:1976:RRH,
  author =       "John McMay Taylor",
  title =        "Redundancy and recovery in the {HIVE} virtual
                 machine",
  type =         "Report",
  number =       "76010",
  institution =  "Procurement executive, Ministry of Defence, Royal
                 Signals and Radar Establishment",
  address =      "London, UK",
  year =         "1976",
  LCCN =         "1966",
  bibdate =      "Mon Apr 10 10:43:15 MDT 2006",
  bibsource =    "library.ox.ac.uk:210/ADVANCE",
  acknowledgement = ack-nhfb,
}

@Article{Wallace:1976:SGI,
  author =       "Victor L. Wallace",
  title =        "The semantics of graphic input devices",
  journal =      j-SIGPLAN,
  volume =       "11",
  number =       "6",
  pages =        "61--65",
  month =        jun,
  year =         "1976",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:13:57 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C5540 (Terminals and graphic displays); C7430
                 (Computer engineering)",
  conflocation = "Miami Beach, FL, USA; 26--27 April 1976",
  conftitle =    "Symposium on Graphic Languages",
  corpsource =   "Department of Computer Sci., Univ. of North Carolina,
                 Chapel Hill, NC, USA",
  keywords =     "computer graphics; graphic input devices; interactive
                 input; interactive terminals; primitive, nonprimitives;
                 semantics; virtual devices; virtual machines",
  sponsororg =   "ACM",
  treatment =    "P Practical",
}

@Article{Donovan:1977:VMC,
  author =       "John J. Donovan and Henry D. Jacoby",
  title =        "Virtual Machine Communication for the Implementation
                 of Decision Support Systems",
  journal =      j-IEEE-TSE,
  volume =       "3",
  number =       "5",
  pages =        "333--342",
  month =        sep,
  year =         "1977",
  CODEN =        "IESEDJ",
  ISSN =         "0098-5589",
  bibdate =      "Tue Jan 23 05:54:52 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/tse/tse3.html#DonovanJ77",
  annote =       "incomplete",
  oldlabel =     "DonovanJ77",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/tse/DonovanJ77",
}

@Book{Hartmann:1977:CPC,
  author =       "A. C. Hartmann",
  key =          "Hartmann",
  title =        "A Concurrent Pascal Compiler for MiniComputers",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  year =         "1977",
  bibdate =      "Fri Jul 27 13:37:33 1984",
  annote =       "This book describes a seven pass compiler for Per
                 Brinch Hansen's Concurrent Pascal programming language.
                 It requires 16,500 16-bit words of storage on a
                 PDP-11/45 computer, and compiles source text at the
                 rate of 240 characters per second (about 9--10 lines
                 per second). It generates code for an ideal virtual
                 machine that is simulated by a real machine. The
                 compiler is written in sequential Pascal and is easily
                 transported to other machines. [from the preface] The
                 compiler comprises seven passes: lexical analysis,
                 syntax analysis, name analysis, declaration analysis,
                 body analysis, code selection, and code assembly. After
                 an introduction and a chapter on each of the passes,
                 there are chapters on interpass topics, the virtual
                 machine, and implementation details. An appendix
                 provides syntax graphs for all the intermediate
                 languages, as well as the input and final code
                 languages. The seven-pass compiler has been running on
                 a PDP-ll/45 at CalTech since Jan 1975. Each pass is
                 described along with the virtual code that is output by
                 the last pass. The syntax graphs for each of the passes
                 is also given.",
  keywords =     "Concurrent Pascal",
}

@Article{Huxtable:1977:HSI,
  author =       "D. H. R. Huxtable and J. M. M. Pinkerton",
  title =        "The hardware\slash software interface of the {ICL}
                 2900 range of computers",
  journal =      j-COMP-J,
  volume =       "20",
  number =       "4",
  pages =        "290--295",
  month =        nov,
  year =         "1977",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/290.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/291.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/292.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/293.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/294.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_20/Issue_04/tiff/295.tif",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150 (Systems
                 software)",
  classification = "722; 723",
  corpsource =   "International Computers Ltd., Bracknell, UK",
  keywords =     "architecture; computer architecture; computer
                 software; computer systems, digital; concurrent
                 execution; hardware features; ICL 2900; independent
                 processes; instruction set; interference; mutual;
                 protection arrangements; support system software;
                 virtual machines",
  treatment =    "P Practical",
}

@Article{Keedy:1977:OIS,
  author =       "J. L. Keedy",
  title =        "An Outline of the {ICL} 2900 Series System
                 Architecture",
  journal =      "Australian Computer Journal",
  volume =       "9",
  number =       "2",
  pages =        "53--62",
  year =         "1977",
  abstract =     "The system architecture of the ICL 2900 Series is
                 outlined informally. Its central feature, the virtual
                 machine concept, is described and related to virtual
                 storage, segmentation and paging. The procedural
                 approach is then discussed and its implementation by a
                 stack mechanism is described. Further sections outline
                 the protection mechanisms, and the instruction set and
                 related features. Finally the virtual machine approach
                 is related to global system activities. This paper has
                 been written such that it may be of interest to readers
                 without a specialist knowledge of computer archi
                 tecture.",
  keywords =     "Computer Architecture, ICL 2900 series, Virtual
                 memory, descriptors, segmentation, Paging, Procedural
                 stacks, Protection. 6.21, 4.32.",
}

@MastersThesis{Wilding-White:1977:MBI,
  author =       "Arthur Llewellyn Wilding-White",
  title =        "A microprocessor {BCPL} implementation based on a
                 virtual stack machine",
  type =         "Thesis ({B.S.})",
  school =       "Department of Electrical Engineering and Computer
                 Science, Massachusetts Institute of Technology",
  address =      "Cambridge, MA, USA",
  pages =        "143",
  year =         "1977",
  bibdate =      "Mon Apr 10 10:43:19 MDT 2006",
  bibsource =    "library.mit.edu:9909/mit01",
  note =         "Supervised by Stephen A. Ward.",
  acknowledgement = ack-nhfb,
  subject =      "Microprocessors; BCPL (Computer program language);
                 Virtual computer systems",
}

@Article{Armstrong:1978:PPC,
  author =       "J. L. Armstrong",
  title =        "Programming a Parallel Computer for Robot Vision",
  journal =      j-COMP-J,
  volume =       "21",
  number =       "3",
  pages =        "215--218",
  month =        aug,
  year =         "1978",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/215.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/216.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/217.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_21/Issue_03/tiff/218.tif",
  abstract =     "Work a Edinburgh has directed itself towards the
                 automatic recognition and inspection of objects in an
                 industrial environment using a television camera. A
                 particular need for such systems arises in the context
                 of numerically controlled machine tools. FORTRAN
                 emulators of the CLIP array processor have enabled
                 preliminary tests to be made of a parallel approach to
                 removing noise and extracting primitive features from
                 digitized pictures.",
  acknowledgement = ack-nhfb,
  classcodes =   "C3355C (Control applications in machining processes
                 and machine tools); C3355 (Control applications in
                 manufacturing processes); C6110 (Systems analysis and
                 programming); C7420 (Control engineering computing)",
  classification = "721; 723; 731; 741",
  corpsource =   "Machine Intelligence Res. Unit, Univ. of Edinburgh,
                 Edinburgh, UK",
  keywords =     "automatic recognition; camera; CLIP array processor;
                 computer programming; computerised pattern recognition;
                 computerised picture; emulators; FORTRAN; industrial
                 environment; industrial robots; inspection of objects;
                 numerical control; numerically controlled machine
                 tools; parallel approach; parallel computer; parallel
                 processing; processing; programming; robot vision;
                 robots; television; virtual machines; vision ---
                 Computer Applications",
  treatment =    "T Theoretical or Mathematical",
}

@Article{Bard:1978:AMV,
  author =       "Y. Bard",
  title =        "An analytic model of the {VM\slash 370} system",
  journal =      j-IBM-JRD,
  volume =       "22",
  number =       "5",
  pages =        "498--508",
  month =        sep,
  year =         "1978",
  CODEN =        "IBMJAE",
  ISSN =         "0018-8646",
  bibdate =      "Mon Feb 12 09:58:53 MST 2001",
  bibsource =    "Compendex database",
  abstract =     "An Analytic model is described of an interactive
                 multiprogrammed computer system. The model accepts a
                 multiple-user-class, transaction-oriented workload
                 description and a system configuration description, and
                 it produces predictions of resource utilizations,
                 transaction rates, and average transaction response
                 times. The solution method involves nearly complete
                 decomposition, with a closed queuing network
                 representing the multiprogrammed set. Asymptotic
                 formulas are used to generate good initial guesses for
                 an overall iterative scheme. Extensive validation
                 results are presented.",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150J (Operating systems)",
  classification = "722; 723",
  corpsource =   "Cambridge Sci. Center, IBM, Cambridge, MA, USA",
  journalabr =   "IBM J Res Dev",
  keywords =     "analytic model; average; closed queuing network;
                 computer performance prediction; computer selection and
                 evaluation; computer systems programming ---
                 Multiprogramming; computer systems, digital;
                 interactive multiprogrammed computer; interactive
                 systems; iterative scheme; multiprogrammed set model;
                 multiprogramming; resource utilizations; system;
                 transaction rates; transaction response times;
                 validation; virtual machines; virtual storage; VM/370",
  treatment =    "A Application",
  ZMnumber =     "382.68033",
}

@Article{Cremers:1978:FMV,
  author =       "Armin B. Cremers and Thomas N. Hibbard",
  title =        "Formal Modeling of Virtual Machines",
  journal =      j-IEEE-TSE,
  volume =       "4",
  number =       "5",
  pages =        "426--436",
  month =        sep,
  year =         "1978",
  CODEN =        "IESEDJ",
  ISSN =         "0098-5589",
  bibdate =      "Tue Jan 23 05:53:37 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/tse/tse4.html#CremersH78",
  annote =       "incomplete",
  oldlabel =     "CremersH78",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/tse/CremersH78",
}

@Manual{Forum:1978:VMI,
  author =       "IBM (Forum)",
  title =        "On Virtual Machine Integrity",
  year =         "1978",
}

@Article{Kumar:1978:PEH,
  author =       "B. Kumar and Edward S. Davidson",
  title =        "Performance Evaluation of Highly Concurrent Computers
                 by Deterministic Simulation",
  journal =      j-CACM,
  volume =       "21",
  number =       "11",
  pages =        "904--913",
  month =        nov,
  year =         "1978",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Mon Jan 22 06:56:38 MST 2001",
  bibsource =    "Compendex database;
                 http://dblp.uni-trier.de/db/journals/cacm/cacm21.html#KumarD78",
  abstract =     "Simulation is presented as a practical technique for
                 performance evaluation of alternative configurations of
                 highly concurrent computers. A technique is described
                 for constructing a detailed deterministic simulation
                 model of a system. In the model a control stream
                 replaces the instruction and data streams of the real
                 system. Simulation of the system model yields the
                 timing resource usage statistics needed for performance
                 evaluation, without the necessity of emulating the
                 system. As a case study, the implementation of a
                 simulation of a model of the CPU-memory subsystem of
                 the IBM 360\slash 191 is described. The results of
                 evaluating some alternative system designs are
                 discussed. The experiments reveal that, for the case
                 study, the major bottlenecks in the system are the
                 memory unit and the fixed point unit. Further, it
                 appears that many of the sophisticated pipelining and
                 buffering techniques implemented in the architecture of
                 the IBM 360\slash 91 are of little value when
                 high-speed (cache) memory is used, as in the IBM
                 360\slash 195.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C6150G (Diagnostic,
                 testing, debugging and evaluating systems); C7430
                 (Computer engineering)",
  classification = "722; 723",
  corpsource =   "Univ. of Illinois, Urbana, IL, USA",
  journalabr =   "Commun ACM",
  keywords =     "computer selection and evaluation; computer systems,
                 digital; CPU memory subsystem; deterministic
                 simulation; highly concurrent computers; IBM 360/91;
                 multiprocessing systems; performance evaluation;
                 virtual machines",
  oldlabel =     "KumarD78",
  treatment =    "P Practical",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/KumarD78",
}

@TechReport{Renaud:1978:UVM,
  author =       "D. J. Renaud",
  title =        "The {UT} Virtual Machine Monitor",
  type =         "Technical Report",
  number =       "CS-TR-78-78",
  institution =  "University of Texas at Austin, Department of Computer
                 Sciences",
  address =      "Austin, TX, USA",
  day =          "1",
  month =        may,
  year =         "1978",
  bibdate =      "November 24, 98",
  note =         "Wed, 23 Jun 104 21:38:33 GMT",
  URL =          "ftp://ftp.cs.utexas.edu/pub/techreports/tr78-78a.pdf
                 ftp://ftp.cs.utexas.edu/pub/techreports/tr78-78b.pdf",
}

@Article{Attanasio:1979:VCS,
  author =       "C. R. Attanasio",
  title =        "Virtual Control Storage --- Security Measures in
                 {VM\slash 370}",
  journal =      j-IBM-SYS-J,
  volume =       "18",
  number =       "1",
  pages =        "93--110",
  year =         "1979",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Wed Jan 08 16:35:07 1997",
  bibsource =    "Compendex database",
  abstract =     "An experimental extension to VM\slash 370 is described
                 whereby a distinct execution and data domain (Virtual
                 Control Storage) is made available to virtual machines
                 that require access to a resource manager, without
                 requiring a change in the scheduling unit. Thus
                 scheduling overhead and delays are avoided when
                 transition is made between user program and resource
                 manager. A mechanism is described for exchanging data
                 between execution domains by means of address-space
                 mapping.",
  acknowledgement = ack-nhfb,
  classification = "722; 723",
  journalabr =   "IBM Syst J",
  keywords =     "computer systems, digital",
}

@InProceedings{Canon:1979:VME,
  author =       "M. D. Canon and D. H. Fritz and John H. Howard and T.
                 D. Howell and Michael F. Mitoma and Juan
                 Rodriguez-Rossel",
  booktitle =    "Proceedings of the 7th ACM Symposium on Operating
                 Systems Principles (SOSP)",
  title =        "A Virtual Machine Emulator for Performance Evaluation
                 (Summary)",
  publisher =    pub-ACM,
  address =      pub-ACM:adr,
  pages =        "1--??",
  year =         "1979",
  CODEN =        "OSRED8",
  ISSN =         "0163-5980",
  bibdate =      "Sat Jan 27 15:11:21 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/conf/sosp/sosp79.html#CanonFHHMR79",
  series =       j-OPER-SYS-REV,
  oldlabel =     "CanonFHHMR79",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sosp/CanonFHHMR79",
}

@PhdThesis{Halstead:1979:RTN,
  author =       "R. H. Halstead",
  key =          "Halstead",
  title =        "Reference Tree Networks: Virtual Machine and
                 Implementation",
  type =         "Thesis ({Ph.D.})",
  school =       "Department of Electrical Engineering and Computer
                 Science, Massachusetts Institute of Technology",
  address =      "Cambridge, MA, USA",
  pages =        "252",
  year =         "1979",
  bibdate =      "Wed Nov 5 09:49:44 1986",
  note =         "Also issued as Technical Report MIT/LCS/TR-222.",
  abstract =     "A current-technology computing machine may be roughly
                 decomposed into a processor, a memory, and a data path
                 connecting them. The interposition of this data path
                 between processing and storage elements creates a
                 bottleneck, which inhibits progress at the
                 high-performance end of the technological spectrum.
                 Additionally, the monolithic nature of present-day
                 processors resists incremental addition or removal of
                 processing power. The research described here attacks
                 the problem of constructing more powerful and more
                 flexible computer systems along three fronts: the
                 definition of a virtual machine providing for parallel
                 computation using objects and object references, the
                 development of a distributed implementation mechanism
                 ({"}reference trees{"}) supporting object management
                 functions including garbage collection, and the
                 reinvestigation of scheduling algorithms and collection
                 performance results. A reference tree network using
                 these concepts is composed of a multitude of
                 independent small processors, yet operates as a
                 coherent programming system. Programs and data spread
                 automatically and transparently through the network to
                 occupy underused resources. The modular structure of
                 the network provides many parallel data paths as well
                 as allowing for easy addition or removal of modules,
                 thus addressing some of the problems discussed above. A
                 prototype reference tree network, the MuNet, is
                 currently in operation. {AD A076-570}",
  notes =        "Cost is \$26. Keywords: message passing, distributed
                 computing, multiprocessor systems, distributed object
                 management, networks",
  owner =        "seufert",
}

@Article{Hendricks:1979:EVM,
  author =       "Edson C. Hendricks and Timothy C. Hartmann",
  title =        "Evolution of a Virtual Machine Subsystem",
  journal =      j-IBM-SYS-J,
  volume =       "18",
  number =       "1",
  pages =        "111--142",
  year =         "1979",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Jan 22 13:25:19 MST 2001",
  bibsource =    "Compendex database;
                 http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj18.html#HendricksH79",
  abstract =     "Early investigation of virtual machine subsystem
                 flexibility centered on telecommunications support and
                 intercomputer networking and proceeded in two phases.
                 The first phase focused on an experimental program for
                 the virtual machine control program CP-67 that
                 supported remote work stations and pioneered
                 intercomputer spool communications. The results of that
                 effort inspired a second effort in the same area with
                 some significant redirection. This second phase
                 ultimately led to the remote spooling communications
                 subsystem component of VM\slash 370, the VM\slash 370
                 networking package (VNET), and a large network of
                 interactive computer systems within IBM. These phases
                 are discussed along with suggestions for several
                 continuing lines of work based on current results.",
  acknowledgement = ack-nhfb,
  classification = "722; 723",
  journalabr =   "IBM Syst J",
  keywords =     "computer systems, digital",
  oldlabel =     "HendricksH79",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/HendricksH79",
}

@Article{Jensen:1979:FAC,
  author =       "Richard M. Jensen",
  title =        "A Formal Approach for Communication Between Logically
                 Isolated Virtual Machines",
  journal =      j-IBM-SYS-J,
  volume =       "18",
  number =       "1",
  pages =        "71--92",
  year =         "1979",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Jan 22 13:25:57 MST 2001",
  bibsource =    "Compendex database;
                 http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj18.html#Jensen79",
  abstract =     "The growing use of the virtual machine concept has
                 resulted in the necessity for communication between the
                 virtual machines. The design and operation of the
                 Virtual Machine Communication Facility is discussed as
                 an approach to offering such communication. The
                 facility is an interface allowing a logical connection
                 between two or more virtual machines. Potential
                 applications for this facility conclude the
                 discussion.",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "IBM Syst J",
  keywords =     "computers, digital",
  oldlabel =     "Jensen79",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/Jensen79",
}

@Article{Kobayashi:1979:SMC,
  author =       "Y. Kobayashi and T. L. Kunii",
  title =        "A simulation of a minicomputer controlled system and
                 its use as a debugging tool",
  journal =      j-COMP-J,
  volume =       "22",
  number =       "1",
  pages =        "41--49",
  month =        feb,
  year =         "1979",
  CODEN =        "CMPJA6",
  ISSN =         "0010-4620",
  bibdate =      "Tue Mar 25 13:51:56 MST 1997",
  bibsource =    "Compendex database;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/",
  URL =          "http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/41.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/42.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/43.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/44.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/45.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/46.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/47.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/48.tif;
                 http://www3.oup.co.uk/computer_journal/hdb/Volume_22/Issue_01/tiff/49.tif",
  acknowledgement = ack-nhfb,
  classcodes =   "C6150G (Diagnostic, testing, debugging and evaluating
                 systems)",
  classification = "722; 723",
  corpsource =   "Univ. of Tokyo, Tokyo, Japan",
  keywords =     "computer programming languages --- Program Debugging;
                 computer simulation; computerised control; computers,
                 miniature; debugging real programs; mechanism;
                 minicomputer controlled system; program debugging;
                 simulation; time flow; virtual machines",
  treatment =    "P Practical",
}

@Article{MacKinnon:1979:CVM,
  author =       "Richard A. MacKinnon",
  title =        "The Changing Virtual Machine Environment: Interfaces
                 to Real Hardware, Virtual Hardware, and Other Virtual
                 Machines",
  journal =      j-IBM-SYS-J,
  volume =       "18",
  number =       "1",
  pages =        "18--46",
  year =         "1979",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Mon Jan 22 13:27:26 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/ibmsj/ibmsj18.html#MacKinnon79;
                 Compendex database",
  abstract =     "A survey is presented of changes to virtual machine
                 interfaces, implementation, architecture, and
                 simulation techniques as they affect IBM System\slash
                 370 and 303X (3031, 3032, 3033) processors, the system
                 control program to which virtual machines interface,
                 and other virtual machines executing on the same real
                 computing system or elsewhere. New uses of virtual
                 machine subsystems are discussed as they relate to
                 inter-virtual-machine communication.",
  acknowledgement = ack-nhfb,
  classification = "722; 723",
  journalabr =   "IBM Syst J",
  keywords =     "computer systems, digital",
  oldlabel =     "MacKinnon79",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmsj/MacKinnon79",
}

@TechReport{Moore:1979:IVM,
  author =       "J. S. Moore II",
  title =        "The Inter{LISP} Virtual Machine Specification",
  type =         "Report",
  number =       "CSL 76-5",
  institution =  "Xerox, Palo Alto Research Center (PARC)",
  address =      "Palo Alto, CA, USA",
  year =         "1979",
  note =         "Sep. 1976, Rvsd. March 1979",
  keywords =     "LISP",
}

@Article{Parnas:1979:DSE,
  author =       "D. L. Parnas",
  key =          "Parnas",
  title =        "Designing Software for Ease of Expansion and
                 Contraction",
  journal =      j-IEEE-TSE,
  volume =       "SE-5",
  number =       "2",
  pages =        "128--138",
  month =        mar,
  year =         "1979",
  CODEN =        "IESEDJ",
  ISSN =         "0098-5589",
  annote =       "Focuses on design of software that can be subseted and
                 expanded. Families of programs sharing subsets of
                 modules. Loops in the 'uses' relation should be
                 avoided. Minimal program subset and minimal increments.
                 Virtual machines, modules, uses relation. Criteria for
                 letting a module use another module. Example. 21
                 references.",
}

@Article{Rajaraman:1979:PPV,
  author =       "M. K. Rajaraman",
  title =        "Performance prediction of a virtual machine",
  journal =      "ACM perf. eval. rev. (SIGMETRICS)",
  volume =       "8, 1-2",
  pages =        "57--62",
  year =         "1979",
  annote =       "MODELING AND SIMULATION OF COMPUTER SYSTEMS HAVE TWO
                 MAIN OBJECTIVES. FIRST, TO EVALUATE THE PERFORMANCE OF
                 A GIVEN CONFIGURATION OF A MACHINE AND SECOND, TO
                 DERIVE A MECHANISM FOR PREDICTION OF PERFORMANCE WHEN
                 CONFIGURATION PARAMETERS CHANGE. THIS PAPER ADDRESSES
                 THE SECOND ISSUE AND REPORTS THE RESULT OF A VIRTUAL
                 MEMORY COMPUTER. THE RESULTS INDICATE WHICH VARIABLES
                 OR COMBINATION OF VARIABLES HAVE SIGNIFICANT EFFECT ON
                 THE PERFORMANCE AND",
  bydate =       "CG",
  byrev =        "Le",
  country =      "USA",
  date =         "29/08/79",
  descriptors =  "Model; simulation; modeling; prediction; memory
                 management; performance measure;",
  enum =         "2494",
  language =     "English",
  location =     "RWTH-AC-DFV: TELL",
  references =   "11",
  revision =     "21/04/91",
}

@TechReport{Abramson:1980:WGL,
  author =       "Harvey Abramson",
  title =        "Why Is a Goto Like a Dynamic Vector in the {BCPL}-Slim
                 Computing System",
  type =         "Technical Report",
  number =       "TR-80-09",
  institution =  "Department of Computer Science, University of British
                 Columbia",
  month =        nov,
  year =         "1980",
  bibdate =      "July 21, 1997",
  note =         "Mon, 21 Jul 1997 19:29:13 GMT",
  abstract =     "The Slim computer is a new virtual machine which can
                 be used in the translation and porting of the BCPL
                 compiler, and eventually, in the porting of an
                 operating system written in BCPL. For the purposes of
                 this paper, the Slim computer is a stack machine with a
                 single accumulator and a register which points to the
                 top of the stack. The procedures LEVEL and LONGJUMP,
                 traditionally used to implement transfers of control
                 across BCPL procedures, and which are usually written
                 in the assembler language of a host machine, cannot be
                 used with this architecture. In developing procedures
                 to implement \underline{all} transfers of control, we
                 show how these essential procedures --- though highly
                 dependent on the Slim architecture --- can be written
                 portably in BCPL, and discover an interesting
                 connection between implementing jumps and dynamic
                 vectors (by means of Aptovec) in the BCPL-Slim
                 computing system. Some parameters of portability in
                 rapping an abstract machine to host machines are
                 identified, and it is shown how to maintain the
                 portability of the above mentioned procedures in the
                 face of various mapping problems. Finally, we are led
                 to a comment on the design of BCPL to the effect that
                 \underline{goto}'s are an unnecessary feature of the
                 language.",
}

@Article{Canon:1980:VME,
  author =       "M. D. Canon and D. H. Fritz and John H. Howard and T.
                 D. Howell and Michael F. Mitoma and Juan
                 Rodriguez-Rossel",
  title =        "A Virtual Machine Emulator for Performance
                 Evaluation",
  journal =      j-CACM,
  volume =       "23",
  number =       "2",
  pages =        "71--80",
  year =         "1980",
  CODEN =        "CACMA2",
  ISSN =         "0001-0782",
  bibdate =      "Mon Jan 22 06:29:30 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/cacm/cacm23.html#CanonFHHMR80",
  acknowledgement = ack-nhfb,
  oldlabel =     "CanonFHHMR80",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/CanonFHHMR80",
}

@InCollection{Dommergaard:1980:DVM,
  author =       "O. Dommergaard",
  key =          "Dommergaard80",
  booktitle =    "Abstract Software Specifications",
  title =        "The Design of a Virtual Machine for Ada",
  publisher =    pub-SV,
  address =      pub-SV:adr,
  pages =        "463--605",
  year =         "1980",
  annote =       "Derives the design and formalizes the architecture of
                 a virtual machine for efficient execution of Ada
                 programs. This, the so-called A-code machine, is then
                 the basis for a compiling algorithm specification.",
}

@TechReport{Dommergaard:1980:FDP,
  author =       "S. Bodilsen O. Dommergaard",
  key =          "Dommergaard\&80",
  title =        "A Formal Definition of {P}-Code",
  institution =  "Department of Comp. Sci.",
  address =      "Techn. Univ. of Denmark",
  year =         "1980",
  annote =       "Like \cite{Dommergaard80a} this formalizes a(nother)
                 virtual machine, that of P-Code, for efficient
                 execution of Pascal programs.",
}

@Article{Groves:1980:DVM,
  author =       "L. J. Groves and W. J. Rogers",
  title =        "The design of a virtual machine for {Ada}",
  journal =      j-SIGPLAN,
  volume =       "15",
  number =       "11",
  pages =        "223--234",
  month =        nov,
  year =         "1980",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Sun Dec 14 09:14:31 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6130 (Data handling techniques); C6140D (High level
                 languages); C6150C (Compilers, interpreters and other
                 processors); C6150J (Operating systems)",
  conflocation = "Boston, MA, USA; 9--11 Dec. 1980",
  conftitle =    "Proceedings of the ACM-SIGPLAN Symposium on the Ada
                 Programming Language",
  corpsource =   "Univ. of Waikato, Hamilton, New Zealand",
  keywords =     "Ada; addressing; blocks; compiler portability; control
                 flow; data handling; data storage; exceptions;
                 generating code; machine-independent translator;
                 manipulation; program compilers; program interpreters;
                 storage allocation; storage structure; subprograms;
                 task handling; virtual machine; virtual machines",
  treatment =    "A Application",
}

@Article{Kent:1980:PNV,
  author =       "S. A. Kent",
  title =        "A Programmable Network Virtual Machine",
  journal =      j-COMP-NET,
  volume =       "4",
  number =       "3",
  pages =        "125--137",
  month =        jun,
  year =         "1980",
  CODEN =        "CNETDP",
  ISSN =         "0376-5075",
  bibdate =      "Tue Jan 23 07:26:10 MST 2001",
  bibsource =    "Compendex database;
                 http://dblp.uni-trier.de/db/journals/cn/cn4.html#Kent80",
  acknowledgement = ack-nhfb,
  affiliation =  "Univ Coll, London, Engl",
  annote =       "The increasing diversity of resources which is
                 becoming available to users through the introduction of
                 computer networks has opened up new areas of
                 investigation. One of the problems encountered is that
                 of providing uniform and common access procedures where
                 functionally similar facilities exist on different
                 systems. \ldots{} One approach to solving these
                 problems is to create an agent that is able both to
                 automate remote access procedures on the \ldots{}",
  classification = "722; 723",
  descriptors =  "Computer network; design; access control; network
                 management;",
  enum =         "1638",
  journalabr =   "Comput Networks",
  keywords =     "computer networks; computers, digital",
  language =     "English",
  location =     "RWTH-AC-DFV: Bibl.",
  oldlabel =     "Kent80",
  references =   "36",
  revision =     "14/01/92",
  WARNING =      "Additional, or modified, lettercase-preserving braces
                 are likely to be required in title and booktitle
                 fields.",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cn/Kent80",
}

@TechReport{Warren:1980:IPI,
  author =       "D. H. D. Warren",
  key =          "Warren",
  title =        "An Improved {Prolog} Implementation Which Optimises
                 Tail Recursion",
  type =         "Research Paper",
  number =       "156",
  institution =  "Department of AI, Univeristy of Edinburgh",
  year =         "1980",
  bibdate =      "Wed Jul 13 12:29:53 1983",
  keywords =     "Implementation; compiler; virtual machine; tail
                 recursion",
}

@Article{Sarda:1981:CAD,
  author =       "N. L. Sarda and J. R. Isaac",
  title =        "Computer aided design of database internal schema",
  journal =      j-INT-J-COMPUT-INF-SCI,
  volume =       "10",
  number =       "4",
  pages =        "219--234",
  month =        aug,
  year =         "1981",
  CODEN =        "IJCIAH",
  ISSN =         "0091-7036",
  bibdate =      "Sat Apr 26 12:20:22 MDT 1997",
  acknowledgement = ack-nhfb,
  classification = "C6110 (Systems analysis and programming); C6120
                 (File organisation); C6160 (Database management systems
                 (DBMS)); C7430 (Computer engineering)",
  corpsource =   "Computer Centre, Indian Inst. of Technol., Bombay,
                 India",
  keywords =     "data structures; database management systems; systems
                 analysis; virtual machines; computer aided design; data
                 structures; database internal schema; design; database
                 systems",
  treatment =    "P Practical",
}

@InProceedings{Wang:1981:VMB,
  author =       "Richard T. Wang and James C. Browne",
  title =        "Virtual Machine-Based Simulation of Distributed
                 Computing and Network Computing",
  crossref =     "ACM:1981:ASC",
  pages =        "154--156",
  year =         "1981",
  bibdate =      "Tue Jan 23 15:38:35 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/conf/sigmetrics/sigmetrics81.html#WangB81",
  oldlabel =     "WangB81",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#conf/sigmetrics/WangB81",
}

@TechReport{Abramsky:1982:SMV,
  author =       "S. Abramsky",
  title =        "{SECD-M}: a virtual machine for applicative
                 multiprogramming",
  number =       "QMW-DCS-1982-322; QMW-DCS-1982-339",
  institution =  "Department of Computer Science, Queen Mary College",
  month =        nov,
  year =         "1982",
  note =         "(LA has)",
  abstract-url = "http://www.dcs.qmw.ac.uk/publications/report_abstracts/1982/322;
                 http://www.dcs.qmw.ac.uk/publications/report_abstracts/1982/339",
  keywords =     "Applicative programming , functional programming, SECD
                 machines multiprogramming, non-determinism, operating
                 systems.",
  scope =        "theory",
}

@TechReport{Baden:1982:HPS,
  author =       "Scott B. Baden",
  title =        "High Performance Storage Reclamation in an
                 Object-Based Memory System",
  type =         "Technical Report",
  number =       "CSD-84-167",
  institution =  "University of California, Berkeley",
  pages =        "52",
  month =        jun,
  year =         "1982",
  bibdate =      "June 22, 1993",
  abstract =     "Measurements of the Smalltalk Virtual Machine indicate
                 that 20\%-30\% of the time is spent reclaiming disused
                 storage. Following the work of Deutsch, Bobrow, and
                 Snyder [Deutsch and Bobrow 76] [Deutsch 82a] [Deutsch
                 82b] [Snyder 79] we introduce a strategy that reduces
                 the overhead of storage reclamation by more than 80\%.
                 We discuss the design of hardware to support this
                 strategy, and compare the hardware to a traditional
                 software implementation. We conclude by suggesting
                 directions for future research.",
}

@Article{Ganapathi:1982:RCC,
  author =       "Mahadevan Ganapathi and Charles N. Fischer and John L.
                 Hennessy",
  key =          "Ganapathi et al.",
  title =        "Retargetable Compiler Code Generation",
  journal =      j-COMP-SURV,
  volume =       "14",
  number =       "4",
  pages =        "573--592",
  month =        dec,
  year =         "1982",
  CODEN =        "CMSVAN",
  ISSN =         "0010-4892",
  bibdate =      "Wed Dec 18 07:42:17 MST 1996",
  bibsource =    "Compendex database",
  note =         "See also
                 \cite{Wulf:1983:SFR,Ganapathi:1983:SFRa,Fraser:1983:SFR,Ganapathi:1983:SFRb}.",
  abstract =     "A classification of automated retargetable code
                 generation techniques and a survey of the work on these
                 techniques is presented. Retargetable code generation
                 research is classified into three categories:
                 interpretive code generation, pattern-matched code
                 generation, and table-driven code generation.
                 Interpretive code generation approaches generate code
                 for a virtual machine and then expand into real target
                 code. Pattern-matched code generation approaches
                 separate the machine description from the code
                 generation algorithm. Table-driven code generation
                 approaches employ a formal machine description and use
                 a code-generator generator to produce code generators
                 automatically. An analysis of these techniques and a
                 critique of automatic code generation algorithms are
                 presented.",
  acknowledgement = ack-nhfb,
  classification = "723",
  keywords =     "computer programming languages; Code generator
                 generator; compiler compiler; intermediate
                 representation; machine-dependent optimization; machine
                 description",
  owner =        "manning",
}

@Article{Thanh:1982:ITC,
  author =       "Nguyen the Thanh and E. Walter Raschner",
  title =        "Indirect threaded code used to emulate a virtual
                 machine",
  journal =      j-SIGPLAN,
  volume =       "17",
  number =       "5",
  pages =        "80--89",
  month =        may,
  year =         "1982",
  CODEN =        "SINODQ",
  ISSN =         "0362-1340",
  bibdate =      "Tue Oct 28 16:17:03 MST 2003",
  bibsource =    "http://portal.acm.org/",
  acknowledgement = ack-nhfb,
  classification = "C6130 (Data handling techniques); C6150C (Compilers,
                 interpreters and other processors); C6150J (Operating
                 systems)",
  corpsource =   "E. Walter Raschner, Nixdorf Computer AG, Paderborn,
                 West Germany",
  keywords =     "assembler programs; codes; Indirect Threaded Code;
                 Pascal compiler; program assemblers; program
                 interpreters; Threaded Code; virtual machine; virtual
                 machines",
  treatment =    "P Practical",
}

@Article{Unger:1982:OSZ,
  author =       "B. Unger and D. Bidulock and G. Lomow and P. Belanger
                 and C. Hankins and N. Jain",
  title =        "An {OASIS} simulation of the {ZNET} microcomputer
                 network",
  journal =      j-IEEE-MICRO,
  volume =       "2",
  number =       "3",
  pages =        "70--84",
  month =        aug,
  year =         "1982",
  CODEN =        "IEMIDZ",
  ISSN =         "0272-1732",
  bibdate =      "Thu Dec 14 06:08:58 MST 2000",
  bibsource =    "Science Citation Index database (1980--2000)",
  acknowledgement = ack-nhfb,
  classcodes =   "C5620 (Computer networks and techniques); C7430
                 (Computer engineering)",
  corpsource =   "Univ. of Calgary, Alta., Canada",
  keywords =     "architecture; communication protocols; computer
                 networks; distributed programs; hardware; local; MCZ-2;
                 microcomputer network; multicomputer; network; OASIS;
                 prototype software; Prototyping System; simulation;
                 software; Software; systems; virtual machines; Zilog;
                 ZNET",
  treatment =    "P Practical",
  xxauthor =     "B. Unger and P. Belanger and D. Bidulock and C.
                 Hankins and N. Jain and G. Lomow",
}

@TechReport{Baker:1983:MAS,
  author =       "T. P. Baker",
  title =        "Mapping Ada onto a Simple Virtual Machine",
  number =       "ADA-83-02",
  institution =  "Florida State University",
  year =         "1983",
}

@TechReport{Cohen:1983:PSR,
  author =       "Shismon Cohen and Roni Rosner and Ari Zidon",
  title =        "{PARALISP Simulator (Reference Manual)}",
  type =         "Research Report",
  number =       "83-2",
  institution =  "Computer Science Department, Hebrew University",
  address =      "Jerusalem, Israel",
  month =        jan,
  year =         "1983",
  abstract =     "PLISP (``Parallel Lisp'') is the current
                 implementation of ``Senile Parallel Execution of Lisp
                 Programs'' (Lehmann and Cohen). PLISP may be thought of
                 as a virtual machine designed to evaluate LISP
                 expressions in a parallel fashion. The language of this
                 virtual machine is PARALISP. This means, for example,
                 that when a function application contains several
                 formal arguments, these arguments may be evaluated in
                 parallel, under the assumption that there are no
                 dependencies, or side effects. Therefore, PARALISP is a
                 version of LISP designed to enable parallel evaluation
                 to occur without side effects.",
  keywords =     "functional parallel; Lisp",
}

@Article{Gum:1983:SEA,
  author =       "Peter H. Gum",
  title =        "{System\slash 370} Extended Architecture: Facilities
                 for Virtual Machines",
  journal =      j-IBM-JRD,
  volume =       "27",
  number =       "6",
  pages =        "530--544",
  month =        nov,
  year =         "1983",
  CODEN =        "IBMJAE",
  ISSN =         "0018-8646",
  bibdate =      "Mon Jan 22 13:12:28 MST 2001",
  bibsource =    "http://dblp.uni-trier.de/db/journals/ibmrd/ibmrd27.html#Gum83;
                 Compendex database",
  abstract =     "This paper describes the evolution of facilities for
                 virtual machines on IBM System\slash 370 computers, and
                 presents the elements of a new architectural facility
                 designed for the virtual-machine environment. Assists
                 that have been added to various System\slash 370 models
                 to support the use of virtual machines are summarized,
                 and a general facility for this purpose which was
                 introduced with the System\slash 370 Extended
                 Architecture (370-XA) is described.",
  acknowledgement = ack-nhfb,
  classcodes =   "C5220 (Computer architecture); C7430 (Computer
                 engineering)",
  classification = "723",
  corpsource =   "IBM Information Systems and Technol. Group,
                 Poughkeepsie, NY, USA",
  journalabr =   "IBM J Res Dev",
  keywords =     "370-XA architecture; computer architecture; computers;
                 data storage, digital; dynamic address translation;
                 Extended Architecture; IBM System/370; privileged
                 instructions; virtual machines",
  oldlabel =     "Gum83",
  treatment =    "P Practical",
  XMLdata =      "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/ibmrd/Gum83",
}

@Article{Kamrad:1983:ROA,
  author =       "III J. M. Kamrad",
  key =          "Kamrad",
  title =        "Runtime Organization for the Ada Language System
                 Programs",
  journal =      "Ada Letters",
  volume =       "III",
  number =       "3",
  pages =        "58--68",
  month =        nov,
  year =         "1983",
  bibdate =      "Wed Mar 6 10:04:32 1985",
  abstract =     "The runtime organization provides the execution
                 environment for generated code of a source program. The
                 runtime organization includes the primitive data
                 elements, such as scalar and composite data objects;
                 system data elements, such as stack and heaps; and a
                 runtime system to provide functionality not supported
                 in the target computer. In effect the runtime
                 organization provides an abstract or virtual machine.
                 This paper is a brief overview of the runtime
                 organization that is the execution environment for the
                 code generated by the Ada compiler in the Army Ada
                 Language System. Since this compiler translates the
                 full Ada language, the runtime organization must
                 provide support not normally found in other languages,
                 such as exception handling and tasking. As
                 retargetability is a major goal of the Ada Language
                 System, The runtime organization must also exist on
                 many targets, both with or without an operating system
                 support. While this paper specifically describes the
                 runtime organization for the VAX/VMS 11/780, it does
                 explore the design flexibility that enables the design
                 to support generated code over a variety of targets.",
}

@InProceedings{Kojima:1983:AMI,
  author =       "Tomihiko Kojima and Hidehiko Akita and Hisashi
                 Hashimoto",
  title =        "An Approach to a Machine Independent {UNIX} --- {UNIX}
                 on {HITAC M-series} Virtual Machines",
  crossref =     "STUG:1983:PUA",
  pages =        "363--369",
  month =        "Summer",
  year =         "1983",
  bibdate =      "Fri Oct 18 07:24:24 MDT 1996",
  bibsource =    "ftp://ftp.uu.net/library/bibliography",
  acknowledgement = ack-nhfb,
  affiliation =  "Hitachi Ltd.",
}

@Article{Mendelsohn:1983:RVF,
  author =       "Noah Mendelsohn and Mark H. Linehan and William J.
                 Anzick",
  title =        "Reflections on {VM\slash Pass-Through}: a Facility for
                 Interactive Networking",
  journal =      j-IBM-SYS-J,
  volume =       "23",
  number =       "1-2",
  pages =        "63--79",
  year =         "1983",
  CODEN =        "IBMSA7",
  ISSN =         "0018-8670",
  bibdate =      "Wed Jan 08 16:35:07 1997",
  bibsource =    "Compendex database",
  abstract =     "An introduction to Pass-Through networking describes
                 features of the system, supported configurations, and
                 use of Pass-Through within the IBM Corporation. A brief
                 history of Pass-Through's development is also provided.
                 Pass-Through is then used to motivate a technical
                 discussion of interactive network technology and
                 virtual machine subsystems. Topics covered include
                 appropriate use of the virtual machine environment,
                 choice of routing strategy, and performance
                 considerations.",
  acknowledgement = ack-nhfb,
  classification = "723",
  journalabr =   "IBM Syst J",
  keywords =     "computer networks",
}

@InProceedings{Gold:1984:KR,
  author =       "B. D. Gold and R. R. Linde and P. F. Cudney",
  title =        "{KVM\slash 370} In Retrospect",
  crossref =     "IEEE:1984:PSS",
  pages =        "13--23",
  year =         "1984",
  annote =       "KVM/370 (Kernelized Virtual Machine System 370) is
                 based on IBM's Virtual Machine operating system,
                 VM/370. KVM/3