Modularity References


@ARTICLE{Amman83,
   AUTHOR   = "Ueli Ammann",
   TITLE    = "Modula-2: Eine Maschinennahe, Modulare, Programmiersprache",
   JOURNAL  = "Elektronik",
   VOLUME   = 9,
   NUMBER   = 6,
   YEAR     = 1983,
   KEYWORDS = "PROGLANG, MODULA-2"
}

@ARTICLE{Bates90,
   AUTHOR    = "Rodney M. Bates",
   TITLE     = "Two Limitations of {Modula-2}",
   JOURNAL   = MODUS,
   NUMBER    = 10,
   PAGES     = {22--27},
   MONTH     = jul, 
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, MODULA-2"
}

@CONFERENCE{Belkhatir86,
   AUTHOR    = "N. Belkhatir and J. Estublier",
   TITLE     = "Experience with a Database of Programs",
   BOOKTITLE = "ACM SIGSOFT/SIGPLAN Software Engineering Symposium on 
                Practical Software Development Environments",
   ADDRESS   = "Palo Alto, California, USA",
   PAGES     = {84--90},
   MONTH     = dec,
   YEAR      = 1986,
   KEYWORDS  = "COMPILER, LIBRARY, ENVIRONMENT, PROTECTION, VISIBILITY, ADELE,
                MODULE, INTERFACE"
}

@ARTICLE{Bilbe85,
   AUTHOR    = "Charles R. Bilbe",
   TITLE     = "Using the Heap for {Modula-2} Opaque Types",
   JOURNAL   = MODUS,
   VOLUME    = 4,
   NUMBER    = 6,
   PAGES     = {24--30},
   MONTH     = nov,
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG; PROGRAMMING, MODULA-2, OPAQUE TYPE"
}

@ARTICLE{Blum87,
   AUTHOR    = "E. K. Blum and Herbert Ehrig and F. Parisi-Presicce",
   TITLE     = "Algebraic Specification of Modules and Their
                Basic Interconnections",
   JOURNAL   = JCSS,
   NUMBER    = 34,
   PAGES     = {293--339},
   YEAR      = 1987,
   KEYWORDS  = "SOFTENG, MODULE, SPECIFICATION"
}

@TECHREPORT{Burstall84,
   TITLE        = "A Kernel Language for Modules and Abstract Data Types",
   AUTHOR       = "R. Burstall and B. Lampson",
   ORGANIZATION = "DEC SRC",
   PAGES        = {1--51},
   MONTH        = sep,
   NUMBER       = 1,
   YEAR         = 1984,
   NOTE     = "http://www.research.digital.com/SRC/publications/src-rr.html",
   URL      = { Burstall84 },
   ABSTRACT = "
      A small set of constructs can simulate a wide variety of apparently
      distinct features in modern programming languages.  Using a kernel
      language called Pebble based on the typed lambda calculus with
      bindings, declarations, and types as first-class values, we show how to
      build modules, interfaces and implementations, abstract data types,
      generic types, recursive types, and unions.  Pebble has a concise
      operational semantics given by inference rules.",
   ANNOTATE = "
      Programming-language designers have invented a variety of language
      extensions and special notations to deal with several problems that
      arise in programming in the large.  Some of the differences among such
      features in Ada, CLU, Euclid, Mesa, ML, Modula, Russell, SML, et al.
      are superficial; others are fundamental.  Without a uniform semantic
      framework it is difficult to compare and evaluate these features, or to
      determine which choices are arbitrary and which are tightly
      constrained.  Pebble is a simpler language, intended for the precise
      description of language constructs.  It is used to explain strongly
      typed module interconnection languages, abstract data types, and
      procedures that are parameterized with respect to the types of
      operands.  It is based on the typed lambda calculus, extended to
      encompass the linking together of separately checked modules into a
      program.  Bindings, declarations, and types -- as well as functions --
      are all treated as first-class values; the type system includes
      dependent types.  This paper presents an informal overview of why the
      approach can be expected to work.  But the precise definition of the
      features of existing languages in terms of Pebble is left as ``an
      exercise for the reader.'' The semantics of Pebble are presented both
      informally and formally.  Representative cases are presented in great
      detail, to illustrate the workings of the formalism.  Jim Horning",
   KEYWORDS = "LINKING, ADA, CLU, EUCLID, MESA, ML, MODULA, RUSSEL, SML,
               PEBBLE"
}

@BOOK{Businger85,
   AUTHOR    = "Arnold Businger",
   TITLE     = "{PORTAL} Language Description",
   SERIES    = "LNCS 198",
   PUBLISHER = Springer,
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG, MODULE, PORTAL"
}

@ARTICLE{Calliss89,
   AUTHOR    = "Frank W. Calliss and Barry J. Cornelius",
   TITLE     = "Two Module Factoring Techniques",
   JOURNAL   = "Software Maintenance: Research and Practice",
   VOLUME    = 1,
   PAGES     = {81--89},
   YEAR      = 1989,
   KEYWORDS  = "SOFTENG, MAINTENANCE, MODULES"
}

@CONFERENCE{Calliss90,
   AUTHOR    = "Frank W. Calliss amd Barry J. Cornelius",
   TITLE     = "Potpourri Module Detection",
   BOOKTITLE = "Conference on Software Maintenance",
   ADDRESS   = "San Diego, California",
   MONTH     = nov,
   YEAR      = 1990,
   KEYWORDS  = "SOFTENG, MAINTENANCE, MODULES"
}

@ARTICLE{Calliss91a,
   AUTHOR    = "Frank W. Calliss",
   TITLE     = "A Comparison of Module Constructs in Programming Languages",
   JOURNAL   = SIGPLAN,
   PAGES     = {38--46},
   VOLUME    = 26,
   NUMBER    = 1,
   MONTH     = jan,
   COMMENT   = "Used to be Calliss91",
   YEAR      = 1991,
   KEYWORDS  = "PROGLANG, MODULE, SURVEY"
}

@CONFERENCE{Calliss91b,
   AUTHOR    = "Frank W. Calliss",
   TITLE     = "Assessing the Quality of Object-Oriented Designed Systems",
   BOOKTITLE = "IEEE Global Telecommunications Conference",
   ADDRESS   = "Phoenix, Arizona",
   MONTH     = dec,
   YEAR      = 1991,
   KEYWORDS  = "SOFTENG, MAINTENANCE, MODULES, OBJECT-ORIENTED"
}

@ARTICLE{Calliss92,
   AUTHOR    = "Fran W. Calliss and Barry J. Cornelius",
   TITLE     = "Techniques for Factoring Program Modules",
   YEAR      = 1992,
   KEYWORDS  = "MODULES, PROGLANG, MODULA-2, SOFTENG"
}

@ARTICLE{Cameron89,
   AUTHOR    = "Robert D. Cameron",
   TITLE     = "Efficient High-Level Iteration with Accumulators",
   JOURNAL   = TOPLAS,
   VOLUME    = 11,
   NUMBER    = 2,
   PAGES     = {194--211},
   MONTH     = apr,
   YEAR      = 1989,
   KEYWORDS  = "PROGLANG, PROGRAMMING, MODULA-2, ITERATOR, GENERATOR"
}

@TECHREPORT{Cardelli89a,
   AUTHOR      = "Luca Cardelli and James Donahue and Mick Jordan and 
                  Bill Kalsow and Greg Nelson",
   TITLE       = "{Modula-3} Report (revised)",
   INSTITUTION = "DEC SRC",
   NUMBER      = 52,
   MONTH       = nov,
   YEAR        = 1989,
   KEYWORDS    = "PROGLANG, TYPE, MODULE, INTERFACE, MODULA-3"
}

@CONFERENCE{Cardelli89b,
   AUTHOR    = "Luca Cardelli and James Donahue and Mick Jordan and 
                Bill Kalsow and Greg Nelson",
   TITLE     = "The {Modula-3} Type System",
   BOOKTITLE = "Sixteenth Annual ACM Symposium on Principles
                of Programming Languages",
   PAGES     = {202--212},
   ADDRESS   = "Austin, Texas",
   MONTH     = jan,
   YEAR      = 1989,
   KEYWORDS  = "PROGLANG, TYPE, MODULE, INTERFACE, MODULA-3"
}

@ARTICLE{Cardelli92,
   AUTHOR    = "Luca Cardelli and James Donahue and Lucille Glassman and
                Mick Jordan and Bill Kalsow and Greg Nelson",
   TITLE     = "{Modula-3} Language Definition",
   JOURNAL   = SIGPLAN,
   VOLUME    = 27,
   NUMBER    = 8,
   PAGES     = {15--42},
   MONTH     = aug,
   YEAR      = 1992,
   KEYWORDS  = "PROGLANG, TYPE, MODULE, INTERFACE, MODULA-3"
}

@ARTICLE{Carle87,
   AUTHOR    = "Alan Carle and Keith D. Cooper and Robert T. Hood
                and Ken Kennedy and Linda Torczon and Scott K. Warren",
   TITLE     = "A Practical Environment for Scientific Programming",
   JOURNAL   = SOFTWARE,
   VOLUME    = 20,
   NUMBER    = 11,
   PAGES     = {75--89},
   MONTH     = nov,
   YEAR      = 1987,
   KEYWORDS  = "COMPILER, ENVIRONMENT, FORTRAN, INCREMENTAL, MODULE"
}

@CONFERENCE{Cashin81,
   AUTHOR    = "P. M. Cashin and M. L. Joliat and R. F. Kamel and
                D. M. Lasker",
   TITLE     = "Experience with a Modular Typed Language: {Protel}",
   BOOKTITLE = "5th International Conference on Software Engineering",
   ADDRESS   = "San Diego, California, USA",
   PAGES     = {136--143},
   MONTH     = mar,
   YEAR      = 1981,
   KEYWORDS  = "PROGLANG, PROTEL, MODULE"
}

@CONFERENCE{Celentano78,
   AUTHOR    = "A. Celentano and P. Della Vigna and C. Ghezzi and D. Mandrioli",
   TITLE     = "Modularization of Block-structured Languages: 
                The Case of {Pascal}",
   BOOKTITLE = "Workshop on Reliable Software",
   ADDRESS   = "Bonn, Germany",
   PAGES     = {167--79},
   MONTH     = sep,
   YEAR      = 1978,
   KEYWORDS  = "PROGLANG, COMPILER, LINKER, INTERFACES, MODULE, 
                SEPARATE COMPILATION"
}

@ARTICLE{Celentano80a,
   AUTHOR    = "A. Celentano and P. Della Vigna and C. Ghezzi and D. Mandrioli",
   TITLE     = "Separate Compilation and Partial Specification in {Pascal}",
   JOURNAL   = SOFTENG,
   VOLUME    = 6,
   PAGES     = {320--328},
   MONTH     = jul,
   YEAR      = 1980,
   COMMENT   = "Used to be Celentano80",
   KEYWORDS  = "PROGLANG, COMPILER, LINKER, INTERFACES, MODULE, 
                SEPARATE COMPILATION"
}

@TECHREPORT{Collberg86,
   AUTHOR    = "Christian S. Collberg and Magnus G. Krampell",
   TITLE     = "Pasters: Linkers in a Modular World",
   INSTITUTION = CSLund,
   TYPE      = "Technical Report",
   NUMBER    = "LUNDFD6/NFCS-7002",
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, MODULE, LINKER, MODULA-2"
}

@CONFERENCE{Collberg87a,
   AUTHOR    = "Christian S. Collberg and Magnus G. Krampell",
   TITLE     = "Design and Implementation of Modular Languages
                Supporting Information Hiding",
   BOOKTITLE = "Proceedings of the Sixth International Phoenix Conference
                on Computers and Communications",
   PAGES     = {224--228},
   ADDRESS   = "Scottsdale, AZ, USA",
   MONTH     = feb,
   YEAR      = 1987,
   KEYWORDS  = "PROGLANG, MODULE, LINKER, MODULA-2"
}

@CONFERENCE{Collberg87b,
   AUTHOR    = "Christian S. Collberg and Magnus G. Krampell",
   TITLE     = "A Property-Based Method for  Selecting Among 
                Multiple Implementations of Modules",
   BOOKTITLE = "Lecture Notes in Computer Science No. 289",
   PUBLISHER = Springer,
   ORGANIZATION = "AFCET",
   MONTH     = feb,
   YEAR      = 1987,
   KEYWORDS  = "PROGLANG, MODULE, LINKER, MODULA-2, MODULE SELECTION"
}

@CONFERENCE{Collberg89,
   AUTHOR    = "Christian S. Collberg",
   TITLE     = "Data Structures, Algorithms, and Software Engineering",
   BOOKTITLE = "Lecture Notes in Computer Science No. 376",
   ORGANIZATION = "3rd SEI Conference on Software Engineering Education",
   PUBLISHER = Springer,
   MONTH     = jul,
   YEAR      = 1989,
   KEYWORDS  = "EDUCATION, SOFTENG, MODULA-2"
}

@TECHREPORT{Conradi83,
   AUTHOR      = "Reidar Conradi",
   TITLE       = "Inter-Procedural Optimization of Object Code",
   INSTITUTION = "Division of Computer Systems and Telematics. 
                  University of Trondheim, Norway",
   NUMBER      = "25/83",
   MONTH       = sep,
   YEAR        = 1983,
   KEYWORDS    = "PROGLANG, COMPILER, MODULE, SEPARATE COMPILATION,
                  GLOBAL OPTIMIZATION"
}

@TECHREPORT{Conradi85,
   AUTHOR      = "Reidar Conradi and Dag Heiraas Wanvik",
   TITLE       = "Mechanisms and Tools for Separate Compilation",
   NOTE        = "Presented at IFIP WG.2, Maine, Oct 7-11, 1985",
   INSTITUTION = "Division of Computer Systems and Telematics. 
                  University of Trondheim, Norway",
   NUMBER      = "25/85",
   YEAR        = 1985,
   KEYWORDS    = "PROGLANG, COMPILER, MODULE, SEPARATE COMPILATION"
}

@ARTICLE{Cook89,
   AUTHOR    = "Robert P. Cook",
   TITLE     = "An Empirical Analysis of the Lilith Instruction Set",
   JOURNAL   = IEEECOMPUTER,
   VOLUME    = 38,
   NUMBER    = 1,
   PAGES     = {156--158},
   MONTH     = jan,
   YEAR      = 1989,
   KEYWORDS  = "COMPILER, MODULA-2, LILITH"
}

@ARTICLE{CorradiXX,
   AUTHOR    = "Antonio Corradi and Letizia Leonardi",
   TITLE     = "The Role of Opaque Types to Build Abstractions",
   JOURNAL   = SIGPLAN,
   VOLUME    = 23,
   NUMBER    = 12,
   PAGES     = {24--37},
   YEAR      = 1900,
   KEYWORDS  = "PROGLANG, MODULA-2, OPAQUE TYPE"
}

@ARTICLE{Czyzowicz85,
   AUTHOR    = "Jurek Czyzowicz and Michal Iglewski",
   TITLE     = "Implementing Generic Types In {Modula-2}",
   JOURNAL   = SIGPLAN,
   VOLUME    = 20,
   NUMBER    = 12,
   PAGES     = {26--32},
   MONTH     = jun,
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG, MODULA-2, PROGRAMMING, GENERIC"
}

@MISC{Day91,
   AUTHOR      = "Mark Day",
   NOTE        = "Personal communication",
   INSTITUTION = "MIT Laboratory for Computer Science",
   YEAR        = 1991,
   KEYWORDS    = "PROGLANG, CLU, MODULES"
}

@ARTICLE{DeRemer76,
   AUTHOR    = "Frank DeRemer and Hans H. Kron",
   TITLE     = "Programming-in-the-Large versus Programming-in-the-Small",
   JOURNAL   = SOFTENG,
   VOLUME    = 2,
   NUMBER    = 2,
   PAGES     = {80--86},
   MONTH     = jun,
   YEAR      = 1976,
   KEYWORDS  = "SOFTENG, MODULE"
}

@CONFERENCE{Ditt86,
   AUTHOR    = "W. Ditt",
   TITLE     = "Mapping an Algebraic Specification Onto A {Modula-2}
                Program",
   BOOKTITLE = "IFAC Real Time Programming",
   ADDRESS   = "Lake Balaton, Hungary",
   PAGES     = {11--18},
   YEAR      = 1986,
   KEYWORDS  = "SOFTENG, ALGEBRAIC SPECIFICATION, MODULA-2"
}

@CONFERENCE{Ehrig86,
   AUTHOR    = "H. Ehrig and H. Weber",
   TITLE     = "Programming in Large with Algebraic Module Specifications",
   BOOKTITLE = "Information Processing '86",
   PUBLISHER = "Elsevier Science Publishers B.V.",
   PAGES     = {675--684},
   YEAR      = 1986,
   KEYWORDS  = "SOFTENG, MODULE, ALGEBRAIC SPECIFICATION"
}

@ARTICLE{Ernst80,
   AUTHOR    = "George W. Ernst and William F. Ogden",
   TITLE     = "Specification of Abstract Data Types in {Modula}",
   JOURNAL   = TOPLAS,
   VOLUME    = 2,
   NUMBER    = 4,
   PAGES     = {522--543},
   MONTH     = oct,
   YEAR      = 1980,
   KEYWORDS  = "SOFTENG, SPECIFICATION, MODULA-2"
}

@INCOLLECTION{Eulenstein82,
   AUTHOR    = "M. Eulenstein",
   TITLE     = "An Extension to {Pascal} for Modular Programming and a Proposal
                of a Conceptionally Machine Independent Linker",
   BOOKTITLE = "Implementierung {Pascal}-artiger Programmiersprachen",
   EDITOR    = "H. Langmaack and B. Schlender and J.W. Schmidt",
   ADDRESS   = "Stuttgart",
   PUBLISHER = "B.G. Teubner",
   YEAR      = 1982,
   KEYWORDS  = "COMPILER, LINKER, PASCAL, MODULE"
}

@ARTICLE{Feldman86,
   AUTHOR    = "Michael B. Feldman",
   TITLE     = "{Ada} v.s {Modula-2}: A Response from the Ivory Tower",
   JOURNAL   = SIGPLAN,
   VOLUME    = 21,
   NUMBER    = 5,
   PAGES     = {39--44},
   MONTH     = may,
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, ADA, MODULA-2"
}

@BOOK{Feldman88,
   AUTHOR    = "Michael B. Feldman",
   TITLE     = "Data Structures with {Modula-2}",
   PUBLISHER = PrenticeHall,
   NOTE      = "ISBN 0-13-197666-4",
   YEAR      = 1988,
   KEYWORDS  = "PROGLANG, MODULA-2"
}

@BOOK{Ford85,
   AUTHOR    = "Gary A. Ford and Richard S. Wiener",
   TITLE     = "{Modula-2} -- A Software Development Approach",
   PUBLISHER = JohnWiley,
   NOTE      = "ISBN 0-471-87834-0",
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG, MODULA-2"
}

@ARTICLE{Ford90,
   AUTHOR    = "Ray Ford and Mary Pfreundschuh Wagner",
   TITLE     = "Incremental Concurrent Builds for Modular Systems",
   JOURNAL   = "Journal of Systems Software",
   PAGES     = {157--176},
   VOLUME    = 13,
   YEAR      = 1990,
   KEYWORDS  = "SOFTENG, LINKER, MODULE SELECTION"
}

@ARTICLE{Foster86,
   AUTHOR    = "David G. Foster",
   TITLE     = "Separate Compilation in A {Modula-2} Compiler",
   JOURNAL   = SPE,
   VOLUME    = 16,
   NUMBER    = 2,
   PAGES     = {101--106},
   MONTH     = feb,
   YEAR      = 1986,
   KEYWORDS  = "COMPILER, SEPARATE COMPILATION, MODULA-2, INTERFACE"
}

@ARTICLE{French85,
   AUTHOR    = "Carl French and Richard Mitchell",
   TITLE     = "Opaque types in {Modula-2}",
   JOURNAL   = SIGPLAN,
   PAGES     = {12--28},
   MONTH     = mar,
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG, PROGRAMMING, MODULA-2, OPAQUE TYPE, LINKER"
}

@ARTICLE{Goguen86,
   AUTHOR    = "Joseph A. Goguen",
   TITLE     = "Reusing and Interconnecting Software Components",
   JOURNAL   = "Computer",
   PAGES     = {16--28},
   MONTH     = feb,
   YEAR      = 1986,
   KEYWORDS  = "SOFTENG, SPECIFICATION, MODULE"
}

@ARTICLE{Goldsby86,
   AUTHOR    = "Michael E. Goldsby",
   TITLE     = "Concurrent Use of Generic Types in {Modula-2}",
   JOURNAL   = SIGPLAN,
   VOLUME    = 21,
   NUMBER    = 6,
   PAGES     = {28--29},
   MONTH     = jun,
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, PROGRAMMING, GENERIC, MODULA-2"
}

@ARTICLE{Greenwood86,
   AUTHOR    = "James R. Greenwood",
   TITLE     = "Comments on {"A View from the Trenches"}. {Ada} vs 
                {Modula-2} vs Praxis",
   JOURNAL   = SIGPLAN,
   VOLUME    = 21,
   NUMBER    = 5,
   PAGES     = {45--49},
   MONTH     = may,
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, ADA, MODULA-2"
}

@ARTICLE{Gutknecht86,
   AUTHOR    = {J\"urg Gutknecht},
   TITLE     = "Separate Compilation in {Modula-2}: An Approach
                to Efficient Symbol Files",
   JOURNAL   = SOFTWARE,
   PAGES     = {29--38},
   MONTH     = nov,
   YEAR      = 1986,
   KEYWORDS  = "COMPILER, MODULA-2, INTERFACE"
}

@ARTICLE{Gutknecht89,
   AUTHOR    = {J\"urg Gutknecht},
   TITLE     = "Variations on the Role of Module Interfaces",
   JOURNAL   = "Structured Programming",
   NUMBER    = 1,
   PAGES     = {40--46},
   YEAR      = 1989,
   KEYWORDS  = "PROGRAMMING, MODULA-2, INTERFACE"
}

@ARTICLE{Hamlet76,
   AUTHOR    = "Richard G. Hamlet",
   TITLE     = "High-Level Binding with Low-Level Linkers",
   JOURNAL   = CACM,
   VOLUME    = 19,
   NUMBER    = 11,
   PAGES     = {642--644},
   MONTH     = nov,
   YEAR      = 1976,
   KEYWORDS  = "COMPILER, LINKER, MODULE"
}

@ARTICLE{Harbison90,
   AUTHOR    = "Samuel P. Harbison",
   TITLE     = "{Modula-3}",
   JOURNAL   = BYTE,
   PAGES     = {385--392},
   MONTH     = nov,
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, MODULA-3"
}

@BOOK{Harbison92,
   AUTHOR    = "Samuel P. Harbison",
   TITLE     = "{Modula-3}",
   PUBLISHER = "Prentice Hall",
   NOTE      = "ISBN 0-13-596369-6",
   YEAR      = 1992,
   KEYWORDS  = "PROGLANG, MODULA-3"
}

@CONFERENCE{Heinz93,
   AUTHOR    = "Ernst A. Heinz",
   TITLE     = "Modula-3*: An Efficiently Compilable Extension of
		  Modula-3 for Problem-Oriented Explicitly Parallel Programming",
   BOOKTITLE = "Joint Symposium on Parallel Processing",
   ADDRESS   = "Waseda University, Tokyo",
   MONTH     = may,
   YEAR      = 1993,
   PAGES     = {269--276},
   KEYWORDS  = "PROGLANG, PARALLEL, MODULA-3"
}

@ARTICLE{Hoffman89,
   AUTHOR    = "Daniel Hoffman",
   TITLE     = "Practical Interface Specification",
   JOURNAL   = SPE,
   VOLUME    = 19,
   NUMBER    = 2,
   PAGES     = {127--148},
   MONTH     = feb,
   YEAR      = 1989,
   KEYWORDS  = "PROGLANG, SOFTENG, SPECIFICATION, INTERFACE, MODULE, TRACES"
}

@ARTICLE{Hoffman90,
   AUTHOR    = "Daniel Hoffman",
   TITLE     = "On Criteria for Module Interfaces",
   JOURNAL   = SOFTENG,
   PAGES     = {537--542},
   VOLUME    = 16,
   NUMBER    = 5,
   MONTH     = may,
   YEAR      = 1990,
   KEYWORDS  = "SOFTENG, SPECIFICATION, MODULE"
}

@ARTICLE{Holt82,
   AUTHOR    = "Richard C. Holt and David B. Wortman",
   TITLE     = "A Model for Implementing {EUCLID} Modules and Prototypes",
   JOURNAL   = TOPLAS,
   VOLUME    = 4,
   NUMBER    = 4,
   PAGES     = {552--562},
   YEAR      = 1982,
   KEYWORDS  = "COMPILER, EUCLID, MODULE"
}

@PHDTHESIS{Horowitz88,
  AUTHOR     = "Michael Lee Horowitz",
  TITLE      = "Automatically Achieving Elasticity in the Implementation
                of Programming Languages",
  DEPARTMENT = "Computer Science",
  SCHOOL     = "Carnegie Mellon University",
  YEAR       = 1988,
  KEYWORDS   = "PROGLANG, MODULES, COMPILER, LINKING, SMART RECOMPILATION"
}

@TECHREPORT{Jones91,
   AUTHOR      = "Kevin D. Jones",
   TITLE       = "{LM3}: A {Larch} Interface Language for {Modula-3}.
                  A Definition and Introduction. Version 1.0",
   INSTITUTION = "Digital Systems Research Center",
   NUMBER      = "72",
   MONTH       = jun,
   YEAR        = 1991,
   KEYWORDS    = "PROGLANG, SOFTENG, SPECIFICATION, MODULA-3, LARCH"
}

@ARTICLE{Jordan90,
   AUTHOR    = "Mick Jordan",
   TITLE     = "An Extensible Programming Environment for {Modula-3}",
   JOURNAL   = "SIGSOFT '90",
   VOLUME    = 15,
   NUMBER    = 6,
   PAGES     = {66--76},
   MONTH     = dec,
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, SOFTENG, ENVIRONMENT, LINKER, MODULA-3"
}

@TECHREPORT{Junkin90,
   AUTHOR      = "Michael D. Junkin and David B. Wortman",
   TITLE       = "The Implementation of a Concurrent Compiler",
   INSTITUTION = "Computer Systems Research Institute. University of Toronto",
   NUMBER      = "CSRI-235",
   MONTH       = dec,
   YEAR        = 1990,
   KEYWORDS    = "DISTPROG, COMPILER, MODULA-2+"
}

@ARTICLE{Klaeren90,
   AUTHOR    = "Herbert Klaeren",
   TITLE     = "Embedding Functionally Described Abstract Data Types 
                into {Modula-2} Programs",
   JOURNAL   = "Microprocessors and Microsystems",
   VOLUME    = 14,
   NUMBER    = 3,
   PAGES     = {161--166},
   MONTH     = apr,
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, SOFTENG, SPECIFICATION, MODULA-2"
}

@TECHREPORT{Krampell87b,
   AUTHOR      = "Magnus Krampell",
   TITLE       = "{Information Hiding}: Design and Implementation of Modular
                  Programming Languages",
   INSTITUTION = CSLund,
   NUMBER      = "LUNFD6/NFCS-1004/1-48/1987",
   TYPE        = "Licentiate Thesis",
   PAGES       = {1--48},
   YEAR        = 1987,
   KEYWORDS    = "COMPILER, MODULES, INTERMEDIATE CODE, INLINE"
}

@CONFERENCE{Leroy94,
   AUTHOR    = "Xavier Leroy",
   TITLE     = "Manifest types, modules, and separate compilation",
   BOOKTITLE = "POPL'94",
   YEAR      = 1984,
   KEYWORDS  = "PROGLANG, FUNCTIONAL, SML, MODULES"
}

@ARTICLE{Liskov77,
   AUTHOR    = "Barbara H. Liskov and A. Snyder and Russell R. Atkinson",
   TITLE     = "Abstraction Mechanisms in {CLU}",
   JOURNAL   = CACM,
   VOLUME    = 20,
   NUMBER    = 8,
   PAGES     = {564--576},
   MONTH     = aug,
   YEAR      = 1977,
   KEYWORDS  = "PROGLANG, ABSTRACTION, MODULE, CLU"
}

@BOOK{Liskov81,
   AUTHOR    = "Barbara H. Liskov and Russell R. Atkinson and 
                Toby Bloom and Eliot Moss and J. Craig Schaffert and
                Robert Scheifler and Alan Snyder",
   TITLE     = "{CLU} Reference Manual",
   PUBLISHER = Springer,
   NOTE      = "ISBN 3-540-10836-X",
   SERIES    = "LNCS 114",
   YEAR      = 1981,
   KEYWORDS  = "PROGLANG, ABSTRACTION, MODULE, CLU"
}

@BOOK{Liskov86,
   AUTHOR    = "Barbara H. Liskov and John Guttag",
   TITLE     = "Abstraction and Specification in Program Development",
   PUBLISHER = "The MIT Press",
   NOTE      = "ISBN 0-262-12112-3",
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, ABSTRACTION, MODULE, CLU"
}

@ARTICLE{Low78,
   AUTHOR    = "James R. Low",
   TITLE     = "Automatic Data Structure Selection: An Example and Overview",
   JOURNAL   = CACM,
   VOLUME    = 21,
   NUMBER    = 5,
   PAGES     = {376--385},
   MONTH     = may,
   YEAR      = 1978,
   KEYWORDS  = "PROGLANG, ABSTRACTION, MODULE SELECTION"
}

@UNPUBLISHED{Manacher85,
   AUTHOR    = "Glen K. Manacher",
   TITLE     = "A Rationale for a New Version of {Modula-2}",
   NOTE      = "Unpublished",
   ADDRESS   = "Department of Mathematics, Statistics, and Computer Science. 
                University of Illinois at Chicago",
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG, MODULA-2, GENERATOR"
}

@MANUAL{Mesa84,
   KEY          = "Mesa",
   TITLE        = "{Mesa} Language Manual",
   ORGANIZATION = "Xerox Corporation",
   ADDRESS      = "3450 Hillside Avenue, Palo Alto, CA 94304",
   EDITION      = "XDE-3.0-3001",
   MONTH        = nov,
   YEAR         = 1984,
   KEYWORDS     = "PROGLANG, MESA, MODULE"
}

@MANUAL{Modula2,
   KEY          = "Modula-2",
   TITLE        = "Third Working Draft {Modula-2} Standard",
   ORGANIZATION = "British Standards Institution",
   EDITION      = "D106/N336",
   MONTH        = oct,
   YEAR         = 1989,
   KEYWORDS     = "PROGLANG, MODULA-2, STANDARD"
}

@BOOK{Nelson91,
   AUTHOR    = "Greg Nelson",
   TITLE     = "Systems Programming with {Modula-3}",
   PUBLISHER = "Prentice Hall",
   NOTE      = "ISBN 0-13-590464-1",
   YEAR      = 1991,
   KEYWORDS  = "PROGLANG, MODULA-3"
}

@ARTICLE{Odersky90,
   AUTHOR    = "Martin Odersky",
   TITLE     = "Extending {Modula-2} for Object-Oriented Programming",
   JOURNAL   = "Microprocessors and Microsystems",
   VOLUME    = 14,
   NUMBER    = 3,
   PAGES     = {153--159},
   MONTH     = apr,
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, MODULA-2, OOP, TYPE GUARD, MODULE TYPE"
}

@TECHREPORT{Paganini78,
   AUTHOR      = "M. Paganini and A. Sacco and L. Tartaglino and A. Tazzari",
   TITLE       = "A Linker for a Modularized {Pascal}\protect\footnote{This
                  work has not been available for dissemination.}",
   INSTITUTION = "Dipartimento di Elettronica, Politecnico di Milano",
   NOTE        = "(in Italian)",
   YEAR        = 1978,
   KEYWORDS    = "PROGLANG, MODULE, COMPILER, LINKER, PASCAL"
}

@ARTICLE{Parnas72a,
   AUTHOR    = Parnas,
   TITLE     = "A Technique for Software Module Specification with Examples",
   JOURNAL   = CACM,
   VOLUME    = 15,
   NUMBER    = 5,
   PAGES     = {330--336},
   MONTH     = may,
   YEAR      = 1972,
   KEYWORDS  = "SOFTENG, MODULE, SPECIFICATION, INFORMATION HIDING"
}

@ARTICLE{Parnas72b,
   AUTHOR    = Parnas,
   TITLE     = "On the Criteria To Be Used in Decomposing Systems into Modules",
   JOURNAL   = CACM,
   VOLUME    = 15,
   NUMBER    = 12,
   PAGES     = {1053--1058},
   MONTH     = dec,
   YEAR      = 1972,
   KEYWORDS  = "SOFTENG, MODULE, INFORMATION HIDING"
}

@CONFERENCE{Parnas72c,
   AUTHOR    = Parnas,
   TITLE     = "Information Distribution Aspects of Design Methodology",
   BOOKTITLE = "Information Processing 71",
   PUBLISHER = "North Holland Publishing Company",
   PAGES     = {339--344},
   YEAR      = 1972,
   KEYWORDS  = "SOFTENG, MODULE, INFORMATION HIDING"
}

@CONFERENCE{Parnas84,
   AUTHOR    = "David L. Parnas and Paul C. Clements and D. M. Weiss",
   TITLE     = "The Modular Structure of Complex Systems",
   BOOKTITLE = "IEEE...",
   YEAR      = 1984,
   KEYWORDS  = "SOFTENG, DESIGN, MODULE, INFORMATION HIDING"
}

@TECHREPORT{Parnas88a,
   AUTHOR       = "David. L. Parnas and A. John van Schouwen and Shu Po Kwan",
   TITLE        = "Evaluation Standards for Safety Critical Software", 
   INSTITUTION  = "Department of Computing and Information Science;
                   Queen's University at Kingston",
   ADDRESS      = "Kingston, Ontario, K7L 3N6 Canada",
   NUMBER       = 220,
   NOTE         = "ISSN 0836-0227",
   MONTH        = may,
   YEAR         = 1988,
   KEYWORDS     = "SOFTENG, SPECIFICATION, INTERFACE, MODULE, TRACES"
}

@TECHREPORT{Parnas89,
   AUTHOR       = "David. L. Parnas and Yabo Wang",
   TITLE        = "The Trace Assertion Method of Module Interface 
                   Specification",
   INSTITUTION  = "Department of Computing and Information Science;
                   Queen's University at Kingston",
   ADDRESS      = "Kingston, Ontario, K7L 3N6 Canada",
   NUMBER       = 261,
   NOTE         = "ISSN 0836-0227",
   MONTH        = oct,
   YEAR         = 1989,
   KEYWORDS     = "SOFTENG, SPECIFICATION, INTERFACE, MODULE, TRACES"
}

@CONFERENCE{Parnas90a,
   AUTHOR    = "David. L. Parnas and P.C. Clements and D. M. Weiss",
   TITLE     = "The Modular Structure of Complex Systems",
   BOOKTITLE = "7th International Conference on Software Engineering",
   PAGES     = {408--417},
   PUBLISHER = "Computer Society Press",
   MONTH     = mar,
   YEAR      = 1984,
   KEYWORDS  = "SOFTENG, MODULE"
}

@ARTICLE{Purtilo91,
   AUTHOR    = "James M. Purtilo and Joanne M. Atlee",
   TITLE     = "Module Reuse by Interface Adaptation",
   JOURNAL   = SPE,
   VOLUME    = 21,
   NUMBER    = 6,
   PAGES     = {539--556},
   MONTH     = jun,
   YEAR      = 1991,
   KEYWORDS  = "PROGRAMMING, MODULE, INTERFACE"
}

@UNPUBLISHED{Rischel87,
   AUTHOR      = "Hans Rischel",
   TITLE       = "Mutually Interdependent Modules",
   INSTITUTION = "Department of Computer Science. 
                  Technical University of Denmark",
   NOTE        = "Unpublished",
   YEAR        = 1987,
   KEYWORDS    = "PROGLANG, MODULE, MODULA-2"
}

@ARTICLE{Rising92,
   AUTHOR    = "Linda Rising and Frank W. Calliss",
   TITLE     = "Problems with Determining Package Cohesion and Coupling",
   JOURNAL   = SPE,
   VOLUME    = 22,
   NUMBER    = 7,
   PAGES     = {553--571},
   MONTH     = jul,
   YEAR      = 1992,
   KEYWORDS  = "MODULES, COHESION, COUPLING, INFORMATION-HIDING"
}

@ARTICLE{Ross86,
   AUTHOR    = "Donald L. Ross",
   TITLE     = "Classifying {Ada} Packages",
   JOURNAL   = "SIGADA Letters",
   VOLUME    = 6,
   NUMBER    = 4,
   PAGES     = {46--57},
   MONTH     = jul,
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, PROGRAMMING, ADA, MODULE"
}

@ARTICLE{Rovner86,
   AUTHOR    = "Paul Rovner",
   TITLE     = "Extending {Modula-2} to Build Large, Integrated Systems",
   JOURNAL   = SOFTWARE,
   PAGES     = {46--57},
   MONTH     = nov,
   YEAR      = 1986,
   KEYWORDS  = "PROGLANG, MODULA-2"
}

@ARTICLE{Sale87,
   AUTHOR    = "A. H. J. Sale",
   TITLE     = "Optimization Across Module Boundaries",
   JOURNAL   = "The Australian Computer Journal",
   PAGES     = {167--173},
   VOLUME    = 19,
   NUMBER    = 3,
   MONTH     = aug,
   YEAR      = 1987,
   KEYWORDS  = "PROGLANG, MODULA-2, COMPILER, LINKER, GLOBAL OPTIMIZATION, INLINE"
}

@ARTICLE{Shang91,
   AUTHOR    = "Lujun Shang",
   TITLE     = "{Cluster}: An Informal Report",
   JOURNAL   = SIGPLAN,
   VOLUME    = 26,
   NUMBER    = 1,
   PAGES     = {57--76},
   MONTH     = mar,
   YEAR      = 1991,
   KEYWORDS  = "PROGLANG, OOP, MODULE, CLUSTER"
}

@ARTICLE{Sharma88,
   AUTHOR    = "Ravi Sharma and Lawrence L. Rose",
   TITLE     = "Modular Design from Simulation",
   JOURNAL   = SPE,
   PAGES     = {945--966},
   YEAR      = 1988,
   KEYWORDS  = "PROGRAMMING, SIMULATION, MODULA-2"
}

@BOOK{Sherman85,
   AUTHOR    = "Mark Steven Sherman",
   TITLE     = "{Paragon}: A Language Using Type Hierarchies for the
                Specification, Implementation, and Selection of  
                Abstract Data Types",
   SERIES    = "LNCS 189",
   PUBLISHER = Springer,
   NOTE      = "ISBN 3-540-15212-1",
   YEAR      = 1984,
   KEYWORDS  = "PROGLANG, PARAGON, TYPE, ABSTRACTION, MODULE SELECTION"
}

@BOOK{Smedema83,
   AUTHOR    = "C. H. Smedema and P. Medema and M. Boasson",
   TITLE     = "The Programming Languages {Pascal, Modula, CHILL, Ada}",
   PUBLISHER = PrenticeHall,
   NOTE      = "ISBN 0-13-729756-4",
   YEAR      = 1983,
   KEYWORDS  = "PROGLANG, SURVEY, PASCAL, MODULA, CHILL, ADA"
}

@ARTICLE{Souter90,
   AUTHOR    = "John Souter",
   TITLE     = "The Position of {Modula-2} Among Programming Languages",
   JOURNAL   = "Microprocessors and Microsystems",
   PAGES     = {145--148},
   VOLUME    = 14,
   NUMBER    = 3,
   MONTH     = apr,
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, MODULA-2"
}

@ARTICLE{Taft92,
   AUTHOR    = "S. Tucker Taft",
   TITLE     = "{Ada 9X}: A Technical Summary",
   JOURNAL   = CACM,
   VOLUME    = 35,
   NUMBER    = 11,
   PAGES     = {77--82},
   MONTH     = nov,
   YEAR      = 1992,
   KEYWORDS  = "PROGLANG, ADA, ADA9X, OBJECT-ORIENTED, PACKAGES,
		  MODULES, REAL-TIME, THREADS"
}

@CONFERENCE{Thorelli83,
   AUTHOR    = "Lars-Erik Thorelli",
   TITLE     = "A Linker Allowing Hierarchic Composition of Programs",
   BOOKTITLE = "Information Processing 83, IFIP",
   PUBLISHER = "Elsevier Science Publishers B.V.",
   YEAR      = 1983,
   KEYWORDS  = "COMPILER, LINKER, MODULE"
}

@ARTICLE{Thorelli85,
   AUTHOR    = "Lars-Erik Thorelli",
   TITLE     = "A Language for Linking Modules into Systems",
   JOURNAL   = "BIT",
   VOLUME    = 25,
   PAGES     = {358--378},
   YEAR      = 1985,
   KEYWORDS  = "COMPILER, LINKER, MODULE"
}

@CONFERENCE{Thorelli87,
   AUTHOR    = "Lars-Erik Thorelli",
   TITLE     = "Modules and Type Checking in {PL/LL}",
   BOOKTITLE = "OOPSLA",
   PAGES     = {268--274},
   MONTH     = oct,
   YEAR      = 1987,
   KEYWORDS  = "COMPILER, LINKER, MODULE, PROGLANG, OOP"
}

@ARTICLE{Weber86a,
   AUTHOR    = "Herbert Weber and Hartmut Ehrig",
   TITLE     = "Specification of Modular Systems",
   JOURNAL   = SOFTWARE,
   VOLUME    = 12,
   NUMBER    = 7,
   PAGES     = {784--798},
   MONTH     = jul,
   YEAR      = 1986,
   KEYWORDS  = "SOFTENG, SPECIFICATION, MODULE"
}

@CONFERENCE{Weber86b,
   AUTHOR    = "Herbert Weber and Hartmut Ehrig",
   TITLE     = "Programming in the large with algebraic module specifications",
   BOOKTITLE = "Information Processing 86",
   PAGES     = {675--684},
   PUBLISHER = NorthHolland,
   YEAR      = 1983,
   KEYWORDS  = "SOFTENG, SPECIFICATION, MODULE"
}

@ARTICLE{Wiener85,
   AUTHOR    = "Richard S. Wiener and Richard F. Sinovec",
   TITLE     = "Two Approaches to Implementing Generic Data Structures
                in {Modula-2}",
   JOURNAL   = SIGPLAN,
   VOLUME    = 20,
   NUMBER    = 6,
   PAGES     = {56--64},
   MONTH     = jun,
   YEAR      = 1985,
   KEYWORDS  = "PROGLANG, MODULA-2, GENERIC, PROGRAMMING"
}

@ARTICLE{Wiener86,
   AUTHOR    = "Richard S. Wiener",
   TITLE     = "Protecting Against Uninitialized Abstract Objects 
                in {Modula-2}",
   JOURNAL   = SIGPLAN,
   VOLUME    = 21,
   NUMBER    = 6,
   PAGES     = {63--69},
   MONTH     = jun,
   YEAR      = 1986,
   KEYWORDS  = "PROGRAMMING, MODULA-2"
}

@ARTICLE{Wirth77a,
   AUTHOR    = Wirth,
   TITLE     = "{Modula}: a Language for Modular Multiprogramming",
   JOURNAL   = SPE,
   VOLUME    = 7,
   NUMBER    = 1,
   PAGES     = {3--35},
   YEAR      = 1977,
   KEYWORDS  = "PROGLANG, MODULA, CONCURRENCY"
}

@ARTICLE{Wirth77b,
   AUTHOR    = Wirth,
   TITLE     = "The Use of {Modula}",
   JOURNAL   = SPE,
   VOLUME    = 7,
   NUMBER    = 1,
   PAGES     = {37--65},
   YEAR      = 1977,
   KEYWORDS  = "PROGLANG, MODULA, CONCURRENCY, PROGRAMMING"
}

@ARTICLE{Wirth77c,
   AUTHOR    = Wirth,
   TITLE     = "Design and Implementation of {Modula}",
   JOURNAL   = SPE,
   VOLUME    = 7,
   NUMBER    = 1,
   PAGES     = {67--84},
   YEAR      = 1977,
   KEYWORDS  = "PROGLANG, MODULA, CONCURRENCY"
}

@BOOK{Wirth83,
   AUTHOR    = Wirth,
   TITLE     = "Programming in {Modula-2}",
   PUBLISHER = Springer,
   EDITION   = "second",
   YEAR      = 1983,
   KEYWORDS  = "PROGLANG, MODULA-2"
}

@ARTICLE{Wirth90,
   AUTHOR    = Wirth,
   TITLE     = "{Modula-2} and Object-Oriented Programming",
   JOURNAL   = "Microprocessors and Microsystems",
   VOLUME    = 14,
   NUMBER    = 3,
   PAGES     = {148--152},
   MONTH     = apr,
   YEAR      = 1990,
   KEYWORDS  = "PROGLANG, PROGRAMMING, OOP, MODULA-2"
}

@CONFERENCE{Wortman81,
   AUTHOR    = "David B. Wortman and James R. Cordy",
   TITLE     = "Early Experiences with {Euclid}",
   BOOKTITLE = "5th International Conference on Software Engineering",
   ADDRESS   = "San Diego, California, USA",
   PAGES     = {27--32},
   MONTH     = mar,
   YEAR      = 1981,
   KEYWORDS  = "PROGLANG, EUCLID, MODULE"
}

@CONFERENCE{Wortman90,
   AUTHOR    = "David B. Wortman",
   TITLE     = "A Concurrent {Modula-2+} Compiler",
   BOOKTITLE = "Proceedings of the Workshop on Parallel Compilation",
   ADDRESS   = "Kingston, Ontario, Canada",
   MONTH     = may,
   YEAR      = 1990,
   KEYWORDS  = "COMPILER, DISTPROG, MODULA-2+"
}

@CONFERENCE{Wortman92,
   AUTHOR    = "David B. Wortman and Michael D. Junkin",
   TITLE     = "A Concurrent Compiler for {Modula-2+}",
   BOOKTITLE = "SIGPLAN 1992 Conference on Programming Language Design
                and Implementation",
   PAGES     = {68--81},
   YEAR      = 1992,
   KEYWORDS  = "COMPILER, DISTPROG, MODULA-2+"
}

@CONFERENCE{Wulf80,
   AUTHOR       = "W. A. Wulf",
   TITLE        = "Abstract Data Types: A Retrospective and Prospective View",
   BOOKTITLE    = "Proceedings of the 9th Symposium on the Mathematical
                   Foundations of Computer Science",
   PUBLISHER    = Springer,
   HOWPUBLISHED = "LNCS 88",
   ADDRESS      = "Rydzyna, Poland",
   PAGES        = {95--112},
   MONTH        = sep,
   YEAR         = 1980,
   KEYWORDS     = "ABSTRACTION, PROGLANG, SPECIFICATION, VERIFICATION,
                   MODULE, ALPHARD, GYPSY, EUCLID, MESA, MODULA, ENCAPSULATION,
                   SURVEY"
}
   

Back to Collberg's Reference Page
Back to Collberg's Research Page
Back to Collberg's Home Page