\input list \define\slash\mbox{$/$} % % Bibliography file for SE stuff % %%% %%% $RCSfile: practice.bib,v $ %%% $Revision: 1.45 $ %%% $Date: 1999/12/03 22:31:59 $ %%% % % Authors: % To sort, type the following command from vi % !}sort % The cursor should be on the next line to do so. @String{Abadi = "Martin Abadi"} @String{Bach = "Bach, Maurice J."} @String{Bezier = "Bezier, Boris"}, @String{Binder="Robert V. Binder"} @String{Blake = "Blake, Ben A."} @String{Borning = "Alan H. Borning"} @String{Buzato = "L. E. Buzato"} @String{Calder = "Paul R. Calder"} @String{Calsavara = "A. Calsavara"} @String{Cheatham = "Cheatham, Thomas J."}, @String{Cherry = "Cherry, Lorinda L."} @String{Cline = "Marshall P. Cline"} @String{Cox = "Brad J. Cox"} @String{Coxeter = "Coxeter, Harold Scott Macdonald"} @String{Dixon = "Graeme N. Dixon"} @String{Doong = "Doong, Roong-Ko"}, @String{Drakeford = "Dreakeford, A. C. T."}, @String{Duff = "Duff, Tom"} @String{Ellis = "Ellis, Margaret"} @String{Ezhilchelvan = "P. Ezhilchelvan"} @String{Fiedler = "Fiedler, Steven P."}, @String{Firesmith = "Firesmith, D. G."}, @String{Frankl = "Frankl, Phyllis G."}, @String{Freeman-Benson = "Bjorn N. Freeman-Benson"} @String{GIL = "Joseph (Yossi) Gil"} @String{Gehani = "Gehani, Narain H."} @String{Graham = "Graham, J. A."}, @String{Harrold = "Harrold, Mary Jean"} @String{Hoffman = "Hoffman, Daniel"}, @String{Holzmann = "Holzmann, Gerard"} @String{JohnsonSC = "S. C. Johnson"} @String{Kaplan = "Simon M. Kaplan"}, @String{Kernighan = "{Brian W. Kernighan}"} @String{LONGO = "Giuseppe Longo"} @String{Lakos = "Lakos, John S."}, @String{Lamport = "Lamport, Leslie"} @String{Lea = "Lea, Doug"} @String{Leavens = "Leavens, G. T."}, @String{Lesk = "Lesk, M. E."} @String{Libes = "Libes, Don"} @String{Linton= "Mark A. Linton"} @String{Little = "Mark C. Little"} @String{Love = "Love, Tom"}, @String{Marick = "Marick, Brian"}, @String{McCue = "Daniel L. McCue"} @String{Mellinger = "Mellinger, Lee"}, @String{Murphy = "Murphy, Gail C."}, @String{Neufeld = "Neufeld, Gerald W."} @String{Ousterhout = "Ousterhout, John K."} @String{Overbeck = "Overbeck, Jan"}, @String{PIERCE = "Benjamin Pierce"} @String{Parrington = "Graham D. Parrington"} @String{Patashnik = "Patashnik, Oren"} @String{Perry = "Perry, D. E."} @String{Pike = "Rob Pike"} @String{Plotkin = "Gordon D. Plotkin"} @String{Presotto = "Presotto, Dave"} @String{Purchase = "Purchase, Jan A."} @String{Ritchie = "Dennis M. Ritchie"} @String{Robson = "Robson, D. J."}, @String{Schach = "Schach, Stephen R."} @String{Schwan = "Schwan, Kartsen"} @String{Shapiro = "Shapiro, Ehud Y."} @String{Shrivastava = "Santosh K. Shrivastava"} @String{Smith = "Smith, M. D."}, @String{Sterling = "Sterling, Leon"}, @String{Strooper = "Strooper, Paul"}, @String{Stroustrup = "Stroustrup, Bjarne"} @String{Tanenbaum ="Tanenbaum, Andrew S."} @String{Thompson = "Ken Thompson"} @String{Trickey = "Trickey, Howard"} @String{Turner = "Turner, C. D."}, @String{Vlissides = "John M. Vlissides"} @String{Wheater = "Stuart M. Wheater"} @String{kaiser = "Kasier, G. E."}, @string{Cardelli = "Luca Cardelli"} @string{Winder = "Winder, Russel L."}, @string{Wong = "Wong, Pok"}, @String{Third = "Third"} @String{Second = "Second"} @String{First = "First"} % % WWW % %@String{WWW = "Available through World Wide Web at "} %@String{TechnionCsTechReport = WWW # "\texttt{http://\-www.cs.technion.ac.il/\-Reports/}"} @String{DEC-PRL = "DEC-PRL"} @String{SEI = "Software Engineering Institute"} @String{CMU = "Carnegie Mellon University, Pittsburgh, PA 15213-3890"} @String{USENIX = "USENIX {C++} Technical Conference Proceedings"} @String{IPLeh = "IPL, Eveleigh house, Grove Street, Bath BA1 5LR, United Kingdom, 0225-444888, 0225-444400"}, @String(MPR = "MPR Teltech Ltd., 8999 Nelson Way, burnaby, B.C.,Canada, V5A 4B5"), @String{EuroSTAR = "EuroSTAR Conference, Ltd. , P.O.B 2645, west Kensington, London, W14 9HD, United-Kingdom, FAX: +44-71-385-1596"}, @String{UBC = "University of British Columbia"} @String{SIGPLAN = "Acm SIGPLAN Notices"} @String{SIGSOFT = "Acm Software Engineering Notes"} @String{LNCS = "Lecture Notes in Computer Science"} @String{TOOLS = "Technology of Object-Oriented Languages and Systems"} @String{ECOOP = "European Conference on Object-Oriented Programming"} @String{UE = "University of Edinburgh"} @String{SU = "Syracuse University, New York 13210, U.S.A. "} @String{UP = "University of Pensylvania"} @String{UR = "The State University of New Jersey RUTGERS"} @String{src = "System Research Center"} @String{IBMWR = "{IBM Tomas J.} Watson Research Center"} @String{INIM = "Institut fur Numerishe und Instrumentelle Mathematik-Informatic"} @String{DCIS = "Department of Computer and Information Science"} @String{SEAS = "Scool of Engineering and Applied Science"} @String{SD = "Schloss Dagstuhl"} @String{IBFI = "Internationales Begegnungs- und Forschungszentrum fur Informatik"} % Journals @String{ITSE = "IEEE Transactions on Software Engineering"} @String{TSEM = "ACM Transactions on Software Engineering and Methodology"} @String{OOS = "Object Oriented Systems"} @String{SPAE = "Software - Practice and Experience"} @String{JOOP = "Journal of Object-Oriented Programming"} @String{CIM = "Computer Integrated Manufacturing"} @String{ASE = "Annals of Software Engineering"} @String{LC = "Logic Computataitions"} @String{ITSP = "IEEE Transactions on Signal Processing"} @String{TIS = "ACM Transactions on Information Systems"} @String{ELECPUB = "Electronic Publishing"} @String{TOIS = "ACM Transactions on Office Information Systems"} @String{ASSP = "IEEE Transactions on Acoustics, Speech, and Signal Processing"} @String{Computer = "The Computer Journal"} @String{MST = "Mathematical Systems Theory"} @String{SS = "Systems Software"} @String{CS = "Computer Systems"} @String{CCUJ = "{C}/{C++} Users Journal"} % % Publishers % @String{Springer = "Springer Verlag"} @String{SV = "Springer Verlag"} @String{AW = "Addison-Wesley Publishing Company, Reading, Massachusetts"} @String{MH = "McGraw-Hill, New York"} % % misc. % @String{CSD = "Computer Sciences Department"} @String{PROC = "Proceedings of"} @String{DCS = "Department of Computer Science"} @String{CWI = "National Research Institute for Mathematics and Computer Science"} @String{DSRC = "Digital Systems Research Center"} @String{LCSR = "Laboratory for Computer Science Research"} % % Institutions. % @String{Durham = { Computer Science Division, School of Engineering and computer science (SECS), University of Durham, Durham, England }}, % % % % % % @Article{Burton:Aragon:Bailey:Koehler:Mayes:87, Ordinal = "P425", Author = "Bruce A. Burton and Rhonda Wienk Aragon and Stephen A. Bailey and Kenneth D. Koehler and Lauren A. Mayes", Title = "The Reusable Software Library", Journal = "IEEE Software", Year = 1987, Month = Jul, Pages = "25--32" } @Article{Jackson:Damon:96, Ordinal = "P470", Author = "Daniel Jackson and Craig A. Damon", Title = "Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector", Journal = ITSE, Volume = 22, Number = 7, Year = 1996, Month = Jul, Pages = "484--495" } @Article{Jackson:95, Ordinal = "P475", Author = "Daniel Jackson", Title = "Aspect: Detecting Bugs with Abstract Dependences", Journal = TSEM, Volume = 4, Nomber = 2, Year = 1995, Month = Apr, Pages = "109--145" } @InProceedings{Jackson:Rollins:94, Ordinal = "P474", Author = "Daniel Jackson and Eugene J. Rollins", Title = "A New Model of Program Dependences for Reverse Engineering", BookTitle = "Proceedings of the Second {ACM SIGSOFT} Symposium on Foundations of Software Engineering", Year = 1994, Month = Dec, Pages = "2--10", } @Article{Larsen:Harrold:96, Ordinal = "P476", Author = "Loren Larsen and Mary Jean Harrold", Title = "Slicing Object-Oriented Software", Journal = "Proceedings of {ICSE} - 18", Year = 1996, } @Article{Prieto-Diaz:Freeman:87, Ordinal = "P424", Author = "Ruben Prieto-Diaz and Peter Freeman", Title = "Classifying Software for Reusability", Journal = "IEEE Software", Year = 1987, Month = Jan, Pages = "6--16", } @Article{Limberghen:Mens:96, Ordinal = "P415", Author = "Marc van Limberghen and Tom Mens", Title = "Encapsulation and composition as orthogonal operators on mixins: a solution to multiple inheritance problems", Journal = OOS, Year = 1996, Volume = 3, Pages = "1--30", } @Article{Dori:CIM:96, Ordinal = "P407", Author = "Dov Dori", Title = "Object-process analysis of computer integrated manufacturing documentation and inspection functions", Journal = CIM, Year = 1996, Volume = 9, Number = 5, Pages = "339--353", } @Article{Dori:Goodman:96, Ordinal = "P406", Author = "Dov Dori and Moshe Goodman", Title = "From Object-process analysis to object-process design", Journal = ASE, Year = 1996, Volume = 9, Pages = "1--25" } @Article{Dori:95a, Ordinal = "P405", Author = "Dov Dori", Title = "Object-process Analysis: Maintaining the Balance between System Structure and Behaviour", Journal = LC, Year = 1995, Volume = 5, Number = 2, Pages = "227--249", } @Article{Dori:Gal:Etzion:96, Ordinal = "P404", Author = "Dov Dori and Avigdor Gal and Opher Etzion", Title = "A temporal database with data dependencies: a key to computer integrated manufactoring", Journal = CIM, Year = 1996, Volume = 9, Number = 2, Pages = "89--104", } @Article{Sleator:Tarjan:83, Author = {D. Sleator and R. Tarjan}, Title = {A data structure for dynamic trees}, Year = 1983, Journal = jcss, Volume = 24, } @InProceedings{McCue:Shrivastava:90, Ordinal = "P124", Title = "Structuring Persistent Object Systems for Portability in a Distributed Environment", Author = McCue #" and "# Shrivastava, BookTitle = "Proceedings of the Fourth ACM SIGOPT Workshop", Address = "Bologna", Month = Sep, Year = 1990, Abstract = { The object-oriented approach to system structuring has found widespread acceptance among designers and implementers of robust distributed information processing systems. In such systems, state information is held within objects which may reside in object stores. Furthermore, if any changes to the state of the system are performed under the control of atomic actions (atomic transactions), then it can be ensured that no inconsistencies are introduced despite applications making conflicting accesses to objects and the occurrence of common failures (such as node crashes). Previous attempts to design a portable applications programming environment have focussed on heterogeneous RPC facilities and common run-time environments. Where portable RPC and common run-time efforts have already provided some level of access and location transparency, we have raised the level of portable, object-oriented applications development to include persistence, concurrency control, recoverability, replication and migration of objects. In this paper we look at distributed programming systems supporting persistent objects and examine key portability features such a system should possess. Major system components and their interfaces are identified. An existing system is examined to verify the feasibility of the proposed architecture. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Structuring-For-Portability_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Structuring-For-Portability_USLetter.ps.Z }, } @TechReport{Ford:91, Ordinal = "P428", Title = "1991 SEI Report on Graduate Software Engineering Education", Author = "Gary Ford", Year = 1991, Number = "CMU/SEI-91-TR-2", Institution = "Carnegie Mellon University", Address = "Pittsburgh, Pennsylvania 15213", } @UnPublished{Lieberherr:Xiao:91, Ordinal = "P442", Author = "Karl Lieberherr and Cun Xiao", Title = "The Demeter Kernel Model for Object-Oriented and Language Design", Year = 1991, Month = Nov # { 6}, Institution = "Northeastern University, College of Computer Science", Note = "Manuscript" } @TechReport{Madany:92, Ordinal = "P138", Title = "An Object-Oreinted Framework for File Systems", Author = {Peter William Madany}, Year = 1992, Month = Jun, Number = "UIUCDCS-R-92-1751", Institution = "University of Illinions at Urbana-Champaign", Address = "Urbana", } @TechReport{Shrivastava:Ezhilchelvan:Little:90, Ordinal = "P116", Title = "Understanding Component Failures and Replications in Distributed Systems", Author = Shrivastava #" and "# Ezhilchelvan #" and "# Little, Year = 1990, Month = May, Number = {ISA Project Report:UNT/TR1}, Institution = "University of Newcastle upon Tyne", Address = { Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, U.K. }, Abstract = { Faults are causes of system failures. The function of a fault-tolerant algorithm of a system is to attempt to tolerate the failures of the system's components so that the system can continue to provide specified system services. The design of such an algorithm for any given system function requires making fault models of components so that the assumed behaviour of faulty components can be stated precisely. We present a fault and failure classification for components using expected value and timeliness as the two properties of a component's response. This classification helps the development of fault models of components and also the design of fault-tolerant algorithms capable of tolerating faults - from relatively restricted ones to increasingly more general ones. We show how the fault classification can be extended to apply to replicated systems. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/ISA-Report_EuropeA4.tar.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/ISA-Report_USLetter.tar.Z } } @Misc{Shrivastava:McCue:93, Title = "Structuring Fault-Tolerant Object Systems for Modularity in a Distributed Environment", Author = Shrivastava #" and "# McCue, Month = Feb, Year = 1993, Note = "First Year Report --- Systems Engineering, 3 of 3, {BROADCAST ESPRIT} Basic Research Project 6360", Address = { Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, U.K. }, Abstract = { The object-oriented approach to system structuring has found widespread acceptance among designers and developers of robust computing systems. In this paper we propose a system structure for distributed programming systems that support persistent objects and describe how such properties as persistence, recoverability etc. can be implemented. The proposed structure is modular, permitting easy exploitation of any distributed computing facilities provided by the underlying system. An existing system constructed according to the principles espoused here is examined to illustrate the practical utility of the proposed approach to system structuring. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Modularity_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Modularity_USLetter.ps.Z }, } @Article{Blake:Scwan:91, Ordinal = "P401", Author = Blake #" and "# Schwan, Title = { Experimental Evaluation of a Real-Time Scheduler for a Multiprocessor System }, Journal = ITSE, Year = 1991, Month = Jan, Number = 1, Volume = 17, Pages = "34-44", Abstract = { This paper describes the design, implementation and experimental evaluation of a multiprocessor scheduler used with robotics applications and other real-time programs. The scheduler makes decisions concerning both the assignment of processes and the scheduling of those processes on each processor such that a near optimal number of process deadline is satisfied. It assumes that process execution times, deadlines, and earlier possible start times are known. } } @Article{Jones:91a, Ordinal = "P31", Author = "Michael B. Jones", Title = "A Toolkit for Interposing User Code at the System Interface", Journal = "Technical Committee Newsletter, IEEE Technical Committee on Operating Systems and Applications Environments", Year = "Spring 1991", Volume = 5, Number = 1, Pages = "26-31", } @Article{Caneschi:Merelli:87, Ordinal = "P29", Author = "Fausto Caneschi and Emanuela Merelli", Title = "An Architecture for an {ASN.1} Encoder/Decoder", Journal = "Computer Networks and {ISDN} Systems", Year = 1987, Volume = 14, Pages = "297--303", Publisher = "Elsevier Science Publishers B.V. (North-Holland)", } @Article{Juhola:Katajainen:91, Ordinal = "P30", Author = "Martti Juhola and Jyrki Katjainen and Timo Raita", Title = "Comparison of Algorithms for Standard Median Filtering", Journal = ITSP, Year = 1991, Month = Jan, Volume = 39, Number = 1, Pages = "204--208", } @UnPublished{Neufeld:Vuong:91, Ordinal = "P25", Author = Neufeld #" and Son Vuong", Title = "An Overview of {ASN.1}", Year = 1991, Note = "Manuscript", } @Article{Neufeld:Yang:90, Ordinal = "P26", Author = Neufeld #" and Yueli Yang", Title = "The Desing and Implementation of an {ASN.1-C} Compiler", Journal = ITSE, Year = 1990, Month = Oct, Volume = 16, Number = 10, Pages = "1209-1220", } @Article{Avrahami:Brooks:Brown:89, Ordinal = "P27", Author = "Gideon Avrhami and Kenneth P. Brooks and Marc H. Brown", Title = "A Two-View Approach to Constructing User Interfaces", Journal = "Computer Graphics", Year = 1989, Month = Jul, Volume = 23, Pages = "137-146", } @InProceedings{Gil:Szmit:94, Author = {Joseph Gil and Ricardo Szmit}, Title = {Software Boards via Configurable Objects}, BookTitle = "Proceedings of {TOOLS} USA Conference", Month = Aug, Year = 1994 } @TechReport{Gil:Szmit:94a, Ordinal = "P432", Author = "J. Gil and R. Szmit", Title = "Software Board via Configurable Objects", Institution = "Technion---Israel Institute of Technology", Note = "LPCR Report", Year = 1994, Month = Nov } @Misc{Sokolski:Rivchin:Rachlin:95, Ordinal = "P438", Author = "Sokolski, Galina and Rivchin, Leonid and Rachlin, Boris", Title = "Tochnit le-sirtut akumim ha-netunim lefi parametrizatsia shel orech keshet", Note = "Hebrew Language", Year = 1995, Month = Sep, Institution = "Technion - IIT", } @Misc{Sokolski:Rivchin:Rachlin:95a, Ordinal = "P439", Author = "Sokolski, Galina and Rivchin, Leonid and Rachlin, Boris", Title = "Tochnit le-sirtut akumim ha-netunim lefi parametrizatsia shel orech keshet. Madrich le-meshtamesh", Note = "Hebrew Language", Year = 1995, Month = Sep, Institution = "Technion - IIT", } @Misc{Barta:95, Ordinal = "P431", Author = "David Barta", Title = "A System For Document Reuse", Note = "Research Thesis", Year = 1995, } @Misc{Vlissides:96a, Ordinal = "P483", Author = "John Vlissides", Title = "To Kill a Singleton", Note = "{C++} Report", Year = 1996, Month = Jun, E-mail = "vlis@watson.ibm.com", } @Article{Hsieh:Gilham:94, Ordinal = "P484", Author = "Donovan Hsieh and Fred M. Gilham", Title = "A novel approach toward object-oriented knowledge-based software integration withtin a {CASE} framework", Journal = JOOP, Year = 1994, Month = Sep, Volume = 7, Number = 5, Pages = "25--31" } @Misc{Steensgaard:95, Ordinal = "P480", Author = "Bjarn Steensgaard", Title = "Points-to Analysis in Almost Linear Time", Note = "Microsoft Research", Year = 1995, E-mail = "rusa@research.microsoft.com", } @Misc{Buchnic:Trugman:96, Ordinal = "P496", Author = "Buchnic, Erez and Trugman, Helen", Title = "Cover. An Application for Optimizing Sets of Test-Programs According to Coverage Properties", Supervising = "Dr. Shmuel Ur, IBM and Dr. Yossi Gil, Technion", Year = 1997, Month = Feb # { 9}, } @Misc{Brown:Hershberger, Ordinal = "P28", Author = "Marc H. Brown and John Hershberger", Title = "Algorithm Animation using {Z}eus", Note = "Manuscript", } @InProceedings{Pike:Presotto:Thompson:Trickey:90, Ordinal = "P17", Author = Pike #" and "# Presotto #" and "# Thompson #" and "# Trickey, Title = "Plan 9 from {B}ell {L}abs", CrossRef = "UKUUG90", Pages = "1--9", } @InProceedings{Pike:Presotto:Thompson:Trickey:91, Author = Pike #" and "# Presotto #" and "# Thompson #" and "# Trickey, Title = "Plan 9, A Distributed System", CrossRef = "EurOpen91", Pages = "43--50", Ordinal = "P18", } @InProceedings{Pike:91, Ordinal = "P19", Author = Pike, Title = "8${1 \over 2}$, the Plan 9 Window System", Year = 1991, Month = Jun, BookTitle = "Proc. of the Summer 1991 USENIX Conf.", Pages = "257--265", Address = "Nashville", } @InProceedings{Presotto:90, Ordinal = "P20", Author = Presotto, Title = "Multiprocessor Streams for Plan 9", Year = 1990, Month = Jul, BookTitle = "Proc. of the Summer 1990 UKUUG", Pages = "11-19", Address = "London, England", } @InProceedings{Pike:Presotto:Thompson:Trickey:90a, Ordinal = "P21", Author = Pike #" and "# Presotto #" and "# Thompson #" and "# Holzmann, Title = "Process Sleep and Wakeup on a Shared-Memory Multi-Processor", CrossRef = "UKUUG90", Pages = "11--19", } @InProceedings{Duff:90, Ordinal = "P22", Author = Duff, Title = "Rc -- A Shell for Plan 9 and UNIX Systems", CrossRef = "UKUUG90", Pages = "21--33", } @InProceedings{Thompson:90, Ordinal = "P23", Author = Thompson, Title = "A New {C} Compiler", CrossRef = "UKUUG90", Pages = "41--51", } @Manual{Agesen:Bak:Chambers:Chang, Ordinal = "P430", Author = "Ole Agesen and Lars Bak and Craig Chambers and Bay-Wai Chang", Title = "How to Use Self 3.0", } @Manual{Lesk:Inv, Ordinal = "P1", Author = Lesk, Title = "Some Applications of Inverted Indexes on the UNIX System", } @Manual{Lesk:Tbl, Ordinal = "P2", Author = Lesk, Title = "\textsc{Tbl}---{A} program to Format Tables", } @Manual{Kernighan:Cherry, Ordinal = "P3", Author = Kernighan #" and "# Cherry, Title = "A System for Typesetting Mathematics", } @Misc{chicago, Title = "The Chicago Manual of Style", Year = 1982, Edition = "Thirteenth", Pages = "400--401", Publisher = "University of Chicago Press", Key = "Chicago", } @Manual{MakeIndex, Ordinal = "P4", Author = Lamport, Title = "{\it MaxeIndex}\/: {An} Index Processor for \LaTeX{}", Year = 1987, Month = "17~" # Feb, } @Manual{btxdoc, Ordinal = "P5", Author = Patashnik, Title = "{{\BibTeX ing}}", Year = 1988, Month = "8~" # feb, Note = "Documentation for general {\BibTeX} users", } @Manual{btxhak, Ordinal = "P6", Author = Patashnik, Title = "Designing {\BibTeX} Styles", Year = 1988, Month = "8~" # feb, Note = "The part of \BibTeX's documentation that's not meant for general users", } @Manual{Perl, Ordinal = "P7", Author = "Wall, Larry", Title = "Perl - Practical Extraction and Report Language", } @Article{Brooks:91, Author = "Kenneth P. Brooks", Title = "Lilac, a two-view document editor", Journal = "IEEE Computer", Year = 1991, Volume = 24, Number = 6, Pages = "7-20", } @Article{Fisher:91, Author = "A. J. Fisher", Title = "Incremental algorithms for interactive text formatting", Journal = "J. Systems Software", Year = 1991, Volume = 16, Pages = "3-16", Abstract = { The second, called Alpha, offers one-way propagation of changes only, but has the virtue that any editor (which has been modified to output change- or delta-records) can be used in the `batch' window. (The author has considered vi and Bell Labs' sam, as well as an editor of his own.) There are problems associated with two-way propagation of changes. E.g., were one to draw out a table in the `formatted' window, how do you tell the system to attempt to compile table-specification code in the `batch' window rather than, say, line-diagram-specification code? }, Reviewer = "john@minster.york.ac.uk, John A. Murdie", } @Misc{Donnely:Stallman:92, Ordinal = "P477", Author = "Charels Donnelly and Richard Stallman", Title = "The Bison Manual", Month = Dec, Year = 1992, Note = "part of the on-line distribution of the FSF's Bison, a reimplementation of yacc.", Reviewer = "John Levine, comp.compilers moderator", Description = { As with everything else from the FSF, full source code is included. }, } @Misc{X500, Ordinal = "P9", Title = "The Directory -- Overview of Concepts, Models and Services (X.500)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X500", } @Misc{X501, Ordinal = "P10", Title = "The Directory -- Models (X.501)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X501", } @Misc{X509, Ordinal = "P11", Title = "The Directory -- Authentication Framework (X.509)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X509", } @Misc{X511, Ordinal = "P12", Title = "The Directory -- Abstract Service Definition (X.511)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X511", } @Misc{X518, Ordinal = "P13", Title = "The Directory -- Procedures for Distributed Operation (X.518)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X518", } @Misc{X519, Ordinal = "P14", Title = "The Directory -- Protocol Specifications (X.519)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X519", } @Misc{X520, Ordinal = "P15", Title = "The Directory -- Selected Attribute Types (X.520)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X520", } @Misc{X521, Ordinal = "P16", Title = "The Directory -- Selected Object Classes (X.521)", Year = 1988, Month = Dec, Series = "CCITT Recommendations of the X.500 Series", Key = "X521", } @UnPublished{NSERC:Klawe, Ordinal = "P39", Author = "Maria Margaret Klawe", Title = "NSERC Application", Year = 1990, Month = Oct, Note = "(Research proposal)", } @UnPublished{Sagiv:Reps:Horwitz:95, Ordinal = "P468", Author = "Mooly Sagiv and Thomas Reps and Susan Horwitz", Title = "Precise Interprocedural Dataflow Analysis with Applications to Constant Propagation", Year = 1995, Note = "Manuscript" } @UnPublished{Sagiv:Reps:Horwitz:96, Ordinal = "P486", Author = "Mooly Sagiv and Susan Horwitz and Thomas Reps", Title = "Slicing Programs with Recursive Data Structures", Year = 1996, Month = Nov # { 14}, Note = "Manuscript" } @InProceedings{Sagiv:Reps:Wilhelm:96, Ordinal = "P471", Author = "Mooly Sagiv and Thomas Reps and Reinhard Wilhelm", Title = "Solving Shape-Analysis Problems in Languages with Destructive Updating", Year = 1996, BookTitle = "ACM Symposium on Principles of Programming Languages", Publisher ="ACM", Month = Jan, Note = "http://ww.cs.wisc.edu/wpis/papers/popl96.ps" } @UnPublished{Jackson:Jha:Damon:96, Ordinal = "P472", Author = "Daniel Jackson and Somesh Jha and Craig A. Damon", Title = "Isomorph-free Model Enumeration: A New Method for Checking Relational Specifications", Year = 1996, Month = Nov # { 22}, Note = "Manuscript" } @UnPublished{Livadas:Croll:94, Ordinal = "P473", Author = "Panos E. Livadas and Stephen Croll", Title = "System Dependence Graphs Based on Parse Trees and their Use in Software Maintenance", Note = "Manuscript" } @UnPublished{O'Callahan:Jackson:97, Ordinal = "P469", Author = "Robert O'Callahan and Daniel Jackson", Title = "Lackwit: A Program Understanding Tool Based on Type Inference", Note = "Manuscript", } @UnPublished{Chang:Ungar:90, Ordinal = "P409", Author = "Bay-Wei Chang and David Ungar", Title = "Experiencing {SELF} Objects: An Object-Based Artificial Reality", Note = "Manuscript", } @UnPublished{Joyce:90, Ordinal = "P40", Author = "Jefferey John Joyce", Title = "NSERC Application", Year = 1990, Month = Oct, Note = "(Research proposal)", } @UnPublished{Witten:90, Ordinal = "P41", Author = "Ian H. Witten", Title = "How to get a research grant", Note = "Manuscript", } @TechReport{Kaci:Podelski:91, Ordinal = "P42", Author = {Hassan A\"it-Kaci and Andreas Podelski}, Title = "Towards a Meaning of {LIFE}", Year = 1991, Month = Jun, Number = 11, Institution = DEC-PRL, } @TechReport{Berry:1991, Ordinal = "P43", Author = "G\'erard Berry", Title = "A Hardware Implementation of Pure Esterel", Year = 1991, Month = Jul, Number = 15, Institution = DEC-PRL, } @Article{Guenter:Parent:90, Ordinal = "P44", Author = "Brian Guenter and Richard Parent", Title = "Computing the Arc Length of Parametric Curves", Journal = "IEEE Computer Graphics and Applications", Year = 1990, Month = May, Volume = 10, Number = 3, Pages = {72-78}, Keywords = {motion control, parametric curves}, } @Article{Lee:89, Ordinal = "P45", Author = "E. T. Y. Lee", Title = "Choosing Nodes in Parametric Curve Interpolation", Journal = "Computer Aided Design", Year = 1989, Month = Jul #"/"# Aug, Volume = 21, Number = 6, Pages = {363-370}, Keywords = {motion control, parametric curves}, } @Article{Sanchez-Reyes:90, Ordinal = "P46", Author = "J. Sanchez-Reyes", Title = "Single-valued Curves in Polar Coordinates", Journal = "Computer Aided Design", Year = 1990, Month = Jan #"/"# Feb, Volume = 22, Number = 1, Pages = {19-26}, Keywords = {motion control, parametric curves}, } @Comment{ @Comment{ [BHK91] P. Barker and S.E. Hardcastle-Kille. The COSINE and Internet X.500 schema. Request for Comments RFC 1274, Department of Computer Science, University College London, November 1991. [Cro82] D.H. Crocker. Standard of the format of ARPA internet text messages. Request for Comments 822, University of Delaware, August 1982. [HK91] S.E. Hardcastle-Kille. Using the OSI directory to achieve user friendly naming. Request for Comments in preparation, Department of Computer Science, University College London, November 1991. [Lar83] J. Larmouth. JNT name registration technical guide, April 1983. [Lin89] J. Linn. Privacy Enhancement for Internet Electronic Mail: Part 1 -- Message Encipherment and Authentication Procedures. Request for Comments 1113, Bolt, Beranek, and Newman, August 1989. [Moc87a] P. Mockapetris. Domain names - concepts and facilities. Request for Comments RFC 1034, USC/Information Sciences Institute, November 1987. [Moc87b] P. Mockapetris. Domain names - implementation and specification. Request for Comments RFC 1035, USC/Information Sciences Institute, November 1987. [Moc89] P. Mockapetris. DNS encoding of network names and other types. Request for Comments RFC 1101, USC/Information Sciences Institute, April 1989. Date: 1 Jan 92 17:37:02 GMT } @Manual{BibDB, Ordinal = "P32", Author = "Eyal Doron", Title = "BibDB -- an interactive {\BibTeX} bibliography Manager", Year = 1992, Month = Jan, } @Manual{Springer-Style, Ordinal = "P33", Title = "Multiple-Author Mathematics", Year = 1991, Month = Mar, Organization = sv, } @Misc{X208, Ordinal = "P34", Title = "Recommendation X.208: Speficiation of Abstract Syntax Notation One {(ASN.1)}", Year = 1988, Month = Mar, Address = "Geneva", Publisher = "International Telegraph and Telephone Consultative Committee", Key = "X208", } @Misc{X209, Ordinal = "P35", Title = "Recommendation X.209: Speficiation of Basic Encoding Rules for Abstract Syntax Notation One (ASN.1)", Year = 1988, Month = Mar, Address = "Geneva", Key = "X208", } @String{DEC-SRC= "digital Systems Research Center"} @String{DEC-PRL= "digital Paris Research Laboratory"} @TechReport{Jones:91b, Ordinal = "P403", Author = "Kevin D. Jones", Title = "A {Larch} Interface Language for Modula-3. {A} Definition and Introduction. Version 1.0", Year = 1991, Month = Jun, Number = 72, Institution = DEC-SRC, Address = "130 Lytton Avenue, Palo Alto, California 94301", } @InProceedings{Welch:Ousterhout:88, Author = "Welch, Brent B. and John K. Ousterhout", Title = "Pseudo-Devices: User Level Extensions to the {Sprite} operating system", Pages = "37-49", CrossRef = "USENIX-S88" } @InProceedings{Pike:Thompson:93, Ordinal = "P50", Author = Pike #" and "# Thompson, Title = "Hello World", Pages = "43-50", CrossRef = "USENIX-W93" } @InProceedings{North:Vo:93, Ordinal = "P419", Author = "Stephen C. North and Kiem-Phong Vo", Title = "Dictionary and Graph Libraries", Pages = "1--11", CrossRef = "USENIX-W93" } @Article{Kataoka:Morisaki:Kuribayashi:Ohara:92, Author = "Kataoka, Yutaka and Morisaki, Masato and Kuribayashi, Hiroshi and Ohara Hiroyoshi", Title = "A Model for Input and Output of Multilingual Text in a Windowing Environment", Journal = TIS, Year = 1992, Volume = 10, Number = 4, Pages = "438--451", Month = Oct, Oridnal = "P51" } @Article{Becker:Berry:89, Author = "Becker, Zeev and Berry, Daniel", Title = "{triroff}, an adaptation of the device-independent {troff} for formatting tri-directional text", Journal = ELECPUB, Year = 1989, Volume = 2, Number = 3, Pages = "119-142", Month = Oct, Ordinal = "P52", } @Article{Gould:Lewis:Barnes:85, Ordinal = "P53", Year = 1985, Author = "John D. Gould and Lewis, Clayton and Barnes, Vincent", Title = "Cursor Movement during Text Editing", Journal = TOIS, Volume = 3, Number = 1, Pages = "22-34", Month = Jan, Keywords = "Experimentation, Human Factors, Computer-Human Interaction, Cursor, Engineering Psychology, Terminal Design, User Interface", LastUpdate = "On Wed Mar 10 1993 at 19:59 by erezn." } @Article{Pong:Zhang:92, Ordinal = "P54", Author = "Man-Chi Pong and Yongguang Zhang", Title = "\texttt{cxterm}: {A} Chinese Terminal Emulator for the {X} Window System", Journal = SPAE, Year = 1992, Volume = 22, Number = 1, Pages = "809--926", Month = Oct, } @Article{Romkey:88, Author = "J. Romkey", Title = {A nonstandard for transmition of \emph{IP} datagrams over Serial Lines : \emph{SLIP}}, Journal = "RFC 1055", Year = 1988, Month = Jun , } @Article{Jacobson:90, Author = "Van Jacobson", Title = { Compressing \emph{TCP/IP} Headers}, Journal = "RFC", Year = 1990, Month = Jan , } @InProceedings{Minnich:93, Author = "Ronald G. Minnich", Title = { The { \em AutoCacher}: A File Cache Which Operates at the \emph{NFS} Level }, Crossref = "USENIX-W93", Pages = "77--84" } @Article{Pike:87, Ordinal = "P38", Author = Pike, Title = {The Text Editor \texttt{sam}}, Year = 1987, Month = Nov, Journal = SPAE, Volume = 17, Number = 11, Pages = {813--845}, Abstract = { Sam is an interactive multip-file text editor intended for bitmap displays. A textual command language supplements the mouse-driven, but-and-paste interface to make complex or repetitive editing tasks easy to specify. The language is characterized by the composition of regular expressions to describe thes structure of the text being modified. The treatment of files as a database, with changes logged as atomic transactions, guides the implementation and makes a general `undo' mechanism straightforward. Sam is implemented as two processes connected by a low-bandwidth stream, one process handling the display and the other editing algorithms. Therefore it can run with the display process in a bitmap terminal and the editor on a local host, with both processes on a bitmap-equipped host, or with the display process in the terminal and the editor in a remote host. By suppressing the display process, it can even run without a bitmap terminal. }, Points = { \item Designed as the Plan-9 editor. Also runs under UNIX. \item Editor is split into two parts, one controls the screen display and the other controls actual editing of the text. \item Display and ``editor" can be on different machines. \item Requires a bitmap screen to work in ``display" mode. Without a display can only use it in the same way as line editors such as ``ed" (although strictly speaking it isn't a line editor) \item Uses a mouse for cursor positioning, marking text, scrolling. Therefore it could be said to only have one ``mode". Doesn't appear to be any way to move around with ``cursor keys" or equivalent. \item Editing language is small but very powerful. Command can be strung together so that the input of one is the output of the other. This leads to expressions that have a very strong functional language feel to them. [Well it does to me anyway] \item Allows multiple files to be displayed within the editor i.e., it's a multi-file editor. The language even has operators that work over the files name and status. This allows operations to be carried out on a subset of all the files currently being edited by first applying a pattern to the file names and status, the resulting files can then be passed onto other commands. \item No extension language is provided and there are no ways to extend the editor at all e.g. controlling just what is executed when the mouse points at a particular item. This is consistent with Pike's philosophy on programs. }, Reviewer = "Stephen J. Bevan bevan\@cs.man.ac.uk", } @Article{Bonar:Cunningham:Schultz:89, Author = "Bonar and R. Cunningham and J. Schultz", Title = {An Object Oriented Architecture for Intelligent Tutoring Systems}, Journal = "Computer education", Volume = 13, Pages = "167-178", Year = 1989 } @InProceedings{Eggert:Parker:93, Author = "R. Eggert and D. S. Parker", Title = "File systems in user space", Pages = "229-240", CrossRef = "USENIX-W93" } @InProceedings{Hardy:Schwartz:93, Author = "Darren R. Hardy and Michael F. Schwartz", Title = { Essence: A Resource Discovery System Based on Semantic File Indexing }, Pages = "361-373", CrossRef = "USENIX-W93" } @InProceedings{Haar:Rakitzis:93, Author = "Paul Haahr and Byron Rakitzis", Title = "Es: A Shell with Higher-order Functions", Pages = "51-60", CrossRef = "USENIX-W93" } @Article{Markosian:Newcomb:Brand:Burson:Kitzmiller:94, Author = {Lawrence Markosian and Philip Newcomb and Russell Brand and Scott Burson and Ted Kitzmiller}, Title = {Using an Enabling Technology to Reengineer Legacy Systems}, Journal = CACM, Year = 1994, Month = May, Volume = 37, Number = 5, Pages = "58--70" } @Article{Kantorowitz:Sudarsky:89, Ordinal = "P55", Author = "Eliezer Kantorowitz and Oded Sudarsky", Title = "The Adaptable User Interface", Journal = CACM, Year = 1989, Month = Nov, Volume = 32, Number = 11, Pages = "1352--1358" } @Article{Budd:88, Ordinal = "P56", Author = "Timothy A. Budd", Title = "The Design of an Object-oriented Command Interpreter", Journal = SPAE, Year = 1988, Month = Jan, Volume = 19, Number = 1, Pages = "33--51", } @TechReport{Johnson:75, Author = JohnsonSC, Title = "Yacc - yet another compiler compiler", Number = "Computing Systems Technical Report 32", Year = 1975, Institution = "AT\&T Bell Laboratories", Address = "Murray Hill, N.J.", } @TechReport{Lesk:75, Author = Lesk, Year = 1975, Title = "Lex - a lexical analyzer generator", Number = "Computing Systems Technical Report 39", Institution = "AT\&T Bell Laboratories", Address = "Murray Hill, N.J.", } @Article{Kernighan:Lesk:Ossana:78, Title = "Document Preparation", Author = "B. W. Kernighan and M. E. Lesk and J. F. Ossana, Jr.", Journal = "The Bell Systems Technical Journal", Year = 1978, Number = 6, Volume = 57, Month = Jul # "-" # Aug, Pages = "2115--2135", Note = "UNIX Time-Sharing System issue", } @Article{Bourne:78, Title = "The {UNIX} Shell", Author = "S. R. Bourne", Journal = "The Bell Systems Technical Journal", Year = 1978, Number = 6, Volume = 57, Month = Jul # "-" # Aug, Pages = "1971--1990", Note = "UNIX Time-Sharing System issue", } @Article{Huang:Yang:Tang:79, Ordinal = "P24", Author = "Thomas S. Huang and George J. Yang and Gregory Y. Tang", Title = "A Fast Two-Dimensional Median Filtering Algorithm", Journal = ASSP, Year = 1979, Month = Feb, Volume = 27, Number = 1, Pages = "13-19", } @TechReport{Joy:76, Author = "William Joy", Title = "An Introduction to Display Editing", Institution = "Electrical Engineering Computer Science Department, University of California at Berkeley", Address = "Berkeley, CA", Year = 1976, } @Article{Birreli:Nelson:84, Ordinal = "P67", Author = "Andrew D. Birelli and Bruce Jay Nelson", Title = "Implementing Remote Procedure Calls", Journal = "ACM Transactions of Computer Systems", Year = 1984, Month = Feb, Volume = 2, Number = 1, Pages = "39-59", Keywords = "Remote Procedure calls, transport layer protocols, distributed naming and binding, inter-process communication, performance of communication protocols", LastUpdate = "On Sun Mar 07 1993 at 02:04 by Yossi Gil.", } @InProceedings{Chambers:Ungar:90, Ordinal = "P64", Author = "Craig Chambers and David Ungar", Title = "Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs", Year = 1990, Crossref = {OOPSLA:90}, LastUpdate = "On Sun Mar 07 1993 at 01:28 by Yossi Gil.", } @InProceedings{Lieberherr:Holland:Riel:88, Author = "K. Lieberherr and I. Holland and A. Riel", Title = "Object Oriented Programming: An Objective Sense of Style", Year = 1988, CrossRef={OOPSLA:88}, } @Article{Lieberherr:Holland:89, Ordinal = "P458", Author = "Karl J. Lieberherr and Ian M. Holland", Title = "Assuring Good Style for Object Oriented Programs", Year = 1989, Month = Sep, Journal = "IEEE Software", Pages = "38--48", } @UnPublished{Chambers:Ungar:Chang:Holzle:90, Ordinal = "P62", Author = "Craig Chambers and David Ungar and Bay-Wei Chang and Urs {H\"olzle}", Title = "Parents are Shared Parts of Objects: Inheritance and Encapsulation in \textsc{Self}", Note = "Unpublished manuscript (in the \textsc{Self} papers collection)", LastUpdate = "On Sun Mar 07 1993 at 01:28 by Yossi Gil.", } @inproceedings{Holzle:Chambers:Ungar:91, author={Urs {H\"olzle} and Craig Chambers and David Ungar}, title={Optimizing Dynamically-Typed Object-Oriented Languages with Polymorphic Inline Caches}, CrossRef= "ECOOP:91" } @UnPublished{Gil:Holstein:96, Ordinal = "P440", Author = "Joseph (Yossi) Gil and Beery Holstein", Title = "{T++}: A Test Case Generator Using a Debugging Information Based Technique for Source Code Manipulation", Year = 1996, Month = Oct # " 31", Note = "Manuscript" } @InProceedings{Hilderbrand:92, Ordinal = "P68", Author = "Dan Hilderbrand", Title = "An Architectural Overview of {QNX}", Year = 1992, Month = Apr, BookTitle = "USENIX Workshop on Micro-Kernels \& Other Kernel Architectures", Address = "Seattle, WA", LastUpdate = "On Sun Mar 07 1993 at 02:04 by Yossi Gil.", } @Article{Jankowitz:88, Ordinal = "P61", Author = "H. T. Jankowitz", Title = "Detecting Plagiarism in Student Pascal Programs", Journal = "The Computer Journal", Year = 1988, Volume = 31, Number = 1, Pages = "1-8", LastUpdate = "On Sun Mar 07 1993 at 01:17 by Yossi Gil.", } @Article{Parnas:72, Ordinal = "P58", Author = "David Lorge Parnas", Title = "On the Criteria to Be Used in Decomposing Systems into Modules", Journal = "CACM", Year = 1972, Month = Dec, Volume = 15, Number = 12, Pages = "1053-1058", Keywords = "Software, Modules, Modularity, Software engineering,", LastUpdate = "Sat Mar 6 1993.", } @Article{Parnas:Clements:86, Ordinal = "P57", Author = "David Lorge Parnas and Paul C. Clements", Title = "A Rational Design Process: How and Why to Fake It", Journal = IEEESE, Year = 1986, Month = Feb, Volume = "SE-12", Number = 2, Pages = "251-257", Keywords = "Programming methods, software design, software documentation, software engineering, KWIC index", LastUpdate = "Sat Mar 6 1993.", } @Article{Sakkinen:92, Ordinal = "P60", Author = "Markku Sakkinen", Title = "The Darker Side of {C++} Revisited", Journal = "Structured Programming", Year = 1992, Volume = 13, Pages = "155-177", LastUpdate = "On Sun Mar 07 1993 at 01:17 by Yossi Gil.", } @Comment{Checked till here} @Article{Thomas:89, Ordinal = "P59", Author = "Dave Thomas", Title = "What's in an Object?", Journal = "Byte", Year = 1989, Month = Mar, Pages = "231-240", LastUpdate = "On Sun Mar 07 1993 at 01:17 by Yossi Gil.", } @UnPublished{Chang:Ungar:91, Ordinal = "P69", Author = "Bay-Wei Chang and David Ungar", Title = "Organizing Programs Without Classes", Note = "Unpublished manuscript (in the \textsc{Self} papers collection)", LastUpdate = "On Sun Mar 07 1993 at 01:28 by Yossi Gil.", } @UnPublished{Ungar:Chambers:Chang:Holzle:91, Ordinal = "P65", Author = "David Ungar and Craig Chambers and Bay-Wei Chang and Urs Holzle", Title = "Organizing Programs Without Classes", Note = "Unpublished manuscript (in the \textsc{Self} papers collection)", LastUpdate = "On Sun Mar 07 1993 at 01:28 by Yossi Gil.", } @InProceedings{Ungar:Smith:87, Ordinal = "P66", Crossref = {OOPSLA:87}, Author = "David Ungar and Randall B. Smith", Title = "\textsc{Self}: {The} Power of Simplicity", Year = 1987, Pages = "227-241", LastUpdate = "On Sun Mar 07 1993 at 01:28 by Yossi Gil.", } @Misc{Self:Talk, Ordinal = {DH030}, Note = {Foils on Self}, Author = {unknown}, } @TechReport{Birkhardt:Nievergelt:80, Author = "M. Birkhardt and J. Nievergelt", Title = "Structure oriented editors", Institution = {Beirchte des Instituts fur Informatik}, Year = 1980, Number = 38, Address = {ETH, Zurich} } @Article{Fraser:79, Author = "Christopher W. Fraser", Title = "A Compact, Portable CRT-based Text Editor", Journal = SPAE, Year = 1979, Volume = 9, Number = 2, Pages = "121--125", Abstract = { CRT-based text editors offers a better user interface than most teletype-based text editors but are more complex and less portable. Building a screen editor as a front end to a line editor exploits existing code, yields a more compact, porable result, and permits one computer to edit another's files. This paper describes such an editor. Main points: \begin{itemize} \item editor is called ``s" \item developed on PDP10 as a front end to ``edit" \item now runs on PDP11 as a front end to ``edit" or ``ed" \item interface resembles Yale editor E. \item requires the CRT to be able to move up, down, left, right one position and erase from the cursor to the end of the line and end of the screen. \item ``s" <-> ``edit" communication is via a pipe. \item 2 man weeks to develop \item ``s" code is 375 lines of Ratfor \item ``s" and ``edit" need not run on the same machine. \end{itemize} Commands: \begin{description} \item[printable character] insert character at cursor \item[cursor move] move cursor without changing file or screen \item[+/- pages] move forward/backward one screen full \item[+/- lines] move forward/backward one line. \item[+/- search] move forward/backward until a key is found. \item[delete] delete one line; copy to special file \item[insert] insert one blank line \item[pick] copy one line to special file \item[puct] insert special file \item[set file] edit new file \item[exit] stop editing \end{description} All commands accept an optional argument for example : \begin{description} \item[\texttt{escape foo put}] puts ``foo" after the cursor \item[\texttt{escape 2 +pages}] moves forward 2 screens \end{description} }, } @Article{Naur:60, Author = "Peter Naur", Title = "Revised Report on the Algorithmic Language {ALGOL 60}", Journal = cacm, Year = 1960, Volume = 3, Number = 5, Pages = {229--314}, Month = may, } @Article{Fraser:80, Author = "Christoper W. Fraser", Title = "A Generalized Text Editor", Journal = cacm, Year = 1980, Volume = 23, Number = 3, Pages = {154--158}, Abstract = { Text is not the only data that needs editing; for example, file deletion utilities edit directories. If all ``editors" used the same command language, they would be easier to learn, remember, and code. Theis paper describes a generalized editor that edits text, directories, binary core images, and certain operating system data with a single user interface. Main points: \begin{itemize} \item editor called ``s" (builds on ``s" described in [Fraser 79]) \item 300 lines of C. \end{itemize} }, } @Article{Gutknecht:Winiger:84, Author = "J. Gutknecht and W. Winiger", Title = "Andra: The Document Preparation System for the Personal Workstation {Lilith}", Journal = SPAE, Year = 1984, Volume = 14, Number = 1, Pages = "73--100", Abstract = { Andra is a modern text editor and formatter designed for the personal computer Lilith. Lilith was developed at ETH by Prof. N. Wirth. The interactive part of Andra makes extensive use of Lilith's characteristic features namely its high resolution raster scan display and mouse. The printer component of Andra allows the creation of high quality hard copies on a laser printer. The Andra program is written in the language Modula-2. Main Points: \begin{description} \item Forerunner of Lara. \end{description} }, } @Article{Gutknecht:85, Author = "J. Gutknecht", Title = "Concepts of the text editor Lara", Journal = CACM, Year = 1985, Volume = 28, Number = 9, Pages = "942--960", Abstract = { Lara is an editor developed for the Lilith workstation, exemplifies the principles underlying modern text editor design: a high degree of interactivity, an inernal structure that mirros currently displayed text, and extensive use of bitmap controlled displays and facilities. Main Points \begin{description} \item This is WYSIWYG (well as much as any screen editor can be) \item ``Understands" about chapters, sections, paragraphs, lines. \item Interface is mouse driven with the option to use keys for certain commands. \item This is a document preparation system rather than a ``programmer's editor" \end{description} }, } @TechReport{Lampson:78, Author = "B. W. Lampson", Title = "Bravo User's Manual", Year = 1978, Institution = "Xerox Corporation", Address = "Palo Alto, California", Abstract = { From other references it appears Bravo is a document editor rather than a ``programmer's editor". }, } @Article{MacLeod:77, Author = "Ian A. MacLeod", Title = "Design and Implementation of a Display Oriented Text Editor", Journal = SPAE, Year = 1977, Volume = 7, Number = 6, Pages = "771-778", Abstract = { This paper outlines the design and implementation of a text editor which is designed for use on an alphanumeric display terminal with cursor control. Text may be edited directly on the screen by deleting, overstriking or inserting characters. There also exist commands to manipulate and search sections of text. A major design consideration was that the editor should be easily usable by untrained casual users. Main Points: \begin{description} \item editor called ``godot" \item implemented in C on PDP 11/45 running UNIX \item splits the screen into a ``text" section and a ``status" section. The latter is 3 lines long and located at the bottom of the screen. \item single character movement is controlled by cursor keys. \item frequently used commands are accessed by pressing CTRL followed by the first letter of the command e.g. CTRL S toggles between insert and overstrike mode (S for SHIFT by the way) \item more complex commands are accessed by typing their name in full into the command line in the status section. }, } @PhdThesis{Ballance:89, Author = {Robert Ballance}, Title = {Syntactic and Semantic Checking in Language-Based Editing Systems}, Year = 1989, School = {University of California, Berkeley}, Abstract = { Describes Pan I. IMHO probably ``state of the art" wrt to syntax directed editors at the moment (until Pan {II} is ready that is, or unless you know better :-) }, Note = {(also technical report UCB/CSD89/548)}, } @Article{Kaiser:89, Author = "Gail E. Kaiser", Title = {Incremental Dynamic Semantics for Languages Based Programming Environments}, Journal = toplas, Year = 1989, Month = Apr, Volume = 11, Number = 2, Pages = "169--193", Abstract = { Discusses one particular aspect of Kaiser's work on a syntax directed editor. It also contains lots of references to the main work and to other systems like POE and ALOE. For the full details, see Kaiser's Ph.D :- }, } @PhdThesis{Kaiser85, Author = "Gail E. Kaiser", Title = "Semantics of Structure Editing Environments", Year = 1985, School = "Carnegie Mellon University", } @PhdThesis{Kaplan:85, Author = "Simon M. Kaplan", Title = "Specification and Verification of Context Conditions For Programming Languages", Year = 1985, Month = Nov, School = "University of Illinois at Urbana Chapaign", Summary = { describes CFF/AML which are part of a syntax directed editor. It should contain references to the actual editor. }, Note = "Report No. UIUCDCS-R-85-1232", } @Article{Reps:Teitelbaum:Demers:83, Author = "Thomas Reps and Tim Teitelbaum and Alan Demers", Title = "Incremental Context-Dependent Analysis for Language-Based Editors", Journal = toplas, Year = 1983, Month = Jul, Volume = 5, Number = 3, Pages = "449--477", Summary = { Again the following addresses one particular aspect of a syntax directed editor, but it contains lots of references. }, } @Article{Barford:Zanden:89, Ordinal = "P70", Author = "{Lee Alton Barford} and {Bradley T. vander Zanden}", Title = "Attribute Grammars in Constraint-based Graphics Systems", Journal = SPAE, Year = 1989, Month = Apr, Volume = 19, Number = 4, Pages = "309-328", LastUpdate = "by david.", } @Article{Bechman:91, Author = "Brain Beckman", Title = "A Scheme for Little Languages in Interactive Graphics", Journal = SPAE, Year = 1991, Month = Feb, Volume = 21, Number = 2, Pages = "187-207", Annote = "Scheme. Little languages are useful in development environments for interactive graphics software. Scheme-based graphics shell.", Abstract = { Programming environments for interactive graphics software typically have a multiplicity of tools and applications. Many of these programs contain ad hoc `little language' interpreters that do many similar things in needlessly different ways. In particular, many little languages have, in addition to their special-propose constructs, vestigial support for ordinary programming, such as variables, loops and conditions, If a single, standard programming language were the basis for all these little languages, they could have complete, coherent programming semantics; they could communicate with each other more easily; no design work for basic constructs would be needed; and interpreter implementation work would be saved, The approach of reusing and extending the same core language and interpreter for a variety of little languages is the extension language approach. Scheme is proposed as a good choice for such a core language. Scheme is a simple, elegant, high-level programming language. Extendible implementation are readily available in C source form. Example applications in Scheme form interactive graphics are presented that would be nearly impossible to code in a typical scripting language and very tedious to code in a lower-level i, implementation language such as C. }, LastUpdate = "On Sun Mar 07 1993 at 15:21 by david.", } @Article{Boussinot:91, Ordinal = "P75", Author = "Fr\'{e}d\'{e}ric Boussinot", Title = "Reactive {C}: An Extension of {C} to Program Reactive Systems", Journal = SPAE, Year = 1991, Month = Apr, Volume = 21, Number = 4, Pages = "401-428", Abstract = { Reactive systems are interactive programs that react continuously to sequences of activations coming from the external world. Reactive programming leads to a new programming style where one programs in terms of reactions to activations and reasins in a logic of instants. This paper describes an extension of the C programming language called RC (for `Reactive C') to program reactive systems. The language RC is described, then some programming examples are given to illustrate the reactive approach. The main RC notion come directly from the Esterel synchronous programming language. Finally, the Esterel and RC languages are compared. }, Summary = "reactive C. An extension of C. Contexts witch. rproc + stop; loop statement; every (cond) ; watching; timeout; select; catch; handle; par; There is RC as C preprocessor. ", LastUpdate = "On Sun Mar 07 1993 at 15:46 by david.", } @Article{Dershowitz:Reingold:90, Ordinal = "P72", Author = "Nachum Dershowitz and Edward M. Reingold", Title = "Calendrical Calculations", Journal = SPAE, Year = 1990, Month = Sep, Volume = 20, Number = 9, Pages = "899-928", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Fowler:90, Ordinal = "P79", Author = "Glenn Fowler", Title = "A Case for \texttt{make}", Journal = SPAE, Year = 1990, Month = Jun, Volume = 20, Number = "S1", Pages = "S1/35-S1/46", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Fraser:Krishnamurthy:90, Ordinal = "P81", Author = "Christopher W. Freser and Balachander Krishamurthy", Title = "Live Text", Journal = SPAE, Year = 1990, Month = Aug, Volume = 20, Number = 8, Pages = "851-858", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Hesketh:91, Ordinal = "P76", Author = "Richard Hesketh", Title = "Perly - {UNIX} with Buttons", Journal = SPAE, Year = 1991, Month = Nov, Volume = 21, Number = 11, Pages = "1165-1187", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Holsti:89, Ordinal = "P71", Author = "Niklas Holsti", Title = "A Session Editor with Incremental Execution Functions", Journal = SPAE, Year = 1989, Month = Apr, Volume = 19, Number = 4, Pages = "329-350", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Kuhl:90, Ordinal = "P80", Author = "Frederick S. Kuhl", Title = "Object-oriented Programming applied to a Prototype Workstation", Journal = SPAE, Year = 1990, Month = Sep, Volume = 20, Number = 9, Pages = "887-898", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Mckenzie:Bell:90, Ordinal = "P78", Author = "B. J. Mckenzie and R. Harries and T. Bell", Title = "Selecting a Hashing Algorithm", Journal = SPAE, Year = 1990, Month = Feb, Volume = 20, Number = 2, Pages = "209-224", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Olsson:Whitehead:89, Ordinal = "P82", Author = "Ronald A. Olsson and Gregory R. Whitehead", Title = "A Simple Techique for Automatic Re-compilation in Modular Programming Languages", Journal = SPAE, Year = 1989, Month = Aug, Volume = 19, Number = 8, Pages = "757-773", Abstract = {This paper presents simple techniques that can be used to automate re-complication and avoid unnecessary re-compilation in modular programming languages. The basic technique generates a Makefile that reflects the dependencies among modules. This technique is demonstrated for programs written in SR, although it can easily be adapted to other modular languages. The re-compilation problem fir SR programs is complicated by the flexible way components can be combined. A small modification to the basic technique reduces the amount of unnecessary compilation. This 'semi-smart' approach is worth the small extra effort. The techniques described in this paper should be considered as an inexpensive, yet reasonable effective, alternative to smart re-compilation. These techniques are especially applicable when the language's compiler cannot easily be modified. }, Summary = "Has references to: Make Ada ", LastUpdate = "On Sun Mar 07 1993 at 15:46 by david.", } @Article{Rowe:Danzig:Choi:89, Ordinal = "P73", Author = "Lawrence A. Rowe and Peter Danzig and Wilson Choi", Title = "A Visual Shell Interface to a Database", Journal = SPAE, Year = 1989, Month = Jun, Volume = 19, Number = 6, Pages = "515-528", Abstract = "This paper describes a visual command language for a workstation with a bit-mapped display and a mouse that can be used to create different user interfaces. Primitive interface components can be combined into more complex user interfaces. The user specifies interconnections between these components over which data and commands can be sent by pointing with a mouse. Primitive interface components are described fir creating several deferent database user interfaces. the design and implementation of the software architecture is described, including the primitives for the database interfaces and the communication protocols used by the system. ", Summary = "Kantor", LastUpdate = "On Sun Mar 07 1993 at 15:46 by david.", } @Article{Rozin:Treu:91, Ordinal = "P74", Author = "Roman Rozin and Siegfried Treu", Title = "A Hybrid Implementation of a Process-oriented Programming Language for System Simulation", Journal = SPAE, Year = 1991, Month = Jun, Volume = 21, Number = 6, Pages = "557-579", Abstract = {The implementation of a hiearchical, process-oriented programming language for simulation (HSL) is descibed. it features a hybrid approach, involing the front end of a compiler and the back end of an interpreter. An HSL program is dichotomous in structure. Source atatements from each part are transformed into three-address code for anasbsract machine, and the resulting code is then interpreted. The algorithms and the supportive data structures that effect the translation of HSL are detailed. The host language for HSL is {C++} HSL is machine indepented abd cab be ported to any machine in which the host language is available. Its initail implementation was carried out on an NCR Tower. More recently, it was transferred to an NCR PC916. }, Summary = "{C++} Lexical analyser front-end back-end phases NCR ", LastUpdate = "On Sun Mar 07 1993 at 15:46 by david.", } @Article{Welsh:Broom:Kiong:91, Ordinal = "P77", Author = "Jim Welsh and Brad Broom and Derek Kiong", Title = "A Design Rationale for a Language-based Editor", Journal = SPAE, Year = 1991, Month = Sep, Volume = 21, Number = 9, Pages = "923-948", LastUpdate = "On Sun Mar 07 1993 at 16:54 by david.", } @Article{Feldman:79, Author = "S. Feldman", Title = "Make -- A Program For Maintaining Computer Programs", Journal = SPAE, Year = 1979, Volume = 9, Pages = "255-265", } @Article{Rettig:92, Ordinal = "P83", Author = "Marc Rettig", Title = "Hat Racks for Understanding", Journal = CACM, Year = 1992, Month = Oct, Volume = 35, Number = 10, } @Article{Fuchs:Jackson:70, Author = "E. Fuchs and P. E. Jackson", Title = "Estimates of Distributions of Random Variables for Certain Computer Communications Traffic Models", Journal = CACM, Year = 1970, Month = Dec, Volume = 13, Number = 12, Pages = "752-757", Abstract = { A study of multiaccess computer communications has characterized the distributions underlying an elementary model of the user-computer interactive process. }, Summary = { Model is for a TTY line, with bursts of characters coming from the computer, a think time, then bursts of characters from the user, then a compute time. Results show that the measured data from four different systems pretty much fitted a standard set of distributions: geometric for the discrete events (e.g. number of characters per burst, number of bursts in each direction), and the gamma description the continuous values (e.g. think time). Lognormal distribution also fitted the gamma-fitted data, but hyperexponential did not. }, Review = { Life has changed since this one, of course. Has studies of the amount of I/O traffic flowing to & from (mainly to) terminals in a multiuser system. It does at least address the question of traffic patterns. }, Reviewer = "John Wilkes", } @InProceedings{Caceres:Danzig:Jamin:Mitzel:91, Year = 1991, Author = "Ram\'on C\'aceres and Peter B. Danzig and Sugih Jamin and Danny J. Mitzel", Title = "Characteristics of wide-area TCP/IP conversations", BookTitle = "Proceedings of SIGCOMM'91", Abstract = {(Partial) We characterize wide-area network applications that use the TCP transport protocol. We also describe a new way to model the wide-area traffic generated by a stub network. Our model is based on trace analysis of TCP/IP wide-area internetwork traffic. We collected the TCP/IP packet headers of USC, UCB, and Bellcore networks at the point they connect with their respective regional access networks. Our model characterizes individual TCP conversations by the distributions of: number of bytes transferred, duration, number of packets transferred, packet size, and packet interarrival time. Our trace analysis shows that both interactive and bulk transfer traffic from all sites reflect a large number of short conversations. Similarly, it shows that a very large percentage of traffic is bidirectional, even for bulk transfer. We observed that interactive applications send significantly different amounts of data in each direction of a conversation, and that interarrival times for interactive applications closely follow a constant plus exponential model. half of the conversations are directed to a handful of networks, but the other half are directed to hundreds of networks. many of these observations contradict commonly held beliefs regarding wide-area traffic. }, } @Article{Almes:Holman:87, Ordinal = "P49", Author = "Guy T. Almes and Cara L. Holman", Title = "Edmas: An Object-Oriented, Locally Distributed Mail System", Journal = ITSE, Year = 1987, Volume = "SE-13", Number = 9, Pages = "1001-1009", Month = Sep, Keywords = { Capability, concurrent programming, deadlock avoidance, distributed program, Eden, electronic mail, local area network, object-oriented system, remote procedure call. }, Abstract = { The Eden Project conducts research in the design and implementation of a distributed computing environment for a local area network. A specific goal in designing Eden was to provide users the advantages of both physical distribution \emph{and}\/ logical integration. Edmas, the Eden mail system, provided an early test of Eden as a base for building distributed applications. This paper discusses Edmas, and shows how Eden's advanced functionality aided us in structuring a distributed mail system, particularly in the areas of replying and distribution lists. }, LastUpdate = "On Wed Mar 10 1993 at 18:20 by erezn." } @InProceedings{Jhunjhunuwala:90, Ordinal = "P491", Author = "R. P. Jhunjhunuwala", Title = "Integration of Languages in Computers and Communication System", BookTitle = "Computers and the Arabic Language", Year = 1990, Editor = "Pierre Mackay", Pages = "7--16", Publisher = "Hemisphere", } @Article{Becker:87, Ordinal = "P490", Author = "Joseph D. Becker", Title = "Arabic Word Processing", Journal = CACM, Year = 1987, Volume = 30, Number = 7, Pages = "600--610", Month = Jul, Keywords = "Algorithms, Design, Human Factors, Arabic, Desktop Publishing, Document Creation, Farsi, Hebrew, Middle East, Multiligual, Pashto, Persian, Script, Semitic, Text Encoding, Text Formatting, Text Layout, Typesetting, Typography, Urdu", Summary = "1. He talks about the problems. 2. He gives a partial solution to the Arabic fonts problem: a. The invisible letter b. Ignoring the dots 3. Mixing left-to-right and right-to-left scripts: a. There are charcters whit the directionality property, but not all of the characters do. b. He mentions that there are rules for taking care of the problem (which he doesn't specify any). ", } @Article{Abe:Berry:89, Ordinal = "P48", Author = "Kris K. Abe and Daniel M. Berry", Title = "\textsf{indx} and \textsf{findphrases} {A} system for Generating Indexes for Ditroff Documents", Journal = SPAE, Year = 1989, Month = Jan, Volume = 19, Number = 1, Pages = "1-34", Keywords = "Generating book indexes, Formatting, Typesetting, Device independent Troff", Abstract = { Creating back-of-the-book indexes is a difficult task involving intelligent and clerical processes. Programs have generally not achieved the level of intelligene required to perform the intelligent process of selecting terms for the index. Semi-automatic indexing programs perform the clerical process of preparing entries once the terms have been selected. The programs do not provide assistance in term determination and most require flooding the text with indexing commands. \textsf{indx} differs from other semi-automatic indexing programs maily because it does not require the insetion of indexing commmands into the text to be indexed. The method by which method \textsf{indx} assists in the creation of an index is introduced and compared with the characteristics of other programs. This method includes the use of a program that aids the term determination process. The design, implementation, and application of \textsf{indx} are presented. Areas in which \textsf{indx} may be improved or enhanced are identified. An index of this paper created with \textsf{indx} is included as an example. }, Summary = " The main trick is to use Troff ditroff output.", LastUpdate = "On Sat Mar 13 1993 at 14:59 by Yossi Gil.", } ----------------------------- @Comment{ From: bevan at cs.man.ac.uk (Stephen J Bevan) The following lists the editors that were mentioned. In the cases where a paper on the editor was found, or there was a lot of material, I've defered the description to later in the summary. "ludwig" from Adelaide University. Unfortunately no other information was fortcoming other than it exits! "Final Word" available from Mark of the Unicorn. A moded editor for PCs. "sam" by Rob Pike for UNIX/Plan-9 from AT&T. See bibliography for more information. "vile" a version of MicroEmacs that has been hacked to have a vi-like interface, but with the advantages of multiple buffers ... etc. "me2" a medium-small, portable, extendable Emacs like editor written by Craig Durland. Interesting from the point of view that the editor extensions are written using Mutt2 which is a standalone language which has editing specific commands available as separate modules. "XEDIT/REXX" see later for general description. "REDT" a single mode editor that uses CTRL keys for movement ... etc. "s" by Christopher Fraser. See later. "origami" by Michael Haardt. A folding editor that be programmed to look like a number of different editors e.g. vi / Emacs. On the whole it seems there hasn't been much work done on the main points I was looking for in my original message i.e. client/server based editing and separate languages for extensions (notable exceptions being sam and XEDIT respectively). I only had one reference to a paper, this was the one on "sam" by Rob Pike. From the references there, I traced back to find the others listed in the bibliography at the end of this message. Are there really so few papers on editors and their design? I think sam and XEDIT have some good things to offer, but I think the concepts need to be merged and simplified. As Michael Baldwin pointed out in a previous message, sam replicates some of the functionality of other tools e.g. list of files it is operating on (directory), window manipulation (window manager). Based on that and some other ideas, the following are what I think and editor should be :- * Should just edit a single file If you want to edit multiple files, you have multiple editors. I'll be the first to agree this doesn't work to well on a dumb terminal, but I think it is definitely the way to go with a window system. Facilities such as cut/paste should be available in all windows with a uniform interface (this could be mouse based or convention defined keys). * Should have a small set of editing operations available within it. All other functions should be provided by writing scripts in _any_ external language which is connected by a socket/pipe. This allows people to chose the language they prefer when extending the editor. (Possibly inefficient, but Pike's work with sam on separate display/engine suggests not) * The display should be separate from the editor "engine". This could for example allow allow a terminal based display and window based display to be provided. * The editor would have modes a la vi (note this is coming from a GNU Emacs user! I haven't made this decision lightly). This allows common features such as moving around to be performed without having to press an extra key. For example I don't tend to use forward/backward-word in Emacs much because I have to hit escape to invoke them (no meta key :-( Scrolling backwards is also a pain without a meta key. I eventually gave in and bound it to C-z, but this causes trouble whenever I help anybody else who uses Emacs as I keep backgrounding Emacs every time I try and scroll up :-( I'd especially welcome input on this issue as I've yet to see an editor that copes well with the issue of moving around quickly vs. having to change modes. sam punts on the issue by doing all movement via a mouse. To me this is like changing modes i.e. it takes me longer to reach over for the mouse than it does to type C- at sign ( at sign = space) to change from input->command mode in the editor/mode I mention below. Sorry for the forward reference, I'm too lazy to restructure this message :-) * The key layout should be configurable, but the default would be for "touch typists". This involves putting all common functions on the home row and paying no attention to mnemonics except to choose between two otherwise equal key choices. (If anybody wants an example of this, I have a mode for GNU Emacs that does all the above. If you can make the switch, it really is faster to work with than the standard layout. Note I'm not suggesting anybody does make the switch in Emacs, for example I still use the standard Emacs keys just because they are _standard_. I wrote the mode just to see how it would feel to use an editor like that, and extending Emacs was the quickest way) Comments anyone? The following are the detailed editor descriptions and annotated bibliography :- XEDIT/REX - The following description is by Ian Collier :- XEDIT was originally a line editor for teletype terminals, having a large number of commands. Each command word is a token of eight characters or less, and most commands are verbs in English (this distinguishes the commands from most unix editors, which are either too cryptic (ex, vi, keystrokes in emacs and jove) or too verbose (command names in emacs and jove)) - although many can be abbreviated, and synonyms can be defined. Commands include: input ("input" enters interactive input mode, while "input xyz" just enters the line "xyz" into the file), power ("power input" inputs paragraphs at a time and breaks them into lines), delete, copy, move, split, join, locate, change, and many variations of the set command to customise almost every aspect of the editor. The command set of XEDIT is one of the most powerful I've seen - but even so it is possible to edit a small file without knowing any commands, by using function keys. Each function key may be defined to execute any command, such as help, add, file. XEDIT has a command history stack, so it is possible to repeat earlier commands, or (on a display terminal) to call them up for re-editing. XEDIT is now usually run on display terminals, and displays a portion of the file together with a title line, a command line and any number of optional "reserved" lines which usually contain static text (e.g. a list of function keys). In addition, one or more lines may be reserved for editor messages, or alternatively message lines may be created and destroyed dynamically as required. Each line may optionally be preceded by a prefix area, where prefix commands (such as d for delete, a for add, c for copy, etc) may be typed. The physical screen may be divided into any number of logical screens in any arrangement; each logical screen has the aforementioned features and may be used to display different files, or different portions of the same file. The file may be displayed in characters, in hex, or a mixture of the two, and may be restricted to display a certain range or ranges of columns. The cursor may be moved anywhere on the physical screen, and characters may be typed into or deleted from any input area. The file may be changed or a command may be typed in this way. One line, the current line, is usually coloured brighter than the others: some commands, such as delete, act upon this line, and others, such as locate, move the line in the file. The current line is often in the middle of the logical screen, but may be positioned anywhere. XEDIT may be used as a folding editor in the following way. Each line is assigned a level number, and the editor can be told to display only lines above a certain level. A program exists which uses this feature to display all lines containing a given string. A sample XEDIT screen: .________________________________________________________________________. | BOX EXEC A1 V 132 TRUNC=132 LRECL=132 ALT=36 | | 5 if rc<>0 then exit rc /* exit on error */ | | 6 l=0 /* zero maximum length */ | | 7 s=1e9 /* minimum space on left */ | | 8 do i=1 for queued() /* pull each line */ | | 9 parse pull line.i | | 10 line.i=strip(translate(line.i,,xrange('00'x,'1f'x)||, | | 11 xrange('7f'x)),'T') /* translate all characters outside the | | 12 range 0x20 - 0x7e into spaces. | | 13 Remove trailing spaces. */ | | 14 l1=length(line.i) | | 15 l2=spc(line.i) | | 16 if ll2 then s=l2 /* keep minimum left space */| | 18 end | |1=Hlp 2=Add 3=Bye 4=Top 5=Bot 6=Agn 7=Bak 8=Fwd 9=Scr 10=? 11=SpJ 12=Cur| |====> down 13_ | |________________________________________________________________________| The top line is the title line, the next 14 are lines of the file (actually a rexx program called "BOX EXEC"), next is a reserved line showing the function keys, and the last two lines form the command line, where someone has just typed "down 13" and the cursor is after the 3. In this example, the prefix of each line is filled with the line number: the alternatives are to have the prefix blank or filled with "=" characters. The current line is probably line 12 of the file (as this example contains no colour it is difficult to tell). The REXX language is an interpreted, structured, procedural language which was originally developed for VM/SP (the same system on which XEDIT appears), but has spread to various environments, notably OS/2 and Amiga DOS. It supersedes the EXEC and EXEC2 languages on VM/SP, although some older programs still exist in those languages, and is therefore called the "Restructured Extended Executor" (where the "Executor" is the EXEC language)... although the name REXX came before this acronym. The language was originally called REX, but the extra X was added because that name had already been used. REXX is unique in all the languages I have met (apart from EXEC and EXEC2) in being able to send arbitrary strings as commands to arbitrary environments. Any program may register itself to the operating system as a REXX environment - and this is what XEDIT does when it starts up. This was made possible mainly by the structure of the VM operating system, but REXX now has the same property on other systems too. The "address" command in REXX specifies an environment name to which REXX should send commands. If a REXX program was invoked by XEDIT, then the command "address xedit" allows REXX to execute XEDIT commands. In REXX, any program line which is not an instruction or an assignment is evaluated as a string expression and then passed to the environment. REXX also offers to any program the ability to access the variables of a REXX program. XEDIT makes use of this by supplying the command "extract". For example, a REXX program may find out the number of alterations to the file by issuing the command "extract/alt". This will cause variable alt.1 to be set to the number of alterations (in general, the command "extract/xyz" will set xyz.0 to the number of pieces of information given, and xyz.1 xyz.2 xyz.3 ... to those pieces of information). As an example, here is a simple REXX program which inputs the numbers 1 to 10 into the file, each on a separate line: address xedit do i=1 to 10 "input" i end The third line is a string expression which results in the word "input" followed by a space and then the value of i, and the result of this expression is then passed to XEDIT as a command, e.g. "input 6". } @Article{Arefi:Hughes:Workman:90, Author = "F. Arefi and C. E. Hughes and D. A. Workman", Title = "Automatically Generating Visual Syntax-directed Editors", Journal = CACM, Year = 1990, Month = Mar, } @InProceedings{Gottler:86, Author = {H. Go\"ttler}, Title = "Graph Grammars and Diagram Editing", Editor = "Ehrig H. and Nagel M. and Rozenberg G. and Rosenfeld A.", BookTitle = "the 3rd International Workshop on Graph Grammars and their Application to Computer Science", Publisher = Springer, Series = LNCS, Number = 291, Year = 1986, } @InProceedings{Gottler:89, Author = {H. Go\"ttler}, Title = "Graph Grammars -- A New Paradigm for Implementing Visual Languages", Editor = "C. Ghezzi and J. A. McDermid", BookTitle = "the 2nd European Software Engineering Conference (ESEC'89)", Series = LNCS, Number = 387, Publisher = Springer, Year = 1989, } @InProceedings{Elkassas:91, Author = "Sherif ElKassas", Title = "Visual Languages: their definition and applications in system development", Editor = "A. Nusez", BookTitle = "EUROMICRO 91 -- Hardware and Software Design Automation, 17th Symposium on Microprogramming", Address = "Vienna, Austria", Month = "September 2-5", Days = "2--5", Year = 1991, } @Article{Rochkind:75, Author = "M. J. Rochkind", Title = "The {S}ource {C}ode {C}ontrol {S}ystem", Journal = IEEESE, Year = 1979, Month = Dec, Volume = "SE-1", Number = 4, Pages = "364-370", LastUpdate = "On Thu Mar 18 1993 at 09:45 by david.", } @Article{Tichy:85, Author = "W. Tichy", Title = "{RCS}--A System for Version Control", Journal = SPAE, Year = 1985, Month = Jul, Volume = 15, Number = 7, Pages = "637-654", LastUpdate = "On Thu Mar 18 1993 at 09:24 by david.", } @Article{Walker:Griswold:92, Author = "K. Walker and R. E. Griswold", Title = "An Optimizing Compiler for the Icon Programming Language", Journal = SPAE, Year = 1992, Volume = 22, Number = 8, Pages = "637--657", Month = "Aug", Where = "See DUEL", LastUpdate = "On Sat Mar 20 1993 at 13:05 by david." } @InProceedings{Golan:Hanson:93, Author = "Michael Golan and David R. Hanson", Title = "DUEL -- A Very High-Level Debugging Language", BookTitle = "USENIX", Year = 1993, Pages = "107--117", Month = "Winter", Where = "San Diego, CA January 25-29", LastUpdate = "On Sat Mar 20 1993 at 15:41 by david." } @Article{Buchman:Berry:Gonczarowski:85, Author = "C. Buchman and D. M. Berry and J. Gonczarowski", Title = "{DITROFF/FFORTID}, an adaptation of the {UNIX} {DITROFF} for formatting bi-directional text", Journal = "ACM Transactions on Office Information Systems", Year = 1985, Volume = 3, LastUpdate = "On Sat Mar 20 1993 at 16:12 by david." } @Manual{GNU:Lewis:LaLiberte:90, Author = {Bil Lewis and Dan {LaLiberte} and {the GNU Manual Group}}, Title = {{GNU Emacs Lisp Reference Manual}}, Year = 1990, Month = Dec, Edition = {1.03}, Organization = {Free Software Foundation}, Address = {675 Mass Ave, Cambridge, MA 02139}, Annote = {Manuel de r\'ef\'erence d'Elisp (pour Emacs Lisp), le Lisp sp\'ecialis\'e int\'egr\'e \`a Emacs. Ce Lisp permet d'\'etendre facilement les fonctionnalit\'es d'Emacs, et dispose, outre les primitives Lisp ``classiques'', d'un tr\`es grand nombre de primitives sp\'ecialis\'ees dans la gestion de l'\'edition (insertion, destruction, recherche et remplacement de cha\^\i{}nes et d'expressions r\'eguli\`eres, gestion des modes et fen\^etres d'Emacs, etc\ldots{}), la manipulation de fichiers et la gestion de processus ``attach\'es'' \`a Emacs.}, } @Manual{GNU:Stallman:92, Author = {Richard M. Stallman}, Title = {{GNU Emacs Manual}}, Year = 1992, Month = Sep, Edition = 7, Organization = {Free Software Foundation}, Address = {675 Mass Ave, Cambridge, MA 02139}, Annote = {Emacs est un \'editeur de texte extr\^emement puissant, facilement extensible gr\^ace au Lisp sp\'ecialis\'e qui lui est int\'egr\'e et qui permet de reprogrammer enti\`erement les fonctionnalit\'es de l'\'editeur, ainsi que d'en ajouter de nouvelles. \par Il est possible de trouver un ``mode'' Emacs pour faciliter \`a peu pr\`es n'importe quelle t\^ache d'\'edition, que ce soit de la saisie de texte dans un langage donn\'e ou l'interaction avec un logiciel complexe\ldots{}}, Note = {Emacs Version 18.58}, } @Article{Libes:91, Author = Libes, Title = {{expect: Scripts for Controlling Interactive Processes}}, Journal = {Computing Systems}, Year = 1991, Volume = 4, Number = 2, Pages = {99-125}, Annote = {Le langage expect est bas\'e sur Tcl, auquel il ajoute la possibilit\'e de contr\^oler n'importe quel programme Unix, interactif ou non, sous forme de processus attach\'e au programme expect. \par Comme Tcl, expect peut \^etre inclus dans une application, lui apportant alors de grandes facilit\'es d'extension. \par Cet article pr\'esente le langage en donnant un certain nombre de scripts utilis\'es dans des domaines vari\'es ( administration syst\`eme, s\'ecurit\'e, jeux (!), communication, \ldots{}). }, } @TechReport{Libes:91a, Ordinal = "P37", Author = Libes, Title = "expect - a programmed dialogue with interactive programs (expect User Manual)", Year = 1991, Number = {NIST IR 744-91}, Institution = {National Institute of Standards and Technology}, Address = {Gaithesburg, MD}, Annote = {Le langage expect est bas\'e sur Tcl, auquel il ajoute la possibilit\'e de contr\^oler n'importe quel programme Unix, interactif ou non, sous forme de processus attach\'e au programme expect. \par Comme Tcl, expect peut \^etre inclus dans une application, lui apportant alors de grandes facilit\'es d'extension. }, } @InProceedings{Ousterhout:90, Ordinal = "P36", Author = Ousterhout, Title = "Tcl: An Embeddable Command Language", CrossRef = "USENIX-W90", Year = 1990, Annote = {Tcl est un langage destin\'e \`a \^etre inclus dans des applications afin de leur fournir un langage int\'egr\'e simple et puissant. \par Une fois le langage ajout\'e \`a l'application, celle-ci fournit un certain nombre de points d'entr\'ee vers ses fonctionnalit\'es, qui peuvent alors \^etre utilis\'ees par un simple appel proc\'edural dans les programmes que l'utilisateur \'ecrit en Tcl. \par Tcl a \'et\'e utilis\'e dans beaucoup d'applications, dont un \'editeur de texte enti\`erement reconfigurable et programmable, Point, qui utilise Tcl et son extension pour X, Tk.}, } @Misc{Birchman:Tanimoto:92, Author = {J. J. Birchman and S. L. Tanimoto}, Title = {{An Implementation of the VIVA Visual Language on the NeXT Computer}}, Year = 1992, Annote = { VIVA est un langage de programmation visuelle destin\'e au traitement d'image. Il utilise des ic\^ones pour repr\'esenter les op\'erateurs de traitement d'image, et des arcs orient\'es pour repr\'esenter le flot de donn\'es (images) entre les op\'erateurs. \par Le syst\`eme est organis\'e en deux niveaux accompagn\'es d'un certain nombre de modules. Le niveaux sup\'erieur est la pr\'esentation de l'environnement de programmation \`a l'utilisateur, lui permettant de cr\'eer, modifier, sauver et ex\'ecuter ses programmes. Le niveau inf\'erieur est la structure interne du langage, qui g\`ere la programmation visuelle, le d\'eclenchement des op\'erateurs \`a l'arriv\'ee de nouvelles donn\`ees, et la gestion des ic\^ones (op\'erateurs). \par VIVA propose un mod\`ele synchrone de flot de donn\'ees, dans un environnement ``pleinement vivant'', i.e. refl\'etant \`a tout moment l'\'etat du syst\`eme et les actions de l'utilisateur. \par VIVA a \'et\'e d\'evelopp\'e pour faciliter l'apprentissage des techniques d'imagerie m\'edicale par des m\'edecins sans connaissances informatiques. }, } @Proceedings{USENIX-W90, Title = "Proc. of the Winter 1990 USENIX Conf.", Year = 1990, Month = Jan, BookTitle = "Proc. of the Winter 1990 USENIX Conf.", Address = "Wasington, D.C.", Key = "USENIX-W90", Days = "22-26", } @Article{Raymond:92, Author = "Darell R. Raymond", Title = "Flexible Text Display with Lector", Journal = "IEEE Computer", Year = 1992, Month = Aug, Volume = 25, Number = 8, Pages = "49-60", } @InProceedings{Vlissides:Linton:88, Ordinal = "P114", Author = Vlissides #" and "# Linton, Title = "Applying Object-Oriented Design to Structured Graphics", BookTitle = "Usenix {C++} Conference", Address = "Denver, Colorado", Year = 1988, Month = Oct, LastUpdate = "On Thu Jun 24 1993 at 15:39 by Yossi Gil.", } @Article{Aguilera:Berry:90, Ordinal = "P84", Author = "Christine Aguilera and Daniel M. Berry", Title = "The Use of Repeated Phrase Finder in Requirements Extraction", Journal = "J. Systems Software", Year = 1990, Volume = 13, Pages = "209--230", LastUpdate = "On Thu Jun 24 1993 at 11:07 by Yossi Gil.", } @Article{Davis:Weyuker:88, Ordinal = "P103", Author = "Martin Davis and Elaine Weyuker", Title = "Metric Space-based Test-data Adequacy Criteria", Journal = "The Computer Journal", Year = 1988, Volume = 31, Number = 1, Pages = "17-24", LastUpdate = "On Thu Jun 24 1993 at 13:34 by Yossi Gil.", } @Misc{Denning:McJones, Ordinal = "P108", Author = "Dorothy Denning and Paul McJones", Title = "Clio", Year = 1988, LastUpdate = "On Thu Jun 24 1993 at 15:05 by Yossi Gil.", } @InProceedings{Freeman-Benson:90, Author = Freeman-Benson, Title = "Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming", Pages = "77--88", Crossref = {OOPSLA:90} } @TechReport{Freeman-Benson:91, Ordinal = "P402", Author = Freeman-Benson, Title = "Constraint Imperative Programming", Number = "91-07-02", Year = 1991, Institution = "Department of Computer Science \& Engineering, University of Washington", Address = "Seattle, Wasington 98195, USA" } @InProceedings{Freeman-Benson:Borning:92, Ordinal = "P127", Author = Freeman-Benson #" and "# Borning, Title = "The Design and Implementation of Kaleidoscope`90, A Constraint Imperative Programming Language", Month = Apr, Year = 1992, BookTitle = "ICCL`92", Address = "Oakland, California, USA", LastUpdate = "On Tue Feb 21 13:02:16 IST 1995 by Eran Leshem.", } @InProceedings{Freeman-Benson:Borning:92a, Ordinal = "P109", Author = Freeman-Benson #" and "# Borning, Title = "Integrating Constraints with an Object-Oriented Language", CrossRef = {ECOOP:92}, } @InProceedings{Borning:86, Author = Borning, Title = "Classes Versus Prototypes in Object-Oriented Languages", BookTitle = "ACM/IEEE Fall Joint Computer Conference", Pages = "36-40", Address = "Dallas, TX", Year = 1986 } @InProceedings{Gehani:Jagadish:Shmueli:92, Ordinal = "P101", Author = Gehani #" and H. V. Jagadish and O. Shmueli", Title = "Composite Event Specification in Active Databses: Model \& Implementation", Year = 1992, BookTitle = "Proceedings of the 18th VLDB Conference", Pages = "327-337", Address = "Vancouver, British Columbia, Canada", LastUpdate = "On Thu Jun 24 1993 at 13:34 by Yossi Gil.", } @InProceedings{Harrold:McGregor:Fitzpatrick:92, Ordinal = "P106", Author = Harrold #" and J. D. McGregor and K.J. Fitzpatrick", Title = "Incremental Testing of Object-Oriented Class Structures", BookTitle = "the Fourteenth International Conference on Software Engineering", Year = 1992, Pages = "68--80", } @InProceedings{Hastings:Joyce:92, Ordinal = "P100", Author = "Reed Hastings and Bob Joyce", Title = "Purify: Fast Detection of Memory Leaks and Access Errors", Year = 1992, Month = Jan, BookTitle = "Usenix92", Organization = "Usenix", LastUpdate = "On Thu Jun 24 1993 at 13:34 by Yossi Gil.", } @TechReport{Kale:Krishnan:93, Ordinal = "P111", Author = "Laxmikant V. Kale and Sanjeev Krishnan", Title = "CHARM++ A portable Concurrent Object Oriented System Based on {C++}", Year = 1993, Month = Mar, Number = "UIUCDCS-R-93-1796", Institution = "University of Illinios at Urbana-Champaign", Address = "Urbana", LastUpdate = "On Thu Jun 24 1993 at 15:05 by Yossi Gil.", } @Misc{LPF:91, Ordinal = "P99", Author = "The League for Programming Freedom", Title = "Against User Interface Copyright", Year = 1991, Month = Aug, LastUpdate = "On Thu Jun 24 1993 at 13:34 by Yossi Gil.", } @InProceedings{Leveson:92, Ordinal = "P102", Author = "Nancy G. Leveson", Title = "High-Pressure Steam Engines and Computer Software", Year = 1992, Month = May, BookTitle = "International Conference on Software Engineering (keynote talk)", Address = "Melbourne, Australia", LastUpdate = "On Thu Jun 24 1993 at 13:34 by Yossi Gil.", } @TechReport{Linton:Vlissides:Calder:88, Author = Linton #" and "# Vlissides #" and "# Calder, Title = "InterViews: A {C++} Graphical Interface Toolkit", Year = 1988, Month = Jul, Number = "CSL-TR-88-358", Institution = "Stanford University", Address = "Stanford, CA 94305-2192", } @Misc{Linton:Vlissides:Calder, Ordinal = "P112", Author = Linton #" and "# Vlissides #" and "# Calder, Title = "Composing User Interfaces with InterViews", LastUpdate = "On Thu Jun 24 1993 at 15:34 by Yossi Gil.", } @Misc{InterViews:Talk, Ordinal = {DH029}, Note = {Foils on InterViews}, Author = {unknown}, } @Misc{Manis:91, Ordinal = "P85", Author = "Vince Manis", Title = "{UNIX} For Beginners: The Next Generation", Year = 1991, Month = Sep, HowPublished = "manuscript", LastUpdate = "On Thu Jun 24 1993 at 11:07 by Yossi Gil.", } @Misc{Furlani, Ordinal = "P86", Author = "John L. Furlani", Title = "Modules: Providing a Flexible User Environment", Year = 1991, Month = Jun, HowPublished = "Usenix?", LastUpdate = "On Thu Jun 24 1993 at 11:07 by Yossi Gil.", } @Article{Miller:91, Ordinal = "P87", Author = "William M. Miller", Title = "A Minimal Obejct-Oriented Debugger for {C++}", Journal = "Dr. Dobb's Journal", Year = 1991, Month = Oct, Pages = "16--23", LastUpdate = "On Thu Jun 24 1993 at 11:07 by Yossi Gil.", } @TechReport{Pande:Ryder:93, Ordinal = "P110", Author = "Hermant D. Pande and Barbara G. Ryder", Title = "Static Type Determination for {C++}", Year = 1993, Month = Feb, Number = "LCSR-TR-197", Institution = "Rutgers", Address = "Department of Computer Science, Hill Center for the Mathematical Sciences, Busch Campus, Rutgers University, New Brunswick, New Jersey 08903, USA", LastUpdate = "On Thu Jun 24 1993 at 15:05 by Yossi Gil.", } @TechReport{Pande:Ryder:94, Ordinal = "P376", Author = "H. Pande and B. Ryder", Title = "Static Type Determination for {C}++", Institution = DCS # LCSR # UR, Year = 1994, Month = Mar, Number = "LCSR-TR-197-A", } %%%% there is already a techreport Pande:Ryder:94 @InProceedings{Pande:Ryder:94A, Ordinal = "P478", Author = "Hemant D. Pande and Barbara G. Ryder", Title = "Static Type Determination for {C++}", BookTitle = "USENIX {C++} Conference", Pages = "85--97", Year = 1994, Month = Apr, Days = "11-14", Address = "Cambridge, MA", Organization = "USENIX Association", Publisher = "USENIX Association", } @Misc{Rupp:Mendelson:Makowsky:Pomeranz, Ordinal = "P104", Author = "M. Z. Rupp and A. Mendelson and J. A. Makowsky and I. Pomeranz", Title = "The Dynamic Acceptability Testing Approach for Run-Time Error Detection", LastUpdate = "On Thu Jun 24 1993 at 15:05 by Yossi Gil.", } @Article{Tannebaum:Renesse:85, Ordinal = "P88", Author = "Andrew S. Tannenbaum and Robert van Renesse", Title = "Distributed Operating Systems", Journal = "Computing Surveys", Year = 1985, Month = Dec, Volume = 17, Number = 4, Pages = "419--470", LastUpdate = "On Thu Jun 24 1993 at 11:07 by Yossi Gil.", } @Article{Taivalsaari:96, Ordinal = "P495", Author = "Antero Taivalsaari", Title = "On the Notion of Inheritance", Journal = "Computing Surveys", Year = 1996, Month = Sep, Volume = 28, Number = 3, Pages = "438--477", } @Article{Mashey:91, Ordinal = "P90", Author = "John R. Mashey", Title = "64-bit Computing", Journal = "Byte", Year = 1991, Month = Sep, Pages = "135--142", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @Article{Korel:90, Ordinal = "P89", Author = "Bogdan Korel", Title = "Automated Software Test Data Generation", Journal = IEEESE, Year = 1990, Month = Aug, Volume = 16, Number = 8, Pages = "870-879", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @Article{Vlissides:Linton:90, Ordinal = "P113", Author = Vlissides #" and "# Linton, Title = "Unidraw: A Framework for Building Domain-Specific Graphical Editors", Journal = TIS, Year = 1990, Volume = 8, Number = 3, Pages = "237--268" } @Misc{Vuong:Janseen:Lu:91, Ordinal = "P91", Author = "S. T. Vuong, H. Janssend and Y. Lu", Title = "{TESTGEN}: An Environment for Test Suit Generation and Selection", Year = 1991, Month = Jun, LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @TechReport{Rupp:Makowsky:Pomeranz:92, Ordinal = "P92", Author = "M.Z. Rupp, J.A. Makowsky and I. Pomeranz", Title = "Adequate Test Sets for Loop Testing", Year = 1992, Month = Nov, Number = "CIS Report 9218", Institution = "Technion---Israel Institute of Technology", Address = "Haifa 32000, Israel", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @TechReport{Rabin:Tygar:87, Ordinal = "P93", Author = "Michael O. Rabin and J.D. Tygar", Title = "An Integrated Toolkit for Operating Systems Security", Year = 1987, Month = May, Number = "TR-05-87", Institution = "Harvard University", Address = "Center for Research in Computing Technology, Aiken Computation Laboratory, 33 Oxford Street, Cambridge, Massachusetts 02138, USA", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @InProceedings{Alon:Barak:Manber:87, Ordinal = "P94", Author = "Noga Alon and Amnon Barak and Udi Manber", Title = "On Disseminating Information Reliability Without Broadcasting", Year = 1987, Month = Sep, BookTitle = "The 7th International Conference on Distributed Computing Systems", Pages = "74--81", Address = "Berlin", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @TechReport{Roberts:89, Ordinal = "P95", Author = "Eric S. Roberts", Title = "Implementing Exceptions in C", Year = 1989, Month = Mar, Number = 40, Institution = "digital Systems Research Center", Address = "130 Lytton Avenue, Palo Alto, California 94301, USA", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @Misc{NeXT:91, Title = "NeXT on Campus", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", Key = "NeXT91", } @TechReport{Eulenstein:85, Author = "Michael Eulenstein", Title = "{POCO} Compiler Generator User Manual", Year = 1985, Number = "A2/85", Institution = "Universitat des Saarlandes", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @Misc{Cameron:Cohen:Gopinath:Keese:Ness:Upplauru:Vollaro, Author = "E. J. Cameron and D. M. Cohen and B. Gopinath and W. M. Keese {II} and L. Ness and P. Uppaluru and J.R. Vollaro", Title = "The IC* Model of Parallel Computation and Programming Environment", LastUpdate = "On Thu Jun 24 1993 at 13:04 by Yossi Gil.", } @Misc{Wegner, Ordinal = "P107", Author = "Peter Wegner", Title = "Reasoning and Modeling Paradigms Are Incompatible", LastUpdate = "On Thu Jun 24 1993 at 15:05 by Yossi Gil.", } @Article{Yau:Chen:80, Ordinal = "P105", Author = "Stephen S. Yau and Fu-Chung Chen", Title = "An Approach to Concurrent Control Flow Checking", Journal = IEEESE, Year = 1980, Month = Mar, Volume = "SE-6", Number = 2, Pages = "126-137", LastUpdate = "On Thu Jun 24 1993 at 15:05 by Yossi Gil.", } Since there are too many papers to describe in one posting there is an all of the papers/theses and their locations within the ftp hierarchy. ------------------------------------------------------------------- @String{Arjuna = { Arjuna Project Team The Department of Computing Science, The University, Newcastle upon Tyne. NE1 7RU, UK. Fax: +44 91 222 8232 e-mail: arjuna@newcastle.ac.uk anonymous ftp: arjuna.ncl.ac.uk (128.240.150.1) EMAIL = arjuna@newcastle.ac.uk POST = Computing Laboratory, The University, Newcastle upon Tyne, UK NE1 7RU VOICE = +44 91 222 8067 FAX = +44-91-222-8232 index available in /pub/Arjuna/Index which contains the abstracts from } } @Misc{Arjuna:1, Ordinal = "P117", Title = "Implementing Fault-Tolerant Distributed Applications Using Objects and Multi-Coloured Actions", Author = Shrivastava #" and "# Wheater, Abstract = { This paper develops some control structures suitable for composing fault-tolerant distributed applications using atomic actions (atomic transactions) as building blocks, and then goes on to describe how such structures may be implemented using the concept of multi-coloured actions. We first identify the reasons why other control structures in addition to - by now well known - nested and concurrent atomic actions are desirable and then propose three new structures: serializing actions, glued actions and top-level independent actions. A number of examples are used to illustrate their usefulness. A novel technique, based on the concept of multi-coloured actions, is then presented as a uniform basis for implementing all of the three action structures presented here. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Multi-Coloured-Actions_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Multi-Coloured-Actions_USLetter.ps.Z } } @Misc{Arjuna:2, Ordinal = "P119", Title = "An Overview of the Arjuna Distributed Programming System", Author = Shrivastava #" and "# Dixon #" and "# Parrington, Abstract = { Arjuna is an object-oriented programming system which provides a set of tools for constructing fault-tolerant distributed applications. Arjuna supports nested atomic actions (nested atomic transactions) for structuring programs. Programs invoke operations on objects which are instances of abstract data types. In Arjuna, objects are long lived entities (persistent) and are the main repositories for holding system state. By ensuring that objects are only manipulated within an atomic action, it can be guaranteed that the integrity of objects (and hence the integrity of the system) is maintained in the presence of failures such as node crashes and the loss of network messages. A number of mechanisms are required to achieve fault tolerance and to provide distribution. This paper gives an overview of these mechanisms, which have been implemented in the language {C++} and describes how they support the object model of computation employed by Arjuna. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Overview-Of-Arjuna_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Overview-Of-Arjuna_USLetter.ps.Z }, } @InProceedings{Arjuna:3, Title = "Exploiting Type Inheritance Facilities to Implement Recoverability in Object Based Systems", Author = Dixon #" and "# Shrivastava, Year = 1987, Month = Mar, Address = "Willimasburg", BookTitle = "Proceedings of the Sixth Symposium on Reliability in Distributed Software and Database Systems", Abstract = { One of the key concepts available in many object based programming languages is that of type inheritance, permitting new object types to be refined out of existing object types. This paper discusses how this concept can be exploited for introducing recoverability into a system. A multilevel object based recovery model is employed, permitting recoverable objects to be constructed out of recoverable and unrecoverable objects. Simple examples are used to illustrate the ideas and to demonstrate the suitability of the proposed approach. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Type-Inheritence_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Type-Inheritence_USLetter.ps.Z }, } @Misc{Arjuna:4, Ordinal = "P129", Title = "Implementing Concurrency Control in Reliable Distributed Object-Oriented Systems", Author = Parrington #" and "# Shrivastava, Abstract = { One of the key concepts available in many object-oriented programming languages is that of type-inheritance, which permits new types to be derived from, and inherit the capabilities of, old types. This paper describes how to exploit this property in a very simple fashion to implement object-oriented concurrency control. We show how by using type-inheritance, objects may control their own level of concurrency in a type-specific manner. Simple examples demonstrate the applicability of the approach. The implementation technique described here is being used to develop Arjuna, a fault-tolerant distributed programming system supporting atomic actions. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Concurrency-Control_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Concurrency-Control_USLetter.ps.Z } } @InProceedings{Arjuna:5, Ordinal = "P125", Title = "The Treatment of Persistent Objects in Arjuna", Author = Dixon #" and "# Parrington #" and "# Shrivastava #" and "# Wheater, BookTitle = "The Proceedings of the Third European Conference on Object-Oriented Programming (ECOOP89)", Month = Jul, Year = 1989, Pages = "169-189", Abstract = { Arjuna is a programming system which provides a set of tools for constructing fault-tolerant distributed applications. It supports an object-oriented model of computation in which atomic actions (atomic transactions) control sequences of operations invoked upon persistent objects. Persistent objects outlive the applications that create them and this paper concentrates on the mechanisms within Arjuna that are concerned with their management. The paper describes how these mechanisms are related to the other Arjuna mechanisms required by atomic actions for the distribution, concurrency control, recovery and commitment of persistent objects. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Treatment_of_Persistence_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Treatment_of_Persistence_USLetter.ps.Z } } @InProceedings{Arjuna:6, Ordinal = "P122", Title = "Replicated K-Resilient Objects in Arjuna", Author = Little #" and "# Shrivastava, BookTitle = { Proceedings of the first IEEE Workshop on Replciated Data", }, Address = "Houston, Texas", Month = Nov, Year = 1990, Abstract = { This paper describes the design of an object replication scheme for the Arjuna distributed system. The design supports K-resiliency, where, in the absence of network partitions, K out of a total of K+1 replica failures can be tolerated before an object becomes unavailable. The scheme chosen employs active replication where each and every functioning replica of an object carries out processing. Computations are structured as atomic actions (atomic transactions). The paper presents the details of how object groups are created and terminated, how a group can be invoked and object replicas inserted and removed in a consistent manner in the presence of node failures. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Replicated-Objects_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Replicated-Objects_USLetter.ps.Z } } @InProceedings{Arjuna:7, Ordinal = "P118", Title = "Maintaining Information about Persistent Replicated Objects in a Distributed System", Author = Little #" and "# McCue #" and "# Shrivastava, BookTitle = "Proceedings of the Thirteenth International Conference on Distributed Computing Systems", Address = "Pittsburgh", Month = May, Year = 1993, Pages = "491-498", Abstract = { The paper presents a general model for persistent replicated object management and identifies what meta information about objects needs to be maintained by a naming and binding service to ensure that objects named by application programs are bound to only those object replicas which are in a mutually consistent state. These ideas are developed within the framework of a distributed system in which application programs are composed of atomic actions (atomic transactions) manipulating persistent (long-lived) objects. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/NamingAndBinding_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/NamingAndBinding_USLetter.ps.Z }, } @InProceedings{Arjuna:8, Ordinal = "P121", Title = "Computing Replica Placement in Distributed Systems", Author = McCue #" and "# Little, BookTitle = "Proceedings of the IEEE Second Workshop on Replicated Data", Address = "Monterey, California, USA", Month = Nov, Year = 1992, Pages = "58-61", Abstract = { We have been investigating the design of a replica management system (RMS) which allows a programmer to specify the quality of service required for individual replicated objects in terms of availability and performance. From the quality of service specification, information about the replication protocol to be used, and data about the characteristics of the underlying distributed system, the RMS computes an initial placement and replication level for the replicated object. As machines and communications systems are detected to have failed or recovered, the RMS can be re-invoked to compute an updated mapping of replicas which preserves the desired quality of service. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/ReplicaPlacement_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/ReplicaPlacement_USLetter.ps.Z }, } @TechReport{Arjuna:9, Ordinal = "P128", Title = "Understanding Component Failures and Replication in Distributed Systems.", Author = Shrivastava #" and "# Ezhilchelvan #" and "# Little, Year = 1990, Month = May, Number = "ISA Project Report:UNT/TR1", Institution = "University of Newcastle upon Tyne", Address = { Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, U.K. }, Abstract = { Faults are causes of system failures. The function of a fault-tolerant algorithm of a system is to attempt to tolerate the failures of the system's components so that the system can continue to provide specified system services. The design of such an algorithm for any given system function requires making fault models of components so that the assumed behaviour of faulty components can be stated precisely. We present a fault and failure classification for components using expected value and timeliness as the two properties of a component's response. This classification helps the development of fault models of components and also the design of fault-tolerant algorithms capable of tolerating faults - from relatively restricted ones to increasingly more general ones. We show how the fault classification can be extended to apply to replicated systems. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/ISA-Report_EuropeA4.tar.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/ISA-Report_USLetter.tar.Z }, } @InProceedings{Arjuna:12, Ordinal = "P130", Title = "Programming Distributed Applications Transparently in {C++} Myth or Reality?", Author = Parrington, BookTitle = "USENIX {C++} 90", Year = 1990, Abstract = { Modern computing and networking hardware make the physical interconnection of many machines simple. However, programming an application to take even limited advantage of the interconnection is notoriously difficult due to the complexity of the protocols involved. Furthermore, real world demands insist that such applications need to be programmed in an existing, preferably widely available, language. One approach aimed at easing this difficulty is based upon the concept of transparency. By making the underlying distribution of the system transparent to the programmer it is hoped that the programming task becomes comparable with that of programming centralised applications. This paper describes mechanisms and tools that enable the various facets of transparency can be accomplished for the language {C++} noting what level of transparency can be realistically attained. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Usenix{C++}90.ps.Z } }, @Misc{Arjuna:13, Title = "Reliable Distributed Programming in {C++} The Arjuna Approach", Author = Parrington, Abstract = { Programming in a distributed system is fraught with potential difficulties caused, in part, by the physical distribution of the system itself. By making the distribution of the system transparent it is hoped that the task becomes comparable with that of programming a more traditional centralised system. Object-oriented programming systems are natural starting points for such an attempt due to the inherent modularisation and encapsulation properties they possess. Arjuna is one such system, programmed in {C++} which permits the construction of reliable distributed applications in a relatively transparent manner. Objects in Arjuna can be located anywhere in the distributed system and are accessed as if they were purely local to the application. The use of remote procedure calls to perform the actual accesses is hidden by the use of stub generation techniques which operate on the original {C++} class descriptions thus furthering the illusion of transparency. Reliability is achieved through the provision of traditional atomic transaction mechanisms implemented using only standard language features. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/OpenForum92.ps.Z } } @InProceedings{Arjuna:14, Ordinal = "P120", Title = "Configuring Distributed Applications using Object Decomposition in an Atomic Action Environment", Author = Wheater #" and "# McCue, BookTitle = "Proceedings of the IEE Workshop on Configurable Distributed Systems", Address = "London, U.K.", Month = Mar, Year = 1992, Abstract = { A common technique for constructing reliable distributed applications is to use atomic actions for controlling operations on persistent objects. Atomic actions are used to ensure that inconsistencies in application state do not arise when failures occur or when concurrent activities operate on shared objects. Within such an application, objects provide a convenient unit for distribution and concurrency-control. The properties of atomic actions and objects can be exploited together to configure distributed applications, without affecting the correct functioning of the application. This leads to the possibility of changing the configuration of concurrency and distribution of the distributed application to improve availability and performance. These changes in concurrency and distribution can be achieved by varying the object decomposition within the application. In this paper, we show how some kinds of re-configuration can be achieved without any modification to client applications. The observations are }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Reconfiguration_EuropeA4.ps.Z arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Reconfiguration_USLetter.ps.Z } } @Misc{Arjuna:15, Ordinal = "P123", Title = "Stabilis: A Case Study in Writing Fault-Tolerant Distributed Applications Using Persistent Objects", Author = Buzato #" and "# Calsavara, BookTitle = "Proceedings of the Fifth International Workshop on Persistent Object Systems", Month = Sep, Year = 1992, Address = "San Miniato, Italy", Editor = "A. Albano and R. Morrison", Pages = "354-375", Publisher = "Springer-Verlag", Series = "Worshops in Computing", Abstract = { This paper presents Stabilis, a fault-tolerant object-oriented distributed database management system that has been written as an exercise in persistent programming. Stabilis is implemented on top of Arjuna, an object-oriented programming system that provides the basic mechanisms for fault tolerance and distribution. The computational model used by Arjuna is based upon the concept of using atomic actions to control operations upon persistent objects. Stabilis aims at experimenting with Arjuna to build large applications that use persistent objects. Such experiment has led us to extend some of the mechanisms for persistent programming already existent in Arjuna. Stabilis manages objects that are persistent, recoverable and can be accessed remotely and concurrently in a consistent manner. Objects with such properties have an important function in the overall operation of Stabilis. The database manager can be operated either through a visual database interface or a query interpreter; both translate commands into a series of operations of the database manager. All operations of the database manager make use of atomic actions and locks to structure and control accesses to objects. A flexible use of nested atomic actions permits objects to retrogress to previous consistent states. Stabilis has been developed using {C++} dispensing with the use of any specifically designed language for persistent programming. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Stabilis_EuropeA4.ps arjuna.ncl.ac.uk:/pub/Arjuna/Papers/Stabilis_USLetter.ps } } @Misc{Arjuna:16, Title = "Constructing Reliable Distributed Applications Using Actions And Objects", Author = Wheater, Abstract = { A computation model for distributed systems which has found widespread acceptance is that of atomic actions (atomic transactions) controlling operations on persistent objects. Much current research work is oriented towards the design and implementation of distributed systems supporting such an object and action model. However, little work has been done to investigate the suitability of such a model for building reliable distributed systems. Atomic actions have many properties which are desirable when constructing reliable distributed applications, but these same properties can also prove to be obstructive. This thesis examines the suitability of atomic actions for building reliable distributed applications. Several new structuring techniques are proposed, providing more flexibility than hitherto possible for building a large class of applications. The proposed new structuring techniques are: Serialising Actions, Top-Level Independent Actions, N-Level Independent Actions, Common Actions and Glued Actions. A new generic form of action is also proposed, the Coloured Action, which provides more control over concurrency and recovery than traditional actions. It will be shown that Coloured Actions provide a uniform mechanism for implementing most of the new structuring techniques, and at the same time are no harder to implement than normal actions. Thus this proposal is of practical importance. The suitability of the new structuring techniques will be demonstrated by considering a number of applications. It will be shown that the proposed techniques provide natural tools for composing distributed applications. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Theses/TR-316-6-90_EuropeA4.tar.Z arjuna.ncl.ac.uk:/pub/Arjuna/Theses/TR-316-6-90_USLetter.tar.Z } } @Misc{Arjuna:17, Title = "Object Replication in a Distributed System", Author = Little, Abstract = { A number of techniques have been proposed for the construction of fault-tolerant applications. One of these techniques is to replicate vital system resources so that if one copy fails sufficient copies may still remain operational to allow the application to continue to function. Interactions with replicated resources are inherently more complex than non-replicated interactions, and hence some form of replication transparency is necessary. This may be achieved by employing replica consistency protocols to mask replica failures and maintain consistency of state between functioning replicas. To achieve consistency between replicas it is necessary to ensure that all replicas receive the same set of messages in the same order, despite failures at the senders and receivers. This can be accomplished by making use of order preserving reliable communication protocols. However, we shall show how it can be more efficient to use unordered reliable communication and to impose ordering at the application level, by making use of syntactic knowledge of the application. This thesis develops techniques for replicating objects: in general this is harder than replicating data, as objects (which can contain data) can contain calls on other objects. Handling replicated objects is essentially the same as handling replicated computations, and presents more problems than simply replicating data. We shall use the concept of the object to provide transparent replication to users: a user will interact with only a single object interface which hides the fact that the object is actually replicated. The main aspects of the replication scheme presented in this thesis have been fully implemented and tested. This includes the design and implementation of a replicated object invocation protocol and the algorithms which ensure that (replicated) atomic actions can manipulate replicated objects. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Theses/TR-376-9-91_EuropeA4.tar.Z arjuna.ncl.ac.uk:/pub/Arjuna/Theses/TR-376-9-91_USLetter.tar.Z } } @Misc{Arjuna:18, Title = "Selective Transparency in Distributed Transaction Processing", Author = McCue, Abstract = { Object-oriented programming languages provide a powerful interface for programmers to access the mechanisms necessary for reliable distributed computing. Using inheritance and polymorphism provided by the object model, it is possible to develop a hierarchy of classes to capture the semantics and inter-relationships of various levels of functionality required for distributed transaction processing. Using multiple inheritance, application developers can selectively apply transaction properties to suit the requirements of the application objects. In addition to the specific problems of (distributed) transaction processing in an environment of persistent objects, there is a need for a unified framework, or architecture in which to place this system. To be truly effective, not only the transaction manager, but the entire transaction support environment must be described, designed and implemented in terms of objects. This thesis presents an architecture for reliable distributed processing in which the management of persistence, provision of transaction properties (e.g., concurrency control), and organisation of support services (e.g., RPC) are all gathered into a unified design based on the object model. }, Location = { arjuna.ncl.ac.uk:/pub/Arjuna/Theses/TR-390-8-92_EuropeA4.tar.Z arjuna.ncl.ac.uk:/pub/Arjuna/Theses/TR-390-8-92_USLetter.tar.Z } } @TechReport{Urbana:1, Ordinal = "P131", Title = "Visual Design with {vHDL}", Author = {Eric J. Golin and Michael J. Haney and Eric Hughes and Diana Miller-Karlow and George Tharakan}, Year = 1992, Month = Apr, Number = "UIUCDCS-R-92-1745", Institution = "University of Illinios at Urbana-Champaign", Address = "Urbana", } @TechReport{Urbana:2, Ordinal = "P132", Title = "Object-Oriented Hierarchies Across Protection Boundaries", Author = {David Wayne Dykstra}, Year = 1992, Month = May, Number = "UIUCDCS-R-92-1741", Institution = "University of Illinions at Urbana-Champaign", Address = "Urbana", } @TechReport{Urbana:3, Ordinal = "P133", Title = "Refactoring Object-Oriented Frameworks", Author = {William F. Opdyke}, Year = 1992, Month = Jun, Number = "UIUCDCS-R-92-1759", Institution = "University of Illinions at Urbana-Champaign", Address = "Urbana", } @TechReport{Urbana:4, Ordinal = "P134", Title = "Inheritance of Synchornization Constraints in Concurrent Object-Oriented Programming Languages", Author = {Svend Frolund}, Year = 1992, Month = Apr, Number = "UIUCDCS-R-92-1742", Institution = "University of Illinions at Urbana-Champaign", Address = "Urbana", } @TechReport{Urbana:5, Ordinal = "P135", Title = "Automated Acquisition and Refinement of Reusable Software Design Components", Author = {Hing-Yan Lee}, Year = 1992, Month = May, Number = "UIUCDCS-R-92-1749", Institution = "University of Illinions at Urbana-Champaign", Address = "Urbana", } @MastersThesis{Sample:93, Ordinal = "P136", Title = "Snacc 1.1: A High Performance {ASN.1} to {C/{C++}} Compiler", Author = "Michael Sample", Year = 1993, Month = Feb, Number = "UIUCDCS-R-92-1761", School = "University of British Columbia", Address = { Department of Computer Science, University of British Columbia, 6356 Agricultural Road, Vancouver, British Columbia, Canada, V6T 1Z2 } } @TechReport{Urbana:6, Ordinal = "P137", Title = "A Portable System for Data Sonification", Author = "Tara Maja Madhysatha", Year = 1992, Month = Jul, Number = "UIUCDCS-R-92-1761", Institution = "University of Illinions at Urbana-Champaign", Address = "Urbana", } @TechReport{Ellis:Detleft, Ordinal = "P139", Author = {John R. Ellis and David L. Detlefs}, Title = "Safe, Efficient Garbage Collection for {C}++", Year = 1993, Month = Jun, Number = 102, Institution = DEC-SRC, } @Misc{RTTI, Ordinal = "P141", Author = Lea, Title = "Run-Time Type Information and Class Design", } @UnPublished{Cline:Lea:89, Author = Cline #" and "# Lea, Title = "Clearer, safer, and faster {C}++ through annotations", Note = "Unpublished manuscript", Year = 1989, } @Misc{Gnu, Ordinal = "P142", Author = Lea, Title = "The Gnu {C++} Library", } @Misc{Leda, Ordinal = "P143", Author = "Stefan N{\"{a}}her", Title = "LEDA User Manual", } @Misc{Leda:Library, Ordinal = {DH031}, Author = "Kurt Mehlhorn and Stefan N{\"{a}}her", Title = "{LEDA} A Library of Efficient Data Types and Algorithm", } @Misc{Lea:Containers, Ordinal = "P144", Author = Lea, Title = "Some Storage Managemnet Techniques for Container Classes", Note = "Manuscript", Year = 1992, } @Misc{Vlissides:91, Author = "John Vlissides", Title = "Unidraw Tutorial I: A Simple Drawing Editor", Year = 1991, Ordinal = "P115", LastUpdate = "On Thu Jun 24 1993 at 15:44 by Yossi Gil." } @Misc{Bengtsson:92, Ordinal = "P145", Author = "Johan Bengtsson", Title = "{C++}, Without Exceptions", Year = 1992, Month = May, HowPublished = "Manuscript", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @Misc{Formal:Panel:91, Ordinal = "P146", Author = Lea # "and others", Title = "Formal Techniques for OO Software Development {PANEL}", Year = 1991, Month = Jun, HowPublished = "manuscript", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @Misc{Champeaux:Lea:Faure, Ordinal = "P147", Author = "Dennis de Chpeaux and Doug Lea and Penelope Faure", Title = "The Process of Object-Oriented Design", Year = "?", Month = "?", HowPublished = "manusciprt", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @TechReport{Chien:Karamchei:Plevyak:93, Ordinal = "P149", Author = "Andrew A. Chien and Vijay Karamcheti and John Plevyak", Title = "The {Concert} System -- Compiler and Runtime Support for Efficient, Fine-Grained Concurrent Object-Oriented Programs", Year = 1993, Month = Jun, Number = "UIUCDCS-R-93-1815", Institution = "University of Illinios at Urbana-Champaign", Address = "Urbana", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @UnPublished{Lea:Champeaux, Ordinal = "P151", Author = "Doug Lea and Dennis de Champeaux", Title = "Object Oriented Software Reuse Technical Opportunities", Note = "manuscript", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @InProceedings{Selic:Gullekso:McGee:Engelberg:92, Ordinal = "P151", Author = "Bran Selic and Garth Gullekso and Jim McGee and Ian Engelberg", Title = "{ROOM}: An Object-Oriented Methodology for Developing Real-Time Systems", Year = 1992, Month = Jul, BookTitle = "CASE'92 Fifth International Workshop on Computer-Aided Software Engineering", Address = "Montreal, Quebec, Canada", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @UnPublished{Lea:Customization, Ordinal = "P148", Author = Lea, Title = "Customization in {C++}", Year = "?", Month = "?", Note = "manuscript", LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @TechReport{Neufeld:Goldberg:Brachman:91, Ordinal = "P152", Author = "Gerald W. Neufeld and Murray W. Goldberg and Barry J. Brachman", Title = "The {UBC OSI} Distributed Application Programming Environment", Year = 1991, Month = Jan, Number = "90-37", Institution = UBC, LastUpdate = "On Sat Dec 18 1993 at 16:31 by Yossi Gil.", } @TechReport{Morell:89, Author = "Larry J. Morell", Title = "Unit Testing and Analysis", Month = Apr, Year = 1989, Abstract = { This module examines the techniques, assessment, and management of unit testing and analysis. Testing and analysis strategies are categorized according to whether their coverage goal is functional, structural, error-oriented, or a combination of these. Mastery of the material in this module allows the software engineer to define, conduct, and evaluate unit tests and analyses and to assess new techniques proposed in the literature. }, Institution = SEI, Address = CMU, Number = "SEI-CM-9-1.2, ADA236119", } @Article{Frankl:Weyuker:88, Author = "P. G. Frankl and E. G. Weyuker", Title = "An Applicable Family of Data Flow Testing Criteria", Journal = "IEEE Transactions on Software Engineering", Year = 1988, Month = Oct, Volume = "SE-14", Number = 10, Pages = "1483-1498", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @InProceedings{Harrold:Kolte:92, Author = "M. J. Harrold and P. Kolte", Title = "Combat: A Compiler Based Data Flow Testing System", Year = 1992, Month = Oct, BookTitle = "Proceedings of Pacific Northwest Quality Assurance", Pages = "311-323", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @Article{Harrold:Soffa:91, Author = "M. J. Harrold and M. L. Soffa", Title = "Selecting Data for Integration Testing", Journal = "IEEE Software, special issue on testing and debugging", Year = 1991, Month = Mar, Pages = "58-65", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @InCollection{Hoare:72, Author = "C. A. R. Hoare", Title = "Notes on Data Structuring", Year = 1972, BookTitle = "Structured Programming", Pages = "83-174", Editor = "O. -J. Dahl and Dijkstra, E. W. and Hoare, C. A. R.", Publisher = "Academic Press", Address = "London", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @InProceedings{Nygaard:Dahl:81, Author = {K. Nygaard and O-J Dahl}, Title = {Simula 1967}, Booktitle = {History of Programming Languages}, Editor = {Richard L. Wexelblat}, Year = 1981, Publisher = "ACM" } @InProceedings{Linnenkugel:Mullerburg:90, Author = "U. Linnenkugel and M. Mullerburg", Title = "Test Data Selection Criteria for Integration Testing", Year = 1990, Month = Apr, BookTitle = "Proceedings of the 1990 Conference on Systems Integration", Pages = "45-58", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @InCollection{McCarthy:63, Author = "J. McCarthy", Title = "A Basis for a Mathematical Theory of Computation", Year = 1965, BookTitle = "Computer Programming and Formal Systems", Pages = "33-70", Editor = "Braffort, P. and Hirschberg D.", Publisher = "Norh-Holland", Address = "Amsterdam", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @InProceedings{Ntafos:84, Author = "S. C. Ntafos", Title = "An Evaluation fo Required Element Testing Strategies", Year = 1984, Month = Mar, BookTitle = "Proceedings of the 7th International Conference on Software Engineering", Pages = "250-256", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @Article{Weyuker:86, Author = "E. J. Weuker", Title = "Axiomatizating Software Test Data Adequacy", Journal = IEEESE, Year = 1986, Month = Dec, Volume = "SE-12", Number = 12, Pages = "1128-1138", LastUpdate = "On Sun Dec 19 1993 at 03:03 by Yossi Gil.", } @Article{Cardelli:Wegner:85, Author = "Luca Cardelli and Peter Wegner", Title = "On Understanding Types, Data Abstractions, and Polymorphism", Journal = ACMCS, Year = 1985, Volume = 17, Number = 4, MONTH = Dec, Pages = "471--522", LastUpdate = "On Sun Dec 19 1993 at 03:35 by Yossi Gil.", } @Article{Hoare:75, Author = "Hoare, C. A. R.", Title = "Recursive Data Structures", Journal = "International Journal of Computer and Information Sciences", Year = 1975, Volume = 4, Pages = "105-132", LastUpdate = "On Sun Dec 19 1993 at 03:35 by Yossi Gil.", } @Article{Brown:Hershberger:92, Author = "Marc H. Brown and John Hershberger", Title = {Color and Sound in Algorithm Animation}, Journal = Computer, Year = 1992, Month = Dec, Number = 12, Volume = 25, Pages = "52--63", } @Misc{CLOS, Author = "D. G. Bobrow and L. G. DeMichiel and R. P. Gabriel and S. E. Keene and G. Kiczales and D. A. Moon", Title = "Common {Lisp} Object System Specification", HowPublished = "X3J13 Document 88-002R", Month = Jun, Year = 1988, } @Article{Lazzerini:89, Author="B. Lazzerini and L. Lopriore", Title="Abstraction mechanisms for event control in program debugging", Journal="IEEE Transactions on Software Engineering", Year=1989, Volume=15, Number=7, Pages="890-901", Month="July", Annote="real time language" } @Article{Fenton:Melton:90, Ordinal = "P153", Author = "Norman Fenton and Austin Melton", Title = "Deriving Structurally Based Software Measures", Journal = "Journal of Systems and Software", Year = 1990, Month = Dec, Pages = "177-187" } @Article{Caldiera:Basili:91, Author = "Gianluigi Caldiera and Victor R. Basili", Title = "Identifying and Qualifying Reusable Software Components", Journal = "IEEE Computer", Year = 1991, Month = Feb, Pages = "61-70" } @InProceedings{Chidamber:Kemerer:91, Ordinal = "P422", Author = "Shyam R. Chidamber and Chris F. Kemerer", Crossref = {OOPSLA:91}, Pages = "197--211", Title = "Towards a Metrics Suite for Object-Oriented Design", Year = 1991, } @Article{Barnes:Swim:93, Author = "G. Michael Barnes and Bradley R. Swim", Title = "Inheriting Software Metrics", Journal = JOOP, Year = 1993, Month = "November-December", Pages = "27-34", } @Article{Page-Jones:92, Author = "Meilir Page-Jones", Title = "Comparing Techniques by Means of Encapsulationd and Connascence", Journal = CACM, Year = 1992, Volume = 35, Number = 9, Month = Sep, Pages = "147-151" } @Article{Kearney:al:86, Author = "Joseph K. Kearney and Robert L. Sedlmeyer and William B. Thompson and Michael A. Gray and Michael A. Adler", Title = "Software Complexity Measurement", Journal = CACM, Year = 1986, Volume = 29, Number = 11, Month = Nov, Pages = "1044-1050" } @Article{Li:Cheung:87, Author = "H. F. Li and W. K. Cheung", Title = "An Empirical Study of Software Metrics", Journal = ITSE, Year = 1987, Volume = 13, Number = 6, Month = Jun, Pages = "697-708" } @Article{McCabe:76, Author = "Thomas J. McCabe", Title = "A Complexity Measure", Journal = ITSE, Year = 1976, Volume = 2, Number = 4, Month = Dec, Pages = "308-320" } @Article{Davis:LeBlanc:88, Author = "John Stephen Davis and Richard J. LeBlanc", Title = "A Study of the Applicability of Complexity Measures", Journal = ITSE, Year = 1988, Volume = 14, Number = 9, Month = Sep, Pages = "1366-1372" } @Article{Curtis:al:79, Author = "Bill Curtis and Sylvia B. Sheppard and Phil Milliman and M. A. Borst and Tom Love", Title = "Measuring the Psychological Complexity of Software Maintenance Tasks with the Halstead and McCabe Metrics", Journal = ITSE, Year = 1979, Volume = 5, Number = 2, Month = Mar, Pages = "96-104" } @Article{Henry:Kafura:81, Author = "Sallie Henry and Dennis Kafura", Title = "Software Structure Metrics Based on Information Flow", Journal = ITSE, Year = 1981, Volume = 7, Number = 5, Month = Sep, Pages = "510-518" } @Article{Wild:91, Author = "Frederick H. Wild", Title = "Managing Class Coupling", Journal = "UNIX Review", Year = 1991, Volume = 9, Number = 10, Pages = "44-47" } @String{Berard = "Berard, Edward"}, @String{Dorman = "Dorman, Misha"}, @String{Thielen = "Thielen, David"}, @InProceedings{Overbeck:93, Title = "Testing Object-Oriented Software -- State of the Art and Research Directions", Author = Overbeck, Email = "overbeck@vexpert.dbai.tuwien.ac.at", BookTitle = "Proceedings of the First European International Conference on Software Testing, Analysis \& Review (EuroSTAR'93)", Institution = { Institute for Information Systems, Vienna technical University, Paniglgasse 16, A-1040 Vienna, Austria. }, Days = "25--28", Month = Oct, Year = 1993, Pages = "245--270", Keywords = "object-oriented software, object-oriented unit testing object-oriented integration testing, survey", Location = "mira.dbai.tuwien.ac.at:/pub/overbeck/survey.ps" } @TechReport{Turner:Robson:13/92, Title = "The Testing of Object-Oriented Programs", Author = Turner #" and "# Robson, Email = "C.D.Turner@durham.ac.uk", BookTitle = "Technical Report: TR-13/92", Institution = Durham, Dyas = 2, Month = Feb, Year = 1993, Location = "vega.dur.ac.uk:/pub/papers/toop.ps.Z" } @Article{Graham:Drakeford:Turner:93, Title = "The Verefication, Validation and Testing of Object Oriented Systems", Author = Graham #" and "# Drakeford #" and "# Turner, journal = "BT technology", Year = 1993, Volume = 11, Number = 3, Email = "jgraham@axion.bt.co.uk" } @TechReport{Turner:Robson:2/93, Title = "Guidance for the Testing of Object-Oriented Programs", Author = Turner #" and "# Robson, Email = "C.D.Turner@durham.ac.uk", BookTitle = "Technical Report: TR 2/93", Institution = Durham, Days = 16, Month = Apr, Year = 1993, Location = "vega.dur.ac.uk:/pub/papers/guide.ps.Z" } @TechReport{Turner:Robson:1/93, Title = "State-Based Testing and Inheritance", Author = Turner #" and "# Robson, Email = "C.D.Turner@durham.ac.uk", BookTitle = "Technical Report: TR- 1/93", Institution = Durham, Days = 16, Month = Apr, Year = 1993, Location = "vega.dur.ac.uk:/pub/papers/toopinht.ps.Z" } @InProceedings{Hoffman:Strooper:1093, Title = "A Case Study In Class Testing", Author = Hoffman #" and "# Strooper, Email = { dhoffman@csr.uvic.ca, pstoop@cs.ug.oz.au }, Adress = { Daniel Hoffman, Department of Computer Science, University of Victoria, P.O.B 3055, Victoria, B.C., Canada V8W 3P6. Paul Strooper, Department of Computer Science, University of Queensland, St. Lucia, Qld 4072, Australia. }, BookTitle = "Proceedings of CASCON'93, IBM Toronto Laboratory", Month = Oct, Year = 1993, } @InProceedings{Hoffman:89, Title = "Hardware Testing and Software {IC}s", Author = Hoffman, Email = "dhoffman@csr.uvic.ca", AuthorAdress = { Daniel Hoffman, Department of Computer Science, University of Victoria, P.O.B 1700, Victoria, B.C., Canada V8W 2Y2. }, Booktitle = "Proceedings of Pacific NW Software Quality Conference", Address = "Portland, Oregon", Month = Sep, Year = 1993, } @InProceedings{Hoffman:89a, Title = "A CASE Study In Module Testing", Author = Hoffman, Email = { dhoffman@csr.uvic.ca }, AuthorAdress = { Daniel Hoffman, Department of Computer Science, University of Victoria, P.O.B 1700, Victoria, B.C., Canada V8W 2Y2. }, Booktitle = "Proceedings of the Conference on Software Maintenance", Month = Oct, Year = 1989, Pages = "100--105", Organization = "IEEE computer Society" } @InProceedings{Hoffman:Strooper:09/93, Title = "Graph-based Class Testing", Author = Hoffman #" and "# Strooper, Email = { dhoffman@csr.uvic.ca, pstoop@cs.ug.oz.au }, Adress = { Daniel Hoffman, Department of Computer Science, University of Victoria, P.O.B 3055, Victoria, B.C., Canada V8W 3P6. Paul Strooper, Department of Computer Science, University of Queensland, St. Lucia, Qld 4072, Australia. }, Booktitle = "Proceedings of the Australian Software Engineering Conference, Sep. 93, Christ Chunc, New Zealand", Month = Sep, Year = 1993, } @Article{Hoffman:Strooper:91, Title = "Automated Module Testing in Prolog", Author = Hoffman, Email = { dhoffman@csr.uvic.ca, pstoop@cs.ug.oz.au }, Adress = { Daniel Hoffman, Department of Computer Science, University of Victoria, P.O.B 3055, Victoria, B.C., Canada V8W 3P6. Paul Strooper, Department of Computer Science, University of Queensland, St. Lucia, Qld 4072, Australia. }, Journal = ITSE, Month = Sep, Year = 1991, Volume = 17, Number = 9 } @Article{Smith:Robson:92, Title = "A Framework for Testing Object-Oriented Programs", Author = Smith #" and "# Robson, Journal = JOOP, Month = Jun, Year = 1992, Volume = 5, Number = 3, Pages = "45--53", } @Misc{Smith:Robson:91, Title = "A Framework for Testing Object-Oriented Programs", Author = Smith #" and "# Robson, Month = Apr, Year = 1991, Location = "vega.dur.ac.uk:/pub/papers/foot.dvi" } @Article{Purchase:Winder, Title = "Debugging tools for objec-oriented programming", Author = Purchase #" and "# Winder, Adress = { Department of Computer Science, University College London, Gover St., London WC1E 6BT }, Journal = JOOP, Month = Jun, Year = 1991, Volume = 4, Number = 3, Pages = "10--27", } @Misc{Lakos:92, Comment = "Presentation", Title = "Designing-in Quality", Author = Lakos, Email = "john_lakos@warren.mentorg.com", Organization = "Mentor Graphics Corporation, IC Group Engineering", Days = 22, Month = Sep, Year = 1992 } @InProceedings{Lakos:93, Title = "Designing-In Quality in Large {C++} Projects", Author = Lakos, Organization = "Mentor Graphics Corporation, IC Group Engineering", BookTitle = "The 10th Annual Pacific Northwest Software Quality Conference, Portland, Oregon", Days = 21, Month = Oct, Year = 1993 } @InProceedings{Murphy:Wong, Title = "Toward a Testing Mrthodology for Objec-Oriented Systems", Author = Murphy #" and "# Wong, Email = "townsend@mprgate.mpr.ca, murphy@mprgate.mpr.ca, wong@mprgate.mpr.ca", Crossref = {OOPSLA:92} } @Manual{ACE:MPR, Title = "Automated Class Exerciser (ACE) User's Guide", BookTitle = "TR92-0625", Author = Wong, Organization = MPR, Year = 1992, Email = "townsend@mprgate.mpr.ca" } @Misc{Marick, Title = "TESTING SOFTWARE THAT REUSES[1]", Note = "Draft. See VistaSim", Author = Marick, Organization = "Testing Foundations, Champaign, Illonois", Year = 1992, Email = "info@testing.com" } @Manual{VistaSim:manual, Title = "VistaSim User's Guide", Organization = "Veritas Software", Email = "vsales@veritas.com", Note = "Tell them you heard about them from Marick", } @InProceedings{Cheatham:Mellinger, Title = "Testing Object-Oriented Software Systems", Author = Cheatham #" and "# Mellinger, BookTitle = "Proceedings of the ACM Annual Computer Science Conf.", Organization = "ACM, INC., New York, NY", Year = 1990, Pages = "161--165" } @InProceedings{Doong:Frankl:91, Title = "Case Studies on Testing Object-Oriented Programs", Author = Doong #" and "# frankl, Email = "pfrankl@poly.edu, phyllis@morph.poly,edu", BookTitle = "Proceedings of the 4th Symposium on Testing, Analysis and Verification (TAV4)", Year = 1991, Organization = "ACM, INC., New York, NY", Pages = "165--177" } @InProceedings{Dorman:93, Title = "Unit Testing of {C++} Objects", Author = Dorman, Organization = IPLeh, Email = "mishad@iplbath.demon.co.uk", BookTitle = "Proceedings of the First European International Conference on Software Testing, Analysis \& Review (EuroSTAR'93)", Publisher = EuroSTAR, Year = 1993, Month = Oct, Days = "25--28", Pages = "71--101", } @Article{Fiedler, Title = "Object-Oriented Unit Testing", Journal = "Hewlett-Packard Journal", Author = Fiedler, Month = Apr, Year = 1989, Pages = "69--74" } @InProceedings{Firesmith:93, Author = Firesmith, Title = "Testing Object-Oriented Software", BookTitle = "Proceedings of 11th. TOOLS USA Conference", Month = Aug, Year = 1993, Pages = "407--426" } @InProceedings{Doong:Frankl:90, Title = "Tools for Testing Object-Oriented Programs", Author = Doong #" and "# frankl, Email = {pfrankl@poly.edu, phyllis@morph.poly,edu }, Booktitle = "Proceedings of the 8th Pacific NW Software Quality Conference", Year = 1990, Pages = "309--324", } @Article{Leavens:91, Author = Leavens, Title = "Modular specification and Verification of Object-Oriented Programs", Journal = "IEEE Software", Month = Jul, Year = 1991, Pages = "72--80" } @TechReport{Murphy:Wong:TR92-0656, Title = "Object-Oriented Systems Testing Methodology: An Overview", Author = Murphy #" and "# Wong, Institution = MPR, Adress = MPR, Year = 1992, Month = Oct, } @Article{Perry:Kaiser, Author = Perry #" and "# Kaiser, Title = "Adequate Testing and Object-Oriented Programming", Journal = JOOP, Volume = 2, Number = 5, Pages = "13--19", Month = Jan, Year = 1990 } @InProceedings{Smith:Robson:90, Title = "Object-Oriented Programming -- the problems of Validation", Author = Smith #" and "# Robson, Booktitle = "Proceedings of the 6th International Conference on Software Maintenance", Year = 1990, Publiser = "IEEE Computer Society Press", Pages = "272--281" } @TechReport{Turner:Robson:14/92, Title = "A Suite of Tools for the State-Based Testing of Object-Oriented Programs", Author = Turner #" and "# Robson, Email = "C.D.Turner@durham.ac.uk", BookTitle = "Technical Report: TR-14/92", Institution = Durham, Year = 1992, Location = "vega.dur.ac.uk:/pub/papers/tools.ps.Z" } @Manual{Cantata:tool, Title = "Cantata", Organization = IPLeh } @Manual{CenterLine:manual, Title = "CenterLine", Organization = "TestCenter", Note = "Coverage testing, memory debugging, regression testing" } @Manual{tcat++:manual, Title = "tcat++", Organization = { Software Research Inc., 625 Third St., San Francisco, CA 94107-1998, 1-415-957-1441 }, Email = "info@soft.com", Note = "Coverage tool. An extension of SRI's tcat" } @Manual{MetaC:manual, Title = "MetaC", Organization = { Quality Assured Software Engineering, 938 Willowleaf Dr., Suite 2806, San Jose, CA 95128, 1-408-298-3824 }, Note = "Coverage Tool" } @Manual{ETET:manual, Title = "Extended Test Enviroment Toolkit", Author = "volenteers", Email = "etet_support@uel.co.uk", Location = "bright.ecs.soton.ac.uk:/pub/etet/etet1.10.1.tar.Z", Note = "{C++} test harness for thr automated testing of {C++}, C and Perl" } @Article{Odell:92a, Author = "James J. Odell", Title = "Dynamic and multiple classification", Journal = JOOP, Year = 1992, Month = Jan, Pages = "45-48" } @Article{Odell:92b, Author = "James J. Odell", Title = "Managing Object Complexity, Part {II}: Composition", Journal = JOOP, Year = 1992, Month = Oct, Pages = "17-20" } @Article{Odell:94, Author = "James J. Odell", Title = "Six different kinds of composition", Journal = JOOP, Year = 1994, Month = Jan, Pages = "10-15" } @Article{Johnson:Zweig:91, Author = "Ralph E. Johnson and Jonathan M. Zweig", Title = "Delegation in {C++}", Journal = JOOP, Year = 1991, Month = "November/December", Pages = "31-34" } @Article{Davis:92, Author = "Stephen R. Davis", Title = "{C++} Objects That Change Their Types", Journal = JOOP, Year = 1992, Month = "July/August", Pages = "27-32" } @Article{Ibrahim:Bejcek:Cummis:91, Author = "Mamdouh H. Ibrahim and William E. Bejcek and Fred A. Cummis", Title = "Instance Specialization Without Delegation", Journal = JOOP, Year = 1991, Month = Jun, Pages = "53-56" } @Article{McGregor:Korson:93, Author = "John D. McGregor and Tim Korson", Title = "Supporting Dimensions of Classification in Object-Oriented Design", Journal = JOOP, Year = 1993, Month = Feb, Pages = "25-30" } @Article{Rumbaugh:93, Author = "James Rumbaugh", Title = "Disinherited! {E}xamples of misuse of inheritance", Journal = JOOP, Year = 1993, Month = Feb, Pages = "22-24" } @Article{Krasner:Pope:88, Author = {Glenn E. Krasner and Stephen T. Pope}, Title = {A Cookbook for Using the Model View Controller User Interface Paradigm in {\Smalltalk}-80}, Journal = JOOP, Volume = 1, Number = 3, Year = 1988, Month = Aug#"-"#Sep, Pages = {26-49}, } @Article{Winston:Chaffin:Herrmann:87, Author = "Morton E. Winston and Roger Chaffin and Douglas Herrmann", Title = "A Taxonomy of Part-Whole relations", Journal = "Cognitive Science", Year = 1987, Volume = 11, Pages = "417-444", } @InProceedings{Johnson:Opdyke:93, Title = "Refactoring and Aggregation", Author = "Ralph E. Johnson and William F. Opdike", Year = 1993, Pages = "264-278", Crossref = {LNCS:742:93}, } @InProceedings{Pintado:93, Title = "Gluons: a Support for Software Component Cooperation", Author = "Xavier Pintado", Year = 1993, Pages = "43-60", Crossref = {LNCS:742:93}, } @InProceedings{Lieberherr:Xiao:93a, Title = "Minimizing Dependencies on Class Structure with Adaptative Programs", Author = "Karl J. Lieberherr and Cun Xiao", Year = 1993, Pages = "424-441", Crossref = {LNCS:742:93}, } @InProceedings{Hartmann:Jungclaus:Saake:92, Title = "Aggregation in a Behavior Oriented Object Model", Author = "Thorsten Hartmann and Ralf Jungclaus and Gunter Saake", CrossRef = {ECOOP:92}, Pages = "57-77", } @InProceedings{Gamma:Helm:Johnson:Vlissides:93, LastUpdate = "On Oct 02 1994 at 11:55 by david.", WWW = {ftp://st.cs.uiuc.edu/pub/patterns/papers/ecoop93-patterns.ps}, Author = {Erich Gamma and Richard Helm and Ralph Johnson and John Vlissides}, Crossref = {ECOOP:93}, Title = {Design Patterns: Abstraction and Reuse of Object-Oriented Design}, Year = 1993, Pages = "406--431", } @InProceedings{Linton:92, Author = "Mark A. Linton", Title = "Encapsulating a {C++} Library", BookTitle = "Usenix {C++} Technical Conference", Month = Aug, Year = 1992, Place = "Portland, Oregon", Pages = "57-66" } @Article{Halbert:OBrien:87, Author = "Daniel C. Halbert and Patrick D. O'Brien", Title = "Using Types and Inheritance in Object-Oriented Programming", Journal = "IEEE Software", Volume = 4, Number = 5, Year = 1987, Month = Sep, Pages = "71-79" } @Article{Wegner:84, Author = "Peter Wegner", Title = "Capital-Intensive Software Technology", Journal = "IEEE Software", Year = 1984, Volume = 1, Number = 3, } @Article{Meyer:87, Author = "Bertrand Meyer", Title = "Reusability: The Case for Object-Oriented Design", Journal = "IEEE Software", Year = 1987, Volume = 4, Number = 2, Pages = "50-64", Month = Mar, } @Article{Biggerstaff:87, Author = "Ted Biggerstaff and Charles Richter", Title = "Reusability Framework, Assessment, and Directions", Journal = "IEEE Software", Year = 1987, Volume = 4, Number = 2, Pages = "41-49", Month = Mar, } @Article{Dori:94, Author = "Dov Dori and Erez Tatcher", Title = "Selective Multiple Inheritance", Journal = "IEEE Software", Year = 1994, Month = May, Pages = "77-85", } @Article{Bloom:Day:93, Author = "Toby Bloom and Mark Day", Title = "Reconfiguration and module replacement in Argus: theory and practice", Journal = "Software Engineering Journal", Year = 1993, Month = Mar, Pages = "102-108", } @Article{Weide:91, Author = "Bruce W. Weide and William F. Ogden and Stuart H. Zweben", Title = "Reusable Software Components", Journal = "Advances in Computers", Year = 1991, Volume = 33, Pages = "1-65", } @InProceedings{Sitaraman:92, Title = "A Class of Programming Language Mechanisms to Facilitate Multiple Implementations of the Same Specification", Author = "Murali Sitaraman", BookTitle = "International Conference on Computer Languages", Month = Apr, Year = 1992, Pages = "272-281", } @InProceedings{Horn:87, Title = "Conformance, Genericity, Inheritance and Enhancement", Author = "Chris Horn", BookTitle = "ECOOP", Year = 1987, Pages = "223-233", } @Article{Wegner:86, Author = "Peter Wegner", Title = "Classification in Object-Oriented Systems", Journal = "SIGPLAN Notices", Volume = 21, Number = 10, Year = 1986, Month = Oct, Pages = "173-182" } @Article{Smith:Smith:77, Author = "John Miles Smith and Diane C. P. Smith", Title = "Database Abstractions: Aggregation", Journal = CACM, Volume = 20, Number = 6, Year = 1977, Month = Jun, Pages = "405-413" } @Techreport{Doong:Frankl:93, Title = "The {ASTOOT} Approach to Testing Object-Oriented Programs", Author = Doong #" and "# frankl, Email = "pfrankl@poly.edu, phyllis@morph.poly,edu", Year = 1993, Institution = "Department of Mathematics, Polytechnic University", Address = "Brooklyn, NY", Version = 2, Note = "PUCS-104-93" } @Article{Frost:93, Ordinal = {DH013}, Author = "R. A. Frost", Title = "Guarded Attribute Grammars", Journal = SPAE, Year = 1993, Volume = 23, Number = 10, Pages = "1139-1156", Month = Oct, Abstract = "Contrary to a widely-held belief, it is possible to construct executable specifications of language processors that use a top-down parsing strategy and which have structures that directly reflect the structure of grammars containing left-recursive production. A novel technique has been discovered by which the non-termination that would otherwise occur is avoided by 'guarding' top-down let-recursive language processors by non-left-recursive recognizers. The use of a top-down parsing strategy increases modularity and the use of left-recursive productions facilitates specification of semantic equations. A combination of the two is of significant practical value because it results in modular and expressively clear executable specifications of language processors. The new approach has been tested in an attribute grammar programming language interfaces, SQL processors and circuit design transformers within a VLSI design package.", LastUpdate = "On Mon Jan 03 1994 at 14:50 by david." } @Article{Lee:Choe:Han:93, Ordinal = {DH020}, Author = "DongGill Lee and Kwang-Moo Choe and Taisook Han", Title = "A description of dynamic behavior for compliers based on object oriented modeling", Journal = IPL, Year = 1993, Volume = 48, Pages = "163-170", Abstract = "Deals with object-oriented modeling for complier design. Uses Rumbaugh's object model, adding dynamic behavior onto the static structure. ", LastUpdate = "On Sun Jan 30 1994 at 11:10 by david.", } @Article{Wu:Wang:92, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "An Object-Oriented Specification for Compiler", Journal = "{ACM} {SIGPLAN} {N}otices", Year = 1992, Volume = 27, Number = 1, Pages = "85-94", Month = Jan, Where = "EE", Abstract = "In this paper, we present an object-oriented approach to compiler specification. Our method treats grammar symbols as templates which instantiate nodes of parse tree for object-oriented semantic analysis. To have better classification and inheritance for semantic description, it uses restricted CFG to specify grammar rules. The semantic specification is done based on a class hierarchy generated from the restricted CFG. Besides, that a path expression iv booted to describe the possible receivers of a message release the restriction on the specification of message (value) propagation in attribute grammar methods.", LastUpdate = "On Mon Jan 31 1994 at 21:16 by david." } @InCollection{Donzeau-Gouge:Huet:Kahn:Lang:84, Author = "V. Donzeau-Gouge and G. Huet and G. Kahn and B. Lang", Title = "Programming Environments Based on Structured Editors: The {MENTOR} Experience", BookTitle = "Interactive Programming Environments", Year = 1984, Publisher = MH, } @InProceedings{Norgaard:Sandvad:89, Author = "C. N{\o}rgaard and E. Sandvad", Title = "Reusability and Tailorability in the {Mj{\o}lner BETA} System", BookTitle = "Technology of Object-Oriented Languages and Systems", Year = 1989, Address = "Paris", Month = Nov, } @InProceedings{Kowalski:91, Author = "{T. Kowalski et. al}", Title = "A Reflective C Programming Environment", BookTitle = "International Workshop on {UNIX}-Based Software Development Environments", Address = "Dallas, Texas", Month = Jan, Year = 1991, } @InProceedings{Devanbu:92, Ordinal = {P627,DH003}, Address = {Melbourne, Australia}, BookTitle = {Footeenth International Conference on Software Engineeing}, Days = "14-16", Month = May, Title = "{GENOA} - A Customizable, Language- and Front-End Independent Code Analyzer", Year = 1992, Author = "Premkumar T. Devanbu", Institution ="AT&T Bell Laboratories", Pages = "307-317", } @Article{Wu:Wang:93, Ordinal = {DH015}, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "Applying Classification and Inheritance into Compiling", Journal = "ACM OOPS Messengers", Year = 1993, Month = "Oct", Keywords = "oo , compiler , specification , CFG , attribute grammar classification , inheritance , ", LastUpdate = "On Sat Mar 19 1994 at 02:33 by david.", } @TechReport{Wu:Wang:93:1004, Ordinal = {DH019}, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "A Semantics Specification Method for Compiler Construction", Institution = "Nat'l Chiao-Tung Univ.", Year = 1993, Number = "CSIE-93-1004", Annote = "Compiler front-ends today are getting bigger and more complex than ever before. Generative (specification) techniques apply well in some compiling tasks; however, techniques like attribute grammars (AGs) are rarely adopted for semantics analysis by industrial compilers. In this paper we extend AGs with modular constructs, remote access, collective computations, and object-oriented views of tree nodes. The extension tries to address the domain-specific patterns and to bridge the gap between AGs and current object-oriented modeling. The presentation shows that AGs can be tuned for practical usage and the extended AGs serve as a good backbone for compiler construction. The proposed method evolves AGs to an engineering tool for compiler construction.", LastUpdate = "On Sat Mar 19 1994 at 02:18 by david.", } @TechReport{Wu:Wang:93:1005, Ordinal = {DH018}, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "A Generalized Model of Remote Access for Attribute Grammars", Institution = "Nat'l Chiao-Tung Univ.", Year = 1993, Number = "CSIE-93-1005", Abstract = " Semantics constraints of programming languages commonly introduce long-distance relationships. Some extensions on attribute grammars (AGs) have provided remote access constructs. In this paper, we propose a generalized modelof remote access for AGs. The model covers most remote access extensions of AGs.A context-free grammar can be annotated with tag systems, each of which maps an arc of a parse tree to a tag. A regular expression of tags can then be used to describe a set of arc sequences, i.e., a set of paths to reach remote nodes in aparse tree. Our remote-dependency AG (R-AG) is an AG with generalized remote access in attribution rules. An R-AG can be translated to an equivalent AG. For proper use of remote access, we also propose a technique to analyze the size of attribute set of a remote access. This technique can detect anomalies in remote access.", LastUpdate = "On Sat Mar 19 1994 at 02:18 by david.", } @TechReport{Wu:Wang:94:1001, Ordinal = {DH017}, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "Is Circularity Problem for Attribute Grammars Exponential-Time Complete?", Institution = "Nat'l Chiao-Tung Univ.", Year = 1994, Number = "CSIE-94-1001", Keywords = "complexity structure, exponential-space complete, alternating Turing Machines.", Abstract = "Although the circularity test problem for attribute grammars has been proven to be intrinsically exponential, it is still unknown whether the problem is EXPTIME-complete or EXPSPACE-complete. This report addresses this open problem.", } @TechReport{Wu:Wang:94:1002, Ordinal = {DH021}, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "Message Passings on a Parse Tree", Institution = "Nat'l Chiao-Tung Univ.", Year = 1994, Number = "CSIE-94-1002", Keywords = "compiler generator, object-orientation, semantics analysis", Abstract = {historical interests only) (This report was written in 1992. Most of the materials have been replaced by CSIE-93-1005, October 1993.) *** This report is cited in "The Evolution of an Object-Oriented Specification for Compilers" for discussion of evolution in our specification. Our current specification is partly EVOLVED from this report but does not based on its result.}, LastUpdate = "On Sat Mar 19 1994 at 02:46 by david." } @TechReport{Wu:Wang:94:1003, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "The Evolution of an Object-Oriented Specification for Compilers", Institution = "Nat'l Chiao-Tung Univ.", Year = 1994, Number = "CSIE-94-1003", Keywords = "semantics specification, compiler generators, attribute grammars, object-oriented paradigm, generative-reuse.", Abstract = "although the potential gain of generative reuse is attractive, designing a successful specification language is a challenging work. It is hard to have a good specification language at first trial. In past years, we have tried to design a specification language for compilers. In this paper we present the evolution of our specification language and point out the decisions we have taken in approaching a successful language. This paper also investigates some features explored in our past research and discusses which of them are survival, which of them are extended and more attractive, and which of them are evolved in syntactic notations for easier use.", LastUpdate = "On Sat Mar 19 1994 at 02:46 by david." } @TechReport{Wu:Wang:94:1004, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "A Worst Case of Circularity Test Algorithms for Attribute Grammars", Institution = "Nat'l Chiao-Tung Univ.", Year = 1994, Number = "CSIE-94-1004", Keywords = "dependency patterns.", Abstract = {The circularity test problem for attribute grammars (AGs) has been proved to be intrinsically exponential. Although the result is already known, none has given an example AG that need exponential time in the existing algorithms. A worst case example is necessary in reasoning the complexity of the problem, because most practical AGs look simple for circularity test. In this paper, we present a worst case AG that contains an exponential number of dependency patterns induced on a nonterminal symbol. The example partially explains why worst cases hardly happen in practical AGs. Although the circularity test problem for attribute grammars has been proven to be intrinsically exponential, it is still unknown whether the problem is EXPTIME-complete or EXPSPACE-complete. This report addresses this open problem.}, LastUpdate = "On Sat Mar 19 1994 at 02:46 by david." } @TechReport{Wu:Wang:Lin:93:1003, Ordinal = {DH016}, Author = "Pei-Chi Wu and Feng-Jian Wang and Jin-Hue Lin", Title = "Integrating Generative and Compositional Techniques in Compiler Construction", Institution = "Nat'l Chiao-Tung Univ.", Year = 1993, Number = "CSIE-93-1003", Where = "pcwu@csie.nctu.edu.tw", Abstract = "Compiler front-ends today are getting bigger and more complex than ever before. Compiler designers need a software architecture that can survive or be reused during evolution. There are two kinds of techniques to approach software reuse: compositional and generative. Compositional techniques are rarely explored in compiler domains. Generative techniques have been applied well in some compiling tasks; however, few industrial compilers adopt attribute grammars(AGs) for semantics analysis. In this paper we propose a reuse approach that integrates both techniques. Our approach adopts AGs as the backbone of compilersand employs reusable components in AG specifications. AGs are extended as a reusable specification method with modular constructs, remote access, and collective computations. The mature domains such as symbol table handling can be constructed as reusable components. ", } @Unpublished{Wu:Wang:Unpublished, Author = "Pei-Chi Wu and Feng-Jian Wang", Title = "Message Passings on a Parse Tree", Institution = "Nat'l Chiao-Tung Univ.", Year = 1992, Note = "Manuscript" } @InProceedings{Cline:Lea:90, Ordinal = "P443", Author = Cline #" and "# Lea, Title = "The behavior of {C++} Classes", BookTitle = "Proceedings of the Symposium on Object-Oreinted Programming Emphasizing Practical Applications", Address = "Marist, New York", Year = 1990, Publisher = {Marist College}, Desc = { A++ stands for annotated {C++}. Enhances: safefy: formal verification, clarity: high level, performance: aid optimization. Benafits: style, powerfull type definitions. Idea: extend the class secification to specify not only syntax, but also semantics behavior. legal: true throughout the operation of each member function, coherent: true at the beginning and end, but not necessarily throughout axioms: require indicates a condition which must be obeyed before operation begins, promise indicates a condition whcih will hold after operation finishes, }, SeeAlso = { ANNA, Eiffel }, } @InProceedings{Murray:92, Author = "Robert B. Murray", Title = "Space Efficient Trees in {{C++}{}}", BookTitle = "USENIX {C++} Conference", Pages = "117--129", Year = 1992, Month = Aug, Days = "10-13", Address = "Portland, Oregon", Organization = "USENIX Association", Publisher = "USENIX Association", Keywords = "{C++}, AT&T Bell Lab.", Where = "Yellow book", Desc = { Alf = A Language Foundation. Represents semantics (not syntax). }, LastUpdate = "On Tue Apr 12 1994 at 14:47 by david.", } @InProceedings{Baumgartner:Russo:94, Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Implementing Signatures for {{C++}{}}", BookTitle = "USENIX {C++} Conference", Pages = "37--56", Year = 1994, Month = Apr, Days = "11-14", Address = "Cambridge, MA", Organization = "USENIX Association", Publisher = "USENIX Association", Keywords = "{C++}, AT&T Bell Lab.", Where = "Yellow book", LastUpdate = "On Tue Apr 12 1994 at 14:47 by david.", } @Misc{Nierstrasz:sooc, Ordinal = "P410", Author = "Oscar Nierstrasz", Title = "A Survey of Object-Oriented Concepts", } @Misc{Cline:Lea:Oswego, Ordinal = {DH032}, Author = {Marshall P. cline and Doug Lea}, Title = {Using Annotated {C++}}, LastUpdate = "On Tue Apr 12 1994 at 14:47 by david.", } @Article{Lejter:Meyers:Peiss:92, Ordinal = {DH023}, Author = {Moises Lejter and Scott Meyers and Steven P. Reiss}, Title = {Support for Maintaining Object-Oriented Programs}, Journal = {IEEE Transactions on Software Engineering}, Year = 1992, Volume = 18, Number = 12, Pages = {1045-1051}, Month = Dec, LastUpdate = "On Tue Apr 26 1994 at 11:44 by david.", } @Article{Wilde:Huitt:92, Author = "Norman Wilde and Russ Huitt", Title = "Maintainence Support for Object-Oriented Programs", Journal = "IEEE Transactions on Software Engineering", Year = 1992, Volume = 18, Number = 12, Pages = {1038-1044}, Month = Dec, LastUpdate = "On Tue Apr 26 1994 at 11:44 by david.", } @Article{Conway:94, Ordinal = {DH022}, Author = {Damian Conway}, Title = {Parsing with {{C++}{}} Classes}, Journal = {{ACM} {SIGPLAN} {N}otices}, Year = 1994, Volume = 29, Number = 1, Pages = {46-52}, Month = Jan, Where = "Kats", Abstract = "Philip W. Hall IV (28(4) 1993) has outlined a preprocessor technique for building recursive descent parsers using {C++}{} constructor functions. This paper presents an alternative {C++}-based parser generation scheme which uses a hierarchy of classes with appropriately overloaded operators to embed the actual grammar of one or more parsers in a standard {C++}{} source file. This approach eliminates the need for preprocessing of source files and permits the use of parsing schemes somewhat more sophisticated than simple statically-defined recursive descent.", LastUpdate = "On Mon May 02 1994 at 11:55 by david.", } @InProceedings{Gil:Lorenz:97, Author = {Joseph Gil and David H. Lorenz}, Crossref = {ECOOP:97}, Note = "Workshop on Langauge Support for Design Patterns and Frameworks", Title = "Design Patters vs. Language Design", Year = {1997}, } @TechReport{Gil:Lorenz:94, Ordinal = "P167,DH", Author = {Joseph Gil and David H. Lorenz}, Title = {\textsc{SOOP} -- A Synthesizer of an Object-Oriented Parser}, Institution = {Technion -- Israel Institute of Technology}, Year = 1994, IgnoreType = {Preliminary Version}, Number = {LPCR-9404}, Address = {Technion City, Haifa 32000, Israel}, Month = Apr, Note = "A revised version appeared as~\cite{Gil:Lorenz:95}", Abstract = "We present a tool for the use of software engineering tool builders. The tool parses programs and synthesizes them into a hierarchy of object-oriented classes and objects. This hierarchy lays the ground for further processing and experimentation with the parsed knowledge. Three grammars are used for configuring the tool: a source \Em{parsing~grammar}, a target \Em{class-synthesizing~grammar}, and a target \Em{instance-synthesizing~grammar}. The parsing grammar defines the programming language in which the parsed program is written. The class-synthesizing grammar defines the language used for generating code describing the structure of classes and their inheritance hierarchy. The instance-synthesizing grammar defines how objects should be generated. Different source languages and target languages may be specified by supplying their grammars. A client tool can use the class-type declarations and the instantiated objects to access the parsed information. Several configurations for existing programming languages as input (such as \Eiffel), and existing object-oriented class definitions as output (such as \SmallTalk{} and {C++}), were implemented. We present an enhancement of the Backus-Naur form that allows a description for synthesizing programs' text rather than parsing.", LastUpdate = "On Mon May 02 1994 at 11:55 by david.", } @TechReport{Gil:Lorenz:LPCR9404, crossref = {Gil:Lorenz:94}, } @TechReport{Gil:Lorenz:LPCR9507, Abstract = "Abstract: Nature vs. Nurture? The debate has obsessed the minds of psychologists and philosophers for many years. However, for the object-orienteer, it has never been a problem: an object _inherits_ all of its properties. In this work we ask if an object should not be subject to environmental effects. We answer this question in the affirmative by demonstrating many cases in which the character of an object must be affected by the environment it is put in. We propose a new abstraction mechanism, Environmental Acquisition, which enables an object to inherit properties from its surrounding environment, whereby complementing the ordinary inheritance mechanism. The challenging issues are in allowing acquisition to be used in a type safe manner and in its efficient implementation.", IgnoreType = {Extended Abstract}, Address = {Technion City, Haifa 32000, Israel}, Author = {Joseph Gil and David H. Lorenz}, Institution = {Technion -- Israel Institute of Technology}, Month = Dec, Note = "A revised version appeared as~\cite{Gil:Lorenz:96}", Number = {LPCR-9507}, Title = {Environmental Acquisition -- A New Inheritance Mechanism}, Year = 1995, } @TechReport{Lorenz:CS-97-912, LastUpdate = "On Mon May 02 1994 at 11:55 by david.", Ordinal = "DH", Address = {Technion City, Haifa 32000, Israel}, Author = {David H. Lorenz}, Institution = {Technion -- Israel Institute of Technology}, Month = Jul, Note = "A revised version appeared as~\cite{Lorenz:97}", Number = {CS-97-912}, Title = {Tiling Design Patterns - A Case Study Using the Interpreter Pattern}, Year = 1997, } @InProceedings{Gil:Lorenz:96, Ordinal = "DH", Author = {Joseph Gil and David H. Lorenz}, Crossref = {OOPSLA:96}, Title = {{E}nvironmental {A}cquisition---{A} New Inheritance-Like Abstraction Mechanism}, Year = 1996, } @InProceedings{Lorenz:97, Author = {David H. Lorenz}, Title = {Tiling Design Patterns - A Case Study Using the Interpreter Pattern}, Crossref = {OOPSLA:97}, Year = 1997, } @Misc{Gil:Lorenz:Loot, Author = {Joseph Gil and David H. Lorenz}, Title = "\textsc{Loot}---A specification language for object-oriented trees", Note = "Unpublished", } @InProceedings{Bingham:Hobbs:Husson:93, Author = "Tim bingham and Nancy Hobbs and Dave Husson", Title = "Experiences Developing and Using an Object-Oriented Library for Program Manipulation", Pages = "83-89", Crossref = {OOPSLA:93} } @Article{Merrill:93, Ordinal = {DH012}, Author = "Gary H. Merrill", Title = "Parsing Non-{L}{R}({k}) Grammars with {Yacc}", Journal = SPAE, Year = 1993, Month = 8, Volume = 23, Number = 8, Pages = "829-850", Abstract = "Of the parser generating tools currently in use, yacc (or one of its several variants) is perhaps the most frequently employed. However, because of inherent ambiguities there are some languages (such as {C++}) that a yacc-generated parser cannot successfully compile. This paper describes a set of minor modifications to yacc-like tools that allows them to be used in a strait forward way to parse ambiguities and, more generally, grammars that require an indefinite amount of lookahead. Required changes to the lexical analyzer are also discussed, and the application of these technique is illustrated within the context of specific examples.", LastUpdate = "On Mon Jan 03 1994 at 15:11 by david.", } @Article{Slonnerger:93, Ordinal = {DH014}, Author = "Ken Slonnerger", Title = "Executing Continuation Semantics: a Comparison", Journal = SPAE, Year = 1993, Volume = 23, Number = 12, Pages = "1379-1397", Month = Dec, Abstract = "Several authors have suggested translating denotational semantics into prototype interpreters written in high-level programming languages to provide evaluation tools for language designers. These implementations have generally been understandable when restricted to direct denotational semantics. This paper considers using two declarative programming languages, Prolog and Standard ML, to implement an interpreter that follows the continuation semantics of a small imperative programming language, called Gull. Each of the two declarative languages present certain difficulties related to evaluation strategies and expressiveness. The implementations are compared in terms of their ease of use for prototyping, their resemblance to the denotational definitions, and their efficiency.", LastUpdate = "On Mon Jan 03 1994 at 14:50 by david." } @Article{Cmelik:Gehani:88, Author = "Robert F. Cmelik and "# Gehani, Title = "Dimensional Analysis with {C++}", Journal = "IEEE Software", Year = 1988, Month = May, Number = 3, Volume = 5, Pages = "21--27", } @Article{Basili:Hutchens:83, Author = "V. R. Basili and D. H. Hutchens", Title = "An Empirical Study of a Syntactic Complexity Family", Journal = IEEESE, Year = 1983, Month = Nov, Volume = 9, Pages = "664-672", } @Article{Woodward:Hedley:Hennell:80, Author = "M. R. Woodward and D. Hedley and M. A. Hennell", Title = "Experience with Path Analysis and Testing of Programs", Journal = IEEESE, Year = 1980, Month = May, Volume = 6, Pages = "278--286", } @InProceedings{Weyuker:88, Author = "E. J. Weyuker", Title = "An Empirical Study of the Complexity of Data Flow Testing", Year = 1988, Month = Jul, BookTitle = "Proceedings of the Second Workshop on Software Testing, Verification and Analysis", Pages = "188-195", Address = "Banff, Canada", } @Article{Rapps:Weyuker:85, Author = "S. Rapps and E. J. Weyuker", Title = "Selecting Software Test Data Using Data Flow Information", Journal = IEEESE, Year = 1985, Month = Apr, Volume = 11, Pages = "367-375", } @Article{DeMillo:Lipton:Sayward:78, Author = "Richard A. DeMillo and R. J. Lipton and F. G. Sayward", Title = "Hints on Test Data Selection: Help for the Practicing Programmer", Journal = "IEEE Computer", Year = 1978, Month = Apr, Volume = 11, Number = 4, Pages = "34--41", } @InProceedings{Heering:Kahn:Klint:Lang:86, Author = "Heering, J. and Kahn, G. and Paul Klint and B. Lang", Title = "Generation of Interactive Programming Environments", Year = 1986, BookTitle = "ESPRIT'85: Status Report of Continuing Work", Pages = "467--477", Publisher = "North-Holland", Address = "Amsterdam", } @Article{Habermann:Notkin:86, Author = "A. N. Habermann and D. Notkin", Title = "Gandalf: Software Development Environments", Journal = IEEESE, Year = 1986, Month = Dec, Volume = 12, Number = 12, Pages = "1117--1127", } @Article{Bahlke:Snelting:86, Author = "Bahlke, R. and Snelting G.", Title = "The {PSG} system: From Formal Definitions to Interactive Programming Environments", Journal = TOPLAS, Year = 1986, Volume = 8, Number = 4, Pages = "547--576", } @Article{Ballance:Graham:VanDeVanter:92, Author = "R. A. Ballance and S. L. Graham and M. L. Van De Vanter", Title = "The {Pan} Language-based Editing System", Journal = "ACM Transactions on Software Engineering and Methodology", Year = 1992, Volume = 1, Number = 1, Pages = "95--127", } @Article{Robson:Bennet:Cornelius:Munro:91, Author = "D. J. Robson and K. H. Bennet and B. J. Corenlius and M. Munro", Title = "Approaches to Program Comprhension", Journal = "Journal of Systems and Software", Year = 1991, Volume = 14, Pages = "79--84", } @Article{Arnold:94, Author = "Robert S. Arnold", Title = "Software Reengineering: A Quick History", Journal = CACM, Year = 1994, Month = May, Volume = 37, Number = 5, Pages = "13--14", } @InProceedings{Paul:Prakash:Buss:Henshaw:91, Author = "S. Paul and A. Prakash and E. Buss and J. Henshaw", Title = "Theories and Techniques of Program Understanding", Year = 1991, BookTitle = "Proceeding of the CAS Conference", Organization = "IBM Canada Ltd., Laboratory, Centre for Advanced Studies", LastUpdate = "On Sat Nov 19 1994 at 19:42 by Yossi Gil.", } @Article{Weiser:87, Ordinal = "P154", Author = "Mark Weiser", Title = "Source Code", Journal = "IEEE Computer", Year = 1987, Month = Nov, Pages = "66--73", LastUpdate = "On Sat Nov 19 1994 at 18:49 by Yossi Gil.", } @Misc{Paul:Prakash:94, Ordinal = {P155,DH027}, Author = "Santanu Paul and Atul Prakash", Title = "Querying Source Code using and Algebraic Query Language", Note = "Manuscript", } @Article{Weiser:84, Ordinal = "P156", Author = "Mark Weiser", Title = "Program Slicing", Journal = IEEESE, Year = 1984, Month = Jul, Volume = 10, Number = 4, Pages = "352--357", LastUpdate = "On Sat Nov 19 1994 at 18:49 by Yossi Gil.", } @Article{Klint:93, Ordinal = {P157,DH010}, Author = "Paul Klint", Title = "A Meta-Environment for Generating Programming Environments", Journal = "ACM Transactions on Software Engineering and Methodology", Year = 1993, Month = Apr, Volume = 2, Number = 2, Pages = "176--201", LastUpdate = "On Sat Nov 19 1994 at 18:49 by Yossi Gil.", } @String{TOPLAS = "ACM Trans. Prog. Lang. Syst."} %"ACM Transactions on Programming Languages and Systems (TOPLAS)"} @Article{Garlan:Krueger:Lerner:94, Ordinal = "P158", Author = "David Garlan and Charles W. Krueger and Barbara Staudt Lerner", Title = "{TransormGen}: Automating the Maintenance of Structured Oriented Environments", Journal = TOPLAS, Year = 1994, Month = May, Volume = 16, Number = 3, Pages = "727--774", LastUpdate = "On Sat Nov 19 1994 at 18:49 by Yossi Gil.", } @Article{Heering:Klint:Rekers:94, Ordinal = "P159", Author = "J. Heering and Paul Klint and J. Rekers", Title = "Lazy and Incremental Program Generation", Journal = TOPLAS, Year = 1994, Month = May, Volume = 16, Number = 3, Pages = "1010--1023", LastUpdate = "On Sat Nov 19 1994 at 18:49 by Yossi Gil.", } @Article{DeMillo:Offutt:93, Ordinal = "P160", Author = "Richard A. DeMillo and A. Jefferson Offutt", Title = "Experimental Results from an Automatic Test Case Generator", Journal = "ACM Transactions on Software Engineering and Methodology", Year = 1993, Month = Apr, Volume = 2, Number = 2, Pages = "109--127", LastUpdate = "On Sat Nov 19 1994 at 18:49 by Yossi Gil.", } @TechReport{Krueger:Engstrom:Ward:93, Ordinal = "P161", Author = "J. Krueger and E. Engstrom and J. Ward", Title = "{MetaDoME}: A Rapid Prototyping Tool Supporting Graphical Modeling Tool Development", Year = 1993, Month = Nov, Number = "CS-R93-021", Institution = "Honeywell Systems \& Research Center", Address = "3660 Technology Drive, Minneapolis, MN 55418", LastUpdate = "On Sat Nov 19 1994 at 19:20 by Yossi Gil.", } @Misc{Ahrens:Prywes:94, Ordinal = {P162,DH026}, Author = "Judith D. Ahrens and Noah S. Prywes", Title = "Reengineering the Software Life Cycle and Enabling Technology", Year = 1994, Month = Jul, Note = "Manuscript", } @Misc{Ahrens:Prywes:Lock:94, Ordinal = {P163,DH025}, Author = "Judith D. Ahrens and Noah S. Prywes and Evan Lock", Title = "Software Process Reengineering: Toward a New Generation of {CASE} Technology", Year = 1994, Month = Aug, Note = "to appear in the Journal of Systems and Software", } @Misc{CCCC:91, Ordinal = "P164", Author = "Computer Command and Control Company", Title = "Elementary Statement Language Internal Representation", Year = 1991, Note = "MEMO 2 (Revised August 1994)", } @Misc{Casey:Karangelen:Bailey:94, Ordinal = "P165", Author = "Micahel Casey and Nicholas Karangelen and Shane Bailey", Title = "Resource Capture Prototype", Year = 1994, Note = "Working Papers and Design Notebook", } @Misc{CCCC:94, Ordinal = "P166", Author = "Computer Command and Control Company", Title = "Elementary Statement Language (ESL) Parser Manual", Year = 1994, Month = Aug, Note = "Manuscript", } @InProceedings{Barton:Charles:Chee:Karasick:Lieber:Nackman:94, Author = "John Barton and Philippe Charles and Yi-Min Chee and Michael Karasick and Derek Lieber and Lee Nackman", Title = "{CodeStore}: Infrastructure for {{C++}{}} -- Knowledgeable Tools", Year = 1994, CrossRef = "OOPSLA:94", Note = "Workshop: Object-Oriented Compilation---What are the Objects? Addendum to the Proceedings", LastUpdate = "On Oct 02 1994 at 11:55 by david.", } @Misc{Lee:Prywes:Lee:94, Ordinal = {DH005}, Author = "Moon Lee and Noah Prywes and Insup Lee", Adress = { Department of Computer and Information Science, University of Pennsylvania,, Philadelphia, Pa 19104-6390 and Computer Command and Control Company, 2300 Chestnut Street, Philadelphia, Pa 19104 }, Title = "Automation of Analysis, Simulation and Understanding of Real Time Large Ada Software", Year = 1994, Month = Nov, } @Manual{Stabs:manual, Title = "The stabs debug format", Ordinal = "2.104", Author = "Julia Menapace, Jim Kingdon, David MacKenzie", Organization = {Free Software Foundation}, Note = "Bundeled with the distribution of \texttt{gdb} the Gnu debugger." } @InProceedings{Lieberman:86, Ordinal = "P192", Author = {Henry Lieberman}, Title = {Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems}, Year = 1986, Crossref = {OOPSLA:86}, Pages = "214-223", LastUpdate = "On Sun Mar 07 1993 at 01:28 by Yossi Gil.", Keywords = "Clyde, Elephant, Fred, Delegation", EMail = {Henry@mit.ai}, } %%% Yet to be inserted @InProceedings{Strachey:67, Author = {C. Strachey}, Title = {Fundamental Concepts inProgramming Languages}, BookTitle = "Lecture Notes for the International Summer School in Computer Programming", Year = 1967, Note = {Copenhagen, Denmark}, } @InProceedings{Kristensen:94, Author = {Bent Bruun Kristensen}, Title = {Complex Associations: Abstractions in Object-Oriented Modeling}, Crossref = {OOPSLA:94}, Year = 1994, Pages = "272-286", } @InProceedings{Foreman:Danforth:Madduir:94, Author = {Ira R. Forman and Scott Danforth and Hari Madduri}, Title = {Composition of Before/After Metaclasses in {SOM}}, Crossref = {OOPSLA:94}, Year = 1994, Pages = "427-439", } @InProceedings{Civello:93, Author = "Franco Civello", Title = "Roles for Composite Objects in Object-Oriented Analysis and Design", Crossref = {OOPSLA:93}, Year = 1993, Pages = "376-393" } @InProceedings{Kim:Banerjee:Chou:Garza:Woelk:87, Author = {W. Kim and J. Banerjee and H. T. Chou and J. F. Garza and D. Woelk}, Title = "Composite Object Support in an Object-Oriented Database System", Crossref = {OOPSLA:87}, Year = 1987, Pages = "118-125", } @InProceedings{Palsberg:Schwartzbach:90, Author = {Jens Palsberg and Michael I. Schwartzbach}, Title = "Type Substitution for Object-Oriented Programming", Crossref = {OOPSLA:90}, Year = 1990, Pages = "151-160", } @InProceedings{Palsberg:Schwartzbach:91, Author = {Jens Palsberg and Michael I. Schwartzbach}, title={Object-Oriented Type Inference}, Crossref = {OOPSLA:91}, pages={146-161} } @InProceedings{Hogg:91, Author = {John Hogg}, Title = "Islands: Aliasing Protection in Object-Oriented Languages", Year = 1991, Pages = "271--285", Crossref = {OOPSLA:91}, } @TechReport{Borning:79, Title = "ThingLab: A Constraint-Oriented Simulation Laboratory", Author = {A. H. Borning}, Year = 1979, Number = {SSL-79-3}, Institution = "University of Newcastle upon Tyne", Address = {Xerox {PARC}, Palo Alto, California}, } @Misc{Fahlman:79, Author = {S. E. Fahlman}, Title = {{NETL}: A System for Representing and Using Real-World Knowledge}, Year = 1979, Publisher = "MIT Press", Address = "Cambridge, Mass.", } @Misc{Turbo:Vision, Organization = {Pascal Turbo Vision}, Key = {Turbo Vision}, Title = {Turbo Vision Programming Guide}, Publisher = {Borland International}, Version = {2.0}, Year = 1992, Address = {Scotts Valley, Calif}, } @Article{Thompson:Baran:88, Author = {T. Thompson and N. Baran}, Title = {The {NeXT} Computer}, Journal = {Byte}, Year = 1988, Volume = 13, Number = 12, Pages = "158-175", } @InProceedings{Martin:77, Author = {W. A. Martin}, Title = {{OWL}}, BookTitle = {Proceedings of the 5$^{th}$ {IJCAI}}, Pages = "985-987", Year = 1977, Address = "Cambridge, Mass.", } @InProceedings{Nature:Nurture:92, Title = {Physics of Nearby Galaxies: Nature or Nurture?}, Publisher = {Editions Frontieres}, Year = 1992, BookTitle = {Proceedings of the~$27^{th}$ Moriond Astrophysics Meetings}, Address = {Les Arcs, Savoie, France}, Month = Mar # "15-22", Author = {Xuan Thuan Trinh and J. Thanh van Tran and Chantal Balkowski}, SysNo = 2138860, Library = {Phisics 524.7 RE}, Also = {Rencontre De Moriond}, } @Misc{PHIGS, Organization = {PHIGS}, Key = {PHIGS}, Title = {Programmer's Hierarchical Interactive Graphics System}, Publisher = {ISO PHIGS}, Year = 1986, } @Misc{Dagesh:Manual, Organization = {Dagesh}, Key = {Dagesh}, Title = {Dagesh User Manual, Accent Software International Ltd.}, } @Misc{OWL, Organization = {OWL}, Key = {OWL}, Title = {{OWL} Manual}, } @Misc{RTF, Organization = {RTF}, Key = {RTF}, Title = {RTF}, } @TechReport{Vesta, Ordinal = {DH024}, Author = "Mark R. Brown and John R. Ellis", Title = "Bridges: Tools to Extend the Vesta Configuration Management Sys tem", Year = 1993, Month = Jun, Number = 108, Institution = DEC-SRC, Address = "130 Lytton Avenue, Palo Alto, California 94301", } @misc{Telem:Aridor:Yuhudai:96, Ordinal = {DH034}, Author = {Yaron Telem and Yariv Aridor and Amiram Yehudai}, Title = {Profile-based object assignment in fine-grained parallel object-oriented environments}, Note = "Manuscript", Submitted = "Submitted to Euro-Par'96", Year = 1996, Abstract = { Fine-grained concurrent object oriented programming (fine-grained COOP) languages provide a natural approach for parallel programming by expressing parallelism at the object level. However, their implementation on massively parallel architectures, currently suffers a grave lack of efficient exploitation of object level parallelism. Two major performance factors which, when ignored, hinder the efficient execution of concurrent object oriented systems are locality and load balancing. Both are controlled via object assignment decisions. Contemporary advanced object assignment software tools are based on dynamic (at run-time) and static (at compile-time) object assignment policies. This work presents a different object assignment policy: Profile-based Object Assignment. Its motivating assumption is that important accurate and global information about a program's runtime behavior (information that compile-time analysis of plain source code or dynamic local information acquisition can not fully obtain) can be obtained via runtime profiling (monitoring) of its entire execution. This information can then be used to produce a load balanced and localized object assignment for the program at hand. For this purpose, a profile-based software tool, the PROFILER-ASSIGNER, was developed. Given an application program, the PROFILER-ASSIGNER (combining both run-time and compile-time heuristics) operates in two stages: (1) Execution Profiling - Executes the program and monitors its runtime behavior patterns, collecting accurate (dynamic advantage) and global information that supplies an aposteriori-view of the entire execution (static advantage). Object communication patterns are studied in order to enhance locality, and object computation patterns are studied in order to enhance load balancing. (2) Object Assigning - Utilizes the gathered information in computing a commendable object assignment which enhances load balancing and locality. Since the object assignment is computed subsequent to the profiled execution and prior to any further runs, ensuing executions do not incur any run-time overhead (static advantage). While our approach is not biased towards a specific COOP language or environment, we implemented the PROFILER-ASSIGNER on top of PROTEUS - a massively parallel processors simulator, which served as the underlying parallel architecture. The testbed language was FGAO-{C++} (Fine GrAined Object {C++}) - a fine-grained COOP extension of {C++} that we designed and implemented to run on top of PROTEUS. }, } @InProceedings{Gil:Lorenz:95, Ordinal = "DH", Author = {Joseph Gil and David H. Lorenz}, Title = {\textsc{SOOP} -- {A} Synthesizer of an Object-Oriented Parser}, Crossref = {TOOLS:EUROPE:95}, Year = 1995, Pages = "81-96", LastUpdate = "On Tue Mar 28 1995 at 21:27 by david.", Abstract = { We present a tool for the use of software engineering tool builders. The tool parses programs and synthesizes them into a hierarchy of object-oriented classes and objects. This hierarchy lays the ground for further processing and experimentation with the parsed data. Three grammars are used for configuring the tool: a source \Em{parsing~grammar}, a target \Em{class-synthesizing~grammar}, and a target \Em{instance-synthesizing~grammar}. The parsing grammar defines the programming language in which the parsed program is written. The class-synthesizing grammar defines the language used for generating code that describes the structure of classes and their inheritance hierarchy. The instance-synthesizing grammar defines how objects should be generated. Different source languages and target languages may be specified by supplying their grammars. A client tool can use the class-type declarations and the instantiated objects to access the parsed information. Several configurations for existing programming languages as input (such as \Eiffel), and existing object-oriented class definitions as output (such as \Smalltalk{} and {C++}), are demonstrated. We present an enhancement of the Backus-Naur form that allows a description for synthesizing programs' text rather than parsing. }, } @InProceedings{DePauw:Kimelman:Vlissides:94, Ordinal = "P66", Author = {Wim {De~Pauw} and Doug Kimelman and John Vlissides}, Title = {Modeling Object-Oriented Program Execution}, Year = {1994}, Crossref = {ECOOP:94}, Pages = "163-182", } @InProceedings{Pauw:Helm:Kimelman:Vlissides:93, Ordinal = "P686", Author = "Wim De Pauw and Richard Helm and Doug Kimelman and John Vlissides", Title = "Visualizing the Behavior of Object-Oriented Systems", Crossref = {OOPSLA:93}, Pages = "326--337" } @Misc{DePauw:Lorenz:Vlissides:Wegman:96, Author = {Wim {De~Pauw} and David Lorenz and John Vlissides and Mark Wegman}, Title = {Execution Patterns in Object-Oriented Visualization}, Year = {1996}, Note = {Manuscript. \emph{{U}.{S}. {P}atent pending}}, } @InProceedings{Myers:95, Author = "Andrew C. Myers", Title = "Bidirectional Object Layout for Separate Compilation", Year = 1995, Crossref = {OOPSLA:95}, Pages = "124-139", } @InProceedings{Lange:Nakamura:95, Author = {Danny B. Lange and Yuichi Nakamura}, Title = {Ineractive Visualizaation of Design Patterns Can Help in Framework Understanding}, Year = 1995, Crossref = {OOPSLA:95}, Pages = "342--357", } ------------------------------------------------------------ Submitted and Misc @Misc{Gil:Lorenz:Szmit:94, Author = {Joseph Gil and David H. Lorenz and Ricardo Szmit}, Title = {Programming Languages}, Institution = {Technion -- Israel Institute of Technology}, Year = {Winter 1993/94}, Address = {Technion City, Haifa 32000, Israel}, Note = "Lecture Notes", } @Misc{Gil:Lorenz:Prywes, Author = {Joseph Gil and David H. Lorenz and Noah Prywes}, Note = {Private correspondence}, } Title = {Research Proposal}, @TechReport{Berry:92a, Ordinal = "P650", Title = {Academic Legitimacy of the Software Engineering Discipline}, Author = {Daniel M. Berry}, Year = 1992, Month = Nov, Institution = SEI, Number = {SEI-92-TR-34}, } @Article{Li:Herry:93, Author = {Li and Herry}, Year = 1993, Title = {Object-Oriented Metrics that Predict Maintainability}, Journal = "J. Systems Software", Volume = 23, Pages = "111-122", } @Article{Liskov:Wing:94, Ordinal = {DH011}, Author = {Barbara H. Liskov and Jeannette M. Wing}, TYPO = { R. and Snelting G.}, Title = {A Behavioral Notion of Subtyping}, Journal = TOPLAS, Year = 1994, Volume = 16, Number = 6, Pages = {1811-1841}, LastUpdate = "by david.", } @InProceedings{Hedin:Magnusson:88, Title = {The Mj{\o}lner Environment: Direct Interaction with Abstractions}, Author = {G{o}rel Hedin and Boris Magnusson}, BookTitle = ECOOP, Year = 1988, Pages = "41-54", Publisher = sv, Series = LNCS, Number = 322 } @Article{Kaiser:Kaplan:93, Ordinal = {DH008}, Author = Kaiser #" and "# Kaplan, Title = "Parallel and Distributed Incremental Attribute Evaluation Algorithms for Multiuser Software Development Environments", Journal = TSEM, Volume = 2, Number = 1, Pages = "47--92", Month = Jan, Year = 1993, Abstract = {The problem of change propagation in multiuser software development environments distributed across a local-area network is addressed. The program is modeled as an attributed parse tree segmented among multiple user processes and changes are modeled as subtree replacements requested asynchronously by individual users. Change propagation is then implemented using decentralized incremental evaluation of an attribute grammar that defines the static semantic properties of the programming language. Building up to our primary result, we first present algorithms that support parallel evaluation on a centralized tree in response to single edits using a single editing cursor and multiple edits with multiple editing cursors. Then we present our algorithm for parallel evaluation on a decentralized tree. We also present a protocol to guarantee reliability of the evaluation algorithm as components of the decentralized tree become unavailable due to failures and return to availability.}, LastUpdate = "by david.", } @Misc{Aksit:Yogi:97, Ordinal = "P481", Author = "Mehmet Aksit", Subject = "{ECOOP'97} -- Reviewers' Comments", Note = "Private correspondence", } @InProceedings{Hedin:94, Ordinal = {DH001}, Author = {Gorel Hedin}, Title = {An Overview of Door Attribute Grammar}, Editor = {Peter A. Fritzson}, BookTitle = {Compiler Construction 5th International Conference, CC'94}, Publisher = Springer, Series = LNCS, Number = 786, Year = 1994, Pages = "31-51", LastUpdate = "by david.", } @Proceedings{Attribute:Grammars:88, Author = {Pierre Deransart and Martin Jourdan and Bernard Lorho}, Editor = {G. Goos and J. Hartmanis}, Title = {Attribute Grammars Definitions, Systems and Bibliography}, BookTitle = {Attribute Grammars Definitions, Systems and Bibliography}, Publisher = Springer, Series = LNCS, Number = 323, Year = 1988 } @Proceedings{GAG:81, Author = {Uwe Kastens and Brigitte Hutt and Erich Zimmermann}, Editor = {G. Goos and J. Hartmanis}, Title = {{GAG}: A Practical Compiler Generator}, Publisher = Springer, Series = LNCS, Number = 141, Year = 1981, } @Article{Sassa:Ishizuka:Nakata:95, Ordinal = "DH006", Author = "Masataka Sassa and Harushi Ishizuka and Ikuo Nakata", Title = "Rie, a Compiler Generator Based on a One pass-type Attribute Grammar", Journal = SPAE, Year = 1995, Volume = 25, Number = 3, Pages = "229--250", Month = Mar, LastUpdate = "by david.", } @InProceedings{Sassa:90, Author = {Masataka Sassa}, Title = {Rie and Jun: Towards the Generation of all Compiler Phases}, Editor = {G. Goos and J. Hartmanis}, BookTitle = {Compiler Compilers 3rd International Workshop, CC'90}, Publisher = Springer, Series = LNCS, Number = 477, Year = 1990, Pages = "56-70", LastUpdate = "by david.", } @InProceedings{Grosch:Emmelmann:90, Author = {J. Grosch and H. Emmelmann}, Title = {A Tool Box for Compiler Construction}, Editor = {G. Goos and J. Hartmanis}, BookTitle = {Compiler Compilers 3rd International Workshop, CC'90}, Publisher = Springer, Series = LNCS, Number = 477, Year = 1990, Pages = "106-116", LastUpdate = "by david.", } @InProceedings{Akker:Melichar:Tarhio:90, Author = {Pieks op den Akker and Borivoj Melichar and Jorma Tarhio}, Title = {The Hierarchy of {LR}-Attribute Grammars}, Editor = {G. Goos and J. Hartmanis}, BookTitle = {Attribute Grammars and their Applications, International Conference WAGA}, Publisher = Springer, Series = LNCS, Number = 461, Year = 1990, Pages = "13-28", LastUpdate = "by david.", } @Article{Knuth:68, Ordinal = {DH007}, Author = {Donald E. Knuth}, Title = {Semantics of Context-Free Languages}, journal = MST, Volume = 2, Number = 2, Year = 1968, Pages = "127-145", Note = "Correction~\cite{Knuth:71}", LastUpdate = "by david.", } @Article{Knuth:71, Ordinal = {DH009}, Author = {Donald E. Knuth}, Title = {Semantics of Context-Free Languages: Correction}, journal = MST, Volume = 5, Number = 1, Year = 1971, Pages = "95-96", LastUpdate = "by david.", } @Article{Graver:92, Ordinal = {DH004}, Author = "Justin O. Graver", Title = "T-gen: a string-to-object translator generator", Journal = JOOP, Year = 1992, Month = Sep, Volume = 5, Number = 5, Pages = "35-42", LastUpdate = "by david.", } @InProceedings{Horspool:88, Author = {R. Nigel Horspool}, Title = {{ILALR}: An Incremental Generator of {LALR(1)} Parsers}, Editor = {D. Hammer}, BookTitle = {Compiler Compilers and High Speed Compilation, 2$^nd$ {CCHSC} Workshop}, Publisher = Springer, Series = LNCS, Number = 371, Year = 1988, Pages = "128-136", LastUpdate = "by david.", Keys = {yacc llama lalrgen llgen grammar-debuggin incremental-parser-generator ilalr }, } @InProceedings{Hedin:88, Author = {Gorel Hedin}, Title = {Incremental Attribute Evaluation with Side-effects}, Editor = {D. Hammer}, BookTitle = {Compiler Compilers and High Speed Compilation, 2$^nd$ {CCHSC} Workshop}, Publisher = Springer, Series = LNCS, Number = 371, Year = 1988, Pages = "175-189", LastUpdate = "by david.", Keys = {Mj\olner }, } @Article{Wirth:71, Author = "N. Wirth", Year = 1971, Title = "The programming language {Pascal}", Journal = "Acta Informatica", Volume = 1, Pages = "35-63", } @InProceedings{Reyenolds:85, Author = "John. C. Reynolds", Title = "Three Approaches to Type Structure", Booktitle = "Mathematical Foundations of Software Development", Publisher = SV, Month = Mar, Year = 1985, Address = "Berlin", Editor = "G. Goos and J. Hartmanis", Series = LNCS, Volume = 185 } @InProceedings{Atta89a, Author = "Giuseppe Attardi and Cinzia Bonini and Maria Rosario Boscotrecase and Tito Flagella and Mauro Gaspari", Title = "Metalevel Programming in {CLOS}", BookTitle = "ECOOP '89", Editor = "S. Cook", Address = "Nottingham", Publisher = "Cambridge University Press", Month = Jul, Days = "10--14", Year = 1989, Pages = "243--256" } @Article{McKenzie:Yeatman:DeVere:95, Ordinal = {DH002}, Author = {Bruce J. McKenzie and Corey Yeatman and Lorraine De Vere}, Title = {Error Repair in Shift-Reduce Parsers}, Journal = toplas, Year = 1995, Month = Jul, Volume = 17, Number = 4, Pages = "672--689", } @MastersThesis{Holtz:95, Ordinal = {DH028}, Title = {SEMREL : A SEMANTIC RELATIONSHIP MODEL FOR OBJECT ORIENTED DATABASES}, Author = {KAREN HOLTZ}, Year = 1995, School = {TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY}, SUPERVISI0N = {ELIEZER KANTOROWITZ}, Abstract = {Using {C++} as an Object-Oriented Database Programming Language.}, } @InProceedings{Kiczales:93, Ordinal = {DH035}, Author = {Gregor Kiczales}, Title = {Traces (A Cut at the ``Make Isn't Generic" Problem)}, Crossref = {LNCS:742:93}, Year = 1993, Pages = {27--42}, LastUpdate = "by david.", } ---------- add new entries above this line only ---------- ============================================================== ****************1995 ************************************ @InProceedings{Bass:95, Ordinal = "P218", author = "Len Bass", title = "Is There a Wearable Computer In Your Future", year = 1995, booktitle = "Proceedings of Ergonomie'95", Email = "ljb@cs.cmu.edu", } @InProceedings{Golubski:Lippe:95, Ordinal = "P213", author = "Wolfgang Golubski and Wolfram-M. Lippe", title = "First Steps towards a Compilation from {S}malltalk-80 to {C}({LOS})", year = 1995, booktitle = "Proceedings of" # TOOLS # "{USA}'95 ", pages = "183--190", Email = {(wg,lippe)@math.uni-muenster.de}, } @InProceedings{ran:msc, Ordinal = "P268", author = "Alexander S. Ran", title = "Modeling States as Classes", year = 1994, booktitle = "Proceedings of" # TOOLS # "{USA}'94 ", pages = "47--64", Email = {ran@research.nokia.com}, } @InProceedings{Mcaffer:95, Ordinal = "P173", author = "Jeff McAffer", title = "Meta-level Programming with {CodA}", year = 1995, crossref = {ECOOP:95}, pages = "190--214", Email = "jeff@acm.org", } @InProceedings{Bertino:Guerrini:95, Ordinal = "P172", author = "Elisa Bertino and Giovanna Guerrini", title = "Objects with Multiple Most Specific Classes", year = 1995, crossref = {ECOOP:95}, pages = "102--126", Mail = "bertino@hermes.mc.dsi.unimi.it, guerrini@disi.unage.it", } @InProceedings{Abadi:Cardelli:95, Ordinal = "P171", author = "Martin Abadi and Luca Cardelli", title = "On Subtyping and Matching", year = 1995, crossref = {ECOOP:95}, pages = "145--166", } @InProceedings{ Steaert:Meuter:95, Ordinal = "P170", author = "Patrick Steyaert and Wolfgang De Meuter", title = "A Marriage of Class- and Object-Based Inheritance Without Unwanted Children", year = 1995, crossref = {ECOOP:95}, pages = "127--144", Mail = "{prsteyae,wdmeuter}@vnet3.vub.ac.be", } @InProceedings{ Stroud:Wu:95, Ordinal = "P169", author = "R.J.Stroud and Z.Wu", title = "Using Metaobject Protocols to Implement Atomic Data Types", year = 1995, crossref = {ECOOP:95}, pages = "168--189", } @InProceedings{Kiebling:Kruger:95, Ordinal = "P168", author = "Heiko Kiebling and Uwe Kruger", title = "Sharing Properties in a Uniform Object Space", year = 1995, crossref = {ECOOP:95}, pages = "424--447", } @String{MFPS = "Mathematical Foundations of Programming Semantics"} ******************* 1995 OOPSLA'95 ***************************** ******************* 1994 OOPSLA'94 ***************************** @InProceedings{Danforth:94 , Ordinal = "P251", author = "Scott Danforth and Ira R. Forman", title = "Reflection on Metaclass Programming in SOM", crossref = {OOPSLA:94}, pages = "440--452", } @InProceedings{Forman:Danforth:Madduri:94, Ordinal = "P252", author = "Ira R. Forman and Scott Danforth and Hari Madduri", title = "Composition of Before/After Metaclasses in SOM", crossref = {OOPSLA:94}, pages = "427--439", Organization = "{IBM} Object Technology Products", } ******************** 1994 ****************************************** @InProceedings{Hursch:94, Mail = {huersch@ccs.neu.edu}, Author = {Walter L. H\"{u}rsch}, Crossref = {ECOOP:94}, Pages = "12-31", Title = {Should Superclasses be Abstract?}, Year = 1994, } @InProceedings{Wieringa:Jonge:Spruit:94, Ordinal = "P175", author = "Roel Wieringa and Wiebren de Jonge and Paul Spruit", title = "Roles and dynamic subclasses: a modal logic approach", year = 1994, crossref = {ECOOP:94}, pages = "32--59", Mail = "roelw@cs.vu.nl,wiebren@cs.vu.nl,pasprui@cs.vu.nl", } @InProceedings{Pree:94, Ordinal = "P176", author = "Wolfgang Pree", title = "Meta Patterns - A Means For Capturing the Essential of Reusable Object-Oriented Design", year = 1994, crossref = {ECOOP:94}, pages = "150--162", Mail = "pree@swe.uni-linz.ac.at", } @InProceedings{Alagic:Sunderraman:Bagai:94, Ordinal = "P177", author = "S. Alagic and R. Sunderraman and R. Bagai", title = "Declarative Object-Oriented Programming: Inheritance, Subtyping and Prototiping", year = 1994, crossref = {ECOOP:94}, pages = "237--259", } @InProceedings{Lopez:Freeman-Benson:Borning:94, Ordinal = "P178", author = "Gus Lopez and Bjorn Freeman-Benson and Alan Borning", title = "Constraints and Object Identity", year = 1994, crossref = {ECOOP:94}, pages = "261--279", Mail = "bnfb@scs.carleton.ca", } @InProceedings{Okamura:Ishiakawa:94, Ordinal = "P179", author = "Hideaki Okamura and Yutaka Ishiakawa", title = "Object Location Control Using Meta-Level Programming", year = 1994, crossref = {ECOOP:94}, pages = "299--319", } @InProceedings{Attardi:Flagella:94, Ordinal = "P180", author = "Giuseppe Attardi and Tito Flagella", title = "Customising Object Allocation", year = 1994, crossref = {ECOOP:94}, pages = "320--343", Mail = "{attardi,tito}@di.unipi.it", } @InProceedings{Moreira:Clark:94, Ordinal = "P181", author = "Ana M. D. Moreira and Robert G. Clark", title = "Combining Object-Oriented Analysis and Formal Description Techniques", year = 1994, crossref = {ECOOP:94}, pages = "344--364", Mail = "amm@sc.stir.ac.uk, rgc@sc.stir.uk", } @InProceedings{Briggs:Werth:94, Ordinal = "P182", author = "Ted L. Briggs and John Werth", title = "A Specification Language for Object-Oriented Analysis and Design", year = 1994, crossref = {ECOOP:94}, pages = "365--385", Email = "email:tlbriggs@ingr.com, jwerth@cs.utexas.edu", } @InProceedings{Chen:Turau:Klas:94, Ordinal = "P184", author = "Weimin Chen and Volker Turau and Wolfgang Klas", title = "Efficient Dynamic Look Up Strategy for Multi-Methods", year = 1994, crossref = {ECOOP:94}, pages = "408--431", Mail = "{chen,klas}@darmstadt.gmd.de, turau@courbet.fh-friedberg.de", } @InProceedings{Pauw:Kimelman:Vissides:94, Ordinal = "P183", author = "Wim {De~Pauw} and Doug Kimelman and John Vissides", title = "Modeling Object-Oriented Program Execution", year = 1994, crossref = {ECOOP:94}, pages = "163--182", Email = {{wim,dnk,vlis}@watson.ibm.com}, } *************************** 1993 ********************************** @InProceedings{Liskov:Wing:93, Ordinal = "P185", author = "Barbara Liskov and Jeannette M. Wing", title = "A New Definition of the Subtype Relation", year = 1993, crossref = {ECOOP:93}, pages = "118--141", } @InProceedings{Steyaert:Codenie:Hondt:93, Ordinal = "P186", author = "Patrick Steyaert and Wim Codenie and Theo D'Hondt and Koen De Hondt", title = "Nested Mixin-Methods in Agora", year = 1993, crossref = {ECOOP:93}, pages = "197--219", Mail = "prsteyae@vnet3.vub.ac.be", } @InProceedings{Goguen:93, Ordinal = "P215", author = "Joseph A. Goguen", title = "An Approach to Situated Adaptive Software", year = 1993, booktitle = {Proceedings of International Workshop on New Models of Software Architecture}, } ******************************************************** ***************** ECOOP'87 @InProceedings{Strousttrup:87, Ordinal = "P260", Title = "What is ``Object-Oriented Programming''?", Author = Stroustrup, BookTitle = ECOOP, Year = 1987, Pages = "51-70", Publisher = sv, Series = LNCS, Number = 276, Editor = "G. Goos and J. Hartmanis", LastUpdate = "by david.", } @InProceedings{Chiba:Masuda:87, Ordinal = "P261", Title = "Designing an Extensible Distributed Language with a Meta-Level Architecture", Author = "Shigeru Chiba and Takashi Masuda", BookTitle = ECOOP, Year = 1987, Pages = "482--501", Publisher = sv, Series = LNCS, Number = 276, Editor = "G. Goos and J. Hartmanis", email = "{muru,richj}@aldus.com" } @InProceedings{Johnson:Palaniappan:87, Ordinal = "P262", Author = "Richard Johnson and Murugappan Palaniappan", Title = "Meta{F}lex: A Flexible Metaclass Generator", BookTitle = ECOOP, Year = 1987, Pages = "503--527", Publisher = sv, Series = LNCS, Number = 276, Editor = "G. Goos and J. Hartmanis", } ************************ 1992 OOPLSA ******************* @InProceedings{Myers:Giuse:Zanden:92, Ordinal = "P416", author = "Brad A. Myers and Dario A. Giuse and Brad Vander Zanden", title = "Declarative Programming in a Prototipe-Instance System: Object-Oriented Programming without Writing Methods", year = 1992, crossref = {OOPSLA:92}, pages = "184--200", } @InProceedings{Kiczales:Lamping:92, Ordinal = "P198", author = "Gregor Kiczales and John Lamping", title = "Issues in the Design and Specification of Class Libraries", year = 1992, crossref = {OOPSLA:92}, pages = "435--451", } @InProceedings{Calder:Linton:92, Ordinal = "P489", author = "Paul Calder and Mark Linton", title = "The Object - Oriented Implementation of a Document Editor", year = 1992, crossref = {OOPSLA:92}, pages = "154--165", } @InProceedings{Cook:92, author = "William R. Cook", title = "Interfaces and Specifications for the Smalltalk-80 Collection Classes", crossref = {OOPSLA:92}, pages = "1--15", } ***************** OOPSLA'91 @InProceedings{Gibbs:91, Author = "Simon Gibbs", Title = "Composite Multimedia and Active Objects", Crossref = {OOPSLA:91}, Pages = "97--112" } @InProceedings{Jacobson:91, Ordinal = "P421", Author = "Ivar Jacobson", Title = "Re-engineering of old systems to an object-oriented architecture", Crossref = {OOPSLA:91}, pages = "340--350" } @InProceedings{Helm:Maarek:91, Ordinal = "P420", Author = "Richard Helm and Yoelle S. Maarek", Title = "Integrating Information Retrieval and Domain Specific Approaches for Browsing and Retrieval in Object-Oriented Class Libraries", Crossref = {OOPSLA:91}, Pages = "47--61" } ************************ 1991 ser. LNCS ********************* no_cross @InProceedings{Leavens:Pigozzi:91, Ordinal = "P210", author = "Gary T.Leavens and Don Pigozzi", title = "Typed Homomorphic Relations Extended with Subtypes", crossref = {MFPS:91}, pages = "145--167", booktitle = MFPS, Mail = "leavens@cs.iastate.edu", } ************************ 1990 ECOOP/OOPSLA ***************NO_cross!!!! @InProceedings{Freeman:90, Ordinal = "P197", author = "Bjorn N. Freeman-Benson", title = "Kaleidoscope: Mixing Objects, Constraints, and Imperative Programming ", year = 1990, month=Oct#{ 21-25}, crossref = {OOPSLA:90}, pages = "77--88", booktitle = PROC # ECOOP, Mail = "bnfb@cs.washington.edu", } @InProceedings{Bracha:Cook:90, Ordinal = "P433", author = "Giard Bracha and William Cook", title = "Mixin-based Inheritance", crossref = {OOPSLA:90}, pages = "303--311", } ************************ 1989 ECOOP/OOPSLA ***************NO_cross!!!! @InProceedings{Cook:Palsberg:89, author = "William Cook and Jens Palsberg", title = "A Denotational Semantics of Inheritance and its Correctness ", crossref = {OOPSLA:89}, pages = "433--443", Mail = "wrc@cs.brown.edu, palsberg@daimi.dk", } @InProceedings{ Canning:Cook:Hill:89, author = "Peter S. Canning and William R. Cook and Walter L. Hill and Walter G. Olthoff", title = "Interfaces for Strongly-Typed Object-Oriented Programming ", crossref = {OOPSLA:89}, pages = "457--467", address = "Hewlett-Packard Laboratories" } @InProceedings{Foot:Jonson:89, Ordinal = "P253", author = "Brian Foote and Ralph E. Jonson", title = "Reflective Facilities in Smalltalk-80", crossref = {OOPSLA:89}, pages = "327--335", Email = "foot@p.cs.uiuc.edu,jonson@p.cs.uiuc.edu", } @InProceedings{Ferber:89 , Ordinal = "P254", author = "Jacques Ferber", title = "Computation Reflection in Class based Oriented Languages", crossref = {OOPSLA:89}, pages = "317--326", Email = "jf@litp.ibp.fr", } *************************************************************** **************** OOPSLA'88 @InProceedings{Watanabe:Yonezawa:88, Ordinal = "P255", author = "Takuo Watanabe and Akinori Yonezawa", title = "Reflection in an Object-Oriented Concurrent Language", crossref = {OOPSLA:88}, pages = "306--315", email = "{tokuo,yonezawa}%is.titech.junet@relay.cs.net" } @InProceedings{Kleyn:Gingrich:88, Ordinal = "P256", author = "Michael F. Kleyn and Paul C. Gingrich", title = "Graph{T}race - Understanding Object-Oriented Systems Using Concurrently Animated Views", crossref = {OOPSLA:88}, pages = "191--205", } ************* 1987 ******************************************** @InProceedings{Blake:Cook:87, Ordinal = "P187", Author = "Edwin Blake and Steve Cook", Title = "On Including Part Hierarchies in Object-Oriented Languages, with an Implementation in {Smalltalk}", year = 1987, crossref = {ECOOP:87}, pages = "41--50", Mail = "edwin@qmc-cs.UUCP", } @InProceedings{Horspool:87, Ordinal = "P188", author = "R. Nigel Horspool", title = "Recursive Ascent-Descent Parsers", year = 1987, crossref = {ECOOP:87}, pages = "1--10", } @InProceedings{Pfahler:87, Ordinal = "P189", author = "Peter Pfahler", title = "Optimizing Directly Executable {LR} Parsers", year = 1987, crossref = {ECOOP:87}, pages = "179--192", } @InProceedings{Maes:87, Ordinal = "P257", author = "Pattie Maes", title = "Concepts and Experiments in Computational Reflection", PersonalAddress = "Vrije Universitiet Brussel, Pleinlann 2, B-1050 Brussels", Email = "pattie@arti.vub.uucp", crossref = {ECOOP:87}, pages = "147--155", Year = 1987, Month = Oct, Days = "4--8", Email = "pattie@arti.vub.uucp", } @InProceedings{Cointe:87, Ordinal = "P258", author = "Pierre Cointe", title = "Metaclasses are First Class: the {O}bj{V}lisp Model", crossref = {ECOOP:87}, pages = "156--167", Email = "cointe@inria.inria.fr.uucp", } @InProceedings{Snyder:86, Ordinal = "P190", Author = "Alan Snyder", Title = "Encapsulation and Inheritance in Object-Oriented Programming Languages", Crossref = {OOPSLA:86}, Pages = "38--45" } @InProceedings{Fukunaga:Hirose:86, Ordinal = "P191", author = "Koichi Fukunaga and Shin-ichi Hirose", title = " An Experience with a Prolog-based Object-Oriented Language", year = 1986, crossref = {OOPSLA:86}, pages = "224--231", Mail = "", } **************** 1990 USENIX ************************* @InProceedings{Interrante:Linton:90, Ordinal = "P193", Author = "John A. Interrante and Mark A.Linton", Title = "Runtime Access to Type Information in {C}++", BookTitle = "USENIX {C++} Conference", Year = 1990, Month = Apr, Pages = "233--240", Days = "9--11", Address = "San Fransisco, CA", Organization = "Stanford University" } @InProceedings{Grass:Chen:90, Ordinal = "P194", Author = "Judith E. Grass and Yih-Farn Chen", Title = "The {C}++ Information Abstraktor", BookTitle = "USENIX {C++} Conference", Year = 1990, Month = Apr, Pages = "265--277", Days = "9--11", Address = "San Fransisco, CA" , Organization = "Stanford University" } **************** 1991 USENIX ************************* @InProceedings{Wolf:Rosenblum:91, Mail = {{dsr,wolf}@research.att.com}, Ordinal = "P259", Address = "Washington, D.C.", Author = "Alexander L. Wolf and David S. Rosenblum", BookTitle = "USENIX {C++} Conference Proceedings", Days = "22-25", Month = Apr, Pages = "119--134", Title = "Representing Semantically Analyzed {{C++}{}} Code with {Reprise}", Year = 1991, } **************** 1992 USENIX ************************* @InProceedings{Duby:Meyers:Reiss:92, Ordinal = "P195", Author = "Carolyn K. Duby and Scott Meyers and Steven P. Reiss", Title = "{CCEL}: A Metalanguage for {C}++", BookTitle = "USENIX {C++} Conference", Year = 1992, Month = Aug, Pages = "99--115", Days = "10-13", Address = "Portland, Oregon", Mail = {{ckd,sdm,spr}@cs.brown.edu}, } @InProceedings{Murray:92a, Ordinal = "P196, DH033", Author = "Robert B. Murray", Title = "A Statically Typed Abstract Representation for {{C++}{}} Programs", BookTitle = "USENIX {C++} Conference", Year = 1992, Month = Aug, Pages = "83--97", Days = "10--13", Address = "Portland, Oregon", Organization = "USENIX Association", Publisher = "USENIX Association", Mail = {rbm@mozart.att.com}, Keywords = "{C++}, AT&T Bell Lab.", Desc = { Alf = A Language Foundation. Represents semantics (not syntax). }, } *********************************** @InProceedings{Weide:RE, Ordinal = "P287", Author = "Bruce W. Weide and Wayne D. Heym and Joseph E. Hollingworth", Title = "Reverse Engineering of Legacy Code Exposed", BookTitle = "Proceedings of 17th International Conference on Software Engineering", Year = 1995, Month = Apr # { 23-30}, Pages = "327--336", Address = "Seattle, Washington, U.S.A.", Mail = {weide@cis.ohio-state.edu}, } ************************* Article ************************************* @Article{Dori:95, Ordinal = "P200", Author = "Dov Dori", Title = "Object-Process Analysis: Maintaining the Balance Between System Structure and Behavior", Journal = "Logic Computat.", Year = 1995, Volume = 5, Number = {93-30}, Pages = "1--23", Mail = {dori@ie.technion.ac.il}, } @Article{Merks:Dyck:Cameron:92, Ordinal = "P199", Author = "Eduardus A.T. Merks and J.Michael Dyck and Robert D. Cameron", Title = "Lenguage Design For Program Manipulation", Journal = ITSE, Year = 1992, Month = Jan, Volume = 18, Number = 1, Pages = "19--32", } @Article{Jonson:Nardi:IGA:93, Ordinal = "P201", Author = "Jeff A. Johnson and Bonnie A. Nardi and Craig L. Zarmer and James R. Miller", Title = "{ACE}: Building Interactive Graphical Applications", Journal = CACM , Year = 1993, Month = Apr, Volume = 36, Number = 4, Pages = "41--55", } @Article{Gelernter:Carriero:92, Ordinal = "P309", Author = "David Gelernter and Nicholas Carriero", Title = "Coordination Languagies and their Significance", Journal = CACM , Year = 1992, Month = Feb, Volume = 35, Number = 2, Pages = "97--107", } @Article{Monarchi:Puhr:92, Ordinal = "P335", Author = "David E. Monarchi and Gretchen I. Puhr", Title = "A Research Typology for Object-Oriented Analysis and Design", Journal = CACM , Year = 1992, Month = Sep, Volume = 35, Number = 9, Pages = "33--47", } @Article{Nerson:92, Ordinal = "P336", Author = "Jean-Marc Nerson", Title = "Applying Object-Oriented Analysis and Design", Journal = CACM , Year = 1992, Month = Sep, Volume = 35, Number = 9, Pages = "63--74", } @Article{Jonson:Nardi:CLP:93, Ordinal = "P202", Author = "Paskal Van Hentenryck", Title = "Constraint logic programming", Journal = "The Knowlege Engineering Revie" , Year = 1991, Volume = 6, Pages = "151--194", } @Article{Goguen:Socorro:MC:94, Ordinal = "P216", Author = "Joseph A. Goguen and Adolfo Socorro", Title = "Module Composition and System Design for the Object Paradigm", Journal = JOOP, Year = 1994, Pages = "1--17", Mail = "goguen,ajs@prg.oxford.ac.uk", } @Article{Koenig:FA:96, Ordinal = "P211", Author = "Andrew Koenig", Title = "Function adaptors", Journal = JOOP, Year = 1996, Pages = "51--53", } @Article{Rumbaugh:FPU:96, Ordinal = "P212", Author = "James Rumbaugh", Title = "To form a more perfect union: Unifying the OMT and Booch methods", Journal = JOOP, Year = 1996, Pages = "14--18", } @Article{Remer:76, Ordinal = "P278", Author = "Frank {D}e{R}emer and Hans H. Kron", Title = "Programming-in-the-{L}arge {V}ersus Programming-in-the-{S}mall", Journal = ITSE, Year = 1976, Pages = "80--86", Volume = "SB-2", Number = 2, } @Article{Reiss:CT, Ordinal = "P281", Author = "Steven P. Reiss", Title = "Connecting Tools Using Message Passing in the Fields Environment", Journal = "IEEE Software", Year = 1990, Pages = "57--66", } @Article{Hausler:Linger:94, Ordinal = "P289", Author = "P. A. Hausler and R. C. Linger and C. J. Trammell", Title = "Adopting Cleanroom Software Engineering with a Phased Approach", Journal = IBMSJ, Year = 1994, Pages = "89--109", Volume = 33, Number = 1, } @Article{Markosian:94, Ordinal = "P292", Author = "Lawrence Markosian and Philip Newcomb and Russel Brand and Scott Burson and Ted Kitzmiller ", Title = "Using an Enabling Technology to Reengineer Legacy Systems", Journal = CACM, Year = 1994, Pages = "58--70", Volume = 37, Number = 5, } @Article{Griss:93, Ordinal = "P294", Author = "M. L. Griss", Title = "Software reuse: From library to factory", Journal = IBMSJ, Year = 1993, Pages = "548--566", Volume = 32, Number = 4, } @Article{Parrish:Borie:Cordes:93, Ordinal = "P296", Author = "Allen S. Parrish and Richard B. Borie and David W. Cordes", Title = "Automated Flow Graph-Based Testing of Object-Oriented Software Modules", Journal = SS, Year = 1993, Pages = "95--109", } @Article{Goldszmidt:Yemini:90, Ordinal = "P297", Author = "German S. Goldszmidt and Shaula Yemini", Title = "High-Level Language Debugging for Concurrent Programs", Journal = CS, Year = 1990, Pages = "311--336", Volume = 8, Number = 4, } @Article{Dori:OPA:95, Ordinal = "P298", Author = "Dov Dori", Title = "Object-process Analysis: Maintaining the Balance Between System Structure and Behaviour", Journal = LC, Year = 1995, Pages = "227--249", Volume = 5, Number = 2, } @Article{Harel:Lachover:90, Ordinal = "P300", Author = "David Harel and Hagi Lachover and Amnon Naamad and Amir Pnueli and Michal Politi and Rivi Sherman and Aharon Shtull-Trauring and Mark Trakhtenbrot", Title = "STATEMATE: A Working Environment for the Development of Complex Reactive Systems", Journal = ITSE, Year = 1990, Pages = "403--414", Volume = 16, Number = 4, } @Article{Jonson:Rees:92, Ordinal = "P310", Author = "Paul Johnson and Ceri Rees", Title = "Reusability Through Fine-grain Inheritance", Journal = SPAE, Year = 1992, Pages = "1049--1068", Volume = 22, Number = 12, } @Article{Katzenelson:HLP, Ordinal = "P311", Author = "Jacob Katzenelson", Title = "Higher Level Programming and Data Abstractions - A Case Study Using Enhanced {C}", Journal = SPAE, Year = 1983, Pages = "577--595", Volume = 13, } @Article{Katzenelson:IE, Ordinal = "P312", Author = "Jacob Katzenelson", Title = "Introduction to Enhanced {C} {(EC)}", Journal = SPAE, Year = 1983, Pages = "551--576", Volume = 13, } @Article{Pountain:93, Ordinal = "P313", Author = "Dick Pountain", Title = "Oberon: A Glimpse at the Future", Journal = "BYTE", Year = 1993, Pages = "111--116", } @Article{Linthicum:95, Ordinal = "P339", Author = "David S. Linthicum", Title = "The End of Programming", Journal = "BYTE", Year = 1995, Month = Aug, Pages = "69--72", } @Article{Mueller:94, Ordinal = "P314", Author = "Harald M. Mueller", Title = "Powerful Assertions for {C}++", Journal = CCUJ, Year = 1994, Month = Oct, Pages = "21--37", } @Article{Cargill:94, Ordinal = "P315", Author = "Tom Cargill", Title = "An Overview of {JAVA} for {C}++ Programmers", Journal = "{C}++ Report", Year = 1996, Month = Feb, Pages = "46--49", } @Article{Betz:94, Ordinal = "P316", Author = "Mark Betz", Title = "Inter{O}perable Objects", Journal = "Dr. Dobb's Journal", Year = 1994, Month = Oct, Pages = "18--39", } @Article{Andrews:91, Ordinal = "P323", Author = "Gregory R. Andrews", Title = "Paradigms for Process Interaction in Distributed Programs", Journal = "ACM Computing Serveys", Year = 1991, Month = Mar, Volume = 23, Number = 1, Pages = "49--90", } @Article{Levy:93, Ordinal = "P330", Author = "David M. Levy", Title = "Document reuse and document systems", Journal = "Electronic Publishing", Year = 1993, Month = Dec, Volume = 6, Number = 4, Pages = "339--348", } @Article{Quint:Vatton:94, Ordinal = "WP333", Author = "Vincent Quint and Irene Vatton", Title = "Making structured documents active", Journal = "Electronic Publishing", Year = 1994, Month = Jun, Volume = 7, Number = 2, Pages = "55--74", } @Article{Lieberherr:Xiao:93b, Ordinal = "P334", Author = "Karl J. Lieberherr and Cun Xiao", Title = "Object-Oriented Software Evolution", Journal = ITSE, Year = 1993, Month = Apr, Pages = "313--343", Volume = 19, Number = 4, } @UnPublished{Lieberherr:Xiao:FFOODM:92, Ordinal = "P441", Author = "Karl Lieberherr and Cun Xiao", Title = "Formal Foundations for Object-Oriented Data Modeling", Year = 1992, Month = May # { 13}, Note = "Manuscript" } @UnPublished{Cook:AfC:94, Ordinal = "P444", Author = "Jonathan E. Cook", Title = "Assertions for {C++}", Year = 1994, Month = Jun # { 19}, Note = "Manuscript" } @Misc{Hitz:Montazeri:96, Ordinal = "P445", Author = "Martin Hitz and Behzad Montazeri", Title = "Measuring Coupling in Object-Oriented Systems", Year = 1996, Month = Nov, Site = "http://www.sigs.com/publications/docs/oc/9604/oc9604.f.hitz.html", } @UnPublished{Gil:Joseph:94, Ordinal = "P446", Author = "Joseph (Yossi) Gil", Title = "Terse, Lean, Slim, Zair -- Small is Beautiful", Year = 1994, Month = Jan # { 21}, Institution = "Technion -- Israel Institute of Technology", Note = "Manuscript" } @Article{Kilian:Michael:96, Ordinal = "P447", Author = "Michael Kilian", Title = "Interpreting {C++}: Making Reusability Dynamic", Journal = "Object Magazine", Year = 1996, Month = jun, URL = "http://www.sigs.com", } @Article{Chapman:84, Ordinal = "P449", Author = "N. P. Chapman", Title = "{LALR(1,1)} Parsers Generation for Regular Right Part Grammars", Journal = "Acta Informatica", Year = 1984, Volume = 21, Number = 8, Pages = "30--45", } @Article{LaLonde:79, Ordinal = "P450", Author = "Wilf R. LaLonde", Title = "Constracting {LR} Parsers for Regular Right Part Grammars", Journal = "Acta Informatica", Year = 1979, Volume = 11, Pages = "177--193", } @Article{Madsen:Kristensen:76, Ordinal = "P451", Author = "O. L. Madsen and B. B. Kristensen", Title = "{LR}-Parsing of Extended Context Free Grammars", Journal = "Acta Informatica", Year = 1976, Volume = 7, Pages = "61--73", Month = Dec, } @UnPublished{Booch:Rumbaugh:Jacobson:96, Ordinal = "P452", Author = "Grady Booch and James Rumbaugh and Ivar Jacobson:", Title = "The Unified Modeling Language for Object--Oriented Development" , Year = 1996, Month = Jul # { 2}, Note = "Documentation Set Version 0.9 Addendum", } @Misc{Kang:Lee:94, Ordinal = "P453", Author = "Inhye Kang and Insup Lee", Title = "State Minimization for Concurrent System Analysis Based on State Space Exploration", Note = "Appeared in Proceedings of Conference on Computer Assurance", Year = 1994, Month = Jun, Institution = "University of Pennsylvania", } @UnPublished{Ben-Abdallah:Sokolsky:96, Ordinal = "P454", Author = "Hanene Ben-Abdallah and Oleg Sokolsky", Title = "{PARAGON} Toolset User Manual", Year = 1996, Month = Jul # { 25}, Institution = "University of Pennsylvania", Note = "Manuscript" } @Misc{Schmidt:95, Ordinal = "P456", Author = "Dough Schmidt", Title = "Virtual interview with James Koplien", Note = "Manuscript", Year = 1995, Month = Sep, } @Misc{Meyers:Cargill:96, Ordinal = "P457", Author = "Scott Meyers", Title = "More Effective {C++}. 35 New Ways to Improve Your Progr ams Design", Note = "Tom Cargill. Exeption Handling: A False Sense of Securit y", Year = 1996, } @Misc{Vlissides:96b, Ordinal = "P459", Author = "John Vlissides", Title = "Pattern Hatching. Generation Gap", Year = 1996, Month = Dec, } @Misc{Booch:Rumbaugh:95, Ordinal = "P460", Author = "Grady Booch and James Rumbaugh", Title = "Unified Method for Object - Oriented Development", Year = 1995, Note = "Documentation Set Version 0.8", } @Misc{Holstein:96, Ordinal = "P461", Author = "Beery Holstein", Title = "{T++} Test Case Generator Using Code Abstraction", Note = "Research Thesis Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science i n Computer Science", Institution = "The Technion - Israel Institute of Technology", Year = 1996, Monthe = Sep, } @Misc{Lorenz:96, Ordinal = "P462", Author = "David H. Lorenz", Title = "Compilation of Source Code into an Object--Oriented Data Structure", Note = "Addendum to Thesis Proposal", Institution = "The Technion - Israel Institute of Technology", Year = 1996, Monthe = Jun # { 27}, } @Article{Barton:Nackman:95, Ordinal = "P463", Author = "John J. Barton and Lee R. Nackman", Title = "Dimensional analysis", Note = "Scientific and Engineering {C++}", Journal = "{C++} Report", Year = 1995, Monthe = Jan, } @Manual{Power:Script, Ordinal = "P464", Title = "PowerScript for {W}indows 3.1 and {W}indows 95", Note = "User's Guide and Reference Manual", Key = "PowerScript" } @Misc{Szmit:95, Ordinal = "P465", Author = "Ricardo Szmit", Title = "Configurable Objects: Theory and Practice", Note = "Research Thesis Submitted in partial fulfillment of the requirements for the Degree of Master of Science in Computer Science", Institution = "The Technion - Israel Institute of Technology", Year = 1995, Month = Apr } @Misc{Goodman:96, Ordinal = "P467", Author = "Moshe Goodman", Title = "The Object-Process Paradigm as a Common Methodology for Analisis, Design and Implementation of Information Systems", Note = "Research Thesis Submitted in partial fulfillment of the requirements for the Degree of Master of Science in Computer Science", Institution = "The Technion - Israel Institute of Technology", Year = 1996, Monthe = May, } @Article{Shneiderman:Alavi:95, Ordinal = "P342", Author = "Ben Shneiderman and Maryam Alavi and Kent Norman and Ellen Yu Borkowski", Title = "Windows of Opportunity in Electronic Classrooms", Journal = CACM, Year = 1995, Month = Nov, Pages = "19--24", Volume = 38, Number = 11, } @Article{Hartson:89, Ordinal = "P343", Author = "Rex Hartson", Title = "User-Interface Management Control and Communication", Journal = "IEEE Software", Year = 1989, Month = Jan, Pages = "62--70", } @Article{Hurley:Sibert:89, Ordinal = "P344", Author = "William D. Hurley and John L. Sibert", Title = "Modeling User Interface-Application Interactions", Journal = "IEEE Software", Year = 1989, Month = Jan, Pages = "71--77", } @Article{Hodges:Sasnett:89, Ordinal = "P345", Author = "Matthew E. Hodges and Russell M. Sasnett", Title = "A Construction Set for Multimedia Applications", Journal = "IEEE Software", Year = 1989, Month = Jan, Pages = "37--43", } @Article{Crimi:Guercio:90, Ordinal = "P346", Author = "Claudia Crimi and Angela Guercio and Giuliano Pacini and Genoveffa Tortora and Maurizio Tucci", Title = "Automating Visual Language Generation", Journal = ITSE, Year = 1990, Month = Oct, Volume = 16, Number = 10, Pages = "1122--1135", } @Article{Sardana:94, Ordinal = "P392", Author = "Dinesh Sardana", Title = "Object{T}race - A Object Level Tracing And Profiling Tool For {C}++", Journal = "Object{T}race", Year = 1994, Month = Jan # { 24}, } @Article{Gutknecht:93, Ordinal = "P395", Author = "Jurg Gutknecht", Title = "The Tragedy of Programming Language Development", Journal = "Structured Programming", Year = 1993, Volume = 14, Pages ="49--55", } @Article{Ariav:Goodman:94, Ordinal = "P397", Author = "G. Ariav and S. E. Goodman", Title = "Israel: Of Swords and Software Plowshares", Journal = CACM, Year = 1994, Volume = 37, Number = 6, Month = Jun, Pages ="17--21", } @Article{Muller:Orgun:Tilley:93, Ordinal = "P398", Author = "Hausi A. Muller and Mehmet A. Orgun and Scott R. Tilley and James S. UHL", Title = "A Reverse-engineering Approach to Subsystem Structure Identification", Journal = "Software Maintenance: Research and Practice", Year = 1993, Volume = 5, Month = Apr, Pages ="181--204", } *************** MISCEL. **************** @Misc{SEID:sep:94, Ordinal = "P427", Title = "Software Engineering Institute Documents", Key = "Software Engineering Institute Documents", Year = 1994, Month = Sep } @Misc{Henricson:Nyquist:92, Ordinal = "P426", Comment = "booklet", Title = "Programming in {C++}. Rules and Recommendations", Author = "Mats Henricson and Erik Nyquist", Year = 1992, Month = sep, } @Misc{Oosthuizen:Bekker:Avenant:93, Ordinal = "P423", Comment = "Manuscript", Title = "Managing Classes in Very Large Class Repositories", Author = "G. Deon Oosthuizen and Carel Bekker and Chrishna Avenant", } @Misc{Buschmann:93, Ordinal = "P418", Comment = "Manuscript", Title = "Rational architectures for object-oriented software systems", Author = "Frank Buschmann", Year = 1993, Month = sep, } @Misc{Koskimies:Vihavainen:92, Ordinal = "P417", Comment = "Manuscript", Title = "The problem of unexpected subclasses", Author = "Kai Koskimies and Juha Vihavainen", Year = 1992, Month = oct, } @Misc{Smith:Barth:Young, Ordinal = "P412", Comment = "Manuscript", Title = "A Substrate for Object-Oriented Interface Design", Author = "Reid G. Smith and Paul S. Barth and Robert L. Young", } @Misc{Nierstrasz:Tsichritzis, Ordinal = "P413", Comment = "Manuscript", Title = "Integrated Office Systems", Author = "O. M. Nierstrasz and D. C. Tsichritzis", } @Misc{Kristensen:taaoop, Ordinal = "P414", Comment = "Manuscript", Title = "Transverse Activities: Abstractions in Object-Oriented Programming", Author = "Bent Bruun Kristensen", } @Misc{Snyder:idesc, Ordinal = "P411", Comment = "Manuscript", Title = "Inheritance and the Development of Encapsulated Software Components", Author = "Alan Snyder", } @Misc{DECdesign, Ordinal = "P240", Key = "unknown1", Title = "Overview of the {DEC}design Customization Facility", } @Misc{Whatis, Ordinal = "P241", Key = "unknown2", Title = "What is an object-oriented environment? Five principles and their application.", } @Misc{Vlissides:95, Ordinal = "P203", Comment = "Position Paper. Dugstuhl Seminar 9508", Title = "Revers Architecture", Author = "John Vlissides", Organization = "IBM T.J. Watson Research Center", Year = 1995, Email = "vlis@watson.ibm.com", } @Misc{RTSinC, Ordinal = "P204", Comment = "Revision", Title = "Runtime Type Support in {C} and {C}++", Author = "David Vinayak Wallace", } @Misc{Krishnamurthy:91, Ordinal = "P206", Title = "Language Features for Interoperability of Databases with Schematic Discrepancies", Author = "Ravi Krishnamurthy and Witold Litwin and William Kent", Year = 1991 , } @Misc{Practcours, Ordinal = "P208", Title = "A Practical Course on {EIFFEL} for Learning Software Engineering", Author = "Sita Ramakrishan and Cristine Mingins", Organization = "Department of software Development. Faculty of Computing and Information Technology", Address = "Monash University, Australia", } @Misc{SoftDesign, Ordinal = "P214", Title = "Software Design Patterns: Common Questions and Answers", Author = "James O. Coplien", Organization = "Software Production Research Department. {AT&T} {B}ell Laboratories", Mail = "cope@research.att.com", } @Misc{dean:94, Ordinal = "P217", Title = "Identifying Profitable Specialization in Object-Oriented Languages", Author = "Jeffrey Dean and Craig Chambers and David Grove", Organization = "Department of Computer Science and Engineering", Address = "University of Washington", Year = 1994, Mohth = Jun, } @InProceedings{Dean:Grove:Chambers:95, Author={J. Dean and G. Grove and C. Chambers}, Title={Optimization of Object-Oriented Programs Using Static Class Hierachy Analysis}, CrossRef="ECOOP:95", Pages= {77--101} } @Misc{Abadim:91, Ordinal = "P228", Author = "Martin Abadi and Luca Cardelli and Benjamin Pierce and Gordon D. Plotkin", Title = "Dynamic Typing in a Statically Typed Language", Organization = "Digital Equipment Corporation" # src # "and" # CMU # UE, Year = 1991, Month = Apr, } @Misc{Abadim:92, Ordinal = "P231", Author = "Martin Abadi and Gordon D. Plotkin", Title = "A Logical View of Composition", Organization = "Digital Equipment Corporation" # src, Year = 1992, Month = May, } @Misc{Approtype, Ordinal = "P233", Author = " John C. Reynolds", Title = "Three Approaches to Type Structure", Organization = SU, } @Misc{Goguenm:94, Ordinal = "P236", Comment = "In Mathematical Structures in Computer Science", Title = "An Oxford Survey of Order Sorted Algebra", Author = "Joseph Goguen and Razvan Diaconescu", Organization = "Programmihg Research Group, Oxford University", Year = 1994, } @Misc{Absinengsoftw, Ordinal = "P237", Comment = "Appears in IMSA'92 Proceedings (Workshop on Reflection and Meta-level Architectures", Title = "Towards a New Model of Abstraction in the Engineering of Software", Author = "Gregor Kiczales", Organization = "Xerox Palo Alto Research Center", } @Misc{Crupoint, Ordinal = "P238", Comment = "Appears in Proceedings of the 9th International Symposium on Computer and Information Sciences, Vol.II; Turkey, pages 659--666", Title = "Type Analysis in Object-Oriented Languages - The Crucial Points", Author = "Wolfgang Golubski", Organization = INIM, Email = "wg@math.uni.uni-muenster.de" } @Misc{Singhal:92, Ordinal = "P263", Title = "Texas: An Efficient, Portable Persistent Store", Author = "Vivek Singhal and Sheetal V. Kakkad and Paul R. Wilson", BookTitle = "Proceedings of the Fifth International Workshop on Persistent Object Systems", Month = Sep, Year = 1992, Address = "San Miniato, Italy", Editor = "A. Albano and R. Morrison", Pages = "1--19", Publisher = "Springer-Verlag", Series = "Worshops in Computing", } @Misc{schmidt:77, Ordinal = "P269", Title = "Some High Level Language Constructs for Data of Type Relation", Author = "Joachim W. Schmidt", BookTitle = "ACM Transactions on Data Base Systems", Month = Sep, Year = 1977, Address = "Universitat Hamburg", Pages = "247--261", } @Misc{Eisenstein:SPP, Ordinal = "P270", Title = "Summary of Products and Projects Uni{F}orm - an object-oriented library for {C}++", Author = "Eisenstein M.", } @Misc{Eisenstein:UNT, Ordinal = "P271", Title = "Uni{F}orm - new technology of screen forms development", Author = "Eisenstein M.", } @Misc{garlan:FDS, Ordinal = "P272", Title = "Formalizing Design Spaces: Implicit Invocation Mechanisms", Author = "David Garlan and David Notkin", BookTitle = "Proceedings of VDM'91: Formal Software Development Methods", Month = Oct, Year = 1991, } @Misc{Garlan:FSRF, Ordinal = "P273", Title = "Formal Specifications as Reusable Frameworks", Author = "David Garlan and Norman Delisle", BookTitle = "Proceedings of VDM'90: Formal Software Development Methods", Month = Mar, Year = 1990, Publisher = sv, } @Misc{Garlan:UTA, Ordinal = "P275", Title = "Using Tool Abstraction to Compose Systems", Author = "David Garlan and Gail E. Kaiser and David Notkin", Year = 1992, } @Misc{Abowd:Allen:DSA, Ordinal = "P277", Title = "Using Style to Understand Descriptions Of Software Architecture", Author = "Gregory Abowd and Robert Allen and David Garlan", Month = Dec, Year = 1993, } @Misc{Shaw:SA, Ordinal = "P282", Title = "Software Architecture for Shared Information Systems", Author = "Mary Shaw", Month = Jan # { 6}, Year = 1993, Howpublished = "Software Architectures for Shared Information Systems", } @Misc{Campbell:RIM, Ordinal = "P288", Title = "Reengineering to Increase Maintainability and Enable Reuse", Author = "Grady H. Campbell", Month = Feb # { 8}, Year = 1994, Note = "Presented at the 4th NSWC. Systems Reengineering Technology Workshop", } @Misc{Griss:HDS, Ordinal = "P293", Title = "Hybrid domain-specific kits for a flexible software factory", Author = "Martin L. Griss and Kevin D. Wentzel", } @Misc{COOTS:RF:96, Ordinal = "P304", Key = "unkn1a", Title = "2nd Conference on Object-Oriented Technologies and Systems {(COOTS)} Sponsored by the {USENIX} Association", Year = 1996, Month = Jun # { 17-21}, Note = "Registration form", } @Misc{IPPS:RF:96, Ordinal = "P305", Key = "unkn1b", Title = "10th International Parallel Processing Symposium. Advance Program", Year = 1996, Month = Apr # { 15-19}, Note = "Registration form", } @Misc{Uni:U01, Ordinal = "P327", Key = "unkn1c", Title = "Unicode 1.0.1", } @Misc{DuBois:92, Ordinal = "P328", Title = "A Tool {RTF} Processing Vertion 1.06a1", Author = "Paul DuBois", Year = 1992, Month = Jul # { 2}, } @Misc{DuBois:RTF, Ordinal = "P329", Title = "{RTF} Miscellany", Author = "Paul DuBois", Year = 1992, Month = Jul # { 2}, } @Misc{Ksar:93, Ordinal = "P332", Title = "Untying Tongues", Author = "Michael Y. Ksar", Year = 1993, Month = Jun, } @Misc{Miller:Koski:95, Ordinal = "P337", Title = "Fuzz Revisited: A Re-examination of the Reliability of {UNIX} Utilities and Services", Author = "Barton P. Miller and David Koski and Cjin Pheow Lee and Vivekananda Maganty and Ravi Murthy and Ajitkumar Natarajan and Jeff Steidl", Month = Aug # { 11}, Year = 1995, Address = CSD # "University of Wisconsin", } @Misc{FAQA:, Ordinal = "P338", Key = "unkn1d", Title = "Frequently Asked Questions About the {SEI} Software Process Program", } @Misc{PNAMW, Ordinal = "P340", Title = "Porting Nextstep Applications to Microsoft Windows", Author = "Cristopher Lozinski", } @Misc{Zernik:94, Ordinal = "P341", Title = "Visualizing Programs Using Dynamic Graphs", Author = "Dror Zernik", Year = 1994, Month = Oct # { 26}, } @Misc{Dillon:VEM, Ordinal = "P347", Title = "A Visual Execution Model for {A}da Tasking", Author = "Laura K. Dillon", } @Misc{Kaye:AAS, Ordinal = "P394", Title = "Adaptations of Arabic Script", Author = "Alan S. Kaye", Year = 1995, } @Misc{Idlebi:Mrayati, Ordinal = "P492", Title = "Design of Arabic Keyboard Layout Based on Statistical Properties of Arabic Characters", Author = "N. Idlebi and M. Mrayati", } @Misc{SFAC, Ordinal = "P396", Key = "unkn1e", Title = "Style File for Authors Coding with {L}atex", Note = "Lecture Notes in Computer Science", } @Misc{Warbrik:91, Ordinal = "P399", Title = "Essential {LATEX}", Author = "Jon Warbrick", Note = "Good Manual", Year = 1991, Month = Jul, } @Misc{Patashnik:88, Ordinal = "P400", Title = "Bib{TEX}ing", Author = "Oren Patashnik", Note = "Manuscript", Year = 1988, Month = Feb, } ********************** UNPUBLISH. ************************* @Unpublished{Leeu:94, Ordinal = "P205", Author = "Moon Lee and Noah Prywes and Insup Lee", Title = "Automation of Analysis, Simulation and Understending of Real Time Large {Ada} Software ", Institution = "University of Pennsylvania", Year = 1994, Note = "Manuscript", } @Unpublished{Ahrens:prywes, Ordinal = "P207", Author = "Judith D. Ahrens and Noah S. Prywes", Title = "Reengineering the Software Life Cycle and Enabling Technology", Institution = "Drexel University", Note = "Manuscript", mail = "ahrensjd@duvm.ocs.drexel.edu", } @Unpublished{Laufer, Ordinal = "P209", Author = "Konstantin Laufer", Title = "A Framework for Higher-Order Functions in {C}++", Institution = "Loyola University of Chicago", Note = "Manuscript", } @Unpublished{Budd, Ordinal = "P219", Author = "Tim Budd", Title = "Graphical User Interfaces", Note = "Rough-draft for new chapter of book {An introduction to OOP}", } @Unpublished{Prywes:Rehmet:a, Ordinal = "P455", Author = "Noah Prywes and Paul Rehmet", Title = "Recovery of Specefecation and Design From Programs For Application With Formal Methods Systems", Note = "Manuscript" } @Unpublished{Prywes:Rehmet:b, Ordinal = "P482", Author = "Noah Prywes and Paul Rehmet", Title = "Role of Recovery of Software Design From Source Code in the Software Life Cycle", Note = "Manuscript" } @Unpublished{Eden:Gil:Yehudai, Ordinal = "P408", Author = "Amnon H. Eden and Joseph (Yossi) Gil and Amiram Yehudai", Title = "A Formal Language for Design Patterns", Note = "Manuscript", } @Unpublished{Gil:Rosenhouse, Ordinal = "P493", Author = "Joseph Gil and Judith Rosenhouse", Title = "Integration Arabic in Global Communication Systems", Note = "Manuscript" } @Unpublished{Gunter:Lee:Miller, Ordinal = "P434", Author = "Carl A. Gunter and Insup Lee and Dale Miller", Title = "Formal Methods in Software Engineering", Note = "Manuscript", } @Unpublished{Firesmith:Henderson-Sellers:96, Ordinal = "P435", Author = "Donald Firesmith and Brian Henderson-Sellers", Title = "OPEN Modeling Language ({OML}). Notation Specification", Version = "0.4 Working Draft", Year = 1996, Month = "16 "#Sep, Note = "By the {OPEN} Consortium", } @Unpublished{Vishkin:96, Ordinal = "P436", Author = "Uzi Vishkin", Title = "On the Usefulness of Parallel Prefix-Sum", Year = 1996, Month = "8 "#Oct, Note = "Manuscript", } @Unpublished{Abadi:Cardelli:FPP, Ordinal = "P227", Author = "Martin Abadi and Luca Cardelli and Pierre-Louis Curien", Title = "Formal Parametric Polymorphism", Note = "Manuscript", } @Unpublished{Srivastava:Eustace, Ordinal = "P234", Author = "Amitabh Srivatstava and Alan Eustace", Title = "{ATOM}: A System for Building Customized Program Analysis Tools", Year = 1994, Note = "Manuscript", } @Unpublished{Strom:MCT, Ordinal = "P235", Author = "Robert E. Strom", Title = "Mechanisms for Compile-Time Enforcement of Security", Institution = IBMWR, Note = "Manuscript", } @Unpublished{Golubski:Lippe, Ordinal = "P239", Author = "Wolfgang Golubski, Wolfram-M. Lippe", Title = "A copy-rule semantics for untyped object-oriented languages, its correctness, and decidability questions", Institution = INIM, Note = "Manuscript", } @Unpublished{Allen:garlan:92, Ordinal = "P274", Author = "Robert Allen and David Garlan", Title = "A Formal Approach to Software Architectures", Institution = "School of Computer Science, Carnegie Mellon University", Year = 1992, Month = Jan, Note = "Manuscript", } @Unpublished{Ockerbloom:MLP, Ordinal = "P276", Author = "John Ockerbloom", Title = "Managing Large Programs with Module Interconnection Languages", Year = 1992, Month = Dec # { 18}, Note = "Manuscript", } @Unpublished{Newcomb:LS, Ordinal = "P284", Author = "Philip Newcomb", Title = "Legacy System Cataloging Facility", Note = "Will appear in Proceedings Working Conference on Reverse Engineering'95. (C) {IEEE} Computer Society Press", } @Unpublished{Newcomb:RP, Ordinal = "P285", Author = "Philip Newcomb and Paul Martens", Title = "Reengineering Procedural Into Data Flow Programs", Note = "Will appear in Proceedings Working Conference on Reverse Engineering'95. (C) {IEEE} Computer Society Press", } @Unpublished{Ahrens:Prywes:TL, Ordinal = "P290", Author = "Judith D. Ahrens and Noah S. Prywes", Title = "Transition to a Legacy- and Reuse-Based Software Life Cycle", Note = "To be published in upcoming {ISSUE} of {IEEE} Computer", } @Unpublished{Overbeck:TOO, Ordinal = "P295", Author = "Jan Overbeck", Title = "Testing Object-Oriented Software - State of the Art and Research Directions", Email = "overbeck@vexpert.dbai.tuwien.ac.at", Note = "ARticle", } @Unpublished{Pfleeger:Hatton:HDF, Ordinal = "P299", Author = "Shari Lawrence Pfleeger and Les Hatton", Title = "How Do Formal Methods Affect Code Quality?", Email = "shari@csr.city.ac.uk", Note = "Manuscript", } @Unpublished{Amouroux:RS, Ordinal = "P301", Key = "unkn1j", Author = "Remy Amouroux", Title = "Reactive Services for Supporting Tool Integration in a Development", Note = "Manuscript", } @Unpublished{Avotins:Maughan:LPC, Ordinal = "P302", Key = "unkn1k", Author = "Jon Avotins and Glenn Maughan and Christine Mingins", Title = "Langauage Processor Constraction: The Case for {YOOCC} and {TROOPER}", Note = "Manuscript", } @InProceedings{Avotins:Mingins:Schmidt:94, Ordinal = "P303", Author = "Jon Avotins and Christine Mingins and Heintz Schmidt", Title = "Yes! An Object-Oriented Compiler Compiler {YOOCC}", BookTitle = "Proceedings of TOOLS'94", Year = 1994, } @Unpublished{Normak:95, Ordinal = "P306", Author = "Kurt Normark", Title = "An Evaluation of Eiffel as the first Object-oriented Programming Language in the {CS} Curriculum", Year = 1995, Month = May # { 23}, Note = "Manuscript", } @Unpublished{Martin:Newkirk:96, Ordinal = "P307", Author = "Robert C. Martin and James Newkirk", Title = "A Case Study of {OOD} and Reuse in {C}++", Year = 1996, Month = Jan, Note = "Manuscript", } @Unpublished{Martin:DPD, Ordinal = "P308", Author = "Robert C. Martin", Title = "Design Patterns for Dealing with Dual Inheritance Hierarchies in {C}++", Email = "rmartin@oma.com", Note = "Manuscript", } @Unpublished{Budd:94, Ordinal = "P320", Author = "Timothy Budd", Title = "Teaching Multiple Paradigms", Email = "budd@cs.orst.edu", Year = 1994, Month = Mar # { 7}, Note = "Manuscript", } @Unpublished{Hagimont:PGO, Ordinal = "P325", Author = "Daniel Hagimont", Title = "Protection in the Guide object-oriented distributed system", Email = "hagimont@imag.fr", Note = "Manuscript", } @Unpublished{Wadge:HOL, Ordinal = "P393", Author = "Bill Wadge", Title = "Higher Order Lucid", Note = "Manuscript", } ******************* TECHREPORTS ********************** @TechReport{Cardelli:ER:93, Ordinal = "P221", Author = Cardelli, Title = "Extensible Records in a Pure Calculus of Subtyoing", Institution = "Digital Equipment Corporation" # src, Year = 1993, Month = Jan, Number = 81, Note = "Revised Jenuary 1, 1993", } @TechReport{Cardelli:I:93, Ordinal = "P220", Author = Cardelli, Title = "An implamentation of F <:", Institution = "Digital Equipment Corporation" # src, Year = 1993, Month = Feb # {23}, Number = 97, } @Article{Amadio:Cardelli:93, Author = "Roberto M. Amadio and Luca Cardelli", Title = "Subtyping Recursive Types", Year = 1993, Journal = TOPLAS, Volume = 15, Number = 4, Pages = "575--631", } @TechReport{Leavens:Weihl:94, Ordinal = "P224", Author = "Gary T. Leavens and William E. Weihl", Title = "Subtyping, Modular Specification, and Modular Verification for Applicative Object-Oriented Programs", Year = 1994, Month = Jan, Adress = { Department of Computer Science, Iowa State University /AMES,IOWA 50011}, Institution = "Iowa State University", Number = "TR 92-28d" , } @TechReport{Dhara:Leavens:94, Ordinal = "P225", Author = "Krishna Kishore Dhara and Gary T. Leavens", Title = "Weak Behavior Subtyping for Types with Mutable Objects", Year = 1994, Month = Nov, Adress = { Department of Computer Science, Iowa State University /AMES,IOWA 50011}, Institution = "Iowa State University", Number = "TR 94-21", } @TechReport{Leavens:Weihl:90, Ordinal = "P226", Author = "Gary T. Leavens and William E. Weihl", Title = "Reasoning about Object-Oriented Programs that use Subtypes (Extended Abstract)", Year = 1990, Month = Mar, Note = "Revised July,1990", Adress = { Department of Computer Science, Iowa State University /AMES,IOWA 50011}, Institution = "Iowa State University", Number = "TR 90-03b" , } @TechReport{Cardelli:Longo:SBQ, Ordinal = "P222", Author = CARDELLI # "and"# LONGO, Title = "A semantic basis for Quest", Institution = "Digital Equipment Corporation" # src, Year = 1993, Month = Jan, Number = 55, } @TechReport{Cardelli:TP:93, Ordinal = "P229", Author = CARDELLI, Title = "Typeful Programming", Institution = "Digital Equipment Corporation" # src, Year = 1993, Month = Jan, Number = 45, } @TechReport{Cardelli:P:86, Ordinal = "P230", Author = CARDELLI, Title = "A Polymorphic {$\Gamma$}- calculus with Type: Type", Institution = "Digital Equipment Corporation" # src, Year = 1986, Month = May, Number = 10, } @TechReport{Abadi:Cardelli:DT:94, Ordinal = "P232", Author = ABADI # "and" # CARDELLI # "and" # PIERCE # "and" # "Didier Remy", Title = "Dynamic Typing in Polymorphic Languages", Institution = "Digital Equipment Corporation" # src, Year = 1994, Month = Jan # { 26}, Number = 120, } @TechReport{Manola:93, Ordinal = "P266", Author = "Frank Manola", Title = "Meta{O}bject protocol Concepts for a ``{RISC}'' Object Model", Year = 1993, Month = Dec # { 30}, Number = "TR-0244-12-93-165", Address = "Waltham, MA", Institution = "GTE laboratories Incorporated" } @TechReport{Bosch:94, Ordinal = "P267", Author = "Jan Bosch", Title = "Relations as First-Class Entities in {LAYOM}", Institution = "University of Karlskrona/Ronneby", Year = 1994, Month = Sep, Number = "ISSN 1103-1581", } @TechReport{Allen:FAC, Ordinal = "P279", Author = "Robert Allen and David Garlan", Title = "Formalizing Architectural Connection", Institution = "Department of Computer Science, Carnegie Mellon University", Year = 1993, Month = Sep # { 1}, } @TechReport{Hess:DAB, Ordinal = "P283", Author = "James A. Hess and William E. Novak and Patrick C. Carroll and Sholom G. Cohen and Robert R. Holibahgh and Kyo C. Kang and A. Spencer Peterson", Title = "A Domain Analysis Bibliography", Institution = "Software Engineering Institute, Carnegie Mellon University", Year = 1993, Month = Sep # { 1}, Number = "CMU/SEI-90-sr-3", } @TechReport{Huynh:93, Ordinal = "P291", Author = "Tien Huynh and Charanjit Jutla and Andy Lowry and Robert Strom and Daniel Yellin", Title = "The Global Desktop: A Graphical Composition Environment for Local and Distributed Applications", Institution = "T.J. Watson Research Center", Year = 1993, Month = Sep # { 1}, Number = "CMU/SEI-90-sr-3", } @TechReport{Baumgartner:Russo:ISC:95, Ordinal = "P319", Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Implementing Signatures for {C}++", Institution = "Department of Computer Sciences Purdue University", Year = 1995, Month = Aug # { 11}, Number = "CSD-TR-95-025", } @TechReport{Baumgartner:Russo:SLE:95, Ordinal = "P318", Author = "Gerald Baumgartner and Vincent F. Russo", Title = "Signatures: A Language Extention for Improving Type Abstraction and Subtype Polymorphism in {C}++", Institution = "Department of Computer Sciences Purdue University", Year = 1995, Month = Aug # { 11}, Number = "CSD-TR-95-051", } @TechReport{Yves:Dury:94, Ordinal = "P324", Author = "Jean-Yves and Vion-Dury and Miguel Santana", Title = "Virtual Images: Interactive Visualization of Distributed Object-Oriented Systems", Institution = "Institut National Politechnique de Grenoble Universite Joseph Fourier (Grenoble 1)", Year = 1994, Number = "94-26", } @TechReport{Jones:tr:92, Ordinal = "P350", Author = "C. B. Jones", Title = "An Object-Based Design Method for Concurrent Programs", Institution = DCS # "University of Manchester", Year = 1992, Month = Dec # { 4}, Number = "UMCS-92-12-1", } @TechReport{Gordon:Gordon:Horz:94, Ordinal = "P351", Author = "Thomas F. Gordon and Joachim Hertzberg and Alexander Horz", Title = "The qwertz Toolbox Reference Manual", Institution = "Institut fur Angewandte Informationstechnik der Gesellschaft fur Mathematik und Datenverarbeitung {(GMD)}", Year = 1994, Month = Apr, Number = 835, } @TechReport{Aberer:Fischer:94, Ordinal = "P352", Author = "Karl Aberer and Gisela Fischer", Title = "Semantic Query Optimization for Methods in Object-Oriented Database Systems", Institution = "Institut fur Integrierte Publikations- und Informationssysteme der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1994, Month = Jun, Number = 849, } @TechReport{Aberer:Bohm:94, Ordinal = "P353", Author = "Karl Aberer and Klemens Bohm", Title = "An Object-Oriented Database Application for HyTime Document Storage", Institution = "Institut fur Integrierte Publikations- und Informationssysteme der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1994, Month = Jun, Number = 846, } @TechReport{Thimm:Rohr:Rakow:94, Ordinal = "P354", Author = "Heiko Thimm and Katja Rohr and Thomas C. Rakow", Title = "A Mail-Based Teleservice Architecture for Archiving and Retrieving Dinamically Composable Multimedia Documents", Institution = "Institut fur Integrierte Publikations- und Informationssysteme der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1994, Month = Jun, Number = 854, } @TechReport{Aberer:Klas:Furtado:93, Ordinal = "P355", Author = "Karl Aberer and Wolfgan Klas and Antonio L. Furtado", Title = "User-Oriented Quary Modification in Metaclass System", Institution = "Institut fur Integrierte Publikations- und Informationssysteme der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1993, Month = Jul, Number = 772, } @TechReport{Berlage:93, Ordinal = "P356", Author = "Thomas Berlage", Title = "Recovery in Graphical User Interfaces Using Command Objects", Institution = "Institut fur Angewandte Informationstechnik der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1993, Month = Sep, Number = 774, } @TechReport{Sommer:Emde:Kietz:Morik:93, Ordinal = "P357", Author = "Edgar Sommer and Werner Emde and Jorg-Uwe Kietz and Katharina Morik and Stefan Wrobel", Title = "{MOBAL} 2.2 User Guide", Institution = "Institut fur Angewandte Informationstechnik der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1993, Month = Sep, Number = 777, } @TechReport{Rathke:Kopp:Hohl:93, Ordinal = "P358", Author = "Christian Rathke and Jurgen Kopp and Hubertus Hohl and Harry Bretthauer", Title = "Object-Oriented Programming in {L}isp: Languages and Applications", Institution = "Institut fur Angewandte Informationstechnik der Gesellschaft fur Mathematik und Datenverarbeitung mb{H}", Year = 1993, Month = Sep, Number = 788, } @TechReport{Najork:93, Ordinal = "P359", Author = "Marc-Alexander Najork", Title = "Programming in Three Dimensions", Institution = DCS # "University of Illinois at Urbana-Champaign", Year = 1993, Month = Oct, Number = "UIUCDCS-R-93-1838", } @TechReport{Gursoy:94, Ordinal = "P360", Author = "Attila Gursoy", Title = "Simplified Expression of Message-Driven Programs and Quantification of Their Impact on Performance", Institution = DCS # "University of Illinois at Urbana-Champaign", Year = 1994, Month = Jun, Number = "UIUCDCS-R-94-1852", } @TechReport{Dinesh:94, Ordinal = "P361", Author = "T. B. Dinesh", Title = "A trying {C}++ experience (Why Compare dropped {C}++", Institution = CWI # "Amsterdam NL", Year = 1994, Month = Oct, Number = "CS-R9457", } @TechReport{Etalle:Gabbrielli:95, Ordinal = "P362", Author = "S. Etalle and M. Gabbrielli", Title = "Transformations of {CLP} modules", Institution = CWI # "Amsterdam NL", Year = 1995, Month = Feb, Number = "CS-R9515", } @TechReport{Heeman:Herman:Reynolds:95, Ordinal = "P363", Author = "F. C. Heeman and I. Herman and G. J. Reynolds", Title = "Interactions objects in the {MADE} multimedia environment", Institution = CWI # "Amsterdam NL", Year = 1995, Month = Feb, Number = "CS-R9516", } @TechReport{Bharat:Brown:95, Ordinal = "P364", Author = "Krishna Bharat and Marc H. Brown", Title = "Visual Obliq: A system for Building Distributed, Multy-User Applications by Direct Manipulation", Institution = DSRC, Year = 1995, Month = Oct, Number = "130a", } @TechReport{Birrell:Hisgen:Jerian:93, Ordinal = "P365", Author = "Andrew D. Birrell and Andy Hisgen and Chuch Jerian and Timothy Mann and Garret Swart", Title = "The Echo Distributed File System", Institution = DSRC, Year = 1993, Month = Sep # { 10}, Number = 111, } @TechReport{Najork:Brown:95, Ordinal = "P366", Author = "Marc A. Najork and Marc H. Brown", Title = "A Library for Visualizing Combinatorial Structures", Institution = DSRC, Year = 1993, Month = Sep # { 1}, Number = "128a", } @TechReport{Brown:94, Ordinal = "P367", Author = "Marc H. Brown", Title = "The 1993 {SRC} Algorithm Animation Festival", Institution = DSRC, Year = 1994, Month = Jul # { 29}, Number = 126, } @TechReport{Reid:Meehan:94, Ordinal = "P368", Author = "Loretta Guarino Reid and James R. Meehan", Title = "Inside Hector: The Systems View", Institution = DSRC, Year = 1994, Month = Apr # { 28}, Number = 123, } @TechReport{Swart:Birrell:Hisgen:93, Ordinal = "P369", Author = "Garret Swart and Andrew Birrell and Andy Hisgen and Timothy Mann", Title = "Availability in the Echo File System", Institution = DSRC, Year = 1993, Month = Sep # { 10}, Number = 112, } @TechReport{Brown:Ellis:93, Ordinal = "P370", Author = "Mark R. Brown and John R. Ellis", Title = "Bridges: Tools to Extend the Vesta Configuration Management System", Institution = DSRC, Year = 1993, Month = Jun # { 14}, Number = 108, } @TechReport{Brown:Hershberger:93, Ordinal = "P371", Author = "Mark R. Brown and John Hershberger", Title = "The Second Annual Video Review of Computational Geometry", Institution = DSRC, Year = 1993, Month = May # { 4}, Number = "101a", } @TechReport{Abadi:Halpern:91, Ordinal = "P372", Author = "Martin Abadi and Joseph Y. Halpern", Title = "Decidability and Expressiveness for First-Order Logics of Probability", Institution = DSRC, Year = 1991, Month = Jun # { 18}, Number = 73, } @TechReport{Burrows:Wheeler:91, Ordinal = "P373", Author = "M. Burrows and D. J. Wheeler", Title = "A Block-sorting Lossless Data Compression Algorithm", Institution = DSRC, Year = 1994, Month = May # { 10}, Number = 124, } @TechReport{Karsenty:Landay:Weikart:92, Ordinal = "P374", Author = "Solange Karsenty and James A. Landay and Chris Weikart", Title = "Inferring Graphical Constraints with Rockit", Institution = "Digital Paris Research Laboratory", Year = 1992, Month = Mar, Number = 17, } @TechReport{Karsenty:Weikart:93, Ordinal = "P375", Author = "Solange Karsenty and Chris Weikart", Title = "Rollit: An Application Builder", Institution = "Digital Paris Research Laboratory", Year = 1993, Month = Apr, Number = 30, } @TechReport{Schatz:Ryder:92, Ordinal = "P377", Author = "Emmi Schatz and Barbara G. Ryder", Title = "Directed Tracing to Detect Race Conditions", Institution = DCS # LCSR # UR, Year = 1992, Month = Feb, Number = "LCSR-TR-176", } @TechReport{Minsky:PLT:94, Ordinal = "P378", Author = "Naftaly Minsky", Title = "A Problem with Long-Term Computing Processes and what can be done about it", Institution = DCS # LCSR # UR, Year = 1994, Month = Jun, Number = "LCSR-TR-226", } @TechReport{Minsky:LGR:94, Ordinal = "P379", Author = "Naftaly Minsky", Title = "Law-Governed Regularities in Software Systems", Institution = DCS # LCSR # UR, Year = 1994, Month = Jan, Number = "LCSR-TR-220", } @TechReport{Minsky:LGL:94, Ordinal = "P380", Author = "Naftaly Minsky", Title = "Law-Governed Linda Communication Model", Institution = DCS # LCSR # UR, Year = 1994, Month = Mar, Number = "LCSR-TR-221", } @TechReport{Minsky:Pal:94, Ordinal = "P381", Author = "Naftaly Minsky and Partha Pal", Title = "Establishung Regularities in Object-Oriented ({E}iffel) Systems", Institution = DCS # LCSR # UR, Year = 1994, Month = Jul, Number = "LCSR-TR-227", } @TechReport{Brown:Najork:96, Ordinal = "P437", Author = "Marc. H. Brown and Marc A. Najork", Title = "Distributed Active Objects", Institution = {Digital Equipment Corporation}, Year = 1996, Month = Apr # { 15}, Number = "{SRC} Research Report 141a", } @TechReport{Garlan:Paulisch:Tichy:95, Ordinal = "P382", Author = "David Garlan and Frances Paulisch and Walter Tichy", Title = "Software Architectures", Institution = SD # IBFI, Year = 1995, Month = Feb # { 20-24}, Number = "Dagstuhl-Seminar-Report;106;(9508)", } @TechReport{Ehrich:Engels:Paredaens:95, Ordinal = "P383", Author = "Hans-Dieter Ehrich and Gregor Engels and Jan Paredaens and Peter Wegner", Title = "Fundamentals of Object-Oriented Languages Systems and Methods", Institution = SD # IBFI, Year = 1995, Month = Aug # { 22-26}, Number = "Dagstuhl-Seminar-Report;95;(9434)", } @TechReport{Brink:Schmidt:94, Ordinal = "P384", Author = "Chris Brink and Gunther Schmidt", Title = "Relational Methods in Computer Science", Institution = SD # IBFI, Year = 1994, Month = Jan # { 17-21}, Number = "Dagstuhl-Seminar-Report;80; (9403)", } @TechReport{Leeuwen:Mehlhorn:Reps:94, Ordinal = "P385", Author = "Jan van Leeuwen and Kurt Mehlhorn and Thomas Reps", Title = "Incremental Computation and Dynamic Algorithms", Institution = SD # IBFI, Year = 1994, Month = May # { 2-6}, Number = "Dagstuhl-Seminar-Report;88; (9418)", } @TechReport{Freitag:Jones:Lengauer:95, Ordinal = "P386", Author = "Burkhard Freitag and Clifford B. Jones and Christian Lengauer and Hans-Jorg Scheck", Title = "Object Orientation with Parallelism and Persistence", Institution = SD # IBFI, Year = 1995, Month = Apr # { 3-7}, Number = "Dagstuhl-Seminar-Report;111; (9514)", } @TechReport{Milton:93, Ordinal = "P387", Author = "SK Milton", Title = "Reviewing {OBST}:The Object Store for {STONE} (A Structured and Open Environment", Institution = DCS # "University of Tasmania", Year = 1993, Month = Oct, Number = "R93--10", } @TechReport{Harvey:Harvey:93, Ordinal = "P388", Author = "N. Harvey and J. Morris", Title = "{NL} A General Purpose Visual Dataflow Programming Language", Institution = DCS # "University of Tasmania", Year = 1993, Month = Oct, Number = "R93-11", } @TechReport{Milton:PFL:93, Ordinal = "P389", Author = "SK Milton", Title = "Persistence in Functional Languages", Institution = DCS # "University of Tasmania", Year = 1993, Month = Oct, Number = "R93-9", } @TechReport{Hettler:94, Ordinal = "P390", Author = "Rudolf Hettler", Title = "A Requirement Specification for a Lexical Analyzer", Institution = "Mathematisches Institut und Institut fur Informatik Technische Universitat Munchen", Year = 1994, Month = Feb, Number = "TUM-19409", } *********************************** @PhdThesis{Lee:95, Ordinal = "P242", Author = "Moon Kun Lee", Title = "An Environment for Understanding of Real-Time Software", Year = 1995, month = Apr, School = DCIS # SEAS # UP, } @PhdThesis{Reed-Lade:89, Author = "Margaret Genne Reed-Lade", Title = "Grammar Acquisition and parsing of semi-structured text", Year = 1989, month = May, School = "University of Texas at Austin", } @PhdThesis{Bosch:LOM:95, Ordinal = "P391", Author = "Jan Bosch", Title = "Layered Object Model investigating paradigm extensibility", Year = 1995, month = Oct, School = DCS # "Lund University", } ************************************ @Manual{ Kruger:Engston:93, Ordinal = "P243", Title = "Meta{DoME} Users Manual", Author = "Jonatan Krueger and Eric Engstrom and Jon Ward and Tom Peterson", Year = 1993, Month = Dec, Note = "Version: 2.10 dev", } @Manual{AMS:95 , Ordinal = "P244", Title = "Meta{DoME} Users Manual", Author = "Jonatan Krueger and Eric Engstrom and Jon Ward and Tom Peterson Steve Vestal and Rita Krueger", Year = 1994, Month = Sep, Note = "Version: 3.01{$\alpha$} ", } @Manual{Kruger:Engston:94, Ordinal = "P245", Title = "{AMS-LATEX} Version 1.2. User's Guide", Year = 1995, Month = Jan, Organization = "American Mathematical Society", } @Manual{Linton:Calder:92, Ordinal = "P246", Title = "Inter{V}iews Reference Manual. Version 3.1", Author = "Mark A. Linton and Paul R. Calder and John A. Interrante and Steven Tang and John M. Vlissides", Year = 1992, Organization = "Stanford Junior University", } @Manual{Brooks:89, Ordinal = "P247", Title = "Forms VBT Reference Manual", Author = "Ken Brooks and Marc H. Brown", Year = 1989, Month = Dec, Note = "Version 1.1 ", } @Manual{Uc:90, Ordinal = "P248", Key = "unkn1f", Title = "User Commands. twm(1)", Year = 1990, Month = Nov, Note = "X Version 11 ", } @Manual{Uc:91, Ordinal = "P249", Key = "unkn1g", Title = "User Commands. MUSH(1)", Year = 1991, Month = May, Note = "Version 7.2.3 ", } @Manual{readme:texas, Ordinal = "P264", Key = "unkn1h", Title = "Texas Persistent Store library", Note = "Version 0.3 ", } @Manual{Omohundro:94, Ordinal = "P317", Title = "The Sather 1.0 Specification", Author = "Stephen M. Omohundro", Year = 1994, Month = Jan, } @Manual{UCES, Ordinal = "P326", Key = "unkn1i", Title = "The Unicode Character Encoding Standard", } **************** booklet ************ @Booklet{Joyner:92, Ordinal = "P321", Title = "{C}++?? A Criticue of {C}++", Author = "Ian Joyner", Year = 1992, Note = "2nd Edition", } @Booklet{Barnes:94, Ordinal = "P322", Title = "Introducing {A}da 9{X} {A}da The Language For A Complex World", Author = "John Barnes", Year = 1994, Month = Jun # { 5}, Note = "2nd Edition", } @Booklet{Drapeau:Greenfield, Ordinal = "P349", Title = "{MAE}stro - A Distributed Multimedia Authoring Environment", Author = "George D. Drapeau and Howard Greenfield", } ============================================================== ============================================================== ---------- template for entries from OOPSLA begin ---------- %InProceedings{X:9?, Author = {}, Title = {}, Crossref = {OOPSLA:9?}, Pages = {-}, } ---------- template for entries from OOPSLA end ---------- ---------- template for entries from LNCS begin ---------- %InProceedings{XX:9?, Author = {}, Title = {}, Crossref = {LNCS:?:9?}, Year = {199?}, Pages = {-}, } ---------- template for entries from LNCS end ---------- ============================================================== ============================================================== @article{Coplien91, author = {James O. Coplien}, title = {{ISHMAEL}: An Integrated Software/Hardware Maintenance and Evaluation Environment}, journal = {AT\&T Technical Journal}, publisher = {AT\&T}, address = {Short Hills, New Jersey}, pages = {52--63}, volume= {70}, number = {1}, month = {January/February}, year = {1991} } @InProceedings{Campo:Price:96, Ordinal = "P553", Author = {Marcelo R. Campo and R. T. Price}, Title = {A Visual Reflective Tool for Framework Understanding}, Crossref = "TOOLS:EUROPE:96" } *********** crossref MFPS'91 @String{PROC:MFPS = PROC#" the 7$^{th}$ International Conference"} @Proceedings{MFPS:91, Title = PROC:MFPS, Address = {Pittsburgh, PA,USA}, Month = Mar, Editor = {S. Brookes and M. Main A. Melton M. and Mislow D. Schmidt}, Series = LNCS, Number = 598, Year = 1991, Publisher = sv, } ************ end of cr. @InProceedings{Viehstaedt:Minas:95, Ordinal = "Ofer Etzoini", Author = "G. Viehstaedt and M. Minas", Title = "{D}ia{G}en: A Generator for Diagram Editors Based on a Hypergraph Model", Pages = "155--162", Year = 1995, Booktitle = "Proceedings of" # "The 2$^nd$ International Workshop on Next Generation Information Technologies and Systems", editors = "Amihai Motro and Moshe Tennenholz", Address = {Naharia, Israel}, Month = Jun # { 27-29}, Organization = "S. Neaman Institute Workshop" } @InProceedings{SOM:94, Title = "Reflections on Metaclass Progeamming in {SOM}", Author = "Scott Danforth and Ira R. Forman", Year = 1994, Pages = "440--452", Crossref = {OOPSLA:94}, } @TechReport{RISC, Author = "Frank Manola", Title = "MetaObject Protocol Conecepts for a RISC Object Model", Year = 1993, Month = Dec, Days = 30, Number = "TR-0244-12-93-165", Institution = "GTE laboratories Incorporated", Address = "Waltham,MA" } @InProceedings{Johnson:Palaniappan:94, Author = "Richard Johnson and Murugappan Palaniappan", Title = "MetaFlex: A Flexible Metaclass Generator", Year = 1994, BookTitle = "ECOOP`94", pages = "502--527", Address = "Seattle, WA", email = "{muru,richj}@aldus.com" } @InProceedings{Chiba:Masuda, Author = "Shigeru Chiba and Takashi Masuda", Title = "Designing an Extensible Distributed Language with a Meta-Level Architecture", BookTitle = "ECOOP`94", Year = 1994, pages = "482--501", email = "{muru,richj}@aldus.com" } @InProceedings{Watanable:Yonezawa, Author = "Takuo Watanable and Akinori Yonezawa", Title = "Reflection in an Object-Oriented Concurrent Language", BookTitle = "1988 OOPSLA Conference", Crossref = {OOPSLA:88}, Year = 1988, Month = Sep, Days = "25--30", pages = "306--315", email = "{tokuo,yonezawa}%is.titech.junet@relay.cs.net" } @InProceedings{CCEL, Author = "Carolyn K. Duby and Scott Meyers and Steven P. Reiss", Title = "{CCEL}: A Metalanguage for {C++}", BookTitle = "USENIX {C++}", Year = 1992, pages = "99--115", Address = "Portland, OR", Organization = "Brown University", email = "{ckd,sdm,spr}@cs.brown.edu" } @InProceedings{Grass:90, Author = "Judith E. Grass", Title = "The {C++} Information Abstractor", BookTitle = "USENIX {C++}", Year = 1990, pages = "265--277", Address = "San Francisco, CA", Organization = "AT\&T Bell Laboratories" } @Article{Kung:95, Author = "David Kung and Jerry Gao and Pei Hsi and Yasufumi Tayoshima and Chris Chen and Young-Si Kim and Young-Kee Song", Title = "Developing and Object-Oriented Software Testing and Maintenance Environment", Journal = CACM, Year = 1995, Month = Oct, Volume = 38, Number = 10, Pages = "75--87", } @Article{Binder:94, Author = Binder, Title = "Object-Oriented Software Testing", Journal = CACM, Year = 1994, Month = Sep, Volume = 37, Number = 9, Pages = "28--29", } @InProceedings{Richardson:94, Title = "{TAOS}: {T}esting with Analysis and Oracle Support", Author = "Debra J. Richardson", Year = 1994, Month = Aug, BookTitle = "International Conference on Software Testing and Analysis" } @InProceedings{Chilenski:Newcomb:94, Title = "Formal Specification Tools for Test Coverage Analysis", Author = "John Joseph Chilenskin and Philip H. Newcomb", Year = 1994, BookTitle = "KBSTE 94" } @Misc{Stroustrup:Personal:94, Title = "Perosonal communication", Author = Stroustrup, Year = 1994, Month = Apr, } @TechReport{Pande:Ryder:95, Ordinal = "P479", Title = "Static Type Determination and Aliasing for {{C++}{}}", Author = {Hemant D. Pande and Barbara G. Ryder}, Year = 1995, Month = Oct, Number = "LCSR-TR-250-A", Institution = "Rutgers University", Address = "Hill Center, Busch Campus, Piscataway, NJ 08855", } @TechReport{Zhang:Ryder:Landi:96, Title = "Program Decomposition for Pointer-induced Aliasing Analysis", Author = {Sean Zhang and Barbara G. Ryder and William Landi}, Year = 1996, Month = Mar, Number = "LCSR-TR-259", Institution = "Rutgers University", Address = "New Brunswick, NJ 08903", } @Article{Horwitz:Reps:Binkley:90, Author = "Susan Horwitz and Thomas Reps and David Binkley", Title = "Interprocedural Slicing Using Dependence Graphs", Journal = "ACM Transactions on Programming Languages and Systems", Year = 1990, Volume = 12, Number = 1, Pages = "26--60", } @InCollection{Kennedy:81, Author = "Ken Kennedy", Title = "A Survey of Data Flow Analysis Techniques", CrossRef = "Muchnick:Jones:81", Chapter = 1, } @InCollection{Rosen:81, CrossRef = "Muchnick:Jones:81", Author = "Barry K. Rosen ", Title = "Degrees of Availability as an Introduction to the General Theory of Data Flow Analysis", Chapter = 2, } @InCollection{Sharir:Pnueli:81, CrossRef = "Muchnick:Jones:81", Author = "Micha Sharir and Amir Pnueli", Title = "Two Approaches to Interprocedural Data Flow Analysis", Chapter = 7, } @InCollection{Clarke:Richardson:81, CrossRef = "Muchnick:Jones:81", Author = "Lori A. Clarke and Debra J. Richardson", Title = "Symbolic Evaluation Methods for Program Analysis", Chapter = 9, } @Unpublished{Minsky:LGR1, Author = "Naftaly H. Minsky", Ordinal = "P485", Title = "Law-Governed Regularities in Object Systems; part 1: Principles", Year = 1996, Month = Nov # { 4}, Note = "To be published in Theory and Practice of Object Systems (TOPAS)", URL = "http://www.cs.rutgers.edu/~minsky/public-papers/LGA-paper.ps", E-mail = "minsky@cs.rutgers.edu", } @InProceedings{Minsky:96, Title = "Towards Alias-Free Pointers", Author = "Naftaly H. Minsky", Pages = "189--209", CrossRef = "ECOOP:96", } @Unpublished{Minsky:95, Ordinal = "P487", Author = "Naftaly H. Minsky", Title = "Towards Alias-Free Pointers", Year = 1995, Month = Nov # { 28}, Note = "Work supported in part by NFS grant No. CCR-9308773", E-mail = "minsky@cs.rutgers.edu", } @InProceedings{Steensgaard:96A, Title = "Points-to Analysis by Type Inference of Programs with Structures and Unions", Author = "Bjarne Steensgaard", Year = 1996, Month = Apr, BookTitle = "International Conference on Compiler Construction", Pages = "136--150", Publisher = Springer, Series = LNCS, } @Unpublished{Steensgaard:MSR, Ordinal = "P488", Title = "Points-to Analysis by Type Inference of Programs with Structures and Unions", Author = "Bjarne Steensgaard", Note = "Manuscript" } @InProceedings{Steensgaard:96B, Title = "Points-to Analysis in Almost Linear Time", Author = "Bjarne Steensgaard", Year = 1996, Month = Jan, BookTitle = "Twentythird Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", Pages = "32--41", } @InProceedings{Bacon:Sweeney:96, Ordinal = "DH", Author = "David F. Bacon and Peter F. Sweeney", Title = "Fast Static Analysis of {{C++}{}} Virtual Calls", pages = {324-341}, Year = 1996, Crossref = {OOPSLA:96}, } @InProceedings{Weihl:80, Author = "William E. Weihl", Title = "Interprocedural data flow analysis in the presence of pointers, procedure variables, and label variables", BookTitle = "Conference Record of the Seventh Annual ACM Symposium on Principles of Programming Languages", Year = 1980, Month = Jan, Pages = "83--94", } @InProceedings{Klarlund:Koistinen:Schwartzbach:96, Ordinal = "P494", Author = {Nils Klarlund and Jari Koistinen and Michael I. Schwartzbach}, Title = {Formal Design Constraints}, Crossref = {OOPSLA:96}, Year = 1996, Pages = "370--383", } @InProceedings{Kildall:73, Author = "G.A. Kildall", Title = "A Unified Approach to Global Program Optimization", BookTitle = "Conference Record of ACM Symposium on Principles of Programming Languages", Address = "Boston, MA", Year = 1973, Month = Oct, Pages = "194--206", } @InProceedings{Bates:Horwitz:93, Author = "S. Bates and S. Horwitz", Title = "Incremental Program Testing Using Program Dependence Graphs", BookTitle = "ACM Symposium on Principles of Programming Languages", Year = 1993, Pages = "384--396", } @PhdThesis{Gallagher:90, Author = {K.B. Gallagher}, Title = {Using Program Slicing in Software Maintenance}, Year = 1990, School = {Computer Science Department, University of Maryland}, Note = {(also technical report CS-90-05)}, } @Article{Gallagher:Lyle:91, Author = "K.B. Gallagher and J.R. Lyle", Title = "Using Program Slicing in Software Maintenance", Journal = ITSE, Volume = 17, Number = 8, Year = 1991, Month = Aug, Pages = "751--761", } @Article{Ning:Engberts:Kozaczynski:94, Author = {J.Q. Ning and A. Engberts and W. Kozaczynski}, Title = {Automated Support for Legacy Code Understanding}, Journal = CACM, Year = 1994, Month = May, Volume = 37, Number = 5, Pages = "50--57" } @InProceedings{Diwan:Moss:McKinley:96, Author = {Amer Divan and J. Eliot B. Moss and Kathryn S. McKinley}, Title = {Simple and Effective Analysis of Statically-typed Object-Oriented Programs}, Crossref = {OOPSLA:96}, Year = 1996, pages={ 292-305} } @InProceedings{Chase:Wegman:Zadeck:90, Author = {D.R. Chase and M. Wegman and F. Zadeck}, Title = {Analysis of Pointers and Structures}, BookTitle = "SIGPLAN Conference on Programming Languages Design and Implementation", Year = 1990, } @Manual{Manis:92, Ordinal = "P501", Author = "Vincent Manis", Title = "Little Smalltalk Reference Manual", Year = 1992, Month = Jun, Institution ="The University of British Columbia Department of Computer Science", Address = "Vancouver, BC Canada V62 1W5", } @UnPublished{Yang:Furnish:Dubois:97, Ordinal = "P502", Author = "Tser-Yuan Yang and Geoffery Furnish and Paul F. Dubois", Title = "Steering Object-Oriented Scientific Computations", Institution = "Lawrence Livermore National Laboratory", Address = "Livermore, CA 94550, USA ", Year = 1997, Note = "Manuscript", Comment = "TE-97", } @InProceedings{Harel:Gery:96, Ordinal = "P503", Author = "David Harel and Eran Gery", Title = "Executable Object Modeling with Statecharts", Year = 1996, BookTitle = "the Eighteenth International Conference on Software Engineering", Pages = "246--257", } @UnPublished{Golubski:97, Ordinal = "P504", Author = "Wolfgang Golubski", Title = "Data-flow Analysis in Object Oriented Programs", Note = "Manuscript", Year = 1997, Comment = "TE-97", } @UnPublished{Seinturier:Duchien:Florin:96, Ordinal = "P505", Author = "Lionel Seinturier and Laurence Duchien and Gerard Florin ", Title = "A Meta-Object Protocol for Distributed OO Applications", Note = "Manuscript", Year = 1996, Month = Oct, Comment = "TE-97", } @UnPublished{Giffen:Tomek:97, Ordinal = "P506", Author = "Randy Giffen and Ivan Tomek", Title = "A Visual Programming Interface for Smalltalk", Note = "Manuscript", Year = 1997, Comment = "TE-97", } @UnPublished{Jautzy:Lebastard:97, Ordinal = "P507", Author = "O. Jautzy and F.Lebastard ", Title = "A metalevel architecture for dynamism and reflection in {C++}", Note = "Manuscript", Year = 1997, Month = Feb, Comment = "TE-97", } @UnPublished{Schmidt:97, Ordinal = "P508", Author = "Rene W. Schmidt", Title = "Dynamically Extensible Objects in a Class-Based Language", Year = 1997, Note = "Manuscript", Comment = "TE-97", } @Article{Hosenev:Zeleznak:Abdelrahman:83, Ordinal = "P509", Author = "R.C. Hosenev and K.Zeleznak and A.Abdelrahman ", Title = "Mechanism of Popcorn Popping", Journal = "Journal of Cereal Sciences", Year = 1983, Volume = 1, Pages = "43-52", } @UnPublished{Eden:Gil:Yehudai:97, Ordinal = "P510", Author = "Amnon Eden and Joseph (Yossi) Gil and Amiram Yehudai", Title = "FormalLanguage for Design Patterns", Note = "extended abstract", Year = 1997 } @UnPublished{Bayman:Blumberg:Cumm:Diallo:94, Ordinal = "P511", Author = "Sherrie Bayman and Maurice H. Blumberg and Harvey Cumm and Cheryl Diallo ", Title = "A Skills-Driven Process for Training Computer Professionals", Institution = "Loral Federal Systems Gaithersburg Division", Address = "700 N. Frederic Ave. Gaithersburg, Maryland 20879", Note = "Manuscript", Year = 1994, Month = Sep, } @Manual{Heintze:Jaffar:Michaylov:Stuchey:Yap:92, Ordinal = "P512", Author = "Nevin Heintze and Joxan Jaffar and Spiro Michaylov and Peter Stuchey and Roland Yap ", Title = "The CLP(r) Programmer's Manual Version 1.2", Year = 1992, } @MastersThesis{Voldman:96, Ordinal = "P513,P429?", Author = "Leonid Voldman", Title = "Using Smart Terminals to Effectively Enhance Communication Throughput ", Year = 1996, Month = Jun, School = "Technion---Israel Institute of Technology", Address = "Haifa", Note = "Project Thethis Submitted in Partial Fulfillment of the requirements for degree of Master of Science in Computer Science", } @UnPublished{Anderson:94, Ordinal = "P514", Author = "Bruce Anderson ", Title = "Task and Reflection in Learning to Learn", Note = "Manuscript", Year = 1994, } @UnPublished{Prywes:Schug:Lock:94, Ordinal = "P515", Author = "Noah S. Prywes and Jonathan Schug and Evan Lock", Title = "Intelligent Translation of Fortran to Ada", Note = "Proposal", Year = 1994, } @UnPublished{Gil:97, Ordinal = "P516", Author = "Joseph (Yossi) Gil", Title = "New Approach to the Arc Length Parametrization Problem", Note = "Manuscript", Year = 1997, } @UnPublished{Shepherd:Watters:Burkowski:94, Ordinal = "P517", Author = "Michael A. Shepherd and C.R. Watters and F.J. Burkowski", Title = "Delivery of Electronic News", Note = "Manuscript", Year = 1994, } @UnPublished{Barnea:Dori:94, Ordinal = "P518", Author = "Nitza Barnea and Yehudit J. Dori", Title = "Enhancing Next Generation Chemistry Teaching", Institution ="Technion", Note = "Manuscript", Year = 1994, } @UnPublished{Cardelli:97, Ordinal = "P519", Author = "Luca Cardelli", Title = "Program Fragments, Linking and Modularization", Institution ="Digital", Note = "SRC Research Report", Year = 1997, Month = Feb, } @Article{Galil:Parki:90, Ordinal = "P520", Author = "Zvi Galil and Kunsoo Park", Title = "A Linear-Time Algorithm for Concave One-Dimensional Dynamic Programming ", Journal = IPL, Year = 1990, Volume = "(1989/1990)", Pages = "309-311", Publisher = "Elsevier Science Publishers B.V. (North-Holland)", } @Article{Blanchard:Aleamoni:85, Ordinal = "P521", Author = "James Blanchard and Lawrence M. Aleamoni", Title = "An Examination of Various Grading Methods Using an Undergraduate Course in Pharmaceutics as a Model", Journal = "American Journal of Pharmaceutical Education", Year = 1985, Volume = 49, Pages = "16-22", } @UnPublished{Burrows:Wheeler:94, Ordinal = "P522", Author = "M.Burrows and D.J.Wheeler", Title = "A Block-sorting Lossless Data Compression", Institution ="Digital", Note = "SRC Research Report 124", Year = 1994, Month = May, } @TechReport {Davis:Alexander:Yelon:79, Ordinal = "P523", Author = "R. H. Davis and L. T. Alexander and S. L. Yelon", Title = "Basic Principles of Learning and Motivation", Institution ="University of Arizona", Note = "SRC Research Report 124", Year = 1979, Month = Nov } @UnPublished{Patsouris:96, Ordinal = "P524", Author = "P. A. Patsouris", Title = "{SOOM}: A Formal Semantic Object-Oriented Model Integrating the Entity-Relationship Model", Institution ="Department of Computer Science University of the Witwatersrand,Johanesburg", Note = "Manuscript", Year = 1996, Comment = "TE-96", } @UnPublished{Toval:Ramos:Pastor:Gonzales:Nicolas:Fernandez:96, Ordinal = "P525", Author = "Ambrosio Toval and Isidro Ramos and O.Pastor and Manuel Gonzales and Joaquin Nicolas and J. Luis Fernandez", Title = "Cooperation University-Industry in a R\&D Project in Advanced Object-Oriented Technology", Note = "Experience Report", Year = 1996, Comment = "TE-96", } @UnPublished{Tang:93, Ordinal = "P526", Author = "Hong Tang", Title = "A New Study of Median-type Filters for the Restoration of Images Corrupted by High Level Gaussian Noise", Institution ="Department of Electronic Engineering, La Trobe University, Bundora, Victoria 3083, Australia", Note = "Manuscript", Year = 1993, Month = Apr, Comment = "TE-93-04025", } @Article{Welch:84, Ordinal = "P527", Title = "A Technique for High Performance Data Compression", Author = "Terry A. Welch", Journal = "IEEE Computer", Volume = 17, Number = 6, Month = Jun, Year = 1984, Pages = "8-19", } @Article{Lempel:Zib:86, Ordinal = "P528", Author = "Abraham Lempel and Jacob Zib", Title = "Compression of Two-Dimencional Data", Journal = "IEEE Transactions of Information Theory", Month = Jan, Number = 1, Volume = "IT-32", Year = 1986, } @UnPublished{Doublait:Ferrari:96, Ordinal = "P529", Author = "Stephane Doublait and Roberto Ferrari ", Title = "Design of a Corporate-Specific Domain Analysis Process though Abstraction and Adaptation of Commonalities Among Existing Methods", Note = "Manuscript", Year = 1996, Comment = "TE-96", } @UnPublished{Amandi:Price:96, Ordinal = "P530", Author = "Analia Amandi and Ana Price", Title = "Interconnecting Frameforks", Note = "Manuscript", Year = 1996, Comment = "TE-96", } @UnPublished{Chozzi:96, Ordinal = "P532", Author = "G. Chiozzi", Title = "Moving to OO technology The experience of the ESO Very Large Telescope", Institution ="European Southern Observatory", Note = "Extended abstract", Year = 1996, Comment = "TE-96", } @UnPublished{Karakostas:96, Ordinal = "P533", Author = "Bill Karakostas", Title = "Rapid Application Development with Reusable Blanking Objects", Institution ="Department of Computation UMIST", Note = "Manuscript", Year = 1996, Comment = "TE-96", } @UnPublished {Ward:96, Ordinal = "P534", Author = "Peter Ward", Title = "Paper One: The Garden Framework", Year = 1996, Note = "TE-96" } @UnPublished {Peralta:Botella:Serras:96, Ordinal = "P535", Author = "Alonso J. Peralta and PereBotella and Joan Serras ", Title = "Effel+: Afull Life-cycle Language", Institution ="Software Department, Universitat Poilitecnica de Catalonya", Year = 1996, Note = "TE--96", } @UnPublished {Cregut:Coulette:96, Ordinal = "P536", Author = "Xavier Cregut and Bernard Coulette ", Title = "Assistance Envitonment for Object-Orienting Development", Year = 1996, Note = "TE--96" } @UnPublished {Terrier:Fouquier:Bras:Rioux:Vanuxeem:96, Ordinal = "P537", Author ="Francois Terrier and Gilles Fouquier and Daniel Bras and Laurent Rioux and Patric Vanuxeem ", Title = "A Real Time Object Model", Institution ="LETI(CEA-Technologies Avancees) ,French Atomic Energy Agency", Year = 1996, Note = "TE--96" } @UnPublished {Merle:Gransart:Geib:96, Ordinal = "P538", Author ="Philippe Merle and Christophe Gransart and Jean-Marc Geib", Title = "Corba-Script and Corba Web: A Generic Object-Oriented Dynamic Environment upon CORBA", Year = 1996, Note = "TE--96" } @UnPublished {Sametinger:96, Ordinal = "P539", Author ="Johannes Sametinger", Title = "Reuse Documentation and Documentation Reuse", Institution ="Department of Computer Science,Texas A&M University ,TX,USA", Year = 1996, Note = "TE--96" } @UnPublished{Pazzi:96, Ordinal = "P539", Author = "Luca Pazzi", Title = "Associative Knowledge as Conceptual Glue for Ontological Well-Founded Complex Objects", Note = "Manuscript", Year = 1996, Comment = "TE-96", } @UnPublished {Lano:Goldsack:96, Ordinal = "P540", Author ="K. Lano and S. Goldsack", Title = "Object -Oriented Formal Development", Year = 1996, Note = "Extended abstract", Comment = "TE--96", } @UnPublished{Bomme:Zimmerman:96, Ordinal = "P541", Author ="Patricia Bomme and Thomas Zimmerman", Title = "Simple cooperative knowlege processing in intelligent objects", Institution ="Laboratory of Structural and Continuum Machanics Department of Civil Engineering Swiss Federal Institute of Technology", Year = 1996, Note = "TE--96", } @UnPublished{Garcia-Molina:Ibanez:96, Ordinal = "P542", Author ="Jesus Garcia-Molina and Maria J. Ortin Ibanez", Title = "A Form-Based Query Language for Class Selection", Year = 1996, Note = "TE--96", } @UnPublished{Holmqvist:96, Ordinal = "P543", Author ="Kristinaq Holmqvist", Title = "Implementation and Use of Interval Arithmetic in {C++}", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @ UnPublished {Schonfeld:Basu:96, Ordinal = "P544", Author ="Gunnar Schonfeld and Bob Basu ", Title = "A OODB as Repository of Technical Information ", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @ UnPublished {Rannou:96, Ordinal = "P545", Author ="Frederic Rannou", Title = "The Object-oriented DBMS Matisse: A Feedback From the Developers of a CAD Distributed System", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @ UnPublished{Thomas:Jones:96, Ordinal = "P546", Author ="Ian Thomas and Andrew C. Jones", Title = "Extending the Gemstone Smalltalk Interface Debugget to cope with Active Database Components", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @ UnPublished{Tram-Do:Corrivveau:96, Ordinal = "P547", Author ="Linda Tram Do and Jean-Pierre Corriveau", Title = "A Problem Reporting System for Envy", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @ UnPublished{Phillips:96, Ordinal = "P548", Author ="Ray Phillips", Title = "Modelling Business Processes", Note = "Manuscript", Comment = "TE--96", } @UnPublished{Van-Huu:96, Ordinal = "P549", Author ="Le Van Huu", Title = "Classifying, Sorting and Reusing {C++} Classes by the {CHARLIE} System", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @Misc{Preface:96, Ordinal = "P550", Title = "Preface", Key = "Preface", Year = 1996, Note = "Manuscript" } @InProceedings{Maughan:Avotins:96, Ordinal = "P551", Author = "Glenn Maughan and Jon Avotins", Title = "A Meta-model for Object-oriented Reengineering and Metrics Collection", Year = 1996, BookTitle = "Proceedings of TOOLS Europe 1996", } @UnPublished{Elliott:96, Ordinal = "P552", Author = "Mike Elliott", Title = "Implementing OO Design Concepts with Literate Programming", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @InProceedings{Chambers:93, Ordinal = "P555", Author = "Craig Chambers", Title = "Predicate Classes", Pages = "268 -296", CrossRef={ECOOP:93}, } @UnPublished{Weinard:Gamma:94, Ordinal = "P556", Author = "Andre Weinard and Erich Gamma", Title = "ET++ -a Portable Homogenous Class Library and Application Framework", Note = "Manuscript", Year = 1994, } @UnPublished{Li:Zheng:96, Ordinal = "P557", Author = "Li XuanDong and Zheng GuoLiang", Title = "A New Encapsulation Issue derived From the Semantics of Inheritance and its Solutions", Note = "Manuscript", Year = 1996, } @UnPublished{Tang:96, Ordinal = "P558", Author = "Tang Dahong", Title = "FP Toolkit - A New Toolkit for Processing Files", Note = "Manuscript", Year = 1996, } @UnPublished{Scholz:Bokowski:96, Ordinal = "P559", Author = "Enno Scholz and Boris Bokowski ", Title = "\textsc{PIDGETS++} A {C++} Framework Unifying PostScript Pictures, Graphical User Interface Objects, and Lazy One-Way Constraints", Note = "Manuscript", Year = 1996, } @UnPublished{McDonald:Strooper:96, Ordinal = "P1560", Author = "Jason McDonald and Paul Strooper", Title = "Testing Inheritance Hierarchies in the Class-Bench Framework", Note = "Manuscript", Year = 1996, } @UnPublished{Sapir:94, Ordinal = "P561", Author = "Boaz Sapir", Title = "Concurrency Control as a Reflective Computation in a Concurrent Object-Based Environment", Note = "Manuscript", Year = 1994, Institution = "Tel-Aviv University, The Raymond and Beverly Sackler Faculty of Exact Sciences, School of Mathematical Sciences", } @UnPublished{Breuning:96, Ordinal = "P562", Author = "Rolf Breuning", Title = "Concept and Implementation of Multiple Inheritance and Private Variables in Smalltalk", Note = "Manuscript", Year = 1996, Comment = "TE--96", } @UnPublished{Kapelevich:Kremien:97, Ordinal = "P563", Author = "M.Kapelevich and O.Kremien", Title = "Scalable Resource Scheduling: design,assessment, prototyping", Note = "Manuscript", Year = 1997, } @UnPublished{Agbaria:Yehudai:Zernik:97, Ordinal = "P564", Author = "Adnan Agbaria and Zvika Yehudai and Dror Zernik", Title = "Parallel Programming Tools", Note = "Manuscript", Year = 1997, Month = "Mar", } @UnPublished{Honen:Koritny:97, Ordinal = "P565", Author = "Yaron Honen and Ilia Koritny", Title = "Applying OOT to a Real Time Projects: First Report", Note = "Manuscript", Year = 1997, } @UnPublished{Auguston:97a, Ordinal = "P566", Author = "Mikhail Auguston", Title = "Visual Data Language Based on Iterative Constructs", Note = "Manuscript", Year = 1997, } @InCollection{Auguston:91, Ordinal = "P622", Author = "Mikail Auguston", Title = "{RIGAL}---Programming Language for Compiler Writing", Year = 1991, Series = "Lecture Notes in Computer Science", Number = 502, Pages = "529--564", Publisher = SV, BookTitle = "Baltic Computer Science Selected Papers", } @UnPublished{Mikk:Lakhnech:Petersohn:Siegel:97, Ordinal = "P567", Author = "Erich Mikk and Yassine Lakhnech and Carsta Petersohn and Michael Siegel", Title = "On Formal Semantics of StateCharts as Supported by STATEMATE", Note = "Manuscript", Year = 1997, } @UnPublished{Kimelman:Roth:Lindsey:Thomas:97, Ordinal = "P568", Author = "Doug Kimelman and Tova Roth and Hayden Lindsey and Sandy Thomas ", Title = "Partitioning of Distributed Object Applications Based on Communication Dynamics and Visual Feedback", Note = "Manuscript", Year = 1997, } @UnPublished{Plumicke:97, Ordinal = "P569", Author = "Martin Plumicke", Title = "Parametric Polymorphism in OBJ-3", Note = "Manuscript", Year = 1997, } @UnPublished{Gidron:Kozakov:Shani:97, Ordinal = "P570", Author = "Yoad Gidron and Lev Kozakov and Uri Shani", Title = "An RPC-Based Methodology for Client/Server Application Development in {C++}", Note = "Manuscript", Year = 1997, } @Misc{Sysnet:97, Ordinal = "P571", Title = "Sysnet - System Description", Key = "Sysnet", Note = "Manuscript", Year = 1997 } @UnPublished{Rinat:Magidor:97, Ordinal = "P572", Author = "Ran Rinat and Menachem Magidor", Title = "A Language with Semantic Polymorphism and Its Type Correctness", Note = "Manuscript", Year = 1997, } @ UnPublished {Poggi:Destri:96, Ordinal = "P573", Author ="Agostino Poggi and Giulio Destri", Title = "Objects composition through virtual circuits", Year = 1996, Note = "Manuscript", Comment = "TE--96", } @UnPublished{Li:Danzig:92, Ordinal = "P574", Author = "Shih-Hao Li and Peter B. Danzig", Title = "Vocabulary Problem in Internet Resource Discovery", Institution ="Computer Science Department University of South California", Note = "Extended Abstract", Year = 1993, Month = Apr, } @UnPublished{Shklar:Shah:Basu:Sheth:Kashyap:94, Ordinal = "P575", Author = "Leon Shklar and Kshitij Shah and Chumki Basu and Amit Sheth and Vipul Kashyap ", Title = "Modelling Heterogeneous Software Components", Note = "Extended Abstract", Year = 1994, } @UnPublished{Winroth:97, Ordinal = "P576", Author = "Harald Winroth", Title = "A Scriptic Language Interface to {C++} Libraries", Note = "Manuscript", Year = 1997, } @UnPublished{Dingle:Hildebrandt:97, Ordinal = "P577", Author = "Adair Dingle and Thomath Hildebrandt", Title = "New Coding Patterns for Object Management", Note = "Manuscript", Year = 1997, } @UnPublished{Al-Ahmad:Steegmans:97a, Ordinal = "P578", Author = "W.Al-Ahmad and E.Steegmans", Title = "Java and the Object-Oriented Paradigm: Comparison and Evaluation", Note = "Manuscript", Year = 1997, } @UnPublished{Lamport:95, Ordinal = "P579", Author = "Leslie Lamport ", Title ="Types are not Harmless", Note = "Manuscript", Year = 1995, Month = Jul, } @UnPublished{Levkowitz:94, Ordinal = "P580", Author = "Haim Levkowitz ", Title = "H-I I CUE: Human-Information Interaction via Computers that are Ubiquitous Everywhere (The future of interaction between humans and information)", Institution ="Institute for Visualization and Perception Recearch Department of Computer Science University of Massachusetts Lowell", Note = "Manuscript", Year = 1994, Month = Dec } @UnPublished{Doshi:96, Ordinal = "P581", Author = "Nimish R. Doshi", Title = "Programming by Contract with an Object Database", Note = "Extended Abstract", Year = 1996, Comment = "TE-96" } @UnPublished{Kent:Howse:96, Ordinal = "P582", Author = "Stuart Kent and John Howse", Title = "Value Types in Effel", Institution ="Department of Computing, University of Brighton, Brighton BN2 4GJ ,UK", Year = 1996, Note = "TE--96", } @UnPublished{DePauw:Lorenz:Vissides:Wegman:97, Ordinal = "P583", Author = "Wim De Pauw and David Lorenz and John Vissides and Mark Wegman", Title = "Execution Patterns in Object-Oriented Visualization", Note = "Manuscript", Year = 1997, } @UnPublished{Ege:Kolla:97, Ordinal = "P584", Author = "Raimund K. Ege and Sairan Kolla", Title = "Class Access Specification in KAPSEL", Note = "Manuscript", Year = 1997, } @UnPublished{Al-Ahmad:Steegmans:97b, Ordinal = "P585", Author = "W.Al-Ahmad and E.Steegmans", Title = "Shortcomings of Current Object-Oriented Programming Languages", Note = "Manuscript", Year = 1997, } @UnPublished{Kaindl:Korner:97, Ordinal = "P586", Author = "Hermann Kaindl and Stefan Korner", Title = "Differences between Object-Oriented Languages and Frame Systems", Note = "Manuscript", Year = 1997, } @UnPublished{Anquetil:97, Ordinal = "P587", Author = "Nicolas Anquetil", Title = "Expressing Opposition in Object Model, First Step towards Negation", Note = "Manuscript", Year = 1997, } @UnPublished{Hsieh:Fiuczynski:Pardyak:Garrett:Bershad:97, Ordinal = "P588", Author = "Wilson Hsieh and Marc E. Fiuczynski and Przemyslaw Pardyak and Charles Garrett and Brian N.Bershad ", Title = "Using Type Safety in Extensible Systems", Note = "Manuscript", Year = 1997, } @UnPublished{Stata:Liskov:97, Ordinal = "P589", Author = "Raymie Stata and Barbara Liskov", Title = "Using representation categories to design specialization interfaces", Note = "Manuscript", Year = 1997, } @UnPublished{Zhang:97, Ordinal = "P590", Author = "Guogen Zhang", Title = "Associations and Multiple Polymorphism", Note = "Manuscript", Year = 1997, } @UnPublished{Patel:Shmatikov:Mitchell:97, Ordinal = "P591", Author = "Amit Patel and Vitaly Shmatikov and John Mitchell", Title = "Paramertrized Inheritance vs. Multiple Inheritance", Note = "Manuscript", Year = 1997, } @UnPublished{Maki-Turja:Post:Gustafsson:97, Ordinal = "P592", Author ="Jukka Maki-Turja and Kjell Post and Jan Gustafsson ", Title = "An Operational Semantics for Smalltalk", Note = "Manuscript", Year = 1997, } @UnPublished{Pande:96, Ordinal = "P595 ", Author ="H.Pande ", Title = "Compile-time Analysis of C and {C++} Systems", Note = "Ph.D.Disertation", Year = 1996, Month="Mar", } @UnPublished{Minsky:97, Ordinal = "P596", Author = "Naftaly H. Minsky", Title = "Towards Architectural Invariants of Evolving Systems", Institution ="Department of Computer Science Rutgers University", Note = "Manuscript", Year = 1997, Month = "Jan", } @UnPublished{Minsky:Partha:97, Ordinal = "P597", Author = "Naftaly H. Minsky and Partha pratim Pal", Title = "Law-Governed Regularities in Object Systems;Part 2: A Concrete Implementation", Institution ="Department of Computer Science Rutgers University", Note = "Manuscript", Year = 1997, } @UnPublished{Bergstra:Dinesh:Field:Heering:97, Ordinal = "P598", Author = "J.A.Bergstra and T.B.Dinesh and J.Field ans J.Heering", Title = "Towards a Complete Transformational Toolkit for Compilers", Note = "Manuscript", Year = 1997, } @UnPublished{Field:Ramalingam:Tip:95, Ordinal = "P599", Author = "John Field and G.Ramalingam and Frank Tip", Title = "Parametric Program Slicing", Note = "Manuscript", Year = 1995, } @Article{Landi:92, Ordinal = "P600", Author = "William Landi", Title = "Undecidability of Static Analysis", Institution ="Siemens Corporate Recearch Inc", Journal = "Letters on Programming Languages and Systems", Year = 1992, Volume = 1, Number = 4, Month = "Dec", Pages = "323-337", } @UnPublished{Jakubik:97, Ordinal = "P602", Author = "Paul Jakubik", Title = "Callback Implementations in {C++}", Note = "Manuscript", Year = 1997, Month = Mar, } @UnPublished{Borron:97a, Ordinal = "P603", Author = "Henry J. Borron", Title = "Extending the concept of Mixin to Multidimensional Objects", Note = "Manuscript", Year = 1997, } @UnPublished{Gramberg:97, Ordinal = "P604", Author = "Oliver Gramberg", Title = "Patterns in the NeXTSTEP Application Kit", Institution ="School of Informatics University of Karlsruhe,Germany", Note = "Manuscript", Year = 1997, } @UnPublished{Tichy:97, Ordinal = "P605", Author = "Walter Tichy", Title = "A Catalogue of General-Purpose Software Design Patterns", Institution ="University of Karlsruhe,Germany", Note = "Manuscript", Year = 1997, } @Article{Horwitz:97, Ordinal = "P606", Author ="Susan Horwitz", Title = "Precise Flow-Insensitive May-Alias Analysis is NP-Hard", Institution ="University of Wisconsin-Madison", Journal = "Transactions on Programming Languages", month=Jan, Year = 1997, } @UnPublished{Pacherie:97, Ordinal = "P607", Author = "Jean-Lin Pacherie", Title = "Operator Design Pattern for Data Parallel Computation", Note = "Manuscript", Year = 1997, } @UnPublished{Feiler:Tichy:97, Ordinal = "P608", Author = "Peter Feiler and Walter Tichy", Title = "{PROPAGATOR} - A Family of Patterns", Note = "Manuscript", Year = 1997, } @UnPublished {D'Souza:Wills:95, Ordinal = "P609", Author ="Desmond D'Souza and Alan Wills", Title = "Catalysis - Practical Rigor and Refinement", Year = 1997, Note = "Manuscript" } @UnPublished{Golubski:Pohlers:97, Ordinal = "P610", Author = "Wolfgang Golubski and Bjarne Pohlers", Title = "{SOLAT} - A Simple Object-Oriented Language Analysing Tool", Note = "Manuscript", Year = 1997, } @UnPublished{Gouranton:Metayer:97, Ordinal = "P611", Author = "Valerie Gouranton and Daniel Le Metayer", Title = "Formal development of static program analysers", Note = "Manuscript", Year = 1997, } @Article{Booch:96, Ordinal = "P612", Journal = "Report on Analysis and Design", Year = 1996, Volume = 1, Author = "Grady Booch", Title = "The {B}ooch Method--Properties and Stereotypes" } @Book{Kiczales:Rivieres:Bobrow:91, Author = "G. Kiczales and J. des Rivi\`eres and D. G. Bobrow", Title = "The Art of the Metaobject Protocol", Publisher = "MIT Press", Year = 1991, } @Book{Thompson:96, Author = "Simon Thompson", Title = "Haskell -- The Craft of Functional Programimng ", Year = 1996, Publisher = "Addison-Wesley", Series = "International Computer Science Series", ISBN = "0-201-40357-9", SYSNO = 2181352, PLACE = "HARLOW, ENGLAND", PAGES = " XX, 500 P.", UDC = "681.3.06 HASKELL" } @Book{Masini:91, Author = "G\'{e}rlad Masini and Amedeo Napoli and Dominique Colnet and Daniel L\'{e}onard and Karl Tombre", Title = "Object Oriented Langauges", Publisher = "Academic Press", Number = 34, Year = 1991, Series = "The A.P.I.C Series" } @UnPublished{Dubinsky:97, Ordinal = "P613", Author = "Yael Dubinsky", Title = "System Calls", Year = 1997, Note = "Manuscript" } @InCollection{Koster:74, Author = "C. A. H. Koster", Ordinal = "P626", Title = "Using the {CDL} Compiler-Compiler", Pages = "366--395", Year = 1974, BookTitle = "Compiler Construction---an advanced Course", Editor = "F. L. Bauer and J. Eickel", Publisher = "Springer-Verlag", Series = LNCS, Number = 21, } @UnPublished{Wegner:97, Ordinal = "P614", Author = "Peter Wegner", Title = "Interactive Foundations of Computing", Note = "Manuscript", Institution ="Brown University,Department of Computer Science", Year = 1997, } @Misc{RBSC:97, Ordinal = "P615", Title ="Tutorial: The free approach to testing object-oriented systems", Author = {RBSC Corporation}, Note = "Tools Conferences 97", Year = 1997, } @UnPublished{Deursen:Klint:96, Ordinal = "P616", Author = "Arie van Deursen and Paul Klint", Title = "Little Languages: Little Maintenance?", Note = "Manuscript", Year = 1996, } @UnPublished{Stiff:Reps:97, Ordinal = "P617", Author = "Michael Stiff and Thomas Reps", Title = "Identifying Modules Via Concept Analysis", Note = "Manuscript", Institution ="University of Wisconsin-Madison", Year = 1997, } @Article{Ladd:Ramming:95, Ordinal = "P618", Journal = ITSE, Volume = 21, Number = 11, Year = 1995, Month = nov, Pages = "894--901", Author = "David A.Ladd and J. Christopher Ramming", Title = "A$^*$: A Language for Implementing Language Processors", } @UnPublished{Basu:Hayden:Morrisett:Eicken:97, Ordinal = "P619", Author = "Anindya Basu and Mark Hayden and Greg Morrisett and Thorsten von Eicken", Title = "A Language-Based Approach to Protocol Construction", Note = "Manuscript", Institution ="Cornell University", Year = 1997, } @UnPublished{Fromherz:Gupta:Saraswat:97, Ordinal = "P620", Author = "Markus P. J. Fromherz and Vineet Gupta and Vijay Saraswat", Title = "cc - A Generic Framework for Domain Specific Languages (Extended Abstract)", Note = "Manuscript", Year = 1997, } @UnPublished{Weiss:97, Ordinal = "P621", Author = "David Weiss", Title = "Creating Domain-Specific Languages: The FAST Process", Note = "Manuscript", Institution ="Lucent Technologies Bell Laboratories", Year = 1997, } @InProceedings{Bosch:95, Ordinal = "P623", Author = "Jan Bosch", Title = "Parser Delegation---An Object-Oriented Approach to Parsing", CrossRef = "TOOLS:EUROPE:95", Pages = "55--67" } @Unpublished{Pfahler:Kastens:97, Ordinal = "P624", Year = 1997, Author = "Peter Pfahler and Uwe Kastens", Title = "Language Design and Implementation by Selection", Note = "Manuscript" } @InBook{Wallis:83, Ordinal = "P625", Author = "Peter J.L. Wallis", Title = "Ada Software Tools Interfaces", Series = LNCS, Volume = 180, Publisher = Springer, Pages = "1--47", Year = 1983 } @Article{Cook:71, Ordinal = "P628", Author = "STEPHEN A. Cook", Title = "Characterizations of Pushdown Machines in Terms of Time-Bounded Computers", Institution ="University of California, Berkeley,California", Journal = JACM, Year = 1971, Volume = 18, Number = 1, Month = "Jan", Pages = "4-18", } @Unpublished{Scholz:Gil:96, Ordinal = "P760", Author = "Enno Scholz and Joseph Gil", Title = "A Monadic Calculus of Synchronous Imperative Streams, and its Application to GUI Programming", Note = "Preliminary version was presented at the 1996 Glasgow Workshop on Functional Programming and the 1997 Dagstuhl Seminar on High-level Concurrent Languages" } @Unpublished{Scholz:Gil:97, Ordinal = "P629", Author = "Enno Scholz and Joseph (Yossi) Gil", Title = "A Monadic Calculus of Synchronous Imperative Streams, and its Application to GUI Programming", Institution ="Daimler Benz AG, Research and Technology Alt- Moabit 95a,10559 Berlin,Germany, Technion,Israel Institute of Technology 32000 Haifa, Israel", Year = 1997, Note = "Manuscript" } @Article{Cordy:Halpern:Promislow:91, Ordinal = "P630", Author = "James R.Cordy and Charles D. Halpern-Hamu and Eric Promislow", Title = "TXL : A Rapid Prototyping System for Programming Language Dialects", Journal = "Computer Languages", Volume = 16, NUmber = 1, Year = 1991 } @Unpublished{Kent:Hamie:Howse:Civello:Mitchell:97, Ordinal = "P631", Author = "Stuart Kent and Ali Hamie and John Howse and Franco Civello and Richard Mitchell", Title = "Semantics through pictures Towards a diagrammatic semantics for {OO} modelling notations", Institution ="University of California, Berkeley,California", Journal = "Journal of Association for Computing Machinery", Year = 1997, Note = "MAnuscript" } @Misc{Unknown:97, Ordinal = "P632", Title = "Relationships Among Complexity Classes", Key = "Relationships Among Complexity Classes", } @InProceedings{Geiger:Huntstock:Lehrenfeld:Mueller:Quintanilla:Tahedl:Weber:96, Ordinal = "P633", BookTitle = "Proceedings 1996 IEEE Symposium on Visual Languages", Year = 1996, Month = Sep, Pages = "304--307", Author ="G.Geiger and R. Huntstock and G. Lehrenfeld and W.Mueller and J. Quintanilla and C. Tahedl and A.Weber", Title = "Visual Modeling and 3D-Representation with a Complete Programming Language - A Case Study in Manufacturing ", Publisher = "IEEE Computer Society Press Los Alamitos, California" } @Article{Koike:93, Ordinal = "P634", Author = "Hideki Koike", Title = "The role of Another Spatial Dimension in Software Visualization", Year = 1993, Journal = "ACM Transactions on Information Systems", Volume = 11, Number = 3, Month = "Jul", Pages = "266-286", } @InProceedings{Ware:Franck:94, Ordinal = "P635", BookTitle = "Proceedings 1994 IEEE Symposium on Visual Languages", Year = 1994, Month = Oct, Pages = "182-183", Author ="Colin Ware and Glenn Franck", Title ="Viewing a graph in a Virtual Reality Display is Three Times as Good as a 2D Diagram", Publisher = "IEEE Computer Society Press Los Alamitos, California", } @InProceedings{Spratt:Ambler:94, Ordinal = "P636", BookTitle = "Proceedings 1994 IEEE Symposium on Visual Languages", Year = 1994, Month = Oct, Pages = "254-261", Author ="Lindsey Spratt and Allen Ambler", Title ="Using 3D Tubes to Solve the Intersecting Line Representation Problem", Publisher = "IEEE Computer Society Press Los Alamitos, California", } @InProceedings{Citrin:Hall:Zorn:95, Ordinal = "P637", BookTitle = "Proceedings 11th Symposium on Visual Languages", Year = 1995, Month = Sep, Pages = "294-301", Author ="Wayne Citrin and Richard Hall and Benjamin Zorn", Title ="Programming with visual expressions", Publisher = "IEEE Computer Society Press Los Alamitos, California", } @InProceedings{Freeman:Gelernter:Jagannathan:95, Ordinal = "P638", BookTitle = "Proceedings 11th Symposium on Visual Languages", Year = 1995, Month = Sep, Pages = "302-309", Author ="Elisabeth Freeman and David Gelernter and Suresh Jagannathan", Title = "In Search of a Simple Visual Vocabulary", Publisher = "IEEE Computer Society Press Los Alamitos, California", } @InProceedings{Zhang:Zhang:95, Ordinal = "P639", BookTitle = "Proceedings 11th Symposium on Visual Languages", Year = 1995, Month = Sep, Pages = "310-317", Author ="Da-Qian Zhang and Kang Zhang", Title = "A Visual programming Environment for Distributed Systems", Publisher = "IEEE Computer Society Press Los Alamitos, California", } @InProceedings{Soroker:Karasick:Barton:97, Author = {D. Soroker and M. Karasick and J. Barton}, Crossref = {ECOOP:97}, Title = "Extension Mechanisms in Montana", Year = {1997}, Month = Jun # "18-19", BookTitle = "Proceedings of the 8$^th$ Israeli Conference on Computer Systems and Software Engineering ({ISySe} '97)", } @InProceedings{Courcoubetis:Vardi:Wolper:Yannakakis:92, Ordinal = "P640", BookTitle = "Formal Methods in System Design", Year = 1992, Volume = 1, Month = Oct, Pages = "213--??", Author = "C.Courcoubetis and M.Vardi and P.Wolper and M.Yannakakis", Title = "Memory-Efficient Algorithms for the Verification of Temporal Properties", } @Unpublished{Dietzfelbinder:94, Ordinal = "P641", Author = "Martin Dietzfelbinder", Title = "Universal hashing and k-wise independent random variables via integer arithmetic without primes", Institution ={Fachbereich Informatik, Universit\"{a}t, Dortmund, Germany}, Year = 1994, Note = "Manuscript" } @Unpublished{Dietzfelbinder:Hagerup:Katajainen:Pettonen:93, Ordinal = "P642", Author = "Martin Dietzfelbinder and Torben Hagerup and Jurki Katajainen and Martti Pettonen", Title = "A Reliable Randomized Algorithm for the Closest-Paire Problem", Institution = {Fachbereich Informatik,Universit\"{a}t,Dortmund,Germany}, Year = 1993, Note = "Manuscript" } @Unpublished{Kasik:Kitzmiller:Murphy:Newcomb, Ordinal = "P643", Author = "D.Kasik and C.Kitzmiller and D.Murphy and P.Newcomb", Title = "Lagacy Reuse Environment Functional Specification", Institution ="Boeing", Note = "Manuscript" } @Unpublished{Goguen:Diaconescu:93, Ordinal = "P644", Author = "Joseph A. Goguen and Razvan Diaconescu", Title = "Towards an Algebraic Semantics for the Object Paradigm", Institution ="Programming Research Group, Oxford University", Year = 1993, Note = "Manuscript" } @Unpublished{Takizawa:Arita:Minoh:Ikeda:93, Ordinal = "P645", Author = "Kei Takizawa and Daisaku Arita and Michihiko Minoh and Katsuo Ikeda", Title = "Extraction of Character Strings from Unformed Document Images", Institution ="Department of Information Science,Faculty of Engineering, Kyoto University", Year = 1993, Note = "Manuscript" } @Article{Gotsman:Lindenbaum:95, Ordinal = "P646", Author = "Craig Gotsman and Michael Lindenbaum", Title = "Euclidean Voronoi Labelling on the Multidimensional Grid", Year = 1995, Journal = "Pattern recognition letters", Volume = 16, Month = "Apr", Pages = "409-415", Institution = "Department of Computer Science,Technion---Israel Institute of Technology", Address = "Haifa 32000,Israel" } @Unpublished{Lozdernik:96, Ordinal = "P647", Author = "Dmitri Lozdernik", Title = "Standard Template Library", Institution = "Department of Computer Science,Technion - Israel Institute of Technology,Haifa 32000,Israel", Year = 1996, Note = "Manuscript" } @Unpublished{Gil:Itai:97, Ordinal = "P648", Author = "Joseph Gil and Alon Itai", Title = "How to Pack Trees", Year = 1997, Institution = "Department of Computer Science,Technion - Israel Institute of Technology,Haifa 32000,Israel", Note = "Manuscript" } @Article{Borning:81, Ordinal = "P649", Author = {A. H. Borning}, Title = "The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation LAboratory", Journal = TOPLAS, Year = 1981, Volume = 3, Number = 4, Pages = "353--387" } @InProceedings{Bracha:Griswold:93, Ordinal = "P653", Author = "Gilad Bracha and David Griswold", Title = "Strongtalk: Typechecking Smalltalk in Production Environment", Year = 1993, Crossref = {OOPSLA:93}, Pages = "215-230", } @InProceedings{Vion-Dury:Santana:94, Ordinal = "P652", Author = "Jean-Yves Vion-Dury and Miguel Santana", Title = "Virtual Images: Interactive Visualization on Distributed Object-Oriented Systems", Year = 1994, Crossref = {OOPSLA:94}, Pages = "65--84", } @InProceedings{Gonnet:Tompa:87, Ordinal = "P654", Author = "Gaston H. Gonnet and Frank Wm. Tompa", Title = "Mind Your Grammar: a New Approach to Modelling Text", Year = 1993, BookTitle = "Proc. of the 13th VLBD Conf., Brighton 1987", Pages = "215-230", } @Unpublished{Firesmith, Ordinal = "P656", Author = "Harold Firesmith", Title = "Open notation", Note = "Manuscript" } @Unpublished{Aksit:Marcelloni:95, Ordinal = "P657", Author = "Mehmet Aksit and Francesco Marcelloni", Title = "Reducing Quantization Error and Contextual Bias Problems in Object-Oriented Methods by Applying Fuzy-Logic Techniques", Year = 1995, Note = "Manuscript" } @Article{Harel:88, Ordinal = "P658", Author = "David Harel", Title = "On Visual Formalisms", Journal = "Communications of the ACM", Year = 1988, Month = May, Volume = 31, Number = 5, Pages = "514--530", } @InProceedings{TOOLS:Unification:97, Ordinal = "P659", Title = "Method Unification: {UML} and {OML}", Author = "Rob Allen and Brian Henderson and Don Firesmith", CrossRef = "TOOLS:USA:97", Part = 2, Pages = "1--12", Note = "Tutorial notes" } @Misc{DSM:4, Ordinal = "P660", Title = "DSM 4: Use of the Manual", Key = "DSM", Year = 1997 } @Unpublished{Henderson-Sellers:97, Ordinal = "P661", Author = "Brian Henderson-Sellers", Title = "OPEN Relationships - Compositions and Containments", Year = 1997, Month = Aug, Note = "Manuscript" } @TechReport{Janicki:94, Ordinal = "P665", Title = "Towards a Formal Semantics of Parnas Tables", Author = "Ryszard Janicki", Year = 1991, Number = "94-06", Institution = "McMaster University", Address = "Hamilton, Ontario Canada L8S 4K1", } @InProceedings{Firesmith:97, Ordinal = "P664", Author = "Donald Firesmith", Title = "Open Method and {OML COMN}", Key = "Open Method", Pages = "1--45", CrossRef = "TOOLS:USA:97", Part = 2, Note = "Tutorial notes" } @Misc{Yehudai:97, Ordinal = "P672", Author = "Amiram Yehudi", Year = 1997 } @Unpublished{Frigo:Neumann:Zimmermann:97, Ordinal = "P655", Author = "Jozsef Frigo and Rainer Neumann and Wolf Zimmermann", Title = "Mechanical Generation of Robust Class Hierarchies", Note = "Manuscript" } @InProceedings{Eifrig:Smith:Trifonov:Zvarico:94, Ordinal = "P663", Author = "Jonathan Eifrig and Scott Smith and Valery Trifonov and Amy Zvaric", Title = "Application of OOP Type Theory: State, Decidability, Integration", Year = 1994, Crossref = {OOPSLA:94}, } @Unpublished{Mahalal:Elghouzzi:93, Ordinal = "P670", Author = "Ilan Mahalal and Keren Elghouzzi", Title = "Description/Configuration Language", Month=Oct, Year = 1993, Note = "Manuscript" } @Unpublished{Berry:92b, Ordinal = "P669", Author = "Daniel M. Berry", Title = "Controversy Corner", Journal = "Journal of Systems \& Software", Note = "Journal of Systems \& Software", Year= 1992 } @TechReport{Ben-David:Borodin:Karp:Tardos:Wigderson:90, Ordinal = "P668", Title = "On the power of randomization in online algorithms", Author = "S.Ben-David and A.Borodin and R.Karp and G.Tardos and A. Wigderson", Year = 1990, Institution = "Technion-Israel Institute of Technology", Number = 635, Address = "Haifa,Israel", } @TechReport{Ochi:Yasuoka:Yajima:93, Ordinal = "P667", Title = "A Secondary Memory Oriented BDD Manipulator Using Garbage Collection Based on Sliding Type Compaction", Author = "Hiroyuki Ochi and Koichi Yasuoka and Shuzo Yajima", Month = Apr, Year = 1993, Number = "KUIS-93-0007", Institution = "Kyoto University", Address = "Kyoto,606-01,Japan", } @TechReport{Matsumoto:93, Ordinal = "P666", Title = "KDM: A Discipline for Model Based Software Design", Author = "Yoshihiro Matsumoto", Month = Sep, Year = 1993, Number = "KUIS-93-0010", Institution = "Kyoto University", Address = "Kyoto,606-01,Japan", } @Unpublished{Borron:97b, Ordinal = "P671", Author = "Henry J. Borron", Title = "Upscaling the CLOS Inheritance Mechanism for Multidimensional Objects", Year= 1997, Institution = "INRIA Sophia Antipolis", Address = "2004,route des Lucioles -06560 Valbonne (France)", Note = "Manuscript" } @Article{Jensen:Jorgensen:Klarlund:Schwartzbach:97, Ordinal = "P672", Author = "Jacob L. Jensen and Michael E. Jorgensen and Nils Klarlund and Michael I. Schwartzbach", Title = "Automatic Verification of Pointer Programs Using Monadic Second-Order Logic", Journal = "PLDI'97 ACM", Year = 1997, Pages = "226--234", } @Article{Webber:97, Ordinal = "P673", Author = "Adam Brooks Webber", Title = "Program Analysis Using Binary Relations", Journal = "PLDI'97 ACM", Year = 1997, Pages = "249--260", } @Article{Flanagan:Felleisen:97, Ordinal = "P674", Author = "Cormac Flanagan and Matthias Felleisen", Title = "Componential Set\_Based Analysis", Journal = "PLDI'97 ACM", Year = 1997, Pages = "235--248" } @InProceedings{Helm:Holland:Gangopadhyay:90, Ordinal = "P675", Pages = "169--180", Author = "Richard Helm and Ian M. Holland and Dipayan Ganopadhyay", Crossref = {OOPSLA:90}, Month = Oct, Title = "Contracts: Specifying Behavioral Compositions in Object-Oriented Systems", Year = 1990 } @Unpublished{Stroustrup:80, Ordinal = "P676", Author = Stroustrup, Title = "A Set of {C++} Classes for Co-routine Style Programming", Year= 1997, Institution = "AT&T Bell Laboratories", Address = "Murrey Hill, New Jersey 07974", Note = "Manuscript" } @InProceedings{Bokowski:Kirchner:97, Ordinal = "P678", Author = "Boris Bokowski and Lutz Kirchner", Crossref = {OOPSLA:97}, Title = "Static and Dynamic Assertion Mechanisms for Communicating Framework Concepts", Year = 1997 } @Unpublished{Sweeney:Tip:97, Ordinal = "P679", Author = "Peter F. Sweeney and Frank Tip", Title = "A Study of Dead Data Members in {C++} Applications", Year= 1997, Month = Jul, Institution = "IBM Thomas Watson Research Center", Address = " P.O. Box 704, Yorktown Heights,NY 10598", Note = "Manuscript" } @Article{Nakata:Sassa:86, Ordinal = "P448", Author = "Ikuo Nakata and Masataka Sassa", Title = "Generation of Efficient {LALR} Parsers for Regular Right Part Grammars", Journal = "Acta Informatica", Year = 1986, Volume = 23, Pages = "149--162", Month = Mar, } @Article{Ossher:Kaplan:Katz:Harrison:Kruskal:96, Ordinal = "P681", Author = "Harold Ossher and Matthew Kaplan and Alexander Katz and William Harrison and Vincent Kruskal", Title = "Specifying Subject-Oriented Composition", Journal = "Theory and Practice of Object Systems", Volume = 2, Issue = 3, Pages = "179--202", Year= 1996 } @Unpublished{Harrison:Ossher:Kaplan:Katz:Kruskal:???, Ordinal = "P728", Author = "Bill Harrison and Harold Ossher and Matthew Kaplan and Alex Katz and Vincent Kruskal", Title = "Run-time Environment for the WAtson Subjectivity Prototype", Month = Mar, Year = 1996, Note = "IBM Confidential" } @InProceedings{Chambers:Leavens:94, Ordinal = "P682", Author = "Craig Chambers and Gary T. Leavens", Crossref = {OOPSLA:94}, Title = "Typechecking and Modules for Multi-Methods", Year = 1994, note = "An extended version is in~\cite{Chambers:Leavens:95}", } @Article{Chambers:Leavens:95, Author = "Craig Chambers and Gary T. Leavens", Title = "Typechecking and Modules for Multi-Methods", Journal = TOPLAS, Volume = 17, Number = 6, Year = 1995, Pages = "805--843", } @Unpublished{Boas:97a, Ordinal = "P683", Author = "Peter van Emde Boas", Title = "Resistance is Futile; Formal Linguistic Observations on Design Patterns", Year= 1997, Month = Feb, Institution = "ILLC,FWINS,Universiteit van Amsterdam", Address = "Plantage Muidergracht 24, 1018 TV Amsterdam", Note = "Manuscript" } @Unpublished{Boas:97b, Ordinal = "P684", Author = "Peter van Emde Boas", Title = "Resistance is Futile; Observations on the Formal Linguistic Status of Design Patterns", Year= 1997, Institution = "ILLC,FWINS,Universiteit van Amsterdam", Address = "Plantage Muidergracht 24, 1018 TV Amsterdam", Note = "Manuscript" } @InProceedings{Gil:Sweeney:99, Author = "Joseph (Yossi) Gil and Peter Sweeney", Title = "Space- and Time-Efficient Memory Layout for Multiple Inheritance", CrossRef = {OOPSLA:99}, Pages = "256--275" } @InProceedings{Krall:Vitek:Horspool:97a, Author = "A. Krall and Jan Vitek and R. Nigel Horspool", Title = "Near optimal hierarchical encoding of types", CrossRef = {ECOOP:97}, Pages = "128--145" } @InProceedings{Vitek:Horspool:Krall:97b, Author = "Jan Vitek and R. Nigel Horspool and A. Krall", Title = "Efficient Type Inclusion Tests", CrossRef = {OOPSLA:97}, Pages = "142--157" } @InProceedings{Caseau:93, Author = "Yves Caseau", Title = "Efficient Handling of Multiple Inheritance Hierarchies", CrossRef = {OOPSLA:93}, Pages = "271--287", } @InProceedings{Driesen:Holzle:96, Author = "Karel Driesen and Urs {H\"olzle}", Title = "The Direct Cost of Virtual Functions Calls in {C++}", CrossRef = {OOPSLA:96}, Pages = "306--323", } @InProceedings{Driesen:Holzle:95, Author = "Karel Driesen and Urs {H\"olzle}", Title = "Minimizing Row Displacement Dispatch Tables", CrossRef = {OOPSLA:95}, Pages = "141--155", } @TechReport{Sweeney:Burke:98, author="Peter F. Sweeney and Michael Burke", title="A Methodology for Quantifying and Evaluating the Space Overhead in {C++} Object Models", Number = "RC21370", Institution = "IBM T. J. Watson Research Center", Year = 1998, Month = Dec, Address = "P. O. Box 704, Yorktown Heights, NY 10598, USA" } @Article{Giladi:Ahituv:95, Author = "R. Giladi and N. Ahituv", Title = "{SPEC} as a pefromance evaluation measure", Journal = "Computer", Volume = 28, Number = 8, Month = Aug, Year = 1995, Pages = "33--42", } @Misc{Spec:JVM:98, Author = "{Standard Performance Evaluation Coroporation}", Title = "{SPECjvm98} Documentation, Release 1.0", Month = Aug, Year = 1998, HowPublished = "Online version at \texttt{http://www.spec.org/\-osg/\-jvm98/\-jvm98/\-doc/\-index.html}" } @InProceedings{Linton:Pan:94, Ordinal = "P748", Author = "Mark A. Linton and Douglas Z. Pan", Title = "Interface Translation and Implementation Filtering", Pages = "227--236", CrossRef = "C++:94", } @misc{OOPSLAPanel:93, author="T. Cargill and B. Cox and W. Cook and M. Loomis and A. Snyder", title="Is Multiple Inheritance Essential to {OOP}?", howpublished={Panel discussion at the Eighth Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'95) (Washington, DC)}, month="Oct.",year=1993 } @misc{TOOLSPanel:94, author="B. Magnussun and B. Meyer and et al.", title="Who needs need multiple inheritance", howpublished={Panel discussion at the European conference on Technology of Object Oriented Programming (TOOLS Europe'94)}, month=Mar, year=1994, address = {Versailles, France} } @InProceedings{Godin:Mili:93, Author = "Robert Godin and Hafedth Mili", Title = "Building and Maintaining Analysis-Level Class Hierarchies Using Galois Lattices", CrossRef= {OOPSLA:93}, Pages = "394--410", doi = {http://doi.acm.org/10.1145/165854.165931} } @Misc{ISE:Eiffel, Author = "{Interactive Software Engineering}", Title = "ISE Eiffel Compiler", HowPublished = "See \texttt{http://www.eiffel.com}", Year = 1999, } @Article{Caseau:91, Author = "Yves Caseau", Title = "An Object-Oriented Deductive Language", Journal = "Annals of Mathematics and Artificial Intelligence", Year = 1991, Month = Mar, Note = "Special issue on deductive databases", } @Manual{Parr:Lilly:97, author = "Parr, T. and Lilly, J.", title = "ANTLR 2.10 Reference Manual", organisation = "MageLang Institute", year = 1997, note = "http://www.antlr.org/doc/index.html" } @InProceedings{Bosch:96, author = "Jan Bosch", title = "Delegating Compiler Objects --- An Object Oriented Approach to Crafting Compilers", crossref = "CC:96" } @InProceedings{Kadhim:Waite:96, author = "Kadhim, M. B. and Waite, W. M.", title = "Matpool --- Supporting Modular Syntax Development", crossref = "CC:96" } @InProceedings{Waite:96, author = "Waite, W. M.", title = "Compiler Construction --- Craftsmanship or Engineering?", crossref = "CC:96" } @Misc{Euler:1761, Author = "Euler, L.", Title = "Lettres a Une Princesse d'Allemagne", Volume = 2, Year = 1761, Note = "Volume 2, Letters No.\ 102--108" } @Article{More:59, Author = "More, T.", Year = 1959, Title = "On the construction of {Venn} Diagrams", Journal = "Journal of Symbolic Logic", Volume = 24 } @InProceedings{Gil:Kent:98, Author = "J. Gil and S. Kent", Title = "Three Dimensional Software Modelling", Booktitle = "Proceedings of International Conference in Software Engineering", Year = 1998, Month = May, Address = "Kyoto, Japan", Publisher = "IEEE Computer Society Press", } @TechReport{Gil:Kent:98a, Ordinal = "P756", Author = "Joseph Gil and Stuart Kent", Title = "Three Dimensional Software Modelling", Institution = "IBM Research Division", Month = Feb, Year = 1998, Type = "IBM Research Report" } @Book{Hammer:95, Author = "Hammer, E.M.", Title = "Logic and Visual Information", Year = 1995, Publisher = "CSLI Publications", } @InProceedings{Howse:99, Author = "J. Howse and F. Molina and J. Taylor and S. Kent", Title = "Reasoning with Spider Diagrams", Booktitle = "Proceedings of IEEE Symposium on Visual Languages", Year = 1999, Month = Sep, Address = "Tokyo, Japan", Publisher = "IEEE Computer Society Press", } @Article{Kent:Gil:98, Author = "Kent, S. and Gil, Y.", Year = 1998, Title = "Visualising Action Contracts in OO Modelling", Journal = "IEE Proceedings Software", Note = 145, } @InCollection{Harel:98, Author = "Harel, D.", Year = 1998, Title = "On Visual Formalisms", BookTitle = "Diagrammatic Reasoning", Publisher = "MIT Press", Editor = "J. Glasgow and N. Hari Narayanan and B. Chandrasekaran", Pages = "235-271", } @InProceedings{Kent:97, Author = "Kent, S.", Title = "Constraint Diagrams: Visualising Invariants in Object Oriented Models", CrossRef = "OOPSLA:97", } @InProceedings{Lauder:Kent:98, Author = "Lauder, A. and Kent, S.", Title = "Precise Visual Specification of Design Patterns", CrossRef = "ECOOP:98", } @Book{Lull:1517, Author = "Lull, R.", Year = 1517, Title = "Ars Magma", Publisher = "Lyons" } @Misc{OMG:97, Key = "OMG'97", Title = "UML 1.1. Specification", Year = 1997, HowPublished = "OMG Documents ad970802-ad970809", } @Book{Peirce:33, Author = "Peirce, C.", Title = "Collected Papers", Publisher = "Harvard University Press", Year = 1933, } @Book{Shin:94, Author = "Shin, S.-J.", Year = 1994, Title = "The Logical Status of Diagrams", Publisher = "CUP", } @Article{Venn:1880, Author = "Venn, J.", Year = 1880, Title = "On the Diagrammatic and Mechanical Representation of Propositions and Reasonings", Journal = "Phil.Mag.", Note = "123" } @Book{Warmer:Kleppe:98, Author = "Warmer, J. and Kleppe, A.", Title = "The Object Constraint Language: Precise Modeling with UML", Publisher = "Addison-Wesley", Year = 1998 } @Article{Krogdahl:84, Author = "S.~Krogdahl", Title = "Multiple inheritance in simula-like languages", Journal = "BIT", Year = 1984, Pages = "25:318--326" } @InProceedings{Almeida:97, Author = "Paulo Sergio Almeida", Title = "Balloon Types: Controlling Sharing of state in data types", Crossref = "ECOOP:97", Pages = "32--59" } @PhdThesis{Almeida:98, Ordinal = "P726", Author = "Paulo Sergio Soares de Almeida", Title = "Control of Object Sharing in Programming Languages", School = "University of London, Imperial College of Science, Technology and Medicine, Department of Computing", Month = Jun, Year = 1998, } @InProceedings{Noble:Vitek:Potter:98, Author = "James Noble and Jand Vitek and John Potter", Title = "Flexible Alias Protection", Pages = "158--185", Crossref = "ECOOP:98", Abstract = "Aliasing is endemic in object oriented programming. Because an object can be modified via any alias, object oriented programs are hard to understand, maintain, and analyse. Flexible alias protection is a conceptual model of inter-object relationships which limits the visibility of changes via aliases, allowing objects to be aliased but mitigating the undesirable effects of aliasing. Flexible alias protection can be checked statically using programmer supplied aliasing modes and imposes no runtime overhead. Using flexible alias protection, programs can incorporate mutable objects, immutable values, and updatable collections of shared objects, in a natural object oriented programming style, while avoiding the problems caused by aliasing." } @UnPublished{Gil:Tsoglin:2000, Author = "Joseph Gil and Yuri Tsoglin", Title = "\textsc{Jamoos} - An Object Oriented Compiler Compiler", Year = 2000, Note = "Manuscript" } @inproceedings{Harrison:Levine:Schmidt:97, author={T. H. Harrison and D. L. Levine and D. C. Schmidt}, title={The Design and Performance of a Real-Time {COBRA} Event Service}, CrossRef = "OOPSLA:97", pages={184-200} } @article{Barth:78, author={J. Barth}, title={A Practical Interprocedural Data Flow Analysis Algorithm}, journal=CACM, volume=21, Number=9, pages={724-736}, year=1978 } @inproceedings{Carini:Hind:95, author={P. R. Carini and M. Hind}, title={ Flow-sensitive interprocedural constant propagation}, booktitle={Proceedings of PLDI `95}, year=1995, pages={23-31} } @book{M92, author={B. Meyer}, title={Eiffel--The Language}, publisher={Prentice-Hall}, year={1992} } @Misc{Meyer:95, Author = "Bertrand Meyer", booktitle={Interactive Software Engineering}, Title = "Beware of Polymorphic Catcalls", HowPublished = "WWW publication, the draft is available on http://www.eiffel.com/doc/manuals/technology/typing/cat.html", } @inproceedings{Porat:Bernstein:Fedrov:Rodrigue:96, author={S. Porat and D. Bernstein and Y. Fedrov and J. Rodrigue}, title={Compiler Optimization of C++ Virtual Function Call}, booktitle={COOTS `96}, pages={3-14}, Year = 1996, } @inproceedings{Verbrugge:Phong:Hendren:96, author={C. Verbrugge and C. Phong and L. Hendren}, title={Generalized Constant Propagation---A Study in {C}}, booktitle={Proceedings of the 6th International Conference on Compiler Construction (CC `96)}, pages= {74- 90}, address= {Linkoping, Sweden}, publisher={Springer}, Series = LNCS, Number = 1060, year= 1996 } @article{Wegman:Zadek:91, author={Mark N. Wegman and F. K. Zadek}, title={Constant Propagation with Conditional Branches}, Journal=TOPLAS, Volume = 13, Number = 2, pages={181-210}, month=Apr, year=1991 } @inproceedings{Zendra:Colnet:Collin:97, Author = "O. Zendra and C. Colnet and S. Collin", title = {Efficient Dynamic Dispatch without Virtual Function Tables: The {SmallEiffel} Compiler}, CrossRef="OOPSLA:97", pages={125-141}, } @Article{Bruegge:83, Author = "B. Bruegge and P. Hibbard", Title = "Generalized Path Expressions: A High-Level Debugging Mechanism", Journal = "The Journal of Systems and Software", Volume= 3, Pages= "265-276", Year= 1983, Annote="For Pascal" } @PHdThesis{Paakki:91, Author = "Jukka Paakki", Title = "Paradigms for Attribute-Grammar-Based Language Implementation", School = "Department of Computer Science, University of Helsinki", Year = 1991, Note = "A-1991-1" } @PhdThesis{Andersen:94, Author = "Andersen, L. O.", Title = "Program Analysis and Specialization for the C Programming Language", School = "DIKU, University of Copenhagen", Month = May, Year = 1994, Note = "DIKU report 94/19" } @Article{Berlin:Weise:90, Author = "Berlin, A. and Weise, D.", Title = "Compiling Scientific Code Using Partial Evaluation", Journal = "Computer", Volume = 23, Number = 12, Month = Dec, Year = 1990, Pages = "25--37" } @Misc{Czarnecki:Eisenecker:meta, Author = "Czarnecki, K. and Eisenecker, U.", Title = "Meta-Control Structures for Template Metaprogramming", HowPublished = "http://home.t-online.de/home/Ulrich.Eisenecker/meta.htm" } @Unpublished{Czarnecki:Eisenecker:Gluck:Vandevoorde:Veldhuizen:88, Author = "Czarnecki, K. and Eisenecker, U. and Gl{\"{u}}ck, R. and Vandevoorde, D. and Veldhuizen, T. L.", Title = "Generative Programming and Active Libraries", BookTitle = "Proceedings of the 1998 Dagstuhl-Seminar on Generic Programming", Year = 1998, Note = "vol. TBA of Lecture Notes in Computer Science (in review)" } @InProceedings{Engler:97, Author = "Engler, D. R.", Title = "Incorporating Application Semantics and Control into Compilation", Crossref = "DSL:97" } @Article{Gluck:Jorgensen:97, Author = "Gl{\"{u}}ck, R. and J{\o}rgensen, J.", Title = "An Automatic Program Generator for Multi-Level Specialization", Journal = "Lisp and Symbolic Computation", Volume = 10, Number = 2, Year = 1997, Pages = "113--158" } @InCollection{Gluck:Nakashige:Zochling:95, Author = "Gl{\"{u}}ck, R. and Nakashige, R. and Z{\"{o}}chling, R.", Title = "Binding-Time Analysis Applied to Mathematical Algorithms", BookTitle = "System Modelling and Optimization", Year = 1995, Editor = "J. Dolezal and J. Fidler", Publisher = "Chapman {\&} Hall", Pages = "137--146" } @InProceedings{Ishikawa:Hori:96, Author = "Ishikawa, Y. and Hori, A. and Sato, M. and Matsuda, M. and Nolte, J. and Tezuka, H. and Konaka, H. and Maeda, M. and Kubota, K.", Title = "Design and Implementation of Metalevel Architecture in {C}++ - {MPC}++ Approach", Crossref = "Reflection:96", } @Article{Jones:96, Author = "Jones, N. D.", Title = "An Introduction to Partial Evaluation", Journal = "ACM Computing Surveys", Volume = 28, Number = 3, Month = Sep, Year = 1996, Pages = "480--503" } @InProceedings{Karmesin:Crotinger:98, Author = "Karmesin, S. and Crotinger, J. and Cummings, J. and Haney, S. and Humphrey, W. and Reynders, J. and Smith, S. and Williams, T.", Title = "Array Design and Expression Evaluation in {POOMA II}", Crossref = "ISCOPE:98", } @Article{Myers:95a, Author = "Myers, N.", Title = "A New and Useful Template Technique: ``Traits''", Journal = "{C++} Report", Volume = 7, Number = 5, Month = Jun, Year = 1995, Pages = "32--35" } @InProceedings{Siek:Lumsdaine:98, Author = "Siek, J. G. and Lumsdaine, A.", Title = "The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Linear Algebra", Crossref = "ISCOPE:98" } @InProceedings{Siek:Lumsdaine:98a, Author = "J. G. Siek and A. Lumsdaine", Title = "A Rational Approach to Portable High Performance: The Basic Linear Algebra Instruction Set ({BLAIS}) and the Fixed Algorithm Size Template ({FAST}) Library", BookTitle = "Workshop on Parallel Object Oriented Scientific Computing, ECOOP'98", Year = 1998 } @InProceedings{Stichnoth:Gross:97, Author = "J. Stichnoth and T. Gross", Title = "Code Composition as an Implementation Language for Compilers", Crossref = "DSL:97" } @Article{Taha:Sheard:97, Author = "Taha, W. and Sheard, T.", Title = "Multi-Stage Programming with Explicit Annotations", Journal = "{ACM SIGPLAN} Notices", Volume = 32, Number = 12, Year = 1997, Pages = "203--217" } @Misc{Unruh:94, Author = "Unruh, E.", Title = "Prime Number Computation", Year = 1994, HowPublished = {ANSI X3J16-94-0075/ISO WG21-462} } @Article{Veldhuizen:95, Ordinal = "P677", Author = "Todd Veldhuizen", Title = "Expression Templates", Journal = "{C++} Report", Volume =7, Number = 5, Pages = "26--31", Year= 1995, Month = Jun, Note = "Reprinted in C++ Gems, ed. Stanley Lippman" } @Article{Veldhuizen:95a, Author = "Veldhuizen, T. L.", Title = "Using {C++} Template Metaprograms", Journal = "{C++} Report", Volume = 7, Number = 4, Pages = "36--43", Month = May, Year = 1995, Note = "Reprinted in C++ Gems, ed. Stanley Lippman" } @InProceedings{Veldhuizen:98, Author = "Veldhuizen, T. L.", Title = "Arrays in {Blitz++}", Crossref = "ISCOPE:98", } @Article{Veldhuizen:Ponnambalam:96, Author = "Veldhuizen, T. L. and Ponnambalam, K.", Title = "Linear Algebra with C++ Template Metaprograms", Journal = "Dr. Dobb's Journal of Software Tools", Volume = 21, Number = 8, Month = Aug, Year = 1996, Pages = "38--44" } @Misc{Aspect:Oriented:Home:Page, Title = "Aspect-Oriented Programming Project home page", Key = "Aspect-Oriented Programming Project home page", HowPublished = "http://www.parc.xerox.com/aop/" } @InProceedings{Chiba:95, Ordinal = "P250", Author = "Shigeru Chiba", Title = "A Metaobject Protocol for {{C++}{}}", Crossref = "OOPSLA:95", Pages = "285--299", Mail = {chiba\@parc.xerox.com,chiba\@is.s.u-tokyo.ac.jp}, } @TechReport{Berlin:Surati:94, Author = "A. Berlin and R. Surati", Title = "Partial Evaluation for Scientific Computing: the Super Computer Experience", Institution = "Artificial Intelligence Laboratory, Massachusetts Institute of Technology ({MIT})", Address = "Cambridge, Massachusetts", Month = May, Year = 1994 } @InProceedings{Bilmes:Asanovic:Chin:Demmel:97, Author = "J. Bilmes and K. Asanovic and C. Whye Chin and J. Demmel", Title = "Optimizing Matrix Multiply Using {PHiPAC}: a Portable, High-Performance, {ANSI C} Coding Methodology", BookTitle = "Proceedings of International Conference on Supercomputing", Address = "Vienna, Austria", Month = Jul, Year = 1997 } @Book{Danvy:Gluck:Thiemann:96, Editor = "O. Danvy and R. Gl{\"{u}}ck and P. Thiemann", Title = "Partial Evaluation", Year = 1996, Number = 1110, Publisher = "Springer Verlag", Series = LNCS, Note = "International Seminar, Dagstuhl Castle, Germany, February 12-16, 1996: Selected Papers" } @InProceedings{Engler:Hsieh:Kaashoek:96, Author = "D. R. Engler and W. C. Hsieh and M. F. Kaashoek", Title = "{'C}: A Language for High-Level, Efficient, and Machine-Independent Dynamic Code Generation", Crossref = "POPL:96", Pages = "131--144" } @InCollection{Ershov:78, Author = "A. P. Ershov", Title = "On the Essence of Compilation", BookTitle = "Formal Description of Programming Concepts", Editor = "E. J. Neuhold", Publisher = "North-Holland", Year = 1978, Pages = "391--420" } @TechReport{Frigo:Johnson:97, Author = "M. Frigo and S. G. Johnson", Title = "{FFTW}: The Fastest Fourier Transform in the West", Institution = "MIT LCS", Number = "MIT-LCS-TR-728", Year = 1997 } @InProceedings{Fujinami:97, Author = "N. Fujinami", Title = "Automatic Run-Time Code Generation in C++", Crossref = "ISCOPE:97", } @Misc{Generative:Matrix:Library, Title = "Generative Matrix Computation Library home page", Key = "Generative Matrix Computation Library home page", HowPublished = "http://nero.prakinf.tu-ilmenau.de/czarn/gmcl" } @Misc{Java:Grand:Forum, Title = "Java Grande Forum home page", Key = "Java Grande Forum home page", HowPublished = "http://www.javagrande.org" } @Article{Kleinrubatscher:Kriegshaber:Zochling:95, Author = "P. Kleinrubatscher and A. Kriegshaber and R. Z{\"{o}}chling and R. Gl{\"{u}}ck", Title = "Fortran Program Specialization", Journal = "{SIGPLAN} Notices", Volume = 30, Year = 1995, Pages = "61--70" } @InProceedings{Leone:Lee:94, Author = "M. Leone and P. Lee", Title = "Lightweight Run-Time Code Generation", Crossref = "PEPM:94", Pages = "97--106", } @Article{Musser:Stepanov:94, Author = "D. R. Musser and A. A. Stepanov", Title = "Algorithm-Oriented Generic Libraries", Journal = "Software: Practice and Experience", Volume = 24, Year = 1994, Pages = "632--642" } @Article{Plauger:93, Author = "P. J. Plauger", Title = "Numerical {C} Extensions Group", Journal = "C Users Journal", Volume = 11, Year = 1993 } @InProceedings{Poletto:Engler:Kaashoek:97, Author = "M. Poletto and D. R. Engler and M. F. Kaashoek", Title = "tcc: A system for fast, flexible, and high-level dynamic code generation", Crossref = "PLDI:97", Pages = "109--121" } @InProceedings{Shende:Malony:98, Author = "S. Shende and A. D. Malony and J. Cuny and K. Lindlan and P. Beckman and S. Karmesin", Title = "Portable Profiling and Tracing for Parallel, Scientific Applications Using {C++}", BookTitle = "Proceedings of SPDT'98: ACM SIGMETRICS Symposium on Parallel and Distributed Tools", Month = Aug, Year = 1998, Pages = "134--145" } @InProceedings{Whaley:Dongarra:98, Author = "R. C. Whaley and J. J. Dongarra", Title = "Automatically Tuned Linear Algebra Software", BookTitle = "Supercomputing'98", Year = 1998 } @Misc{Generative:Programming:99, Title = "Generative Programming: Methods, Techniques and Applications", Year = 1999, HowPublished = "Addison-Wesley Longman (to appear)", Key = "Generative" } @InProceedings{Bassetti:Davis:Quinlan:98, Author = "Bassetti, F. and Davis, K. and Quinlan, D.", Title = "Optimizing Transformations of Stencil Operations for Parallel Object-Oriented Scientific Frameworks on Cache-Based Architectures", Crossref = "ISCOPE:98", Pages = "107--118" } @InProceedings{Consel:90, Author = "Consel, C.", Title = "Binding Time Analysis for Higher Order Untyped Functional Languages", BookTitle = "ACM Conference on Lisp and Functional Programming", Month = Jun, Year = 1990, Organization = "ACM", Publisher = "ACM Press", Pages = "264--272" } @InProceedings{Dean:Chambers:Grove:95, Author = "Dean, J. and Chambers, C. and Grove, D.", Title = "Selective Specialization for Object-Oriented Languages", Crossref = "PLDI:95", Pages = "93--102" } @Article{Futamura:Nogi:Takano:91, Author = "Futamura, Y. and Nogi, K. and Takano, A.", Title = "Essence of Generalized Partial Computation", Journal = "Theoretical Computer Science", Volume = 90, Number = 1, Month = Nov, Year = 1991, Pages = "61--79" } @Misc{Java:Grande:99, Author = "Java Grande Forum", Title = "Interim Java Grande Report", HowPublished = "Tech. Rep. JGF-TR-4", Month = Jun, Year = 1999 } @InProceedings{Khoo:Sundaresh:91, Author = "Khoo, S. C. and Sundaresh, R. S.", Title = "Compiling Inheritance Using Partial Evaluation", Pages = "211--222", Crossref = "PEPM:91" } @InProceedings{Kolte:Wolfe:95, Author = "Kolte, P. and Wolfe, M.", Title = "Elimination of Redundant Array Subscript Range Checks", Crossref = "PLDI:95", Pages = "270--278" } @Article{Moreira:Midkiff:2000, Author = "Moreira, J. E. and Midkiff, S. P. and Gupta, M. and Artigas, P. V. and Snir, M. and Lawrence, R. D.", Title = "Java Programming for High-Performance Numerical Computing", Journal = "IBM Systems Journal", Volume = 39, Number = 1, Year = 2000, Pages = "21--56" } @InProceedings{Salomon:96, Author = "Salomon, D. J.", Title = "Using Partial Evaluation in Support of Portability, Reusability, and Maintainability", Crossref = "CC:96", Pages = "208--222", } @InProceedings{Sarkar:Knobe:98, Author = "Sarkar, V. and Knobe, K.", Title = "Enabling Sparse Constant Propagation of Array Elements via Array {SSA} Form", BookTitle = "Static Analysis, 5'th International Symposium, SAS'98", Year = 1998, Number = 1503, Publisher = "Springer Verlag", Series = LNCS, Pages = "33--56" } @Article{Steensgaard:95a, Author = "Steensgaard, B.", Title = "Sparse Functional Stores for Imperative Programs", Note = "ACM SIGPLAN Workshop on Intermediate Representations (IR'95), Jan 1995", Month = Mar, Year = 1995, Volume = 30, Number = 3, Journal = "SIGPLAN Notices", Publisher = "ACM Press", Pages = "62--70" } @InProceedings{Veldhuizen:99, Author = "Veldhuizen, T. L.", Title = "{C++} Templates as Partial Evaluation", Crossref = "PEPM:99", Pages = "13--18" } @InProceedings{Volanschi:Consel:Muller:Cowan:97, Author = "Volanschi, E.-N. and Consel, C. and Muller, G. and Cowan, C.", Title = "Declarative Specialization of Object-Oriented Programs", Crossref = "OOPSLA:97", Pages = "286--300" } @InProceedings{Consel:Danvy:93, Author = "Consel, C. and Danvy, O.", Title = "Tutorial Notes on Partial Evaluation", Crossref = "POPL:93", Pages = "493--501" } @InProceedings{Gallagher:93, Author = "Gallagher, J.", Title = "Tutorial on Specialisation of Logic Programs", Crossref = "PEPM:93", Pages = "88--98", } @InCollection{Mogensen:Sestoft:97, Author = "Mogensen, T. {\AE}. and Sestoft, P.", Title = "Partial evaluation", Editor = "A. Kent and J. G. Williams", BookTitle = "Encyclopedia of Computer Science and Technology", Volume = 37, Pages = "247--279", Publisher = "Marcel Dekker", Year = 1997 } @InProceedings{Amrhein:Gloor:Kuchlin:96, Author = "Amrhein, B. and Gloor, O. and K{\"{u}}chlin, W.", Title = "A Case Study of Multi-Threaded Gr{\"{o}}bner Basis Completion", BookTitle = "Proc. Intl. Symposium on Symbolic and Algebraic Computation (ISSAC '96)", Address = "Z{\"{u}}rich", Month = Jul, Year = 1996, Editor = "Y. N. Lakshman", Publisher = "Association for Computing Machinery" } @InProceedings{Hoss:Kuchlin:Weber:98, Author = "Hoss, J. and K{\"{u}}chlin, W. and Weber, A.", Title = "Wrapping Computer-Algebra-Systems as Software Components---the {CORBA/ILU} Approach", BookTitle = "Proceedings Sixth Rhine Workshop on Computer Algebra", Year = 1998 } @InProceedings{Weber:Kuchlin:Eggers:Simonis:98, Author = "Weber, A. and Küchlin, W. and Eggers, B. and Simonis, V.", Title = "Parallel Computer Algebra Software as a Web Component", BookTitle = "ACM 1998 Workshop on Java for High-Performance Network Computing", Address = "Palo Alto, CA, U.S.A.", Month = Mar, Year = 1998, Editor = "S. Hassanzadeh and K. Schauser", Publisher = "Association for Computing Machinery", Pages = "261--264", Note = "http://www.cs.ucsb.edu/conferences/java98" } @InProceedings{Cohen:Gil:00, Author = "Tal Cohen and Joseph (Yossi) Gil", Title = "Self-calibration of metrics of {Java} methods", Pages = "94--106", CrossRef = "TOOLS:PACIFIC:00", } @InProceedings{Hill:Noble:Potter:00, Author = "Trent Hill and James Noble and John Potter", Title = "Scalable Visualisations with Ownership Types", Pages = "202--213", CrossRef = "TOOLS:PACIFIC:00", } @MastersThesis{Tsoglin:01, Author = "Yuri Tsoglin", Title = "{\textsc{Jamoos}}---an Object Oriented Language for Grammars", School = "The Technion---Israel Institute of Technology", Year = 2001, Type = "Research thesis", Address = "Haifa, Israel", Month = Mar } @InProceedings{Harada:Yamazaki:Potter:01, Author = "Yasunori Harada and Kenichi Yamazaki and Richard Potter", Title = "{CCC}: User Defined Object Structure in {C}", Year = 2001, Pages = "118-129", } @InProceedings{Raynaud:Thierry:01, Author = "Olivier Raynaud and Eric Thierry", Title = "A Quasi Optimal Bit-vector Encoding of Tree Hierarchies. Application to Efficient Type Inclusion Tests", Year = 2001, CrossRef = {ECOOP:01}, Pages = "165--181", abstract = "Type inclusion tests consist in determining whether a type is a subtype of another. An efficient implementation of type inclusion is an important feature of object oriented programming languages. A well-known method to achieve these tests is to associate to each type a subset of a set such that type inclusion coincides with subset inclusion. Such an embedding of types into 2S (the lattice of all subsets of ) is called a bit-vector encoding of the type hierarchy. These encodings are known for several interesting features. Bit-vector encodings are perfectly appropriate for hierarchies with single subtyping as well as hierarchies with multiple subtyping. Subset inclusion tests can be performed very efficiently. Several works have studied bit-vector encodings from a theoretical point of view ([6, 7, 10, 14, 16, 18, 19]) and from a practical point of view ([3, 8, 9, 17]), in particular in order to minimize the size of the encoding, i.e. the size of . In this article, we present a new algorithm which computes bit-vector encodings for single subtyping hierarchies, also called tree hierarchies. Our algorithm is simple, it computes the bit-vector encoding very quickly and gives good results for the size of the encoding. In particular, we have significantly improved the best bounds known for the encoding sizes of some benchmarks presented in [9].", } @InProceedings{Filman:02, Author = "Robert E. Filman", Title = "Polychotomic Encoding: A Better Quasi-Optimal Bit-Vector Encoding of Tree Hierarchies", Year = 2002, CrossRef = {ECOOP:02}, Pages = "545--561", abstract = "Polychotomic Encoding is an algorithm for producing bit vector encodings of trees. Polychotomic Encoding is an extension of the Dichotomic Encoding algorithm of Raynaud and Thierry. Polychotomic and Dichotomic Encodings are both examples of hierarchical encoding algorithms, where each node in the tree is given a gene - a subset of {1, ... , n}. The encoding of each node is then the union of that node's gene with the genes of its ancestors. Reachability in the tree can then be determined by subset testing on the encodings. Dichotomic Encoding restructures the given tree into a binary tree, and then assigns two bit, incompatible (chotomic) genes to each of the two children of a node. Polychotomic Encoding substitutes a multibit encoding for the children of a node when the restructuring operation of Dichotomic Encoding would produce a new heaviest child (child requiring the most bits to represent a tree of its children) for that node. The paper includes a proof that Polychotomic Encoding never produces an encoding using more bits than Dichotomic Encoding. Experimentally, Polychotomic Encoding produces a space savings of up to 15\% on examples of naturally occurring hierarchies, and 25\% on trees in the randomly generated test set.", } @InProceedings{Pollet:Charlier:Cortesi:01, Author = "Isabelle Pollet and Baudouin Le Charlier and Agostino Cortesi", Title = "Distinctness and Sharing Domains for Static Analysis of Java Programs", Year = 2001, CrossRef = {ECOOP:01}, Pages = "77--98", } @InProceedings{Rinat:00, Ordinal = "P689", Author = "Ran Rinat", Title = "Type-Safe Covariant Specialization with Generalized Matching", BookTitle = "The 7\textsuperscript{\it th} International Workshop on Foundations of Object-Oriented Languages, FOOL 7", url = "citeseer.nj.nec.com/355773.html", Year = 2000, Month = Jan } @InProceedings{Noble:Holmes:Potter:00, Author = "James Noble and David Holmes and John Potter", Title = "Exclusion for Composite Objects", Crossref = "OOPSLA:00", Pages = "13--28" } %%%ZZZZZZZZZZZZZZ @InProceedings{Calder:Krintz:Holzle:99, Title = "Reducing transfer delay using {Java} class file splitting and prefetching", Pages = "276-291", Author = "Brad Calder and Chandra Krintz and Urs {H\"olzle}", CrossRef = "OOPSLA:99", } @InProceedings{Eckel:Gil:00, Author = "Natalie Eckel and Joseph (Yossi) Gil", Title = "Empirical Study of Object-Layout Strategies and Optimization Techniques", CrossRef = "ECOOP:00", Pages = "394--421", } @InProceedings{Zaks:Feldman:Aizikowitz:00, Ordinal = "P701", AUTHOR = "Ayal Zaks and Vitaly Feldman and Nava Aizikowitz", TITLE = "Sealed Calls in {J}ava Packages", CrossRef = "OOPSLA:00", Pages = "83--92" } @InProceedings{Vitek:Bokowski:99, Author = "Jan Vitek and Boris Bokowski", Title = "Confined Types", CrossRef = "OOPSLA:99", Pages = "82--96", Abstract = "Sharing and transfer of object references is difficult to control in object-oriented languages. Unconstrained sharing poses serious problems for writing secure components in object-oriented languages. In this paper, we present a set of inexpensive syntactic constraints that strengthen encapsulation in object oriented programs and facilitate the implementation of secure systems. We introduce two mechanisms: confined types to impose static scoping on dynamic object references and anonymous methods which do not reveal the identity of the current instance (this). Confined types protect objects from use by untrusted code, while anonymous methods allow standard classes to be reused from confined classes. We have implemented a verifier which performs a modular analysis of Java programs and provides a static guarantee that confinement is respected. We present security related programming examples.", } @Article{Denning:75, author = "D. Denning", title = "A Lattice Model of Secure Information Flow", Journal = CACM, pages = "236--243", year = 1976 } @InProceedings{Gil:Itai:98, AUTHOR = "Joseph Gil and Alon Itai", TITLE = "The Complexity of Type Analysis of {O}bject {O}riented Programs", CrossREf = "ECOOP:98", Pages = "601--634" } @ARTICLE{state-based-testing, AUTHOR = "R. V. Binder", TITLE = "State-Based Testing", JOURNAL = "Object Magazine", VOLUME = 5, Number = 4, PAGES = "75-78", MONTH = "July-August", YEAR = 1995 } @InProceedings{Bogda:Holzle:00, AUTHOR = "J. Bogda and U. {H\"olzle}", TITLE = "Removing Unnecessary Synchronization in {J}ava", CrossRef = "OOPSLA:00", } @InProceedings{Blanchet:99, AUTHOR = "B. Blanchet", TITLE = "Escape Analysis for {O}bject {O}riented Languages. {A}pplication to {J}ava", CrossRef = "OOPSLA:99", Pages = "20--34" } @MISC{pugh, AUTHOR = "A. Bhowmik and W. Pugh", TITLE = "A Secure Implementation of {Java} Inner Classes", HOWPUBLISHED = "http://\-www.cs.umd.edu/\-$\sim$pugh/\-java/\-\#sic" } @MISC{cfparse, AUTHOR = "CFParse", HOWPUBLISHED = "http://\-www.alpha\-works.\-ibm.\-com/\-tech/\-cfparse" } @InProceedings{Choi:Gupta:Serrano:Sreedhar:Midkiff:99, AUTHOR = "J. D. Choi and M. Gupta and M. Serrano and V. C. Sreedhar and S. Midkiff", TITLE = "Escape Analysis for {Java}", CrossRef = "OOPSLA:99", Pages = "1--19", } @InProceedings{Clarke:Potter:Noble:98, AUTHOR = "D. G. Clarke and J. M. Potter and J. Noble", TITLE = "Ownership Types for Flexible Alias Protection", PAGES = "48-64", CrossRef = "OOPSLA:98", Abstract = "OO programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the aggregate being aware of any aliasing. Ownership types form a static type system that indicates object ownership. This provides a flexible mechanism to limit the visibility of object references and restrict access paths to objects, thus controlling a system s dynamic topology.", } @InProceedings{Skalka:Smith:00, Author = "Christria Skalka and Scott Smith", Title = "Static Enforcement of Security with Types", BookTitle = "Proc. of the Int. Conf. on Functional Programming", Month = Sep#{ 18-20}, Year = 2000, Address = "Montreal, Canada", Editor = "Philip Wadler", } @InProceedings{Bryce:Razafimahefa:00, Author = "Ciaran Bryce and Chrislain Razafimahefa", title = "An Approach to Safe Object Sharing", CrossRef = "OOPSLA:00", Pages = "367--381", } @InProceedings{Grogono:Sakkinen:00, Ordinal = "P690", author = "Peter Grogono and Markku Sakkinen", title = "Copying and Comparing: Problems and Solutions", CrossRef = "ECOOP:00", Pages = "226--250" } @InProceedings{Hakonen:Leppanen:Raita:Salakoski:Teuhola:99, Author = "H. Hakonen and V. Leppanen and T. Raita and T. Salakoski and J. Teuhola", Title = "Improving Object Integrity and Preventing Side Effects via Deeply Immutable References", BookTitle = "Proceedings of 6\textsuperscript{\textit{th}} Fenno-Ugric Symposium on Software Technology, (FUSST'99)", Pages = "139--150", Year = 1999, Month = Aug#{ 19-21}, Address = {Sagadi, Estonia}, } @InProceedings{Hagimont:Mossiere:Pina:Saunier:96, Author = "D. Hagimont and J. Mossiere and X. de Pina and F. Saunier", Title = "Hidden software capabilities", BookTitle = "Proceedings of the 16th IEEE International Conference on Distributed Computing Systems", Pages = "282--289", Year = 1996, Month = May#{ 27-30}, Address = {Hong Kong}, } @Article{Hogg:Lea:Wills:deChampeaux:Holt:92, author = "J. Hogg and D. Lea and A. Wills and D. deChampeaux and R. Holt", title = "The Geneva convention on the treatment of object aliasing", Journal = "OOPS Messenger", Volume = 3, Number = 2, Pages = "11--16", Month = Apr, Year = 1992, Note = "Follow-up report on ECOOP'91 workshop W3: Object-oriented formal methods.", } @TechReport{esc, AUTHOR = "D. Detlefs and K. Rustan and M. Leino and G. Nelson and J.B. Saxe", TITLE = "Extended Static Checking", INSTITUTION = "Compaq Systems Research Center", MONTH = Dec, YEAR = 1998, NUMBER = 159, ADDRESS = "Palo Alto, CA", } @InProceedings{doligez-gonthier:94, AUTHOR = "D. Doligez and G. Gonthier", TITLE = "Portable, Unobtrusive Garbage Collection for Multiprocessor Systems", BOOKTITLE = "ACM SIGPLAN Notices - Conference Record of the Twenty-first Annual ACM Symposium on Principles of Programming Languages", PAGES = "113-123", YEAR = 1994, } @InProceedings{doligez-leroy, AUTHOR = "D. Doligez and X. Leroy", TITLE = "A Concurrent Generational Garbage Collector for a Multi-Threaded Implementation of {M}{L}", BOOKTITLE = "ACM SIGPLAN Notices - Conference Record of the Twentieth Annual ACM Symposium on Principles of Programming Languages", PAGES = "113-123", MONTH = Jan, YEAR = 1993 } @InProceedings{pointer-analysis-to-work, AUTHOR = "R. Ghiya and L. Hendren", TITLE = "Putting Pointer Analysis to Work", BOOKTITLE = "Proceedings of the 1994 SIGPLAN Conference On Programming Language Design and Implementation", ADDRESS = "Orlando, Florida", MONTH = Jun, YEAR = 1994, } @InProceedings{analysis-with-function-pointers, AUTHOR = "M. Emami and R. Ghiya and L. Hendren", TITLE = "Context-Sensitive Interprocedural Point-to Analysis in the Presence of Function Pointers", BOOKTITLE = "Proceedings of the Twenty-Fifth Annual ACM Symposium on Principles of Programming Languages", ADDRESS = "San Diego, California", MONTH = Jan, YEAR = 1998, PAGES = "121-133" } @InProceedings{sandwich-types, AUTHOR = "D. Genius and M. Trapp and W. Zimmermann", TITLE = "An Approach to Improve Locality Using Sandwich Types", BOOKTITLE = "Proceedings of the Second Types in Compilation Workshop", Series = LNCS, Number = 1473, Publisher = SV, ADDRESS = "Kyoto, Japan", MONTH = Mar, YEAR = 1998 } @ARTICLE{hind-burke-carini-choi, AUTHOR = "M. Hind and M. Burke and P. Carini and J.D. Choi", TITLE = "Interprocedural Pointer Alias Analysis", JOURNAL = TOPLAS, YEAR = 1999, VOLUME = 21, Number = 4, } @ARTICLE{variable-typed-logic, AUTHOR = "F. Honsell and I. A. Mason and S. F. Smith and C. L. Talcott", TITLE = "A Variable Typed Logic of Effects", JOURNAL = "Information and Computation", YEAR = 1995, MONTH = May, Volume = 119, Number = 1, PAGES = "55-90" } @InProceedings{jensen-metayer-thorn, AUTHOR = "T. Jensen and D. Le M\'{e}tayer and T. Thorn", TITLE = "Verification of control flow based security policies", BOOKTITLE = "Proceedings of the 20th IEEE Security and Privacy Symposium", ADDRESS = "Oakland, California", YEAR = 1999, } @InProceedings{future-of-sw-analysis, Author = "D. Jackson and M. Rinard", Editor = "Anthony Finkelstein", BookTitle = "International Conference on Software Engineering: The Future of Software Engineering", Title = "Software Analysis: a Roadmap", Publisher = "ACM Press", Year = 2000, Month = Jun, Address = "Limerick Ireland" } @TechReport{ace, AUTHOR = "G. Kniesel", TITLE = "Encapsulation = Visibility + Accessibility", INSTITUTION = "CS Dept., University of Bonn", ADDRESS = "Germany", YEAR = 1996, NUMBER = "TR-96-12", } @InProceedings{Kniesel:Theisen:99, AUTHOR = "G. Kniesel and D. Theisen", TITLE = "{JAC} - {Java} with Transitive Readonly Access Control", BOOKTITLE = "Proceedings of the Intercontinental Workshop on Aliasing in Object-Oriented Systems", ADDRESS = "Lisbon, Portugal", MONTH = Jun#{ 14-18}, YEAR = 1999, Note = "Also available as \texttt{http://\-cui.unige.ch/\-~ecoopws/\-iwaoos/\-papers/\-index.html}" } @BOOK{large-scale-design, AUTHOR = "J. Lako\v{s}", TITLE = "Large-Scale {C++} Software design", PUBLISHER = AW, YEAR = 1996, } @BOOK{Lindholm:Yellin:99, AUTHOR = "T. Lindholm and F. Yellin", TITLE = "The {Java} Virtual Machine Specification", PUBLISHER = AW, YEAR = 1999, EDITION = Second } @ARTICLE{Mason:Talcott:92, AUTHOR = "I. A. Mason and C. L. Talcott", TITLE = "Inferring the Equivalence of Functional Programs that Mutate Data", JOURNAL = "Theoretical Computer Science", YEAR = 1992, VOLUME = 105, Number = 2, PAGES = "167-215" } @BOOK{ml-spec, AUTHOR = "R. Milner and M. Tofte and R. Harper and D. MacQueen", TITLE = "The Definition of {S}tandard {ML} (Revised)", PUBLISHER = " MIT Press", YEAR = 1997 } @BOOK{ejb-spec, AUTHOR = "R. Monson-Haefel", TITLE = "Enterprise {Java} {Beans}", PUBLISHER = "O'Reilly", YEAR = 1999, NOTE = "Also in http://\-java.sun.com/\-ejb" } @BOOK{java-beans, AUTHOR = "R. Englander", TITLE = "Developing Java Beans", PUBLISHER = "O'Reilly", YEAR = 1997 } @ARTICLE{sather, AUTHOR = "S.M. Omohundro", TITLE = "The {Sather} Programming Language", JOURNAL = "Dr. Dobb's Journal", YEAR = 1993, VOLUME = 18, Number = 11, MONTH = Oct, } @ARTICLE{testing-criteria-compared, AUTHOR = "A.S. Parrish and S.H. Zweben", TITLE = "On the Relationships Among the All-Uses, All-DU-Paths, and All-Edges Testing Criteria", JOURNAL = "IEEE Transactions on Software Engineering", YEAR = 1995, VOLUME = 21, Number = 12, MONTH = Dec, } @InProceedings{Porat:Mendelson:Shapira:98, AUTHOR = "S. Porat and B. Mendelson and I. Shapira", TITLE = "Sharpening Global Static Analysis to Cope with {Java}", BOOKTITLE = "Proceedings of CASCON'98", ADDRESS = "Toronto, Canada", MONTH = Nov, YEAR = 1998, } @InProceedings{Rustan:Leino:98, AUTHOR = "K. Rustan and M. Leino", TITLE = "Data groups: Specifying the Modification of Extended State", CrossRef = "OOPSLA:98", } @ARTICLE{Seshadri:97, AUTHOR = "V. Seshadri", TITLE = "{IBM} High Performance Compiler for Java", JOURNAL = "AIXpert Magazine", YEAR = 1997, MONTH = Sep, } @MISC{sip, AUTHOR = "{Secure Internet Programming Group at Princeton University}", HOWPUBLISHED = "http://\-www.\-cs.\-princeton.\-edu/\-sip/\-news/\-april29.html" } @MISC{toad, AUTHOR = "Toad", HOWPUBLISHED = "http://\-www.alphaworks.ibm.com/\-tech/\-toad" } @InProceedings{Whaley:Rinard:99, AUTHOR = "J. Whaley and M. Rinard", TITLE = "Compositional Pointer and Escape Analysis for {Java} Programs", CrossRef = "OOPSLA:99", Pages = "187--206" } @InProceedings{Aridor:Factor:Teperman:99, AUTHOR = "Y. Aridor and M. Factor and A. Teperman", TITLE = "{cJVM}: A Single-System Image of a {JVM} on a Cluster", BOOKTITLE = "Proceedings of the IEEE 28th International Conference on Parallel Processing", ADDRESS = "Aizu-Wakamatsu, Fukushima, Japan", MONTH = Sep, YEAR = 1999, PAGES = "4-12" } @Article{Dillenberger:Bordawekar:Clark:Durand:Emmes:Gohda:Howard:Oliver:Samuel:John:00, AUTHOR = "D. Dillenberger and R. Bordawekar and C. W. Clark and D. Durand and D. Emmes and O. Gohda and S. Howard and M. F. Oliver and F. Samuel and R. W. S. John", TITLE = "Building a {Java Virtual Machine} for Server Applications: The {JVM} on {OS/390}", JOURNAL = "IBM Systems Journal", YEAR = 2000, VOLUME = 39, Number = 1, PAGES = "194-210", NOTE = "Reprint Order No. G321-5723. \footnote{Also available as \texttt{http://www.research.ibm.com/journal/sj/391/dillenberger.html}}", } @InProceedings{Porat:Biberstein:Koved:Mendelson:00, AUTHOR = "Sara Porat and Marina Biberstein and Larry Koved and Bilha Mendelson", TITLE = "Mutability Analysis in {Java}", BOOKTITLE = "Proceedings of CASCON`", ADDRESS = "Toronto, Canada", MONTH = Nov, YEAR = 2000, Note = "Also available at \texttt{http://\-cas.ibm.com/\-archives/\-2000/\-papers/\-index.shtml}" } @InProceedings{Ghemawat:Randall:Scales:00, author = "Sanjay Ghemawat and Keith H. Randall and Daniel J. Scales", title = "Field Analysis: Getting Useful and Low-Cost Interprocedural Information", CrossRef = "PLDI:00", Pages = "334--344" } @INPROCEEDINGS{Tip:Palsberg:00, AUTHOR = "Frank Tip and Jens Palsberg", TITLE = "Scalable Propagation-Based Call Graph Construction Algorithms", CrossRef = "OOPSLA:00", Pages = "281--293" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @Unpublished{Mohnen:???, Ordinal = "P687", Author = "Markus Mohnen", Title = "Interfaces with Skeletal Implementations in {Java}", Note = "Manuscript" } @Unpublished{Alexander:Offutt:???, Ordinal = "P688", Author = "Roger T. Alexander and A. Jefferson Offutt", Title = "Criteria for Testing Polymorphic Relationships", Note = "Manuscript" } @InProceedings{Ancona:Lagorio:Zucca:00, Ordinal = "P691", Author = "Davide Ancona and Giovanni Lagorio and Elena Zucca", Title = "{Jam}---A Smooth Extension of Java with Mixins", CrossRef = "ECOOP:00", Pages = "454--468" } @Unpublished{Fontoura:Pree:Rumpe:???, Ordinal = "P692", Author = "Marcus Fontoura and Wolfgang Pree and Bernhard Rumpe", Title = "UML-FW: A Modeling Language for Object-Oriented Frameworks", Note = "Manuscript" } @Unpublished{Igarashi:Pierce:99, Ordinal = "P693", Author = "Atsushi Igarashi and Benjamin C. Pierce", Title = "On Inner Classes", Month = Nov, Year = 1999, Note = "Manuscript" } @Unpublished{Buchi:Weck:???, Ordinal = "P694", Author = "Martin B{\"u}chi and Wolfgang Weck", Title = "Generic Wrappers", Note = "Manuscript" } @Unpublished{Bergenti:Poggi:???, Ordinal = "P695", Author = "Frederico Bergenti and Agostino Poggi", Title = "Promoting Reuse in Aspect-Oriented Languages by Means of Aspect Views", Note = "Manuscript" } @Unpublished{Gil:Itai:99, Ordinal = "P696", Author = "Joseph Gil and Alon Itai", Title = "A Computer Science Theoretical Approach to Software Metrics", Month = Dec, Year = 1999, Note = "Manuscript" } @Unpublished{Avotins:???, Ordinal = "P697", Author = "Jon Avotins", Title = "Towards an Object-Oriented Metric Modelling Process", Note = "Manuscript" } @Unpublished{Meyer:99, Ordinal = "P698", Author = "Bertrand Meyer", Title = "The Role of Object-Oriented Metrics", Note = "A shorter variant of this article appeared in Computer (IEEE), as part of the Component and Object Technology department, in the Nov, 1998 issue" } @Unpublished{Naeem:Harisson:???, Ordinal = "P699", Author = "Majid Naeem and C.J.Harisson", Title = "Inheritance and Subtyping", Note = "Manuscript" } @Unpublished{Berger:Pinna-Dery:Blay-Fornarino:???, Ordinal = "P700", Author = "L.Berger and A.-M.Pinna-Dery and M.Blay-Fornarino", Title = "Junction Point Aspect: A Solution to Simplify Implementation of Aspect Languages and Dynamic Management of Aspect Programs", Note = "Manuscript" } @Unpublished{Simons:Holcombe:Bogdanov:???, Ordinal = "P702", Author = "Anthony J.H. Simons and Michael Holcombe and Kirill Bogdanov", Title = "Divide-and-Conquer Testing using Hierarchical Object Statecharts", Note = "Manuscript" } @Unpublished{Fisher:Reppy:99, Ordinal = "P703", Author = "Kathleen Fisher and John Reppy", Title = "Extending Moby with inheritance-based subtyping", Month = Dec, Year = 1999, Note = "Manuscript" } @Unpublished{Moro:Natali:Viroli:???, Ordinal = "P704", Author = "Gianluca Moro and Antonio Natali and Mirko Viroli", Title = "A design Pattern for Consistent Observation of Active Systems", Note = "Manuscript" } @Unpublished{Glarke:Noble:Potter:99, Ordinal = "P705", Author = "David G. Glarke and James Noble and John M. Potter", Title = "Who's Afraid of Ownership Types?", Month = Nov, Year = 1999, Note = "Manuscript" } @Unpublished{Colnet:Zendra:???, Ordinal = "P706", Author = "Dominique Colnet and Olivier Zendra", Title = "Targeting the Java Virtual Machine with Genericity, Multiple Inheritance, Assertions and Expanded Types", Note = "Manuscript" } @Unpublished{Lee:Chang:Hasan:???, Ordinal = "P707", Author = "Woo Hyong Lee and J.Morris Chang and Yusuf Hasan", Title = "An Efficient Object Reuse Policy for Dynamically Allocated Objects in C++ Programs", Note = "Manuscript" } @Unpublished{Leitner:98, Ordinal = "P708", Author = "Johannes Leitner", Title = "From Object-Oriented Programming to Graph-Oriented Programming", Month = Nov, Year = 1998, Note = "Manuscript" } @Unpublished{Osterbye:???, Ordinal = "P709", Author = "Kasper {\O}sterbye", Title = "Objects without pointers", Note = "Manuscript" } @Unpublished{Leair:Pande:98, Ordinal = "P710", Author = "Mark Leair and Santosh Pande", Title = "Type Invariant Region Analysis for Object-Oriented Programming Languages", Month = Nov, Year = 1998, Note = "Manuscript" } @Unpublished{Asmann:Heberle:Lowe:Ludwig:Neumann:???, Ordinal = "P711", Author = "Uwe A{\ss}mann and Andreas Heberle, Welf L{\"o}we and Andreas Ludwig and Rainer Neumann", Title = "Language Concepts and Design Patterns", Note = "Manuscript" } @Unpublished{Bertino:Guerrini:Merlo:Mesiti:???, Ordinal = "P712", Author = "Elisa Bertino and Giovanna Guerrini and Isabells Merlo and Marco Mesiti", Title = "An Approach to Classify Semi-Structured Objects", Note = "Manuscript" } @Unpublished{Ernst:???, Ordinal = "P713", Author = "Erik Ernst", Title = "Propagating Mixins", Note = "Manuscript" } @Unpublished{Ovlinger:Wand:???, Ordinal = "P714", Author = "Johan Ovlinger and Mitchell Wand", Title = "A Language for Specifying Traversals of Object Structures", Note = "Manuscript" } @Unpublished{Ichisugi:???, Ordinal = "P715", Author = "Yuuji Ichisugi", Title = "Extensible Type System Framework for a Java Pre-Processor: EPP", Note = "Manuscript" } @InProceedings{Detlefs:Agesen:99, Ordinal = "P716", Author = "David Detlefs and Ole Agesen", Title = "Inlining of Virtual Methods", CrossRef = "ECOOP:99", Pages = "258--278" } @Unpublished{Pang:Holst:Leontiev:Szafron:???, Ordinal = "P717", Author = "Candy Pang and Wade Holst and Yuri Leontiev and Duane Szafron", Title = "Multi-Method Dispatch Using Multiple Row Displacement", Note = "Manuscript" } @Unpublished{Forax:Roussel:98, Ordinal = "P718", Author = "Remi Forax and Gilles Roussel", Title = "Recursive Types and Pattern-Matching in Java", Month = Nov, Year = 1998, Note = "Manuscript" } @Article{Koenig:98, Ordinal = "P719", Author = "Andrew Koenig", Title = "Simulating Dynamic Types in C++, Part 2", Journal = JOOP, Month = Jul # "/" # Aug, Year = 1998, Pages = "63--67", } @Article{Katzenelson:Pinter:Schenfeld:92, Ordinal = "P720", Author = "Jacob Katzenelson and Shlomit S. Pinter and Eugen Schenfeld", Title = "Type Matching, Type-Graphs, and the Schanuel Conjecture", Journal = "ACM transactions on Programming Languages and Systems", Volume = 14, Number = 4, Month = Oct, Year = 1992, Pages = "574--588", } @TechReport{Barton:99, Ordinal = "P721", Author = "Charles M. Barton", Title = "M-types and Their Coercions", Institution = "IBM Research Division, T.J.Watson Research Center", Address = "Yorktown Heights, NY", Month = Dec, Year = 1999, Type = "IBM Research Report" } @TechReport{Snelting:Tip:97, Ordinal = "P722", Author = "Gregor Snelting and Frank Tip", Title = "Reengineering Class Hierarchies Using Concept Analysis", Institution = "IBM Research Division, T.J.Watson Research Center", Address = "Yorktown Heights, NY", Month = Apr, Year = 1997, Type = "IBM Research Report" } @Article{Koenig:98a, Ordinal = "P723", Author = "David Welch and Scott Strong", Title = "An Exception-Based Assertion Mechanism for C++", Journal = JOOP, Month = Jul # "/" # Aug, Year = 1998, Pages = "50--60", } @Unpublished{Schultz:Lawall:Consel:Muller:98, Ordinal = "P724", Author = "Ulrik Pagh Schultz and Julia L. Lawall and Charles Consel and Gilles Muller", Title = "Towards Automatic Specialization of Java Programs", Month = Dec, Year = 1998, Note = "Manuscript" } @Unpublished{Millstein:Chambers:???, Ordinal = "P725", Author = "Todd Millstein and Craig Chambers", Title = "Modular Statically Typed Multimethods", Note = "Manuscript" } @Unpublished{Chambers:Chen:???, Ordinal = "P727", Author = "Craig Chambers and Weimin Chen", Title = "Efficient Predicate Dispatching", Note = "Manuscript" } @Unpublished{Tip:Sweeney:???, Ordinal = "P729", Author = "Frank Tip and Peter F. Sweeney", Title = "Class Hierarchy Specialization", Note = "IBM T.J. Watson Research Center" } @Unpublished{Willink:Muchnick:99, Ordinal = "P730", Author = "Edward D. Willink and Vyacheslav B. Muchnick", Title = "An Object-Oriented Preprocessor fit for C++", Year = 1999, Note = "Submitted to TOOLS Europe 99" } @Unpublished{Baumer:Riehle:Siberski:Liliental:Megert:Sylla:Zullighoven:98, Ordinal = "P731", Author = "Dirk B{\"a}umer and Dirk Riehle and Wolf Siberski and Carola Liliental and Daniel Megert and Karl-Heinz Sylla and Heinz Z{\"u}llighoven", Title = "Values in Large Object Systems", Month = Nov, Year = 1998, Note = "Manuscript" } @Unpublished{Ernst:98, Ordinal = "P732", Author = "Erik Ernst", Title = "Static Typing and Linearization", Note = "Submitted to OOPSLA 98", Year = 1998 } @Unpublished{Bruce:Petersen:Vanderwaart:98, Ordinal = "P733", Author = "Kim B. Bruce and Leaf Petersen and Joseph Vanderwaart", Title = "Modules in LOOM: Classes are not enough", Month = Apr, Year = 1998, Note = "Manuscript" } @Unpublished{Mezini:Lieberherr:98, Ordinal = "P734", Author = "Mira Mezini and Karl Lieberherr", Title = "Adaptive Plug-and-Play Components for Evolutionary Software Development", Month = Apr, Year = 1998, Note = "Manuscript" } @Unpublished{Lamsweerde:Darimont:Letier:???, Ordinal = "P735", Author = "Axel van Lamsweerde and Robert Darimont and Emmanuel Letier", Title = "Managing Conflicts in Goal-Driven Reguirements Engineering", Note = "Manuscript" } @Article{Katz:93, Ordinal = "P736", Author = "Shmuel Katz", Title = "A Superimposition Control Construct for Distributed Systems", Journal = "ACM transactions on Programming Languages and Systems", Volume = 15, Number = 2, Month = Apr, Year = 1993, Pages = "337--356", } @Article{Back:Sere:96, Ordinal = "P737", Author = "R. J. R. Back and K. Sere", Title = "Superposition Refinement of Reactive Systems", Journal = "Formal Aspects of Computing", Year = 1996, Volume = 8, Pages = "324--346", } @Unpublished{Kent:???, Ordinal = "P738", Author = "Stuart Kent", Title = "Mixing Visual and Textual Constraint Languages", Note = "Manuscript" } @InProceedings{Massonet:Lamsweerde:97, Ordinal = "P739", Author = "Philippe Massonet and Axel van Lamsweerde", Title = "Analogical Reuse of Requirements Frameworks", BookTitle = "Proceedings RE'97---3rd IEEE Internat. Symposium on Requirements Engineering", Month = Jan, Year = 1997, Pages = "26--37", } @Unpublished{Lamsweerde:Willemet:???, Ordinal = "P740", Author = "Axel van Lamsweerde and Laurent Willemet", Title = "Infering Declarative Requirements Specifications from Operational Scenarios", Note = "Manuscript" } @InProceedings{Darimont:Lamsweerde:96, Ordinal = "P741", Author = "Robert Darimont and Axel Lamsweerde", Title = "Formal Refinement Patterns for Goal-Driven Requirements Elaboration", BookTitle = "Proceedings 4th ACM Symposium on the Foundations of Software Engineering (FSE4)", Address = "San-Francisco", Month = Oct, Year = 1996, Pages = "179--190", } @InProceedings{Lamsweerde:Darimont:Massonet:95, Ordinal = "P742", Author = "Axel Lamsweerde and Robert Darimont and Philippe Massonet", Title = "Goal-Directed Elaboration of Requirements for a Meeting Scheduler: Problems and Lessons Learnt", BookTitle = "Proceedings RE'95 - 2nd IEEE Internat. Symposium on Requirements Engineering", Address = "York", Month = Mar, Year = 1995, Pages = "194--203", } @Article{Dardenne:Lamsweerde:Fickas:93, Ordinal = "P743", Author = "Anne Dardenne and Axel Lamsweerde and Stephen Fickas", Title = "Goal-directed Requirements Acquisition", Journal = "Science of Computer Programming", Volume = 20, Year = 1993, Pages = "3--50", } @PhdThesis{DeVolder:98, Ordinal = "P744", Author = "Kris De Volder", Title = "Type-Oriented Logic Meta Programming", School = "Vrije Universiteit Brussel, Programming Technology Laboratory, Faculteit Wetenschappen - Department Informatica", Year = 1998, Note = "Adv: Prof. Dr. Theo D'Hondt" } @Unpublished{Kent:Maung:???, Ordinal = "P745", Author = "Stuart Kent and Ian Maung", Title = "Encapsulation and Aggregation", Note = "Manuscript" } @Article{Kepple:92, Ordinal = "P746", Author = "Lawrence R. Kepple", Title = "A New Paradigm for Cross-platform Automated GUI Testing", Journal = "The X Resource", Volume = 3, Month = "Summer", Year = 1992, Pages = "155--176", } @InProceedings{Nackman:Barton:94, Ordinal = "P747", Author = "Lee R. Nackman and John J. Barton", Title = "Base-Class Composition with Multiple Derivation and Virtual Bases", Organization = "Usenix Association", BookTitle = "C++ conference proceedings", Address = "Camridge, MA", Month = Apr, Year = 1994, Pages = "57--71", } @InProceedings{Martin:91, Ordinal = "P749", Author = "Bruce Martin", Title = "The Separation of Interface and Implementation in C++", Organization = "Usenix Association", BookTitle = "C++ conference proceedings", Address = "Washington, D.C.", Month = Apr, Year = 1991, Pages = "51--62" } @Article{Firesmith:Henderson-Sellers:98, Ordinal = "P750", Author = "Donald G. Firesmith and Brian Henderson-Sellers", Title = "Clarifying Specialized Forms of Association in {UML} and {OML}", Journal = JOOP, Month = May, Year = 1998, Pages = "47--54", Note = "ROAD (Report on Object Analysis \& Design)" } @Article{Firesmith:Henderson-Sellers:98a, Ordinal = "P751", Author = "Donald G. Firesmith and Brian Henderson-Sellers", Title = "Upgrading {OML} to Version 1.1: Part 2. Additional Concepts and Notation", Journal = JOOP, Month = Sep, Year = 1998, Pages = "61--67", Note = "ROAD (Report on Object Analysis \& Design)" } @Article{Koenig:Moo:98, Ordinal = "P752", Author = "Andrew Koenig and Barbara E. Moo", Title = "Teaching Standard C++", Journal = JOOP, Month = Nov # "/" # Dec, Year = 1998, Pages = "11--17", } @Article{Meyer:98, Ordinal = "P753", Author = "Bertrand Meyer", Title = "Free {EiffelBase}: {E}iffel Libraries Go Open Source", Journal = JOOP, Month = Nov # "/" # Dec, Year = 1998, Pages = "8--17", Note = "Eiffel" } @Article{Friedrich:96, Ordinal = "P754", Author = "J{\"u}rgen Friedrich", Title = "Design Science 97", Journal = "AI \& Society", Year = 1996, Volume = 10, Pages = "199--217", Publisher = "Springer Verlag" } @Unpublished{Westfechtel:96, Ordinal = "P755", Author = "Bernhard Westfechtel", Title = "Integrated Product and Process Management for Engineering Design Applications", Note = "To appear: Integrated Computer-Aided Engineering, Special Issue on Product and Process Management, John Wiley \& Sons (Jan 1996)", } @Unpublished{Eden:???, Ordinal = "P757", Author = "Amnon H. Eden", Title = {Giving "The Quality" A Name. Precise Specification of Design Patterns: A Second Look at the Manuscripts}, Note = "Submitted: Journal of Object Oriented Programming", } @Unpublished{Singh:???, Ordinal = "P758", Author = "Madhu S. Singh", Title = "Software Quality Management (ISO 9000)", Note = "Bellcore" } @TechReport{Coutaz:Bass:98, Ordinal = "P759", Author = "Jo{\"e}lle Coutaz and Len Bass", Title = "Ergonomics and Software Principles for the Construction of Interactive Software", Month = Sep, Year = 1998, Number = "RR 732-I-", Institution = "Laboratoire de G{\'e}nie Informatique, Centre National de la Recherche Scientifique, Institut National Polytechnique de Grenoble, Universite Scientifique et Medicale de Grenoble", Note = "Research Report" } @InProceedings{Eversheim:Weck:Michaeli:Nagl:Spaniol:92, Ordinal = "P761", Author = "Walter Eversheim and Manfred Weck and W. Michaeli and Manfred Nagl and Otto Spaniol", Title = "The {SUKITS} Project: An Approach to a posteriori Integration of {CIM} Components", BookTitle = "{GI} Jahrestagung", Year = 1992, Pages = "494--503" } @InProceedings{Schurr:Winter:Zundorf:95, Ordinal = "P762", Author = "Andy Sch{\"u}rr and Andreas J. Winter and Albert Z{\"u}ndorf", Title = "Graph Grammar Engineering with {PROGRES}", Series = LNCS, Number = 989, Pages = "219--234", BookTitle = "5$^{th}$ European Software Engineering Conference (ESEC'95)", Month = Sep, Year = 1995, Editor = "Wilhelm Sch{\"a}fer and Pere Botella", Address = "Sitges, Spain" } @Article{Kiesel:Schuerr:Westfechtel:95, Ordinal = "P763", Author = "Norbert Kiesel and Andy Schuerr and Bernhard Westfechtel", Title = "{GRAS}, a Graph-Oriented (Software) Engineering Database System", Journal = "Information Systems", Volume = 20, Number = 1, Pages = "21--51", Year = 1995 } @Article{Nagl:93, Ordinal = "P764", Author = "M. Nagl", Title = {Eng Integrierte Software-Entwicklungsumgebungen. Ein Erfahrungsbericht {\"u}ber das {IPSEN\_Projekt}}, Journal = "Informatik Forschung und Entwicklung", Year = 1993, Volume = 8, Pages = "105--119", Publisher = "Springer Verlag" } @Article{Nagl:93a, Ordinal = "P765", Author = "M. Nagl", Title = "Software-Entwicklungsumgebungen: Einordnung und zuk{\"u}nftige Entwicklungslinien", Journal = "Informatik-Spektrum", Year = 1993, Volume = 16, Pages = "273--280", } @Article{Engels:Lewerentz:Nagl:Schafer:Schurr:92, Ordinal = "P766", Author = "G.Engels and C. Lewerentz and W.Nagl and W.Sch{\"a}fer and A.Sch{\"u}rr", Title = "Building Integrated Software Development Environments Part I: Tool Specification", Journal = "ACM Transaction on Software Engineering and Methodology", Volume = 1, Number = 2, Month = Apr, Year = 1992, Pages = "135--167", Publisher = "{ACM} Press" } @InProceedings{Mernik:Lenic:Avdicausevic:Zumer:00, Ordinal = "P767", Author = "Marjan Mernik and Mitja Leni{\v{c}} and Enis Avdi{\v{c}}au{\v{s}}evi{\'c} and Viljem {\v{Z}}umer", Title = "Compiler/Interpreter Generator System {LISA}", BookTitle = "Proceedings of the 33$^{rd}$ Hawaii International Conference on System Sciences", Year = 2000, Month = Jan } @InProceedings{Mernik:Novak:Avdicausevic:Lenic:Zumer:01, Ordinal = "P768", Author = "Marjan Mernik and Uros Novak and Enis Avdi{\v{c}}au{\v{s}}evi{\'c} and Mitja Leni{\v{c}} and Viljem {\v{Z}}umer", Title = "Design and Implementation of Simple Object Description Language", BookTitle = "Proceedings of the 16$^{th}$ {ACM SAC} 2001 symposium", Year = 2001, Pages = "590--594" } @InProceedings{Mernik:Lenic:Avdicausevic:Zumer:98, Ordinal = "P769", Author = "Marjan Mernik and Mitja Leni{\v{c}} and Enis Avdi{\v{c}}au{\v{s}}evi{\'c} and Viljem {\v{Z}}umer", Title = "The Template and Multiple Inheritance Approach into Attribute Grammars", BookTitle = "International Conference on Computer Languages {ICCL98}", Year = 1998, Pages = "102--110", Address = "Chicago, USA" } @Article{Zumer:Korbar:Mernik:97, Ordinal = "P770", Author = "{\v{Z}}umer, Viljem and Korbar, Nikolaj and Mernik, Marjan", Title = "Automatic Implementation of Programming Languages using Object Oriented Approach", Journal = "Journal of System Architecture", Volume = 43, Number = "1--5", Pages = "203--210", Year = 1997, Note = "ISSN 1318-7621" } @Article{Mernik:Lenic:Avdicausevic:Zumer:98a, Ordinal = "P771", Author = "Marjan Mernik and Mitja Leni{\v{c}} and Enis Avdi{\v{c}}au{\v{s}}evi{\'c} and Viljem {\v{Z}}umer", Title = "A Reusable Object-Oriented Approach to Formal Specifications of Programming Languages", Journal = "L'Objet", Year = 1998, Volume = 4, Number = 3, Pages = "273--306" } @TechReport{Magnusson:Bengtsson:Dahlin:Fries:Gustavsson:Hedin:Minor:Oscarsson:Taube:90, Ordinal = "P772", Author = "Boris Magnusson and Mats Bengtsson and Lars-Ove Dahlin and G{\"o}ran Fries and Anders Gustavsson and G{\"o}rel Hedin and Sten Min{\"o}r and Dan Oscarsson and Magnus Taube", Title = "An Overview of the Mj{\o}lner Orm Environment: Incremental Language and Software Development", Year = 1990, Institution = "Department of Computer Science, Lund University", Number = "LU-CS-TR:90-57", Address = "Lund, Sweden" } @TechReport{Hedin:92, Ordinal = "P773", Author = "G{\"o}rel Hedin", Title = "Context-Sensitive Editing in Orm", Year = 1992, Institution = "Department of Computer Science, Lund University", Number = "LU-CS-TR:92-108", Address = "Lund, Sweden" } @TechReport{Minor:Magnusson:92, Ordinal = "P774", Author = "Sten Min{\"o}r and Boris Magnusson", Title = "Using Mj{\o}lner Orm as a Structure-Based Meta Environment", Year = 1992, Institution = "Department of Computer Science, Lund University", Number = "LU-CS-TR:92-101", Address = "Lund, Sweden" } @TechReport{Hedin:94a, Ordinal = "P775", Author = "G{\"o}rel Hedin", Title = "An Overview of Door Attribute Grammar", Year = 1994, Institution = "Department of Computer Science, Lund University", Number = "LU-CS-TR:94-123", Address = "Lund, Sweden" } @Article{Agha:Kim:Panwar:91, Ordinal = "P776", Author = "Gul Agha and Wooyoung Kim and Rajendra Panwar", Title = "Actor Languages for Specification of Parallel Computations", Journal = "{DIMACS} Series in Discrete Mathematics and Theoretical Computer Science", Year = 1991 } @Article{Paakki:95, Ordinal = "P777", Author = "Jukka Paakki", Title = "Attribute grammar paradigms---a high-level methodology in language implementation", Journal = "ACM Computing Surveys", Year = 1995, Month = Jun, Volume = 27, Number = 2, Pages = "196--255" } @InProceedings{Madsen:00, Author = "Ole Lehrmann Madsen", Title = "Towards a Unified Programming Language", CrossRef = "ECOOP:00", } @Article{Oman:Cook:91, Author = " P. Oman and C. Cook", Title = "A Programming Style Taxonomy", Journal = "Journal of Systems Software", Volume = 15, Number = 4, Pages= "287--301", Year= 1991 } @InCollection{Mjolner:I, Ordinal="P778", Part="I", Pages="1--10", Author="Boris Magnusson", Title="Software development environments---introduction", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:1, Chapter=1, Ordinal="P779", Pages="11-23", Author="Boris Magnusson", Title="The Mj{\o}lner Orm System", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:VI, Part="VI", Ordinal = "P780", Pages="259-273", Author={{J{\o}rgen} Lindskov Knudsen and Elmer Sandvad and Sten Mino\"{o}r}, Title="Grammar based architectures---introduction", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:18, Chapter=18, Ordinal = "P781", Pages="274--282", Author="Boris Magnusson", Title="The {Mj{\o}lner Orm} architecture", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:19, Chapter=19, Ordinal = "P782", Pages="283--296", Author="Ole Lehrmann Madsen and Claus N{\o}rgaard", Title="An object-oriented metaprogramming system", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:20, Chapter=20, Ordinal = "P783", Pages="297--306", Author={Sten Mino\"or and G\"{o}rel Hedin}, Title="Grammar Interpretation in {Orm}", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:21, Chapter=21, Ordinal = "P784", Pages="319-332", Author={Sten Mino\"or}, Title="Changing the syntax on the fly", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:22, Chapter=22, Pages="333--344", Ordinal = "P785", Author="Elmer Sandvad", Title="Graphical structure editing", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:23, Chapter=23, Pages="345--358", Ordinal = "P786", Author="Elmer Sandvad", Title="Hypertext in an object-oriented programming environment", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:24, Chapter=24, Pages="359--372", Author="Elmer Sandvad", Title="An object-oriented {CASE} tool", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:IX, Ordinal = "P787", Part="IX", Pages="467--469", Author={G\"{o}rel Hedin}, Title="Incremental compilation techniques---introduction", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:31, Chapter=31, Pages="470-480", Author={G\"{o}rel Hedin}, Title="An object-oriented view on atttribute grammars", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:32, Ordinal = "P788", Chapter=32, Pages="481--496", Author={G\"{o}rel Hedin}, Title="Incremental name analysis for object-oriened langauges", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:33, Chapter=33, Pages="497--510", Ordinal = "P789", Author={G\"{o}rel Hedin}, Title="Using door attribute grammars for incremental name analysis", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } @InCollection{Mjolner:all, Ordinal = "P790", Title="Preface", Author="Boris Magnussion", CrossRef="Knudsen:Lofgren:Madsen:Magnusson:Book:93", } *********************************** @Article{Godin:Mili:Mineau:Missaoui:Arfi:Chau:98, Ordinal = "P791", Author = "Robert Godin and Hafedh Mili and Guy W. Mineau and Rokia Missaoui and Amina Arfi and Thuy-Tien Chau", Title = "Design of Class Hierarchies Based on Concept (Galois) Lattices", Journal = "Theory and Application of Object Systems", Volume = 4, Number = 2, Pages = "117--134", Year = 1998 } @InProceedings{Koschke:99, Ordinal = "P792", Author = "Rainer Koschke", Title = "An Incremental Semi-Automatic Method for Component Recovery", BookTitle = "Proceedings of the Working Conference on Reverse Engineering, WCRE'99", Month = Oct, Year = 1999, Organization = "IEEE", Address = "Atlanta, Georgia" } Misc{Rice:00, Ordinal = "P793", Author = "Michael D. Rice", Title = "Clusters, Concepts and Pseudometrics", Month = Jul, Year = 2000, Note = "Presented at: First Irish Conference on Mathematical Foundations of Computer Science and Information Technology, MFCSIT2000" } InProceedings{Fischer:98, Ordinal = "P794", Author = "Bernd Fischer", Title = "Specification-Based Browsing of Software Component Libraries", BookTitle = "Automated Software Engineering (ASE-98)", Address = "Honolulu, HI", Month = Oct, Year = 1998, Pages = "246--254" } @InProceedings{Deursen:Kuipers:99, Ordinal = "P795", Author = "Arie van Deursen and Tobias Kuipers", Title = "identifying Objects using Clusters and Concept Analysis", Booktitle = "21$^{st}$ International Conference on Software Engineering, ICSE-99", Year = 1999, Publisher = {ACM}, Pages = "246--255", Abstract = { Many approaches to support (semi-automatic) identification of objects in legacy code take the data structures as starting point for candidate classes. Unfortunately, legacy data structures tend to grow over time, and may contain many unrelated fields at the time of migration. We propose a method for identifying objects by semi-automatically restructuring the legacy data structures. Issues involved include the selection of record fields of interest, the identification of procedures actually dealing with such fields, and the construction of coherent groups of fields and procedures into candidate classes. We explore the use of cluster and concept analysis for the purpose of object identification, and we illustrate their effect on a 100,000 LOC Cobol system. Furthermore, we use these results to contrast clustering with concept analysis techniques. } } @Article{Mineau:Godin:95, Ordinal = "P796", Author = "Guy W. Mineau and Robert Godin", Title = "Automatic Structuring of Knowledge Bases by Conceptual Clustering", Journal = "IEEE Transactions on Knowledge and Data Engineering", Volume = 7, Number = 5, Year = 1995, Pages = "824--828", } @InProceedings{Lindig:00, Ordinal = "P797", Author = "Christian Lindig", Title = "Fast Concept Analysis", BookTitle = "Working with Conceptual Structures - Contributions to ICCS 2000", Publisher = "Shaker Verlag", Year = 2000, Pages = "152--161" } @InProceedings{Lindig:Snelting:97, Ordinal = "P798", Author = "Christian Lindig and Gregor Snelting", Title = "Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis", CrossRef= "ICSE:97", Pages = "349--359" } @InProceedings{Siff:Reps:97, Ordinal = "P799", Author = "Michael Siff and Thomas Reps", Title = "Identifying Modules via Concept Analysis", BookTitle = "IEEE International Conference on Software Maintenance (ICSM 97)", Year = 1997, Month = Oct, Address = "Bari, Italy", Pages = "170--179" } @Article{Myrvold:90, Ordinal = "P800", Author = "Alan Myrvold", Title = "Data Analysis for Software Metrics", Journal = "Systems Software", Year = 1990, Volume = 12, Pages = "271--275" } @Article{Rohrich:80, Ordinal = "P801", Author = "Johannes R{\"{o}}hrich", Title = "Methods for the Automatic Construction of Error Correcting Parsers", Journal = "Acta Informatica", Year = 1980, Volume = 13, Pages = "115--139" } @Article{Gray:Heuring:Levi:Sloane:Waite:92, Ordinal = "P802", Author = {Gray, R. W. and Heuring, V. P. and Levi, S. P. and Sloane, A. M. and Waite, W. M.}, Title = {Eli: A Complete, Flexible Compiler Construction System}, Year = 1992, Pages = {121-131}, Month = Feb, Journal = {Communications of the ACM 35}, Volume = 35, Number = 2 } @TechReport{Borning:Anderson:Freeman-Benson:96, Ordinal = "P803", Author = "Alan Borning and Richard Anderson and Bjorn Freeman-Benson", Title = "The Indigo Algorithm", Year = 1996, Month = Jul, Institution = "University of Washington, Department of Computer Science and Engineering", Number = "96-05-01" } @Article{Harel:87, Ordinal = "P804", Author = "David Harel", Title = "Statecharts: A Visual Formalism for Complex Systems", Journal = "Science of Computer Programming", Year = 1987, Volume = 8, Pages = "231--274" } @Article{Harel:92, Ordinal = "P805", Author = "David Harel", Title = "Biting the Silver Bullet: Toward a Brighter Future for System Development", Journal = "Computer", Year = 1992, Month = Jan, Pages = "8--20" } @Unpublished{Wadge:??, Ordinal = "P806", Author = "Bill Wadge", Title = "Monads and Intensionality", Note = "Manuscript" } @InProceedings{Barrett:Cassels:Haahr:Moon:Playford:Withington:96, Ordinal = "P807", Author = "Kim Barrett and Bob Cassels and Paul Haahr and David A. Moon and Keith Playford and P. Tucker Withington", Title = "A Monotonic Superclass Linearization for Dylan", CrossRef = "OOPSLA:96", Pages = "69--82" } @Unpublished{Palsberg:Zhao:00, Ordinal = "P808", Author = "Jens Palsberg and Tian Zhao", Title = "Efficient and Flexible Matching of Recursive Types", Year = 2000, Note = "Manuscript", url = "http://www.cs.purdue.edu/homes/palsberg/publications.html", xbooktitle = "Proc.\ of LICS'00, 15\xth Annual IEEE Symposium on Logic in Computer Science", } @Article{Clausen:97, Ordinal = "P809", Author = "Lars R. Clausen", Title = "A Java Bytecode Optimizer Using Side-effect Analysis", Journal = "Concurrency---Practice and Experience", Volume = 9, Number = 11, Year = 1997, Pages = "1031--1045" } @InProceedings{Greenhouse:Boyland:99, Ordinal = "P810", Author = "Aaron Greenhouse and John Boyland", Title = "An Object-Oriented Effects System", Pages = "205--229" } @InProceedings{Boyland:99, Ordinal = "P811", Author = "John Boyland", Title = "Alias Killing: Unique Variables without Destructive Reads", BookTitle = "Object-Oriented Technology, {ECOOP}'99 Workshop Reader, {ECOOP}'99 Workshops, Panels, and Posters", Publisher = "Springer Verlag", Series = LNCS, Year = 1999, Editor = "Ana Moreira and Serge Demeyer", Address = "Lisbon, Portugal", Month = Jun, Number = 1743, Pages = "148--149" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Subtyping tests. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %@string{stoc82 = "Proc. of the 14$^{th}$ Ann. ACM Symp. on Theory of Computing"} %@string{stoc84 = "Proc. of the 16$^{th}$ Ann. ACM Symp. on Theory of Computing"} %@string{stoc87 = "Proc. of the 19$^{th}$ Ann. ACM Symp. on Theory of Computing"} %@string{stoc99 = "Proc. of the 31$^{st}$ Ann. ACM Symp. on Theory of Computing"} @Misc{Yoav:Gil:web, Title = "Theory and Practice of Incremental Subtyping Tests and Message Dispatching", Author = "Yoav Zibin and Joseph (Yossi) Gil", Note = "Manuscript", HowPublished = "http://www.cs.technion.ac.il/\textasciitilde{}zyoav", Site = {http://www.cs.technion.ac.il/\textasciitilde{}zyoav}, } @Misc{TS:journal, Title = "Theory and Practice of Incremental Subtyping Tests and Message Dispatching", Author = "Yoav Zibin and Joseph (Yossi) Gil", Note = "Manuscript", HowPublished = "Available by request \texttt{zyoav\at{}cs.technion.ac.il}", Site = {http://www.cs.technion.ac.il/\textasciitilde{}zyoav}, } @Misc{PQE:journal, Title = "Efficient Subtyping Tests with {PQ}-Encoding", Author = "Yoav Zibin and Joseph (Yossi) Gil", Note = "Submitted to {TOPLAS}", HowPublished = "Available by request \texttt{zyoav\at{}cs.technion.ac.il}", Site = {http://www.cs.technion.ac.il/\textasciitilde{}zyoav}, } @inproceedings{Zibin:Gil:Considine:03, author = {Yoav Zibin and Joseph (Yossi) Gil and Jeffrey Considine}, title = {Efficient algorithms for isomorphisms of simple types}, booktitle = {Proceedings of the 30$^{th}$ ACM SIGPLAN-SIGACT symposium on Principles of programming languages ({POPL}'03)}, year = {2003}, isbn = {1-58113-628-5}, pages = {160--171}, location = {New Orleans, Louisiana, USA}, doi = {http://doi.acm.org/10.1145/604131.604146}, publisher = {ACM Press}, } %pages = "??--??", @inproceedings{Zibin:Gil:ECOOP:03, author = {Yoav Zibin and Joseph (Yossi) Gil}, title = {Two-Dimensional Bi-Directional Object Layout}, CrossRef = {ECOOP:03}, } @inproceedings{Zibin:Gil:POPL:03, author = {Yoav Zibin and Joseph (Yossi) Gil}, title = {Incremental algorithms for dispatching in dynamically typed languages}, booktitle = {Proceedings of the 30$^{th}$ ACM SIGPLAN-SIGACT symposium on Principles of programming languages ({POPL}'03)}, year = {2003}, isbn = {1-58113-628-5}, pages = {126--138}, location = {New Orleans, Louisiana, USA}, doi = {http://doi.acm.org/10.1145/604131.604143}, publisher = {ACM Press}, } @InProceedings{Zibin:Gil:02, Author = "Yoav Zibin and Joseph (Yossi) Gil", Title = "Fast Algorithm for Creating Space Efficient Dispatching Tables with Application to Multi-Dispatching", pages = "142--160", CrossRef = {OOPSLA:02}, } @InProceedings{Zibin:Gil:01, Author = "Yoav Zibin and Joseph (Yossi) Gil", Title = "Efficient Subtyping Tests with {PQ}-Encoding", pages = "96--107", CrossRef = {OOPSLA:01}, } @Article{Kaci:Boyer:Lincoln:Nasr:89, author = "Hassan Kaci and Robert Boyer and Patrick Lincoln and Roger Nasr", title = "Efficient Implementation of Lattice Operation", journal = TOPLAS, Volume = "11", pages = "115--146", year = "1989", } @Article{Habib:Caseau:Nourine:Raynaud:99, author = "M. Habib and Y. Caseau and L. Nourine and O. Raynaud", title = "Encoding of multiple inheritance hierarchie and partial orders", Journal = "Computational Intelligence", Volume = "15", pages = "50--62", year = "1999", publisher = "Blackwell", } @InProceedings{Agrawal:Borgida:Jagadish:89, title = "Efficient Management of Transitive Relationships in Large Data and Knowledge Bases", author = "Rakesh Agrawal and Alexander Borgida and H. V. Jagadish", editor = "James Clifford and Bruce G. Lindsay and David Maier", booktitle = "Proceedings of the 1989 {ACM} {SIGMOD} International Conference on Management of Data", publisher = "ACM Press", address = "Portland, Oregon", month = "31~" # may # "--2~" # jun, year = "1989", pages = "253--262", } @InProceedings{Bommel:Beck:99, author = "M. F. van Bommel and T. J. Beck", title = "Incremental Encoding of Multiple Inheritance Hierarchies", pages = "507--513", booktitle = "Proceedings of the 8$^{th}$ International Conference on Information Knowledgement ({CIKM}-99)", month = nov # "~2--6", publisher = "ACM Press", address = "N.Y.", year = "2000", } @Article{Schubert:Papalaskaris:Taugher:83, author = "M. A. Schubert and L.K., Papalaskaris and J. Taugher", title = "Determining type, part, colour, and time relationships", journal = "Computer", year = "1983", volume = "16 (special issue on Knowledge Representation)", pages = "53--60", month = oct, } @Article{Cohen:91, author = "N. H. Cohen", title = "Type-extension tests can be performed in constant time", journal = TOPLAS, Volume = "13", pages = "626--629", year = "1991", } @Article{Dijkstra:60, author = "E. W. Dijkstra", title = "Recursive programming", journal = "Numerische Mathematik", volume = "2", pages = "312--318", year = "1960", } @InProceedings{Fall:96, author = "Andrew Fall", title = "Sparse Term Encoding for Dynamic Taxonomies", pages = "277--292", ISBN = "3-540-61534-2", editor = "Peter W. Eklund and Gerard Ellis and Graham Mann", booktitle = "Proceedings of the Fourth International Conference on Conceptual Structures ({ICCS}-96): Knowlegde Representation as Interlingua", month = aug # "~19--22", series = "LNAI", volume = "1115", publisher = "Springer", address = "Berlin", year = "1996", } @InProceedings{Fall:95, author = "Andrew Fall", title = "Heterogeneous encoding", booktitle = "Proceedings of International KRUSE'95 Conference: Knowledge Use, Retrieval and Storage for Efficiency", institution = "University of California", address = "Santa Cruz, California", Publisher = "Department of Computer Science, University of California at Santa Cruz, USA", Month = Aug, Days = "11--13", pages = "162--167", year = "1995", Editor = "G. Ellis and R.A. Levinson and A. Fall and V. Dahl", } @InProceedings{Habib:Nourine:94, author = "Michel Habib and Lhouari Nourine", title = "Bit-vector encoding for partially ordered sets", pages = "1--12", CrossRef = {Ordal:94}, } @InProceedings{Capelle:94, author = "C. Capelle", title = "Representation of an Order as Union of Interval Orders", pages = "143--162", CrossRef = {Ordal:94}, } @InProceedings{Dietz:Sleator:87, Author = "Paul F. Dietz and Daniel D. Sleator", Title = "Two Algorithms for Maintaining Order in a List", pages = "365--372", year = "1987", BookTitle = stoc87, publisher = "ACM Press", address = "New York, New York, United States", ISBN = "0-89791-221-7", } @Article{Tsakalidis:84, Author = {A. K. Tsakalidis}, Title = {Maintaining Order in a Generalized Linked List}, Year = 1984, Journal = "Acta Informatica", pages = "101--112", volume = "21", number = "1", } @InProceedings{Dietz:82, Author = "Paul F. Dietz", Title = "Maintaining Order in a Linked List", pages = "122--127", year = "1982", BookTitle = stoc82, publisher = "ACM Press", address = "San Francisco, California, United States", ISBN = "0-89791-070-2", } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PQ-trees %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @TechReport{Leipert:97, author = "S. Leipert", institution = "Informatik, Universit{\"a}t zu K{\"o}ln", title = "{PQ}-Trees, An Implementation as Template Class in {C}++", year = "1997", } @Article{Booth:Leuker:76, author = "K. S. Booth and G. S. Leuker", title = "Testing for the consecutive ones property, interval graphs, and graph planarity using {PQ}-tree algorithms.", journal = "J. Comput. Sys. Sci.", volume = "13", number = "3", pages = "335--379", month = dec, year = "1976", } @Article{Battista:Tamassia:96, title = "On-Line Maintenance of Triconnected Components with {SPQR}-Trees", author = "G. Di Battista and R. Tamassia", pages = "302--318", journal = "Algorithmica", year = "1996", month = apr, volume = "15", number = "4", } @Article{Junger:Leipert:Mutzel:98, author = "M. Junger and S. Leipert and P. Mutzel", institution = "Informatik, Universit{\"a}t zu K{\"o}ln", title = "A Note on Computing a Maximal Planar Subgraph using {PQ}-Trees", journal = "IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems", volume = "17", number = "7", pages = "609--612", month = jul, year = "1998", } @TechReport{Junger:Leipert:Mutzel:96, author = "M. Junger and S. Leipert and P. Mutzel", institution = "Informatik, Universit{\"a}t zu K{\"o}ln", title = "On Computing a Maximal Planar Subgraph using {PQ}-Trees", year = "1996", } @InProceedings{Battista:Tamassia:90, author = "Giuseppe Di Battista and Roberto Tamassia", title = "On-Line Graph Algorithms with {SPQR}-Trees", editor = "Michael S. Paterson", booktitle = "Automata, Languages and Programming, 17$^{th}$ International Colloquium", address = "Warwick University, England", month = "16--20~" # jul, year = "1990", series = "Lecture Notes in Computer Science", volume = "443", publisher = "Springer-Verlag", pages = "598--611", } @TechReport{Battista:Tamassia:89, author = "Giuseppe Di Battista and Roberto Tamassia", type = "Technical Report", number = "CS-89-31", institution = "Brown University - Department of Computer Science", title = "On-Line Planarity Testing", month = may, year = "1989", } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Object Layout. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @InProceedings{Pugh:Weddell:90, Author = "W. Pugh and G. Weddell", Title = "Two-directional record layout for multiple inheritance", Year = 1990, Crossref = {PLDI:90}, Pages = "85--91", } @TechReport{Pugh:Weddell:93, author = "W. Pugh and G. Weddell", type = "Technical Report", number = "CS-93-22", institution = "University of Waterloo---Department of Computer Science", title = "On Object Layout for Multiple Inheritance", month = may, year = "1993", } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Method dispatching. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @Article{Queinnec:97, author = "Christian Queinnec", title = "Fast and Compact Dispatching for Dynamic Object-Oriented Languages", journal = "???", volume = "?", number = "?", pages = "?--?", month = mar, year = "1997", } @InProceedings{Driesen:93, Author = "Karel Driesen", Title = "Selector Table Indexing \& Sparse Arrays", CrossRef = {OOPSLA:93}, Pages = "259--270", } @InCollection{Kaehler83, Author = {Kaehler, Ted and Krasner, Glenn}, Title = {{LOOM}---{Large} Object Oriented Memory for {Smalltalk-80} Systems}, Year = 1983, BookTitle = {Smalltalk-80: bits of history, words of advice}, Pages = {251--270}, Editor = {Krasner, Glenn}, Publisher = {Addison-Wesley}, Key = {Kaehler}, } %editor = "Glenn Krasner", @Book{Conroy:Pelegri-Llopart:Krasner:83, author = "Thomas J. Conroy and Eduardo Pelegri-Llopart", title = "An Assessment of Method-Lookup Caches for {Smalltalk-80} Implementations", booktitle = "Smalltalk-80: Bits of History, Words of Advice", publisher = "Addison-Wesley", address = "Menlo Park,CA 94025", year = "1983", reffrom = "Adams:Rees:acm:lfp:1988", } @InBook{GARD83, title = "Smalltalk-80: The Language and its Implementation", author = "Adele Goldberg and David Robson", publisher = "Addison-Wesley", year = "1983", pages = "674--681", } @InProceedings{Andre:Royer:92, author = "Andr{\'e, Pascal and Jean-Claude} Royer", title = "{Optimizing Method Search with Lookup Caches and Incremental Coloring}", CrossRef = {OOPSLA:92}, pages = "110--126", } @InProceedings{Deutsch:Schiffman:84, author = "P. Deutsch and A. Schiffman", title = "Efficient Implementation of the {Smalltalk-80} System", CrossRef = {POPL:84}, pages = "297--302", } @InProceedings{Vitek:Horspool:94, author = "Jan Vitek and R. Nigel Horspool", title = "Taming Message Passing: Efficient method lookup for dynamically typed object-oriented languages", CrossRef = {ECOOP:94}, } @MastersThesis{Vitek:95, author = "Jan Vitek", title = "Compact Dispatch Tables for Dynamically Typed Programming Languages", School = "University of Victoria", year = "1995", } @InProceedings{Vitek:Horspool:96, title = "Compact Dispatch Tables for Dynamically Typed Object Oriented Languages", author = "Jan Vitek and R. Nigel Horspool", booktitle = "Compiler Construction, 6$^{th}$ International Conference", editor = "Tibor Gyimothy", address = "Link{\"o}ping, Sweden", month = "24--26~" # apr, year = "1996", series = "Lecture Notes in Computer Science", volume = "1060", publisher = "Springer", pages = "309--325", } @InProceedings{Driesen:Hoelzle:Vitek:95, title = "Message Dispatch on Pipelined Processors", author = "Karel Driesen and Urs H{\"o}lzle and Jan Vitek", pages = "253--282", CrossRef = {ECOOP:95}, } @TechReport{Driesen:Hoelzle:Vitek:98, author = "Karel Driesen and Urs H{\"o}lzle and Jan Vitek", type = "Technical Report", number = "TRCS94-20", institution = "University of California, Santa Barbara. Computer Science.", title = "Message Dispatch on Modern Computer Architectures", month = feb # " 9,", year = "1995", url = "ftp://ftp.cs.ucsb.edu/pub/techreports/TRCS94-20.ps", } @TechReport{Driesen:99, author = "Karel Driesen", year = "1999", type = "Technical Report", number = "TRCS99-24", institution = "University of California, Santa Barbara. Computer Science.", title = "Software and Hardware Techniques for Efficient Polymorphic Calls", month = jul # " 15,", } @Article{Naik:Kumar:00, author = "Mayur Naik and Rajeev Kumar", title = "Efficient Message Dispatch in Object-Oriented Systems", journal = "ACM SIG{\-}PLAN Notices", volume = "35", number = "3", pages = "49--58", month = mar, year = "2000", } @InProceedings{Dixon:McKee:Vaughan:Schweizer:89, author = "R. Dixon and T. McKee and M. Vaughan and P. Schweizer", title = "A fast method dispatcher for compiled languages with multiple inheritance", CrossRef = {OOPSLA:89}, pages = "211--214", } @InProceedings{Kiczales:Rodriquez:90, author = "Gregor Kiczales and Luis Rodriguez", email = "Gregor@Xerox.com and rassilon@athena.mit.edu", title = "Efficient Method Dispatch in {PCL}", booktitle = "1990 {ACM} Conference on Lisp and Functional Programming", organization = "ACM", publisher = "ACM Press", address = "Nice, France", ISBN = "0-89791-368-X", month = jun, year = "1990", pages = "99--105", refs = "8", checked = "19940629", source = "Dept. Library", } @InProceedings{Muthukrishnan:Muller:96, author = "S. Muthukrishnan and Martin M{\"u}ller", title = "Time and Space Efficient Method-Lookup for Object-Oriented Programs", pages = "42--51", booktitle = "Proceedings of the Seventh Annual {ACM}-{SIAM} Symposium on Discrete Algorithms", month = jan # "~28--30", publisher = "ACM/SIAM", address = "New York/Philadelphia", year = "1996", } @InProceedings{Ferragina:Muthukrishnan:96, title = "Efficient Dynamic Method-Lookup for Object Oriented Languages", author = "Paolo Ferragina and S. Muthukrishnan", booktitle = "Algorithms---{ESA}~'96, Fourth Annual European Symposium", editor = "Josep D{\'\i}az and Maria Serna", address = "Barcelona, Spain", month = "25--27~" # sep, year = "1996", series = "Lecture Notes in Computer Science", volume = "1136", publisher = "Springer", pages = "107--120", } @TechReport{ Holst:Szafron:96, author = "W. Holst and D. Szafron", title = "Inheritance management and method dispatch in reflexive object-oriented languages", institution = "University of Alberta, Edmonton, Canada", year = "1996" } @InProceedings{ Holst:Szafron:97, author = "Wade Holst and Duane Szafron", title = "A General Framework for Inheritance Management and Method Dispatch in Object-Oriented Languages", crossref = {ECOOP:97}, pages = "276--301", url = "citeseer.nj.nec.com/holst97general.html" } @InProceedings{Chambers:Ungar:Lee:89, author = "Craig Chambers and David Ungar and Elgin Lee", title = "An Efficient Implementation of \textsc{Self}---a Dynamically Typed Object-Oriented Language Based on Prototypes", crossref = {OOPSLA:89}, pages = "49--70", } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Multi-method dispatching %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @InProceedings{Chambers:Chen:99, author = "Craig Chambers and Weimin Chen", title = "Efficient Multiple and Predicate Dispatching", pages = "238--255", crossref = {OOPSLA:99}, } @InProceedings{Ferragina:Muthukrishnan:Berg:99, author = "Paolo Ferragina and S. Muthukrishnan and Mark de Berg", title = "Multi-Method Dispatching: A Geometric Approach With Applications to String Matching Problems", BookTitle = stoc99, publisher = "ACM Press", address = "Atlanta, Georgia, United States", ISBN = "1-58113-067-8", pages = "483--491", year = "1999", url = "citeseer.nj.nec.com/ferragina99multimethod.html" } @InProceedings{Pang:Holst:Leontiev:Szaforon:99, key = "Pang, {\em et al.}", author = "Candy Pang and Wade Holst and Yuri Leontiev and Duane Szaforon", title = "Multi-method Dispatch Using Multiple Row Displacement", crossref = {ECOOP:99}, pages = "304--328", } @TechReport{Dujardin:96, pages = "33 p.", year = "1996", type = "Technical Report", number = "RR-2892", institution = "Inria, Institut National de Recherche en Informatique et en Automatique", title = "Efficient Dispatch of Multimethods in Constant Time Using Dispatch Trees", author = "Eric Dujardin", language = "A", } @TechReport{Holst:Szafron:Leontiev:Pang:98, author = "W. Holst and D. Szafron and Y. Leontiev and C. Pang", title = "Multi-Method Dispatch Using Single-Receiver Projections", number = "TR-98-03", institution = "University of Alberta, Edmonton, Alberta, Canada", year = "1998", url = "citeseer.nj.nec.com/330853.html" } @InProceedings{Amiel:Gruber:Simon:94, author = "Eric Amiel and Oliver Gruber and Eric Simon", title = "Optimizing Multi-Method Dispatch Using Compressed Dispatch Tables", crossref = {OOPSLA:94}, pages = "244--258", } @Article{Dujardin:Amiel:Simon:98, author = "Eric Dujardin and Eric Amiel and Eric Simon", title = "Fast algorithms for compressed multimethod dispatch table generation", journal = TOPLAS, volume = "20", number = "1", pages = "116--165", month = jan, year = "1998", url = "http://www.acm.org:80/pubs/citations/journals/toplas/1998-20-1/p116-dujardin/", } @TechReport{Kidd:01, author = {Eric Kidd}, title = {{Efficient Compression of Generic Function Dispatch Tables}}, institution = {Dartmouth College, Computer Science}, address = {Hanover, NH}, number = {TR2001-404}, year = {2001}, month = {June}, URL = {ftp://ftp.cs.dartmouth.edu/TR/TR2001-404.ps.Z}, abstract = { A generic function is similar to an overloaded operator, but provides a way to select an appropriate behavior at run-time instead of compile-time. Dujardin and colleagues have proposed an algorithm for building and compressing generic function dispatch tables. We present several modifications to their algorithm, including an improvement to Pseudo-Closest-Poles and two new algorithms for compressing pole tables. The two new compression algorithms are simple and fast, and one produces smaller output than the original. } } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % for 2-dim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @Article{Ma:Spinrad:99, author = "T. Ma and Jeremy Spinrad", title = "An \textsc{O}($n^2$) time Algorithm for the 2-Chain Cover Problem and Related Problems", journal = "Journal of Algorithms", Volume = "17", Pages = "251--268", year = "1994", } @Article{Dilworth:50, author = "R. P. Dilworth", title = "A Decomposition Theorem for Partially Ordered Sets.", journal = "Ann. Math. 51", pages= "161--165", year = "1950", } @Article{Yannakakis:82, author = "M. Yannakakis", title = "On the Complexity of the Partial Order Dimension Problem", journal = "{SIAM} J. Alg. Discr. Math. 3", pages= "351--358", year = "1982", } @Article{McConnell:Spinrad:93, author = "McConnell and Spinrad", title = "Linear-time modular decomposition of undirected graphs and efficient transitive orientation of comparability graphs", journal = "Symposium on Discrete Algorithms", year = "1993", } @Article{Simon:Trunz:94, author = "Klaus Simon and Paul Trunz", title = "A cleanup on Transitive Orientation", journal = "Ordal (Orders, Algorithms and Applications)", year = "1994", } @Article{Felsner:Trotter:91, author = "Stefan Felsner and William Trotter", title = "Dimension, Graph and Hypergraph Coloring", journal = "Mathematics Subject Classification", year = "1991", } @Book{Trotter:92, author = "William T. Trotter", title = "Combinatorics and Partially Ordered Sets: Dimension Theory", year = "1992", publisher = "The Johns Hopkins University Press", } @misc{Spinrad:97, author = "Jerry Spinrad", title = "Efficient Graph Representations", year = "1997", } @misc{Shamir:94, author = "Ron Shamir", title = "Advanced Topics in Graph Algorithms", year = "1994", } % TODO: no pages. @Article{Ramirez:99, author = "Ariel Ortiz Ramirez", title = "An Overview of {Intel}'s {MMX} Technology", journal = "Linux Journal", volume = "61", month = may, year = "1999", } @InProceedings{Simon:88, title = "On Minimum Flow and Transitive Reduction", author = "Klaus Simon", editor = "Timo Lepist{\"o} and Arto Salomaa", booktitle = "Automata, Languages and Programming, 15$^{th}$ International Colloquium", address = "Tampere, Finland", month = "11--15~" # jul, year = "1988", series = "Lecture Notes in Computer Science", volume = "317", publisher = "Springer-Verlag", pages = "535--546", } @InProceedings{Krall:Grafl:97, author = "Andreas Krall and Reinhard Grafl", title = "{CACAO} -- A 64 bit {JavaVM} Just-in-Time Compiler", booktitle = "PPoPP'97 Workshop on Java for Science and Engineering Computation", month = "June", address = "Las Vegas", editor = "Geoffrey C.~Fox and Wei Li", year = "1997", publisher = "ACM Press", } @MastersThesis{Grafl:96, author = "R. Grafl", title = "{CACAO}: Ein 64bit {JavaVM} Just-In-Time Compiler", School = "University of Vienna", year = "1996" } @InProceedings{Cardelli:Donahue:Jordan:Kalsow:Nelson:89, Author = "Luca Cardelli and James Donahue and Mick Jordan and Bill Kalsow and Greg Nelson", Title = "The {Modula-3} Type System", CrossRef = {POPL:89}, Pages = "202--212", } @Article{Aho:Garey:Ullman:72, Author = "A. V. Aho and M. R. Garey and J. D. Ullman", Title = "The transitive reduction of a directed graph", BookTitle = "{SIAM} Journal on Computing", volume = "1", Year = 1972, Pages = "131--137", } @TechReport{Cecil, author = "Craig Chambers", title = "The {C}ecil language, specification and rationale", institution = "University of Washington, Seattle", number = "TR-93-03-05", year = "1993", } @InProceedings{CommonLoops, author = "Daniel G. Bobrow and Kenneth Kahn and Gregor Kiczales and Larry Masinter and Mark Stefik and Frank Zdybel", title = "{CommonLoops}: Merging {L}isp and Object-Oriented Programming", CrossRef = {OOPSLA:86}, pages = "17--29", } @Book{Dylan, title = "The {Dylan} Reference Manual: The Definitive Guide to the New Object-Oriented Dynamic Language", author = "Andrew Shalit", publisher = "Addison-Wesley", address = "Reading, Mass.", year = "1997", } @InProceedings{PolyGlot, author = "R. Agrawal and L. Demichiel and B. Lindsay", title = "Static type checking of multi-methods", CrossRef = {OOPSLA:91}, } @InProceedings{Kea, author = "W. Mugridge and J. Hamer and J. Hosking", title = "Multi-methods in a statically-typed programming languages", CrossRef = {ECOOP:91}, } @TechReport{Kea:b, author = "J. Hamer", title = "Kea 1.0 Reference Manual", institution = "University of Auckland", year = "1991" } @InProceedings{Cook:89, author = "W. R. Cook", title = "A proposal for Making {E}iffel Type-safe", CrossRef = {ECOOP:89}, pages = "17--29", } @Article{van-Emde-Boas:77, Author = van-Emde-Boas, Title = "Preserving order in a forest in less than logarithmic time and linear space", Year = 1977, Journal = "Information Processing Letters", Volume = "6(3)", Pages = "80--82", } @Article{Willard:84, author = "D. E. Willard", title = "New trie data structures which support very fast search operations.", journal = "J. Comput. Sys. Sci.", volume = "28", pages = "379--394", year = "1984", } @InProceedings{Alpern:Cocchi:Grove:01, title = "Dynamic Type Checking in {Jalape\~no}", author = "Bowen Alpern and Anthony Cocchi and David Grove", editor = "James Clifford and Bruce G. Lindsay and David Maier", booktitle = "Java Virtual Machine Research and Technology Symposium", Publisher = "USENIX", month = apr, year = "2001", Address = "Monterey, California" } @InProceedings{Alpern:Cocchi:Fink:Grove:Lieber:01, Author = "Bowen Alpern and Anthony Cocchi and Stephen Fink and David Grove and Derek Lieber", Title = "Efficient Implementation of \textsc{Java} Interfaces: \texttt{invokeinterface} Considered Harmless", CrossRef = {OOPSLA:01}, } @inproceedings{Ernst:99, author = "Erik Ernst", title = "Propagating Class and Method Combination", CrossRef = {ECOOP:99}, pages = "67--91" } @InProceedings{Flavors, Author = "David A. Moon", Title = "Object-oriented programming with flavors", CrossRef = {OOPSLA:86}, pages = "1--8", } @InProceedings{Bokowski:Vitek:99, Author = "Boris Bokowski and Jan Vitek", Title = "Confined Types", CrossRef = "OOPSLA:99", Pages = "82--96", Abstract = " Sharing and transfer of object references is difficult to control in object-oriented languages. Unconstrained sharing poses serious problems for writing secure components in object-oriented languages. In this paper, we present a set of inexpensive syntactic constraints that strengthen encapsulation in object oriented programs and facilitate the implementation of secure systems. We introduce two mechanisms: confined types to impose static scoping on dynamic object references and anonymous methods which do not reveal the identity of the current instance (this). Confined types protect objects from use by untrusted code, while anonymous methods allow standard classes to be reused from confined classes. We have implemented a verifier which performs a modular analysis of Java programs and provides a static guarantee that confinement is respected. We present security related programming examples.", } } % OOPSLA,ECOOP,POPL,PLDI,TOPLAS,STOC,CC, % LNCS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Subtyping tests. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Krall:Vitek:Horspool:97a,ECOOP - Near optimal hierarchical encoding of types %Krall:Vitek:Horspool:97b,OOPSLA - Efficient Type Inclusion Tests %Caseau:93,OOPSLA - Efficient Handling of Multiple Inheritance Hierarchies %Kaci:Boyer:Lincoln:Nasr:89,TOPLAS - Efficient Implementation of Lattice Operation %Habib:Caseau:Nourine:Raynaud:99,Computational Intelligence - Encoding of multiple inheritance hierarchie and partial orders %TODO: find pages. %Raynaud:Thierry:01,ECOOP - A Quasi Optimal Bit-vector Encoding of Tree Hierarchies. Application to Efficient Type Inclusion Tests. %Agrawal:Borgida:Jagadish:89,SIGMOD - Efficient Management of Transitive Relationships in Large Data and Knowledge Bases %Alpern:Cocchi:Grove:01,USENIX-JVM - Dynamic Type Checking in {Jalape\~no} %Bommel:Beck:99,CIKM - Incremental Encoding of Multiple Inheritance Hierarchies %Schubert:Papalaskaris:Taugher:83,Computer - Determining type, part, colour, and time relationships %Cohen:91,TOPLAS - Type-extension tests can be performed in constant time %Dijkstra:60,Numerische Mathematik - Recursive programming %Fall:96,ICCS - Sparse Term Encoding for Dynamic Taxonomies %Fall:95,KRUSE - Heterogeneous encoding %Habib:Nourine:94,ORDAL - Bit-vector encoding for partially ordered sets %Capelle:94,ORDAL - Representation of an Order as Union of Interval Orders %Krall:Grafl:97,PPoPP - {CACAO} -- A 64 bit {JavaVM} Just-in-Time Compiler %Grafl:96,MSc - {CACAO}: Ein 64bit {JavaVM} Just-In-Time Compiler %Dietz:Sleator:87,stoc87 - Two Algorithms for Maintaining Order in a List %Sleator:Tarjan:83,jcss - A data structure for dynamic trees %Tsakalidis:84,Acta Informatica - Maintaining Order in a Generalized Linked List %Dietz:82,stoc82 - Maintaining Order in a Linked List %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % PQ-trees %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Leipert:97,TechReport - {PQ}-Trees, An Implementation as Template Class in {C}++ %Booth:Leuker:76,J. Comput. Sys. Sci. - Testing for the consecutive ones property, interval graphs, and graph planarity using {PQ}-tree algorithms. %Battista:Tamassia:96,Algorithmica - On-Line Maintenance of Triconnected Components with {SPQR}-Trees %Junger:Leipert:Mutzel:98, IEEE CADICS - A Note on Computing a Maximal Planar Subgraph using {PQ}-Trees %Junger:Leipert:Mutzel:96,TechReport - On Computing a Maximal Planar Subgraph using {PQ}-Trees %Battista:Tamassia:90,LNCS-ALPIC - On-Line Graph Algorithms with {SPQR}-Trees %Battista:Tamassia:89,TechReport - On-Line Planarity Testing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Object Layout. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Eckel:Gil:00,ECOOP - Empirical Study of Object-Layout Strategies and Optimization Techniques %Gil:Sweeney:99,OOPSLA - Space- and Time-Efficient Memory Layout for Multiple Inheritance %Myers:95,OOPSLA - Bidirectional Object Layout for Separate Compilation %Pugh:Weddell:90,PLDI - Two-directional record layout for multiple inheritance %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Method dispatching. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Queinnec:97, ???? - Fast and Compact Dispatching for Dynamic Object-Oriented Languages %Driesen:Holzle:96,OOPSLA - The Direct Cost of Virtual Functions Calls in {\CC} %Driesen:Holzle:95,OOPSLA - Minimizing Row Displacement Dispatch Tables %Driesen:93,OOPSLA - Selector Table Indexing \& Sparse Arrays %Holzle:Chambers:Ungar:91,ECOOP - Optimizing Dynamically-Typed Object-Oriented Languages with Polymorphic Inline Caches %Zendra:Colnet:Collin:97,OOPSLA - Efficient Dynamic Dispatch without Virtual Function Tables: The {SmallEiffel} Compiler %Kaehler83, BOOK - Smalltalk-80: bits of history, words of advice %Conroy:Pelegri-Llopart:Krasner:83,BOOK - Smalltalk-80: Bits of History, Words of Advice %GARD83,BOOK - Smalltalk-80: The Language and its Implementation %Andre:Royer:92,OOPSLA - "{Optimizing Method Search with Lookup Caches and Incremental Coloring}" %Deutsch:Schiffman:84,POPL:94 - Efficient Implementation of the {Smalltalk-80} System %Vitek:Horspool:94,ECOOP - Taming Message Passing: Efficient method lookup for dynamically typed object-oriented languages %Vitek:95,MSc - Compact Dispatch Tables for Dynamically Typed Programming Languages %Vitek:Horspool:96,Compiler Construction - Compact Dispatch Tables for Dynamically Typed Object Oriented Languages %Driesen:Hoelzle:Vitek:95,ECOOP - Message Dispatch on Pipelined Processors %Driesen:Hoelzle:Vitek:98,TechReport - Message Dispatch on Modern Computer Architectures %Driesen:99,TechReport - Software and Hardware Techniques for Efficient Polymorphic Calls %Naik:Kumar:00,ACM SIG{\-}PLAN Notices - Efficient Message Dispatch in Object-Oriented Systems %Dixon:McKee:Vaughan:Schweizer:89,OOPSLA - A fast method dispatcher for compiled languages with multiple inheritance %Kiczales:Rodriquez:90,{ACM} Conference on Lisp and Functional Programming - Efficient Method Dispatch in {PCL} %Muthukrishnan:Muller:96, {ACM}-{SIAM} - Time and Space Efficient Method-Lookup for Object-Oriented Programs %Ferragina:Muthukrishnan:96,Algorithms---{ESA} - Efficient Dynamic Method-Lookup for Object Oriented Languages %Holst:Szafron:96,TechReport - Inheritance management and method dispatch in reflexive object-oriented languages %Holst:Szafron:97,ECOOP - A General Framework for Inheritance Management and Method Dispatch in Object-Oriented Languages %Chambers:Ungar:Lee:89,OOPSLA - An Efficient Implementation of Self---a Dynamically Typed Object-Oriented Language Based on Prototypes %Alpern:Cocchi:Fink:Grove:Lieber:01,OOPSLA:01 - Efficient Implementation of \textsc{Java} Interfaces: \texttt{invokeinterface} Considered Harmless %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Multi-method dispatching %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Chambers:Leavens:95,TOPLAS - Typechecking and Modules for Multi-Methods %Chen:Turau:Klas:94,ECOOP - Efficient Dynamic Look Up Strategy for Multi-Methods %Chambers:Chen:99,OOPSLA - Efficient Multiple and Predicate Dispatching %Ferragina:Muthukrishnan:Berg:99,STOC - Multi-Method Dispatching: A Geometric Approach With Applications to String Matching Problems %Pang:Holst:Leontiev:Szaforon:99,ECOOP - Multi-method Dispatch Using Multiple Row Displacement %Dujardin:96,TechReport - Efficient Dispatch of Multimethods in Constant Time Using Dispatch Trees %Holst:Szafron:Leontiev:Pang:98,TechReport - Multi-Method Dispatch Using Single-Receiver Projections %Amiel:Gruber:Simon:94,OOPLSA - Optimizing Multi-Method Dispatch Using Compressed Dispatch Tables %Dujardin:Amiel:Simon:98,TOPLAS - Fast algorithms for compressed multimethod dispatch table generation %Kidd:01,TechReport - {{Efficient Compression of Generic Function Dispatch Tables}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Linearization %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Ernst:99,ECOOP - Propagating Class and Method Combination %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % for 2-dim %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Ma:Spinrad:99,Journal of Algorithms - An \textsc{O}($n^2$) time Algorithm for the 2-Chain Cover Problem and Related Problems %Dilworth:50,Ann. Math. - A Decomposition Theorem for Partially Ordered Sets. %Yannakakis:82,{SIAM} J. Alg. Discr. Math. - On the Complexity of the Partial Order Dimension Problem %McConnell:Spinrad:93,Symposium on Discrete Algorithms - Linear-time modular decomposition of undirected graphs and efficient transitive orientation of comparability graphs %Simon:Trunz:94,Ordal - A cleanup on Transitive Orientation %Felsner:Trotter:91,Mathematics Subject Classification - Dimension, Graph and Hypergraph Coloring %Trotter:92,Book - Combinatorics and Partially Ordered Sets: Dimension Theory %Spinrad:97,Book - Efficient Graph Representations %Shamir:94,Book - Advanced Topics in Graph Algorithms %Ramirez:99,Linux Journal - An Overview of {Intel}'s {MMX} Technology %Simon:88,LNCS ALPIC - On Minimum Flow and Transitive Reduction %Cardelli:Donahue:Jordan:Kalsow:Nelson:89,POPL - The {Modula-3} Type System %Aho:Garey:Ullman:72,{SIAM} Journal on Computing - The transitive reduction of a directed graph %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % OO Languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %CLOS, %Cecil, %CommonLoops, %Dylan, %PolyGlot, %Kea,ECOOP - Multi-methods in a statically-typed programming languages %Kea:b, - Kea 1.0 Reference Manual %C++: Stroustrup:Book:97,BOOK - The {C++} Programming Language %Java: Arnold:Gosling:96,BOOK - The {Java} Programming Language %Smalltalk: Goldberg:Book:84,BOOK - {Smalltalk}-80: The Interactive Programming Environment %Eiffel: Meyer:Eiffel:92,BOOK - {E}{IFFEL} the Language %Steele:90,BOOK - Common Lisp the language %Ellis:Stroustrup:Book:94,BOOK - The Annotated {C++} Reference Manual %Stroustrup:Book:94,BOOK - The Design and Evolution of {C++} %Meyer:Book:88,BOOK - Object-Oriented Software Construction %Thomas:Weedon:95,BOOK - Object-Oriented Programming in {E}iffel %Eiffel:Reference:97,BOOK - ISE {E}{IFFEL} {T}he {L}anguage {R}eference %Cox:Book:Evolutionary:86,BOOK - Object-Oriented Programming - An Evolutionary Approach %Cook:89,ECOOP - A proposal for Making {E}iffel Type-safe %OOPSLAPanel:93, - Is Multiple Inheritance Essential to {OOP}? %Gabow:Bentley:Tarjan:84,stoc84 - Scaling and related techniques for geometry problems %van-Emde-Boas:Kaas:Zijlstra:77,Math. Systems Theory - Design and implementation of an efficient priority queue %van-Emde-Boas:77,Information Processing Letters - Preserving order in a forest in less than logarithmic time and linear space %Willard:84,J. Comput. Sys. Sci. - New trie data structures which support very fast search operations. %Carter:Wegman:79,jcss - Universal Classes of Hash Functions %FKS:84,jacm - Storing a Sparse Table with ${O}(1)$ Worst Case Access Time %DKMMRT:94,sicomp - Dynamic Perfect Hashing: Upper and Lower Bounds %Cohen:Gil:00,TOOLS:PACIFIC - Self-calibration of metrics of {Java} methods %CLR:90,BOOK - Introduction to Algorithms %Gil:Itai:98,ECOOP - The Complexity of Type Analysis of {O}bject {O}riented Programs %Cardelli:Wegner:85,ACMCS - On Understanding Types, Data Abstractions, and Polymorphism %Detlefs:Agesen:99,ECOOP - Inlining of Virtual Methods @InProceedings{Lempel:Even:Cederbaum:67, author = "A. Lempel and S. Even and I. Cederbaum", title = "An Algorithm for Planarity Testing of Graphs", booktitle = "Theory of Graphs, International Symposium", publisher = "Gordon and Breach", address = "New York, NY", year = "1967", pages = "215--232", } %In OOPSLA'01 @InProceedings{Ogasawara:Komatsu:Nakatani:01, author = "Takeshi Ogasawara and Hideaki Komatsu and Toshio Nakatani", title = "A Study of Exception Handling and Its Dynamic Optimization in Java", url = "citeseer.nj.nec.com/462543.html", CrossRef = {OOPSLA:01}, } @TechReport{Alstrup:Brodal:Gortz:99, author = "Karel Driesen", year = "1999", type = "Technical Report", institution = "University of California, Santa Barbara. Computer Science.", title = "Software and Hardware Techniques for Efficient Polymorphic Calls", month = jul # " 15,", } %Multiple-dispatching - theoretical @inproceedings{ eppstein01internet, author = "David Eppstein and S. Muthukrishnan", title = "Internet packet filter management and rectangle geometry", booktitle = "Symposium on Discrete Algorithms", pages = "827-835", year = "2001", url = "citeseer.nj.nec.com/eppstein01internet.html" } @misc{ gerth-time, author = "Stephen Alstrup Gerth", title = "Time and Space Efficient Multi-Method Dispatching", url = "citeseer.nj.nec.com/495443.html" } @inproceedings{ alstrup98marked, author = "Stephen Alstrup and Thore Husfeldt and Theis Rauhe", title = "Marked Ancestor Problems", booktitle = "{IEEE} Symposium on Foundations of Computer Science", pages = "534-544", year = "1998", url = "citeseer.nj.nec.com/alstrup98marked.html" } @misc{ etienne-simple, author = "Emi Forax Etienne", title = "A Simple Dispatch Technique for Pure Java Multi-Methods", url = "citeseer.nj.nec.com/481021.html" } @misc{Krall:2001, author = "Andreas Krall", title = "personal communication", year = 2001, month = feb, } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % For the article on Isomorphism of Simple Types (Zibin:Gil:Considine:03) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @techreport{Auerbach:Barton:Raghavachary:98, address = "Yorktown Heights, New York", author = "Joshua Auerbach and Charles Barton and Mukund Raghavachary", institution = "IBM Research Division", month = "August", number = "RC 21247", title = "Type Isomorphisms with Recursive Types", year = "1998" } @techreport{Auerbach:Chu-Carroll:97, address = "Yorktown Heights, New York", author = "Joshua Auerbach and Mark C. Chu-Carroll", institution = "IBM Research Division", month = "February", number = "RC 20178", title = "The Mockingbird System: A Compiler-based Approach to Maximally Interoperable Distributed Programming", year = "1997" } @article{Bruce:DiCosmo:Longo:91, author = "Kim B. Bruce and Roberto {Di Cosmo} and Giuseppe Longo", title = "Provable isomorphisms of types", journal = "Mathematical Structures in Computer Science", volume = 1, pages = "1--20", year = "1991" } @inproceedings{Bruce:Longo:85, author = {Kim B. Bruce and Giuseppe Longo}, title = {Provable isomorphisms and domain equations in models of typed languages}, booktitle = {Proc.\ of the 7\xth annual ACM symposium on Theory of computing}, year = {1985}, month = "May", isbn = {0-89791-151-2}, pages = {263--272}, location = {Providence, Rhode Island, United States}, doi = {http://doi.acm.org/10.1145/22145.22175}, publisher = {ACM Press}, } @InCollection{Howard:80, author = {W. A. Howard}, title = {The Formulaes-as-Types Notion of Construction}, crossref = {Seldin:Hindley:80}, pages = {479--490}, } @InProceedings{Jha:Palsberg:Zhao:02, author = "Somesh Jha and Jens Palsberg and Tian Zhao", title = "Efficient Type Matching", booktitle = "Proc.\ of the 5\xth Foundations of Software Science and Computation Structures", month = "Grenoble, France, April", year = 2002 } %Lecture Notes in Computer Science @Article{Andreev:Soloviev:97, author = "A. Andreev and S. Soloviev", title = "A Deciding Algorithm for Linear Isomorphism of Types with complexity {$O(n \log^2(n))$}", journal = "Category Theory and Computer Science", volume = "1290", pages = "197--209", year = "1997", coden = "LNCSD9", ISSN = "0302-9743", } @techreport{Considine:00, month = "April", url = "http://www.cs.bu.edu/techreports/2000-010-deciding-simple-type-isomorphisms.ps.Z", title = "Deciding Isomorphisms of Simple Types in Polynomial Time", author = "Jeffrey Considine", year = "2000", institution = "CS Department, Boston University" } @Book{DiCosmo:95, author = "Roberto {Di Cosmo}", title = "Isomorphisms of Types: from $\lambda$-calculus to information retrieval and language design", publisher = "Birkh{\"{a}}user", year = 1995 } @Book{Tarski:51, Author = "A. Tarski", Title = "A Decision Method for Elementary Algebra and Geometry", Edition = "2\xnd", Publisher = "University of California Press", Address = "Berkeley, CA", Year = 1951 } %Springer-Verlag, New York Inc. @Article{Melhorn:Naher:90, author = "Kurt Melhorn and Stefan N{\"a}her", title = "Dynamic Fractional Cascading", journal = "Algorithmica", volume = "5", pages = "215--241", year = "1990", } @Article{Rittri:91, Author = "Mikael Rittri", Title = "Using Types as Search Keys in Function Libraries", Journal = "Journal of Functional Programming", Volume = 1, Issue = 1, Pages = "71-89", Year = 1991, } @inproceedings{Rittri:90, author = "Mikael Rittri", title = "Retrieving Library Identifiers via Equational Matching of Types", booktitle = "10\xth International Conference on Automated Deduction", month = Jul, Number = 449, Publisher = sv, Series = LNCS, pages = "603-617", year = "1990", url = "citeseer.nj.nec.com/article/rittri92retrieving.html" } @Book{Seldin:Hindley:80, editor = {J. R[oger] Hindley and J[onathan] P. Seldin}, title = {To {H}.~{B}.\ {C}urry: Essays on Combinatory Logic, Lambda Calculus, and Formalism}, booktitle = {To {H}.~{B}.\ {C}urry: Essays on Combinatory Logic, Lambda Calculus, and Formalism}, publisher = {Academic Press}, year = 1980, xaddress = {London, UK}, xxaddress = {New York}, xnote = {The ``Curry Festschrift''}, remark = {Seldin's name occurs before Hindley's on the physical book. However, Jonathan tells me that this was an accident and that it should have been alphabetical order.}, isbn = {0-12-349050-2}, } @article{Soloviev:83, author = "Serjey V. Soloviev", journal = "Journal of Soviet Mathematics", pages = "1387-1400", title = "The category of finite sets and cartesian closed categories", volume = "22(3)", year = "1983" } @InProceedings{Gil:01, Author = "Joseph (Yossi) Gil", Title = "Subtyping arithmetical types", CrossRef = "POPL:2001", Pages = "276--289", } @Article{Gurevic:85, author = "R. Gurevi{\v{c}}", title = "Equational Theory Of Positive Numbers with Exponentiation", journal = "American Mathmatical Society", pages = "135--141", volume = 94, number = 1, year = 1985, month = May, } @String{POPL = "Symposium on Principles of Programming Languages"} @Proceedings{POPL:2001, Title = "28\xth "#POPL#", POPL'01", BookTitle = "27\xth "#POPL#", POPL'01", Year = 2001, Month = Jan#{17--19}, Publisher = "ACM Press", Organization = "ACM SIGPLAN --- SIGACT", Address = "London, England" } @unpublished{Jha:Palsberg:Zhao:Henglein:02, author = "Somesh Jha and Jens Palsberg and Tian Zhao and Fritz Henglein", title = "Efficient Type Matching", journal = "Higher-Order and Symbolic Computation", note = "Submitted to Higher-Order and Symbolic Computation" } @BOOK{ISOSBook, AUTHOR = {Roberto {Di Cosmo}}, TITLE = {Isomorphisms of types: from $\lambda$-calculus to information retrieval and language design}, PUBLISHER = {Birkhauser}, YEAR = {1995}, NOTE = {ISBN-0-8176-3763-X}, } @inproceedings{Fiore:DiCosmo:Balat:02, author = {Marcelo Fiore and Roberto {Di Cosmo} and Vincent Balat}, title = "Remarks on Isomorphisms in Typed Lambda Calculi with Empty and Sum Types", booktitle = {Proc.\ of the 17\xth Annual IEEE Symposium on Logic in Computer Science (LICS'02)}, year = {2002}, location = {Copenhagen, Denmark}, month = {July} } @inproceedings{DiCosmo:92, author = {Roberto {Di Cosmo}}, title = {Type isomorphisms in a type-assignment framework}, booktitle = {Proc.\ of the 19\xth ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {1992}, isbn = {0-89791-453-8}, pages = {200--210}, location = {Albuquerque, New Mexico, United States}, doi = {http://doi.acm.org/10.1145/143165.143208}, publisher = {ACM Press}, } @inproceedings{Basin:90, author = {David A. Basin}, title = {Equality of terms containing associative-commutative functions and commutative binding operators is isomorphism complete}, booktitle = "10\xth International Conference on Automated Deduction", year = {1990}, isbn = {0-387-52885-7}, pages = {251--260}, location = {Kaiserslautern, Germany}, publisher = {Springer-Verlag New York, Inc.}, } @article{Paige:Tarjan:87, author = {Robert Paige and Robert E. Tarjan}, title = {Three partition refinement algorithms}, journal = {{SIAM} Journal on Computing}, volume = {16}, number = {6}, year = {1987}, issn = {0097-5397}, pages = {973--989}, publisher = {Society for Industrial and Applied Mathematics}, } @inproceedings{99605, author = {Jiazhen Cai and Robert A. Paige}, title = {Look ma, no hashing, and no arrays neither}, booktitle = {Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages}, year = {1991}, isbn = {0-89791-419-8}, pages = {143--154}, location = {Orlando, Florida, United States}, doi = {http://doi.acm.org/10.1145/99583.99605}, publisher = {ACM Press}, } @article{Cai:Paige:95, author = {Jiazhen Cai and Robert Paige}, title = {Using multiset discrimination to solve language processing problems without hashing}, journal = {Theoretical Computer Science}, volume = {145}, number = {1--2}, year = {1995}, month = {July}, issn = {0097-5397}, doi = {http://www.sciencedirect.com/science/article/B6V1G-3Y5FVH3-S/1/f18ca79f2f252fe77fe48724914bcbd5}, pages = {189--228}, } @inproceedings{Paige:94, author = "Robert Paige", title = "Efficient Translation of External Input in a Dynamically Typed Language", booktitle = "Technology and Foundations---Information Processing 94", volume = "1", publisher = "North-Holland", editor = "B. Pehrson and I. Simon", pages = "603--608", year = "1994" } @article{Cousot:Cousot:92, author = {Cousot, P{.} and Cousot, R{.}}, title = {Abstract Interpretation and Application to Logic Programs}, pages = {103--179}, journal = {Journal of Logic Programming}, year = 1992, volume = 13, number = {2--3}, } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % YOAV ZIBIN END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%