@Preamble{
"\ifx \undefined \booktitle \def \booktitle#1{{{\em #1}}} \fi" #
"\ifx \undefined \cdprime \def \cdprime {$''$} \fi" #
"\ifx \undefined \cprime \def \cprime{$'$} \fi" #
"\ifx \undefined \cyr \let \cyr = \rm \fi" #
"\ifx \undefined \mathbb \def \mathbb #1{{\bf #1}}\fi" #
"\ifx \undefined \mathbf \def \mathbf #1{{\bf #1}}\fi" #
"\ifx \undefined \mathcal \def \mathcal #1{{\cal #1}}\fi" #
"\ifx \undefined \mathit \def \mathit #1{\hbox{\it #1\/}} \fi" #
"\ifx \undefined \mathrm \def \mathrm #1{{\rm #1}}\fi"
}
@String{j-ACTA-INFO = "Acta Informatica"}
@String{j-BIT = "BIT"}
@String{j-CACM = "Communications of the Association for
Computing Machinery"}
@String{j-COMP-ARCH-NEWS = "ACM SIGARCH Computer Architecture News"}
@String{j-COMP-J = "The Computer Journal"}
@String{j-COMP-SURV = "ACM Computing Surveys"}
@String{j-COMPUTER = "Computer"}
@String{j-CPE = "Concurrency: Prac\-tice and Experience"}
@String{j-IEEE-ANN-HIST-COMPUT = "IEEE Annals of the History of Computing"}
@String{j-IEEE-COMPUT-SCI-ENG = "IEEE Computational Science \&
Engineering"}
@String{j-IEEE-SOFTWARE = "IEEE Software"}
@String{j-IEEE-TRANS-SOFTW-ENG = "IEEE Transactions on Software Engineering"}
@String{j-INFO-PROC-LETT = "Information Processing Letters"}
@String{j-NORDISK-TIDSKR-INFORM-BEHAND = "Nordisk tidskrift for
informationsbehandling"}
@String{j-OPER-SYS-REV = "Operating Systems Review"}
@String{j-SIGNUM = "ACM SIGNUM Newsletter"}
@String{j-SIGPLAN = "ACM SIG{\-}PLAN Notices"}
@String{j-SIGSOFT = "ACM SIGSOFT Software Engineering Notes"}
@String{j-SPE = "Soft\-ware\emdash Prac\-tice and Experience"}
@String{j-STRUCT-PROGRAM = "Structured Programming"}
@String{j-TOMS = "ACM Transactions on Mathematical Software"}
@String{pub-ACADEMIC = "Academic Press"}
@String{pub-ACADEMIC:adr = "New York, USA"}
@String{pub-ACM = "ACM Press"}
@String{pub-ACM:adr = "New York, NY 10036, USA"}
@String{pub-AW = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr = "Reading, MA, USA"}
@String{pub-IEEE = "IEEE Computer Society Press"}
@String{pub-IEEE:adr = "1109 Spring Street, Suite 300, Silver
Spring, MD 20910, USA"}
@String{pub-MIT = "MIT Press"}
@String{pub-MIT:adr = "Cambridge, MA, USA"}
@String{pub-NORTH-HOLLAND = "North-Holland Publishing Co."}
@String{pub-NORTH-HOLLAND:adr = "Amsterdam, The Netherlands"}
@String{pub-PH = "Pren{\-}tice-Hall"}
@String{pub-PH:adr = "Upper Saddle River, NJ 07458, USA"}
@String{pub-SV = "Spring{\-}er-Ver{\-}lag"}
@String{pub-SV:adr = "Berlin, Germany~/ Heidelberg,
Germany~/ London, UK~/ etc."}
@String{ser-LNCS = "Lecture Notes in Computer Science"}
@Article{BrinchHansen:1966:CCS,
author = "Per {Brinch Hansen} and Roger House",
title = "The {COBOL} Compiler for the {Siemens 3003}",
journal = j-NORDISK-TIDSKR-INFORM-BEHAND,
volume = "6",
number = "1",
pages = "1--23",
month = mar,
year = "1966",
CODEN = "BITTEL, NBITAB",
DOI = "https://doi.org/10.1007/BF01939545",
ISSN = "0006-3835 (print), 1572-9125 (electronic)",
ISSN-L = "0006-3835",
bibdate = "Wed Jan 4 18:52:09 MST 2006",
bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0006-3835&volume=6&issue=1;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/bit.bib",
URL = "http://brinch-hansen.net/papers/1966a.pdf;
http://www.springerlink.com/openurl.asp?genre=article&issn=0006-3835&volume=6&issue=1&spage=1",
acknowledgement = ack-nhfb,
journal-URL = "http://link.springer.com/journal/10543",
}
@TechReport{BrinchHansen:1966:DCR,
author = "Per {Brinch Hansen} and Peter Kraft",
title = "Design Considerations for the {RC 4000} Computer",
type = "Report",
institution = "A/S Regnecentralen",
address = "Copenhagen, Denmark",
pages = "46",
month = mar,
year = "1966",
bibdate = "Thu Jul 21 11:16:45 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1966b.pdf",
abstract = "The RC 4000 computer which will be developed by
Regnecentralen in 1966 is a low-cost computer oriented
towards process control applications. The present
report deals with the choice of data and instruction
formats, storage addressing, arithmetic, input-output
control, and special multiprogramming features.",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1967:LSR,
author = "Per {Brinch Hansen}",
title = "The logical structure of the {RC 4000} computer",
journal = j-BIT,
volume = "7",
number = "3",
pages = "191--199",
month = sep,
year = "1967",
CODEN = "BITTEL, NBITAB",
DOI = "https://doi.org/10.1007/BF01939260",
ISSN = "0006-3835 (print), 1572-9125 (electronic)",
ISSN-L = "0006-3835",
bibdate = "Wed Jan 4 18:52:10 MST 2006",
bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0006-3835&volume=7&issue=3;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/bit.bib",
URL = "http://brinch-hansen.net/papers/1967a.pdf;
http://www.springerlink.com/openurl.asp?genre=article&issn=0006-3835&volume=7&issue=3&spage=191",
acknowledgement = ack-nhfb,
fjournal = "BIT (Nordisk tidskrift for informationsbehandling)",
journal-URL = "http://link.springer.com/journal/10543",
xxtitle = "The Logical Structure of the {RC 4000}",
}
@Article{BrinchHansen:1967:RRT,
author = "Per {Brinch Hansen}",
title = "The {RC 4000} Real-Time Control System at {Pulawy}",
journal = j-BIT,
volume = "7",
number = "4",
pages = "279--288",
month = dec,
year = "1967",
CODEN = "BITTEL, NBITAB",
DOI = "https://doi.org/10.1007/BF01939322",
ISSN = "0006-3835 (print), 1572-9125 (electronic)",
ISSN-L = "0006-3835",
bibdate = "Wed Jan 4 18:52:10 MST 2006",
bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0006-3835&volume=7&issue=4;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/bit.bib",
URL = "http://brinch-hansen.net/papers/1967b.pdf;
http://www.springerlink.com/openurl.asp?genre=article&issn=0006-3835&volume=7&issue=4&spage=279",
abstract = "This paper describes a real-time control system
implemented on the RC 4000 computer with an internal
store of 4096 words. The system permits a number of
independent programs to be executed periodically on a
time-sharing basis. The first version of the system
performs supervisory control of the ammonium nitrate
plant Pulawy II in Poland. After a description of the
Pulawy system, the choice of a time-sharing scheme and
the handling of shared facilities are discussed. This
is followed by an evaluation of the size and
performance of the system.",
acknowledgement = ack-nhfb,
fjournal = "BIT (Nordisk tidskrift for informationsbehandling)",
journal-URL = "http://link.springer.com/journal/10543",
}
@Manual{BrinchHansen:1969:RCR,
author = "Per {Brinch Hansen}",
title = "{RC-4000 Computer} Reference Manual",
number = "RCSL No: 55-D1",
organization = "A/S Regnecentralen",
address = "Copenhagen, Denmark",
edition = "Second",
pages = "85",
month = jun,
year = "1969",
bibdate = "Sat Mar 09 14:14:25 2019",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/fparith.bib",
note = "RCSL No: 55-D1.",
URL = "http://bitsavers.org/pdf/regnecentralen/RC_4000_Reference_Manual_Jun69.pdf;
http://brinch-hansen.net/papers/1969b.pdf;
http://www.math.utah.edu/~beebe/RC-4000",
acknowledgement = ack-nhfb,
remark = "The RC-4000 has a 24-bit word, and supplies 12-bit and
24-bit integer arithmetic, and 48-bit floating-point
arithmetic. The latter has a signed 36-bit normalized
two's-complement binary fraction stored at the left of
a double word, followed by a 12-bit two's-complement
signed exponent. The representable range is therefore
[-0x1p-2049, +0x1p2047), or about [-1.547e-617,
1.615e+161]. The sign, and zero value, can be
determined by examining only the first word. Its
floating-point arithmetic can exactly represent 35-bit
integer arithmetic.",
tableofcontents = "1. RC 4000 Specifications / 9 \\
2. Design Considerations / 11 \\
2.1. Word Length / 11 \\
2.2. Register Structure / 11 \\
2.3. Address Modification / 11 \\
2.4. Monitor Control / 12 \\
2.5. Input/Output Control / 13 \\
3. Data and Instruction Formats / 15 \\
3.1. Data Formats / 15 \\
3.2. Storage Addressing / 15 \\
3.3. Working Registers / 16 \\
3.4. Instruction Format / 17 \\
3.5. Address Modify Instruction / 18 \\
4. Integer Arithmetic / 19 \\
4.1. Number Representation / 19 \\
4.2. Byte Arithmetic / 19 \\
4.3. Multiplication and Division / 20 \\
4.4. Overflow and Carry Indication / 21 \\
5. Floating-Point Arithmetic / 22 \\
5.1. Number Representation / 22 \\
5.2. Arithmetic Operations / 23 \\
5.3. Normalization and Rounding / 23 \\
5.4. Precision Modes / 24 \\
5.5. Underflow, Overflow, and Non-Normalized Operands /
25 \\
5.6. Number Conversion / 26 \\
5.7. Exact Arithmetic with Floating-Point Instructions
/ 26 \\
6. Protection System / 28 \\
6.1. Storage Protection / 28 \\
6.2. Privileged Instructions / 29 \\
6.3. Summary of Protection System / 29 \\
6.4. An Example of Protected Areas / 30 \\
7. Interruption System / 32 \\
7.1. Interruption Logic / 32 \\
7.2. Interruption Conditions / 33 \\
8. Low-Speed Data Channel / 35 \\
8.1. Main Characteristics / 35 \\
8.2. Input/Output Instruction / 35 \\
8.3. Channel Operation / 36 \\
8.4. Disconnected and Busy Indication / 37 \\
8.5. Device Commands / 37 \\
8.6. Read / 37 \\
8.7. Sense / 37 \\
8.8. Write / 38 \\
8.9. Control / 39 \\
8.10. Summary of Low-Speed Channel / 39 \\
9. High-Speed Data Channel / 41 \\
10. Standard Peripheral Devices / 43 \\
10.1. Console Devices / 43 \\
10.2. Interval Timer / 43 \\
11. Operator Control Panel / 44 \\
11.1. Indicators and Control Keys / 44 \\
11.2. Machine Errors / 44 \\
11.3. Reset Control / 44 \\
11.4. Start Control / 45 \\
11.5. Autoload Control / 45 \\
11.6. Local/Remote Indication / 46 \\
12. Technical Control Panel / 47 \\
12.1. Operating Modes / 47 \\
12.2. Instruction Step Keys / 47 \\
12.3. Register Setting and Display / 47 \\
12.4. Microinstruction Selection and Display / 48 \\
12.5. Parity Control / 48 \\
13. Instruction Set / 49 \\
14. Definition of Instructions / 51 \\
14.1. Algol Notation / 51 \\
14.2. Register Structure / 51 \\
14.3. Elementary Operations / 54 \\
14.4. Control Panel Functions / 55 \\
14.5. Instruction Fetch Cycle / 55 \\
14.6. Protection Procedures / 56 \\
14.7. Arithmetic Procedures / 57 \\
14.8. Instruction Execution / 58 \\
Appendix / 79 \\
A.1. Reserved Storage Locations / 79 \\
A.2. Numeric Instruction Codes / 80 \\
A.3. Instruction Execution Times / 81 \\
Index / 83",
}
@InCollection{BrinchHansen:1969:RSMa,
author = "Per {Brinch Hansen}",
booktitle = "{RC 4000} Software: Multiprogramming System, {Part I}:
General Description",
title = "{RC 4000} Software: Multiprogramming System",
publisher = "Regnecentralen",
address = "Copenhagen, Denmark",
pages = "13--52",
year = "1969",
bibdate = "Thu Jul 21 11:42:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1969a.pdf",
acknowledgement = ack-nhfb,
}
@Manual{BrinchHansen:1969:RSMb,
author = "Per {Brinch Hansen}",
title = "{RC 4000} Software Multiprogramming System
(complete)",
organization = "A/S Regnecentralen",
address = "Copenhagen, Denmark",
edition = "Second",
pages = "159",
month = apr,
year = "1969",
bibdate = "Thu Jul 21 11:55:32 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
note = "RCSL No: 55-D17.",
URL = "http://brinch-hansen.net/papers/1969b.pdf;
http://brinch-hansen.net/papers/1969c.pdf",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1970:NMS,
author = "Per {Brinch Hansen}",
title = "The Nucleus of a Multiprogramming System",
journal = j-CACM,
volume = "13",
number = "4",
pages = "238--241, 250",
month = apr,
year = "1970",
CODEN = "CACMA2",
DOI = "https://doi.org/10.1145/362258.362278",
ISSN = "0001-0782 (print), 1557-7317 (electronic)",
ISSN-L = "0001-0782",
bibdate = "Tue Mar 25 13:26:09 MST 1997",
bibsource = "Compendex database;
ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
URL = "http://brinch-hansen.net/papers/1970a.pdf",
abstract = "The philosophy and structure is described of a
multiprogramming system that can be extended with a
hierarchy of operating systems to suit diverse
requirements of program scheduling and resource
allocation. The system nucleus simulates an environment
in which program execution and input\slash output are
handled uniformly as parallel, cooperating processes. A
fundamental set of primitives allows the dynamic
creation and control of a hierarchy of processes as
well as the communication among them.",
acknowledgement = ack-nhfb,
classcodes = "C6150J (Operating systems)",
corpsource = "A/S Regnecentralen, Copenhagen, Denmark",
fjournal = "Communications of the ACM",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J79",
journalabr = "Commun ACM",
keywords = "computers; computers, time sharing; multiprogramming;
operating systems",
}
@InProceedings{BrinchHansen:1971:ARR,
author = "Per {Brinch Hansen}",
title = "An Analysis of Response Ratio Scheduling",
crossref = "Freiman:1971:IPP",
pages = "479--484",
year = "1971",
bibdate = "Tue Jul 26 10:49:47 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
https://dblp.org",
acknowledgement = ack-nhfb,
biburl = "https://dblp.org/rec/conf/ifip/Hansen71.bib",
}
@InProceedings{BrinchHansen:1971:STS,
author = "Per {Brinch Hansen}",
booktitle = "Proceedings of the third symposium on Operating
systems principles --- {SOSP '71}",
title = "Short-term scheduling in multiprogramming systems",
publisher = pub-ACM,
address = pub-ACM:adr,
year = "1971",
DOI = "https://doi.org/10.1145/800212.806506",
bibdate = "Thu Jul 21 08:23:24 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1972:CTS,
author = "Per {Brinch Hansen}",
title = "A Comparison of Two Synchronizing Concepts",
journal = j-ACTA-INFO,
volume = "1",
number = "3",
pages = "190--199",
month = feb,
year = "1972",
CODEN = "AINFA2",
ISSN = "0001-5903 (print), 1432-0525 (electronic)",
ISSN-L = "0001-5903",
bibdate = "Wed Dec 10 14:35:02 1986",
bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Compiler/bevan.bib;
ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold/Pre.1975.bib;
ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
ftp://ftp.ira.uka.de/pub/bibliography/Parallel/Multi.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/actainfo.bib",
note = "See comments \cite{Courtois:1972:CCT} and reply
\cite{BrinchHansen:1973:RCC}.",
annote = "Also, reply to Acta Inf., Vol.2 No.2, pp.189--190,
Aug.1973",
fjournal = "Acta Informatica",
journal-URL = "http://link.springer.com/journal/236",
owner = "seufert",
}
@InProceedings{BrinchHansen:1972:OCO,
author = "Per {Brinch Hansen}",
editor = "C. A. R. Hoare and R. H. Perrott",
booktitle = "{Operating Systems Techniques, Proceedings of a
Seminar at Queen's University, Belfast, Northern
Ireland, August--September 1971}",
title = "An outline of a course on operating system
principles",
publisher = pub-ACADEMIC,
address = pub-ACADEMIC:adr,
pages = "29--36",
year = "1972",
bibdate = "Thu Jul 21 11:24:58 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1971a.pdf",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1972:SM,
author = "Per {Brinch Hansen}",
title = "Structured Multiprogramming",
journal = j-CACM,
volume = "15",
number = "7",
pages = "574--578",
month = jul,
year = "1972",
CODEN = "CACMA2",
DOI = "https://doi.org/10.1145/361454.361473",
ISSN = "0001-0782 (print), 1557-7317 (electronic)",
ISSN-L = "0001-0782",
bibdate = "Mon Jan 22 06:48:15 MST 2001",
bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Object/Nierstrasz.bib;
ftp://ftp.ira.uka.de/pub/bibliography/Os/os.bib;
http://dblp.uni-trier.de/db/journals/cacm/cacm15.html#Hansen72;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
URL = "http://brinch-hansen.net/papers/1972a.pdf",
acknowledgement = ack-nhfb,
annote = "This paper presents a proposal for structured
representation of multiprogramming in a high level
language. Shared variables are introduced, and their
role in `critical regions (denoted by the structured
statement region var do Statement)' is discussed. A
synchronization primitive `await Boolean' delays a
process until the components of a shared variable
satisfy the boolean expression. For explicit control of
the scheduling of resources, an event queue is
associated with a shared variable, and two procedures
await (event) (leave a critical region associated with
the shared variable and join the event queue) and cause
(event) (enable all processes in the event queue to
reenter their critical regions) are provided, which can
control process scheduling to any degree desired.",
classcodes = "C6150J (Operating systems)",
corpsource = "California Inst. Technol., Pasadena, CA, USA",
fjournal = "Communications of the ACM",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J79",
keywords = "concurrency; critical regions; event variables; high
level; language; multiprogramming; operating systems;
structured multiprogramming",
oldlabel = "Hansen72",
treatment = "P Practical",
XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Hansen72",
}
@Article{BrinchHansen:1972:STS,
author = "Per {Brinch Hansen}",
title = "Short-term scheduling in multiprogramming systems",
journal = j-OPER-SYS-REV,
volume = "6",
number = "1--2",
pages = "101--105",
month = jun,
year = "1972",
CODEN = "OSRED8",
DOI = "https://doi.org/10.1145/850614.850633",
ISSN = "0163-5980 (print), 1943-586X (electronic)",
ISSN-L = "0163-5980",
bibdate = "Sat Aug 26 08:55:33 MDT 2006",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/opersysrev.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGOPS Operating Systems Review",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597",
}
@Article{BrinchHansen:1973:CPC,
author = "Per {Brinch Hansen}",
title = "Concurrent Programming Concepts",
journal = j-COMP-SURV,
volume = "5",
number = "4",
pages = "223--245",
month = dec,
year = "1973",
CODEN = "CMSVAN",
DOI = "https://doi.org/10.1145/356622.356624",
ISSN = "0010-4892",
ISSN-L = "0360-0300",
bibdate = "Thu Jun 19 09:17:30 MDT 2008",
bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Wiederhold.bib;
http://www.acm.org/pubs/contents/journals/surveys/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/compsurv.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM Computing Surveys",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204",
}
@Article{BrinchHansen:1973:RCC,
author = "Per {Brinch Hansen}",
title = "A Reply to Comments on {{\em A Comparison of Two
Synchronizing Concepts}}",
journal = j-ACTA-INFO,
volume = "2",
number = "??",
pages = "189--190",
month = "????",
year = "1973",
CODEN = "AINFA2",
ISSN = "0001-5903 (print), 1432-0525 (electronic)",
ISSN-L = "0001-5903",
bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/actainfo.bib",
note = "See \cite{BrinchHansen:1972:CTS,Courtois:1972:CCT}.",
fjournal = "Acta Informatica",
journal-URL = "http://link.springer.com/journal/236",
}
@InCollection{BrinchHansen:1973:SC,
author = "Per {Brinch Hansen}",
booktitle = "Operating System Principles",
title = "Shared Classes",
publisher = pub-PH,
address = pub-PH:adr,
pages = "226--232",
year = "1973",
bibdate = "Thu Jul 21 11:35:49 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1973b.pdf",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1973:TMS,
author = "Per {Brinch Hansen}",
title = "Testing a Multiprogramming System",
journal = j-SPE,
volume = "3",
number = "2",
pages = "145--150",
month = apr # "\slash " # jun,
year = "1973",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380030206",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1973c.pdf",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "4 Oct 2011",
}
@InProceedings{BrinchHansen:1974:PMO,
author = "Per {Brinch Hansen}",
editor = "Jack L. Rosenfeld",
booktitle = "Information Processing, Proceedings of the {6th IFIP
Congress 1974, Stockholm, Sweden, August 5--10, 1974}",
title = "A Programming Methodology for Operating System
Design",
publisher = pub-NORTH-HOLLAND,
address = pub-NORTH-HOLLAND:adr,
pages = "394--397",
year = "1974",
bibdate = "Tue Jul 26 10:57:22 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
https://dblp.org",
acknowledgement = ack-nhfb,
biburl = "https://dblp.org/rec/conf/ifip/Hansen74.bib",
}
@Article{BrinchHansen:1975:PCP,
author = "Per {Brinch Hansen}",
title = "The purpose of {Concurrent PASCAL}",
journal = j-SIGPLAN,
volume = "10",
number = "6",
pages = "305--309",
month = jun,
year = "1975",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/800027.808452",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sat Apr 25 11:46:37 MDT 1998",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1970.bib",
acknowledgement = ack-nhfb,
classification = "C6110 (Systems analysis and programming); C6140D
(High level languages); C6150J (Operating systems)",
conflocation = "Los Angeles, CA, USA; 21-23 April 1975",
conftitle = "International Conference on Reliable Software",
corpsource = "Information Sci., California Inst. of Technol.,
Pasadena, CA, USA",
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "compiler; computer operating systems; Concurrent
PASCAL; concurrent programming; hierarchical design;
hierarchical operating systems; monitor concept;
operating systems (computers); problem oriented
languages; programming; programming language;
scheduling; shared data structures; structured
multiprogramming; structured programming",
sponsororg = "IEEE; ACM; et al",
treatment = "A Application; P Practical",
}
@Article{BrinchHansen:1975:PLCa,
author = "Per {Brinch Hansen}",
title = "The programming language {Concurrent Pascal}",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "SE-1",
number = "2",
pages = "199--207",
month = jun,
year = "1975",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/TSE.1975.6312840",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Feb 1 08:07:37 MST 2018",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/ieeetranssoftweng1970.bib",
URL = "http://brinch-hansen.net/papers/1975a.pdf;
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6312840",
abstract = "The paper describes a new programming language for
structured programming of computer operating systems.
It extends the sequential programming language Pascal
with concurrent programming tools called processes and
monitors. Section I explains these concepts informally
by means of pictures illustrating a hierarchical design
of a simple spooling system. Section II uses the same
example to introduce the language notation. The main
contribution of Concurrent Pascal is to extend the
monitor concept with an explicit hierarchy of access
rights to shared data structures that can be stated in
the program text and checked by a compiler",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}
@InProceedings{BrinchHansen:1975:PLCb,
author = "Per {Brinch Hansen}",
editor = "Friedrich L. Bauer and Klaus Samelson",
booktitle = "Language Hierarchies and Interfaces, {International
Summer School, Marktoberdorf, Germany, July 23--August
2, 1975}",
title = "The programming language {Concurrent Pascal}",
volume = "46",
publisher = pub-SV,
address = pub-SV:adr,
pages = "82--110",
year = "1975",
DOI = "https://doi.org/10.1007/3-540-07994-7_50",
bibdate = "Tue Jul 26 10:54:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
https://dblp.org",
series = ser-LNCS,
acknowledgement = ack-nhfb,
biburl = "https://dblp.org/rec/conf/ac/Hansen75.bib",
}
@Article{BrinchHansen:1975:UTC,
author = "Per {Brinch Hansen}",
title = "Universal Types in {Concurrent Pascal}",
journal = j-INFO-PROC-LETT,
volume = "3",
number = "6",
pages = "165--166",
day = "??",
month = jul,
year = "1975",
CODEN = "IFPLAT",
ISSN = "0020-0190 (print), 1872-6119 (electronic)",
ISSN-L = "0020-0190",
bibdate = "Tue Nov 17 10:49:43 MST 1998",
bibsource = "Compendex database;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/infoproc1970.bib",
acknowledgement = ack-nhfb,
classification = "723; C6130 (Data handling techniques); C6140D (High
level languages); C6150J (Operating systems)",
corpsource = "California Inst. of Technol., Pasadena, CA, USA",
fjournal = "Information Processing Letters",
journal-URL = "http://www.sciencedirect.com/science/journal/00200190/",
journalabr = "Inf Process Lett",
keywords = "abstract programming language; character sets;
computer operating systems; computer programming
languages; Concurrent Pascal; operating systems
(computers); problem oriented languages; structured
programming; system programming; universal types",
treatment = "P Practical",
}
@Article{BrinchHansen:1976:DSC,
author = "Per {Brinch Hansen}",
title = "Disk Scheduling at Compile Time",
journal = j-SPE,
volume = "6",
number = "2",
pages = "201--205",
month = apr # "\slash " # jun,
year = "1976",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380060205",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@InCollection{BrinchHansen:1976:PYD,
author = "Per {Brinch Hansen}",
editor = "P. Sveistrup and P. Naur and H. B. Hansen and C.
Gram",
booktitle = "{Niels Ivar Bech} --- en epoke i edb-udviklingen i
{Danmark}. ({Danish}) [{Niels Ivar Bech} --- an epoch
in data processing development in Denmark]",
title = "The Programmer as a Young Dog",
publisher = "Data",
address = "Copenhagen, Denmark",
pages = "65--68",
year = "1976",
bibdate = "Thu Jul 21 12:03:24 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
note = "translation to English by the author.",
URL = "http://brinch-hansen.net/papers/1976e.pdf",
abstract = "This autobiographical sketch describes the beginning
of the author's career at the Danish computer company
Regnecentralen from 1963 to 1970. (The title is
inspired by James Joyce's ``A Portrait of the Artist as
a Young Man'' and Dylan Thomas's ``Portrait of the
Artist as a Young Dog.'') After three years in
Regnecentralen's compiler group, the author got the
chance to design the architecture of the RC 4000
computer. In 1967, he became Head of the Software
Development group that designed the RC 4000
multiprogramming system. The article was written in
memory of Niels Ivar Bech, the dynamic director of
Regnecentralen, who inspired a generation of young
Danes to make unique contributions to computing.",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1976:SOSa,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: a {Concurrent Pascal}
Program",
journal = j-SPE,
volume = "6",
number = "2",
pages = "141--149",
month = apr # "\slash " # jun,
year = "1976",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380060202",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1976b.pdf",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1976:SOSb,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: Job Interface",
journal = j-SPE,
volume = "6",
number = "2",
pages = "151--164",
month = apr # "\slash " # jun,
year = "1976",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380060203",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1976:SOSc,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: Processes, Monitors, and
Classes",
journal = j-SPE,
volume = "6",
number = "2",
pages = "165--200",
month = apr # "\slash " # jun,
year = "1976",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380060204",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1976c.pdf",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1977:BRS,
author = "Per {Brinch Hansen}",
title = "Book Review: {{\booktitle{Studies in operating
systems}}, R. M. McKeag and R. Wilson, edited by D. H.
R. Huxtable, academic press, London, 1976. no. of
pages: 263. price: \pounds 8.50}",
journal = j-SPE,
volume = "7",
number = "2",
pages = "302--303",
month = mar,
year = "1977",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380070228",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Wed Sep 10 12:36:39 MDT 2014",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@InCollection{BrinchHansen:1977:DP,
author = "Per {Brinch Hansen}",
title = "Design Principles",
crossref = "BrinchHansen:1977:ACP",
pages = "3--14",
year = "1977",
bibdate = "Thu Jul 21 12:09:57 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1977c.pdf",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1977:EMC,
author = "Per {Brinch Hansen}",
title = "Experience with Modular Concurrent Programming",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "{SE-3}",
number = "2",
pages = "156--159",
month = mar,
year = "1977",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/tse.1977.229907",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Jul 21 08:49:10 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1977a.pdf",
abstract = "This paper summarizes the initial experience with the
programming language Concurrent Pascal in the design of
three model operating systems. A Concurrent Pascal
program consists of modules called processes, monitors,
and classes. The compiler checks that the data
structures of each module are accessed only by the
operations defined in the module. The author emphasizes
that the creative aspect of program construction is the
initial selection of modules and the connection of them
into hierarchical structures. By comparison the
detailed implementation of each module is
straightforward. The most important result is that it
is possible to build a concurrent program of one
thousand lines out of one-page modules that can be
comprehended at a glance.",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}
@Article{BrinchHansen:1978:DPC,
author = "Per {Brinch Hansen}",
title = "Distributed Processes: a Concurrent Programming
Concept",
journal = j-CACM,
volume = "21",
number = "11",
pages = "934--941",
month = nov,
year = "1978",
CODEN = "CACMA2",
DOI = "https://doi.org/10.1145/359642.359651",
ISSN = "0001-0782 (print), 1557-7317 (electronic)",
ISSN-L = "0001-0782",
bibdate = "Mon Jan 22 06:48:16 MST 2001",
bibsource = "Compendex database;
ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
ftp://ftp.ira.uka.de/pub/bibliography/Misc/os.bib;
ftp://ftp.ira.uka.de/pub/bibliography/Parallel/par.synch.bib;
http://dblp.uni-trier.de/db/journals/cacm/cacm21.html#Hansen78;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cacm1970.bib",
URL = "http://brinch-hansen.net/papers/1978a.pdf",
abstract = "A language concept for concurrent processes without
common variables is introduced. These processes
communicate and synchronize by means of procedure calls
and guarded regions. This concept is proposed for
real-time applications controlled by microcomputer
networks with distributed storage. The paper gives
several examples of distributed processes and shows
that they include procedures, coroutines, classes,
monitors, processes, semaphores, buffers, path
expressions, and input-output as special cases.",
acknowledgement = ack-nhfb,
annote = "Dated, but it's one of those papers that will always
be referenced. This is an early paper which proposes
having a Boolean guard at the start of a procedure. The
procedure is not allowed to execute until the guard
becomes true. This paper is also a reference for the
Shortest Job Next (SJN) scheduler.",
classcodes = "C4240 (Programming and algorithm theory); C6140D (High
level languages)",
classification = "723",
corpsource = "Univ. of Southern California, Los Angeles, CA, USA",
fjournal = "Communications of the ACM",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J79",
journalabr = "Commun ACM",
keywords = "buffers; classes; communication; computer programming
languages; concurrency; concurrent programming;
coroutines; distributed; distributed processes;
expressions; guarded command; guarded regions;
input/output; k-boolean-guards; k-shortest-job-next;
language concept; microcomputer networks; monitors;
operating synchronization; parallel processing; path;
path expressions; procedure calls; procedures;
processes; programming theory; semaphores; storage",
oldlabel = "Hansen78",
treatment = "T Theoretical or Mathematical",
XMLdata = "ftp://ftp.informatik.uni-trier.de/pub/users/Ley/bib/records.tar.gz#journals/cacm/Hansen78",
}
@InProceedings{BrinchHansen:1978:MACa,
author = "Per {Brinch Hansen}",
editor = "Richard H. Austing and Dennis M. Conti and Gerald L.
Engel",
booktitle = "Proceedings of the {1978 ACM Annual Conference,
Washington, DC, USA, December 4--6, 1978, Volume I}",
title = "Multiprocessor Architectures For Concurrent Programs",
publisher = pub-ACM,
address = pub-ACM:adr,
pages = "317--323",
year = "1978",
DOI = "https://doi.org/10.1145/800127.804119",
bibdate = "Thu Jul 21 08:20:28 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://doi.org/10.1145/800127.804119",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1978:MACb,
author = "Per {Brinch Hansen}",
title = "Multiprocessor architectures for concurrent programs",
journal = j-COMP-ARCH-NEWS,
volume = "7",
number = "4",
pages = "4--23",
month = dec,
year = "1978",
CODEN = "CANED2",
DOI = "https://doi.org/10.1145/641829.641830",
ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)",
ISSN-L = "0163-5964",
bibdate = "Fri May 12 09:41:05 MDT 2006",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigarch.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGARCH Computer Architecture News",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89",
}
@Article{BrinchHansen:1978:NMP,
author = "Per {Brinch Hansen}",
title = "{Network}: a Multiprocessor Program",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "{SE-4}",
number = "3",
pages = "194--199",
month = may,
year = "1978",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/tse.1978.231498",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Jul 21 08:53:25 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1977d.pdf",
abstract = "This paper explores the problems of implementing
arbitrary forms of process communication on a
multiprocessor network. It develops a Concurrent Pascal
program that enables distributed processes to
communicate on virtual channels. The channels cannot
deadlock and will deliver all messages within a finite
time. The operation, structure, text, and performance
of this program are described. It was written, tested,
and described in two weeks and it worked immediately.",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}
@Article{BrinchHansen:1978:RTM,
author = "Per {Brinch Hansen}",
title = "Reproducible testing of monitors",
journal = j-SPE,
volume = "8",
number = "6",
pages = "721--729",
month = nov # "\slash " # dec,
year = "1978",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380080607",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1978b.pdf",
abstract = "This paper describes a systematic method for testing
monitor modules which control process interactions in
concurrent programs. A monitor is tested by executing a
concurrent program in which the processes are
synchronized by a clock to make the sequence of
interactions reproducible. The method separates the
construction and implementation of test cases and makes
the analysis of a concurrent experiment similar to the
analysis of a sequential program. The implementation of
a test program is almost mechanical. The method, which
is illustrated by an example, has been used
successfully to test a multicomputer network program
written in Concurrent Pascal",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1978:SIM,
author = "Per {Brinch Hansen} and J{\o}rgen Staunstrup",
title = "Specification and Implementation of Mutual Exclusion",
journal = j-IEEE-TRANS-SOFTW-ENG,
volume = "{SE}-4",
number = "5",
pages = "365--370",
month = sep,
year = "1978",
CODEN = "IESEDJ",
DOI = "https://doi.org/10.1109/tse.1978.233856",
ISSN = "0098-5589 (print), 1939-3520 (electronic)",
ISSN-L = "0098-5589",
bibdate = "Thu Jul 21 08:51:12 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Transactions on Software Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=32",
}
@Article{BrinchHansen:1979:AC,
author = "Per {Brinch Hansen}",
title = "{Author}'s correction",
journal = j-SPE,
volume = "9",
number = "10",
pages = "879--880",
month = oct,
year = "1979",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380091010",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Wed Sep 10 12:36:39 MDT 2014",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1979:KAC,
author = "Per {Brinch Hansen}",
title = "A Keynote Address on Concurrent Programming",
journal = j-COMPUTER,
volume = "12",
number = "5",
pages = "50--56",
month = may,
year = "1979",
CODEN = "CPTRB4",
DOI = "https://doi.org/10.1109/MC.1979.1658745",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Thu Dec 12 07:20:54 MST 1996",
bibsource = "Compendex database;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/computer1970.bib",
URL = "http://brinch-hansen.net/papers/1978c.pdf",
abstract = "Evolution of ideas of concurrent programming is
highlighted along with description of major
difficulties of program testing and solution of this
problem. The problems of distributed processing are
considered by computer networks in which processors
communicate by input\slash output only (without any
common storage).",
acknowledgement = ack-nhfb,
classification = "723",
fjournal = "Computer",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
journalabr = "Computer",
keywords = "computer networks; computer systems programming;
computer systems, digital --- time sharing",
remark = "Delivered at COMPSAC 78.",
}
@Article{BrinchHansen:1979:MC,
author = "Per {Brinch Hansen} and Charles Hayden",
title = "Microcomputer Comparison",
journal = j-SPE,
volume = "9",
number = "3",
pages = "211--217",
month = mar,
year = "1979",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380090306",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1980:TOS,
author = "Per {Brinch Hansen} and Jon Fellows",
title = "The {Trio} Operating System",
journal = j-SPE,
volume = "10",
number = "11",
pages = "943--948",
month = nov,
year = "1980",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380101107",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@InCollection{Brauer:1981:BM,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Back Matter",
crossref = "Brauer:1981:PLA",
pages = "207--243",
year = "1981",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/content/pdf/bbm:978-3-540-38620-9/1",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:DT,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Declarations and Types",
crossref = "Brauer:1981:PLA",
pages = "15--45",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_3",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_3",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:E,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Exceptions",
crossref = "Brauer:1981:PLA",
pages = "143--153",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_11",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_11",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:FM,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Front Matter",
crossref = "Brauer:1981:PLA",
pages = "i--x",
year = "1981",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/content/pdf/bfm:978-3-540-38620-9/1",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:GPU,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Generic Program Units",
crossref = "Brauer:1981:PLA",
pages = "155--167",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_12",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_12",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:I,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Introduction",
crossref = "Brauer:1981:PLA",
pages = "1--6",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_1",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_1",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:IO,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Input-Output",
crossref = "Brauer:1981:PLA",
pages = "183--206",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_14",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_14",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:LE,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Lexical Elements",
crossref = "Brauer:1981:PLA",
pages = "7--13",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_2",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_2",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:NE,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Names and Expressions",
crossref = "Brauer:1981:PLA",
pages = "47--71",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_4",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_4",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:P,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Packages",
crossref = "Brauer:1981:PLA",
pages = "93--103",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_7",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_7",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:PSC,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Program Structure and Compilation Issues",
crossref = "Brauer:1981:PLA",
pages = "131--141",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_10",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_10",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:RSI,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Representation Specifications and Implementation
Dependent Features",
crossref = "Brauer:1981:PLA",
pages = "169--181",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_13",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_13",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:Sa,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Statements",
crossref = "Brauer:1981:PLA",
pages = "73--82",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_5",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_5",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:Sb,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Subprograms",
crossref = "Brauer:1981:PLA",
pages = "83--92",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_6",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_6",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:T,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Tasks",
crossref = "Brauer:1981:PLA",
pages = "115--130",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_9",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_9",
acknowledgement = ack-nhfb,
}
@InCollection{Brauer:1981:VR,
author = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
title = "Visibility Rules",
crossref = "Brauer:1981:PLA",
pages = "105--114",
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6_8",
bibdate = "Tue Jul 26 11:31:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://link.springer.com/chapter/10.1007/3-540-10693-6_8",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1981:DE,
author = "Per {Brinch Hansen}",
title = "The design of {Edison}",
journal = j-SPE,
volume = "11",
number = "4",
pages = "363--396",
month = apr,
year = "1981",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380110404",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1981b.pdf",
abstract = "This paper describes the considerations behind the
design of the programming language Edison including the
reasons why a large number of well-known language
features were excluded. It also discusses the
linguistic problems of writing a concise language
report.",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1981:EML,
author = "Per {Brinch Hansen}",
title = "{Edison}---a multiprocessor language",
journal = j-SPE,
volume = "11",
number = "4",
pages = "325--361",
month = apr,
year = "1981",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380110403",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
xxpages = "325--359",
}
@Article{BrinchHansen:1981:EP,
author = "Per {Brinch Hansen}",
title = "{Edison} Programs",
journal = j-SPE,
volume = "11",
number = "4",
pages = "397--414",
month = apr,
year = "1981",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380110405",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1981:GEG,
author = "Per {Brinch Hansen}",
title = "Guest Editorial: Guest editorial",
journal = j-SPE,
volume = "11",
number = "4",
pages = "323--323",
month = apr,
year = "1981",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380110402",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Wed Sep 10 12:36:39 MDT 2014",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "27 Oct 2006",
}
@Article{BrinchHansen:1983:UPC,
author = "Per {Brinch Hansen}",
title = "Using personal computers in operating system courses",
journal = j-OPER-SYS-REV,
volume = "17",
number = "3",
pages = "41--44",
month = jul,
year = "1983",
CODEN = "OSRED8",
DOI = "https://doi.org/10.1145/850742.850747",
ISSN = "0163-5980 (print), 1943-586X (electronic)",
ISSN-L = "0163-5980",
bibdate = "Sat Aug 26 08:55:45 MDT 2006",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/opersysrev.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGOPS Operating Systems Review",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J597",
}
@Article{BrinchHansen:1987:JI,
author = "Per {Brinch Hansen}",
title = "A {Joyce} Implementation",
journal = j-SPE,
volume = "17",
number = "4",
pages = "267--276",
month = apr,
year = "1987",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380170403",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "30 Oct 2006",
}
@Article{BrinchHansen:1987:JPL,
author = "Per {Brinch Hansen}",
title = "{Joyce} --- a Programming Language for Distributed
Systems",
journal = j-SPE,
volume = "17",
number = "1",
pages = "29--50",
month = jan,
year = "1987",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380170105",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1987a.pdf",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "30 Oct 2006",
}
@TechReport{BrinchHansen:1988:JPM,
author = "Per {Brinch Hansen} and Rangachari Anand",
title = "{Joyce} Performance on a Multiprocessor",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "28",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 19",
month = sep,
year = "1988",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/28",
abstract = "Joyce is a parallel programming language based on CSP
and Pascal. The language has been moved from the IBM PC
to the Encore Multimax. The paper explains how the
multiprocessor implementation of Joyce was guided by
performance evaluation. The measurements show that the
speed-up of Joyce programs follows Amdahl's law.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1988:MIJ,
author = "Per {Brinch Hansen}",
title = "A Multiprocessor Implementation of {Joyce}",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "29",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 19",
month = sep,
year = "1988",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/29",
abstract = "Joyce is a programming language for parallel computers
based on CSP and Pascal. A Joyce program defines
concurrent agents which communicate through unbuffered
channels. This paper describes a multiprocessor
implementation of Joyce.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1989:APM,
author = "Per {Brinch Hansen}",
title = "Analysis of a Parallel Mergesort",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "55 (SU-CIS-89-03)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 17",
month = jul,
year = "1989",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/55",
abstract = "The paper describes a performance model of a
fine-grained, parallel mergesort which sorts $N$
elements in $ 0 (N)$ time using $ 0 (\log N)$
processors. The model predicts both the communication
time involved in merging the elements and the
decomposition time required to activate and terminate
the binary tree of processes. The parallel algorithm is
written in Joyce and runs on an Encore Multimax.",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1989:JLR,
author = "Per {Brinch Hansen}",
title = "The {Joyce} Language Report",
journal = j-SPE,
volume = "19",
number = "6",
pages = "553--578",
month = jun,
year = "1989",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380190605",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1989c.pdf",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "30 Oct 2006",
}
@Article{BrinchHansen:1989:MIJ,
author = "Per {Brinch Hansen}",
title = "A Multiprocessor Implementation of {Joyce}",
journal = j-SPE,
volume = "19",
number = "6",
pages = "579--592",
month = jun,
year = "1989",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380190606",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
URL = "http://brinch-hansen.net/papers/1989a.pdf",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "30 Oct 2006",
}
@TechReport{BrinchHansen:1989:NPP,
author = "Per {Brinch Hansen}",
title = "The nature of parallel programming",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "59 (SU-CIS-89-08)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "iii + 19",
month = mar,
year = "1989",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "htps://surface.syr.edu/eecs_techreports/59",
abstract = "Parallel programming is the art of writing programs
for computers that perform many operations
simultaneously. This essay discusses the nature of
parallel programming without going into technical
details. It uses a sorting problem to illustrate what
it means to solve a problem in parallel, how we write
parallel programs, how parallel computers execute them,
and how fast they run. The author expects that
scientific users of parallel computers may find ease of
programming more important than maximum performance. He
suggests ways to make this possible.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1990:APP,
author = "Per {Brinch Hansen}",
title = "The All-Pairs Pipeline",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "77 (SU-CIS-90-40)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 17",
month = dec,
year = "1990",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/77",
abstract = "An all-pairs problem is a computation on every
possible subset consisting of two elements chosen from
a set of $n$ elements. $N$-body simulation and
Householder reduction are all-pairs problems. The paper
defines the all-pairs problem concisely by means of
precedence matrices and derives a parallel algorithm.
The algorithm is presented in both coarse-grain and
medium-grain form. The all-pairs paradigm is
illustrated by a pipeline for Householder reduction of
a matrix to triangular form.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1990:BPF,
author = "Per {Brinch Hansen}",
title = "Balancing a Pipeline by Folding",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "76 (SU-CIS-90-41)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "iii + 10",
month = dec,
year = "1990",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/76/",
abstract = "A pipeline for Householder reduction is folded several
times across an array of processors to achieve
approximate load balancing. The performance of the
folded pipeline is analyzed and measured on a Computing
Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1990:HR,
author = "Per {Brinch Hansen}",
title = "{Householder} reduction",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "78 (SU-CIS-90-39)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 13",
month = dec,
year = "1990",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/householder-alston-s.bib",
URL = "htps://surface.syr.edu/eecs_techreports/78",
abstract = "This tutorial discusses Householder reduction of n
linear equations to a triangular form which can be
solved by back substitution. The main strengths of the
method are its numerical stability and suitability for
parallel computing. We explain how Householder
reduction can be derived from elementary matrix
algebra. The method is illustrated by a numerical
example and a Pascal algorithm. We assume that the
reader has a general knowledge of vector and matrix
algebra but is less familiar with linear transformation
of a vector space.",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1990:LSR,
author = "Per {Brinch Hansen}",
title = "The Linear Search Rediscovered",
journal = j-STRUCT-PROGRAM,
volume = "11",
pages = "53--55",
year = "1990",
CODEN = "STPGEM",
ISSN = "0935-1183",
bibdate = "Thu Jul 21 12:22:45 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
note = "See \cite{Dijkstra:1989:LSR}.",
URL = "http://brinch-hansen.net/papers/1990a.pdf",
acknowledgement = ack-nhfb,
fjournal = "Structured Programming",
}
@InProceedings{BrinchHansen:1990:NPP,
author = "Per {Brinch Hansen}",
editor = "M. A. Arbib and J. A. Robinson",
booktitle = "Natural and Artificial Parallel Computation",
title = "The Nature of Parallel Programming",
publisher = pub-MIT,
address = pub-MIT:adr,
pages = "31--46",
year = "1990",
bibdate = "Thu Jul 21 12:17:27 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
note = "Inaugural Symposium at Syracuse University, Syracuse,
NY, March 1989.",
URL = "http://brinch-hansen.net/papers/1989b.pdf",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1991:BP,
author = "Per {Brinch Hansen}",
title = "The {$N$}-Body Pipeline",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "120 (SU-CIS-91-09)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 11",
month = mar,
year = "1991",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/120",
abstract = "A general pipeline for all-pairs computations is
adapted for direct force summation of n bodies which
interact through gravitation only. To achieve
approximate load balance the pipeline is folded several
times across an array of processors. The performance of
the pipeline is analyzed and measured on a Computing
Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1991:DHS,
author = "Per {Brinch Hansen}",
title = "Do Hypercubes Sort Faster Than Tree Machines?",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "132 (SU-CIS-91-44)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 10",
month = dec,
year = "1991",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/132",
abstract = "We develop a balanced, parallel quicksort algorithm
for a hypercube and compare it with a similar algorithm
for a binary tree machine. The performance of the
hypercube algorithm is measured on a Computing
Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1991:GMP,
author = "Per {Brinch Hansen}",
title = "A Generic Multiplication Pipeline",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "111 (SU-CIS-91-21)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 15",
month = jul,
year = "1991",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/111",
abstract = "This paper illustrates the benefits of developing
generic algorithms for parallel programming paradigms
which can be adapted to different applications. We
consider a combinatorial problem called tuple
multiplication. This paradigm includes matrix
multiplication and the all-pairs shortest paths problem
as special cases. We develop a generic pipeline for
tuple multiplication. From the generic algorithm we
derive pipelines for matrix multiplication and shortest
paths computation by making substitutions of data types
and functions. The performance of the matrix
multiplication pipeline is analyzed and measured on a
Computing Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1991:PDC,
author = "Per {Brinch Hansen}",
title = "Parallel Divide and Conquer",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "131 (SU-CIS-91-45)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 17",
month = dec,
year = "1991",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/131",
abstract = "We develop a generic divide and conquer algorithm for
a parallel tree machine. From the generic algorithm we
derive balanced, parallel versions of quicksort and the
fast Fourier transform by substitution of data types,
variables and statements. The performance of these
algorithms is analyzed and measured on a Computing
Surface configured as a tree machine with distributed
memory.",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1992:HRL,
author = "Per {Brinch Hansen}",
title = "{Householder} Reduction of Linear Equations",
journal = j-COMP-SURV,
volume = "24",
number = "2",
pages = "185--194",
month = jun,
year = "1992",
CODEN = "CMSVAN",
DOI = "https://doi.org/10.1145/130844.130851",
ISSN = "0360-0300 (print), 1557-7341 (electronic)",
ISSN-L = "0360-0300",
bibdate = "Thu Jun 19 09:42:15 MDT 2008",
bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Database/Graefe.bib;
http://www.acm.org/pubs/contents/journals/surveys/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/householder-alston-s.bib;
http://www.math.utah.edu/pub/tex/bib/compsurv.bib",
URL = "http://brinch-hansen.net/papers/1992a.pdf;
http://www.acm.org/pubs/toc/Abstracts/0360-0300/130851.html",
abstract = "This tutorial discusses Householder reduction of n
linear equations to a triangular form which can be
solved by back substitution. The main strength of the
method is its unconditional numerical stability. We
explain how Householder reduction can be derived from
elementary-matrix algebra. The method is illustrated by
a numerical example and a Pascal procedure. We assume
that the reader has a general knowledge of vector and
matrix algebra but is less familiar with linear
transformation of a vector space.",
acknowledgement = ack-nhfb,
fjournal = "ACM Computing Surveys",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J204",
keywords = "algorithms; Householder reduction",
subject = "{\bf G.1.3}: Mathematics of Computing, NUMERICAL
ANALYSIS, Numerical Linear Algebra, Linear systems
(direct and iterative methods).",
}
@TechReport{BrinchHansen:1992:MLD,
author = "Per {Brinch Hansen}",
title = "Multiple-Length Division Revisited: a Tour of the
Minefield",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "166 (SU-CIS-92-19)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 24",
month = sep,
year = "1992",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/166",
abstract = "Long division of natural numbers plays a crucial role
in Cobol arithmetic, cryptography, and primality
testing. Only a handful of textbooks discuss the theory
and practice of long division, and none of them do it
satisfactorily. This tutorial attempts to fill this
surprising gap in the literature on computer
algorithms. We illustrate the subtleties of long
division by examples, define the problem concisely,
summarize the theory, and develop a complete Pascal
algorithm using a consistent terminology.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1992:NSL,
author = "Per {Brinch Hansen}",
title = "Numerical Solution of {Laplace}'s Equation",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "168 (SU-CIS-92-17)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 14",
month = sep,
year = "1992",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/168",
abstract = "his tutorial discusses Laplace's equation for steady
state heat flow in a two-dimensional region with fixed
temperatures on the boundaries. The equilibrium
temperatures are computed for a square grid using
successive overrelaxation with parity ordering of the
grid elements. The numerical method is illustrated by a
Pascal algorithm. We assume that the reader is familiar
with elementary calculus.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1992:PCA,
author = "Per {Brinch Hansen}",
title = "Parallel Cellular Automata: a Model Program for
Computational Science",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "167 (SU-CIS-92-18)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 29",
month = sep,
year = "1992",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/167",
abstract = "We develop a model program for parallel execution of
cellular automata on a multicomputer. The model program
is then adapted for simulation of forest fires and
numerical solution of Laplace's equation for stationary
heat flow. The performance of the parallel program is
analyzed and measured on a Computing Surface configured
as a matrix of transputers with distributed memory.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1992:PMC,
author = "Per {Brinch Hansen}",
title = "Parallel {Monte Carlo} Trials",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "171 (SU-CIS-92-11)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 8",
month = jul,
year = "1992",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/171",
abstract = "The best results of Monte Carlo methods are generally
obtained by performing the same computation many times
with different random numbers. We develop a generic
algorithm for parallel execution of Monte Carlo trials
on a multicomputer. The generic algorithm has been
adapted for simulated annealing and primality testing
by simple substitutions of data types and procedures.
The performance of the parallel algorithms was measured
on a Computing Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1992:PT,
author = "Per {Brinch Hansen}",
title = "Primality Testing",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "169 (SU-CIS-92-13)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 9",
month = jul,
year = "1992",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/169",
abstract = "This tutorial describes the Miller--Rabin method for
testing the primality of large integers. The method is
illustrated by a Pascal algorithm. The performance of
the algorithm was measured on a Computing Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1992:SA,
author = "Per {Brinch Hansen}",
title = "Simulated Annealing",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "170 (SU-CIS-02-12)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "??--??",
month = jul,
year = "1992",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/170",
abstract = "This tutorial describes simulated annealing, an
optimization method based on the principles of
statistical mechanics. Simulated annealing finds
near-optimal solutions to optimization problems that
cannot be solved exactly because they are NP-complete.
The method is illustrated by a Pascal algorithm for the
traveling salesperson problem. The performance of the
algorithm was measured on a Computing Surface.",
acknowledgement = ack-nhfb,
}
@TechReport{BrinchHansen:1993:FFT,
author = "Per {Brinch Hansen}",
title = "The {Fast Fourier Transform}",
type = "Electrical Engineering and Computer Science Technical
Report",
number = "130 (SU-CIS-91-46)",
institution = "School of Computer and Information Science, Syracuse
University",
address = "Syracuse, NY, USA",
pages = "ii + 21",
month = dec,
year = "1993",
bibdate = "Sat Jul 23 13:29:02 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "https://surface.syr.edu/eecs_techreports/130",
abstract = "This tutorial discusses the fast Fourier transform,
which has numerous applications in signal and image
processing. The FFT computes the frequency components
of a signal that has been sampled at n points in $ O(n
\log n) $ time. We explain the FFT and illustrate it by
examples and Pascal algorithms. We assume that you are
familiar with elementary calculus.",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1993:MCP,
author = "Per {Brinch Hansen}",
title = "Monitors and {Concurrent Pascal}: a personal history",
journal = j-SIGPLAN,
volume = "28",
number = "3",
pages = "1--35",
month = mar,
year = "1993",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/154766.155361",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:16:34 MST 2003",
bibsource = "http://portal.acm.org/; http://www.acm.org/pubs/toc/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
URL = "http://brinch-hansen.net/papers/1993a.pdfa;
http://www.acm.org:80/pubs/citations/proceedings/plan/154766/p1-hansen/",
abstract = "This is a personal history of the early development of
the monitor concept and its implementation in the
programming language Concurrent Pascal. The paper
explains how monitors evolved from the ideas of Dahl,
Dijkstra, Hoare, and the author (1971--1973). At
Caltech the author and his students developed and
implemented Concurrent Pascal and used it to write
several model operating systems (1974--1975). A
portable implementation of Concurrent Pascal was widely
distributed and used for system design (1976--1990).
The monitor paradigm was also disseminated in survey
papers and text books. The author ends the story by
expressing his own mixed feelings about monitors and
Concurrent Pascal.",
acknowledgement = ack-nhfb,
affiliation = "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
USA",
classification = "C6110P (Parallel programming); C6140D (High level
languages)",
confdate = "20--23 April 1993",
conflocation = "Cambridge, MA, USA",
confname = "HOPL-II. The second ACM SIGPLAN conference on History
of programming languages, April 20--23, 1993,
Cambridge, MA",
confsponsor = "ACM",
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
keywords = "algorithms; Concurrent Pascal; design; languages;
Model operating systems; Monitors; Personal history;
Programming language",
subject = "{\bf D.3.2} Software, PROGRAMMING LANGUAGES, Language
Classifications, Concurrent Pascal. {\bf K.2} Computing
Milieux, HISTORY OF COMPUTING, Software. {\bf D.3.4}
Software, PROGRAMMING LANGUAGES, Processors, Compilers.
{\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language
Constructs and Features, Procedures, functions, and
subroutines.",
thesaurus = "History; Parallel languages; Pascal; Supervisory
programs",
}
@Article{BrinchHansen:1993:MPC,
author = "Per {Brinch Hansen}",
title = "Model Programs for Computational Science: a
Programming Methodology for Multicomputers",
journal = j-CPE,
volume = "5",
number = "5",
pages = "407--423",
month = aug,
year = "1993",
CODEN = "CPEXEI",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Tue Sep 7 05:40:19 MDT 1999",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib",
URL = "http://brinch-hansen.net/papers/1993b.pdf",
abstract = "We describe a programming methodology for
computational science based on programming paradigms
for multicomputers. Each paradigm is a class of
algorithms that have the same control structure. For
every paradigm, a general parallel program is
developed. The general program is then used to derive
two or more model programs, which solve specific
problems in science and engineering. These programs
have been tested on a Computing Surface and published
with every detail open to scrutiny. We explain the
steps involved in developing model programs and
conclude that the study of programming paradigms
provides an architectural vision of parallel scientific
computing.",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@Article{BrinchHansen:1993:PCA,
author = "Per {Brinch Hansen}",
title = "Parallel Cellular Automata: a Model Program for
Computational Science",
journal = j-CPE,
volume = "5",
number = "5",
pages = "425--448",
month = aug,
year = "1993",
CODEN = "CPEXEI",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Tue Sep 7 05:40:19 MDT 1999",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib",
URL = "http://brinch-hansen.net/papers/1993c.pdf",
abstract = "We develop a generic program for parallel execution of
cellular automata on a multicomputer. The generic
program is then adapted for simulation of a forest fire
and numerical solution of Laplace's equation for
stationary heat flow. The performance of the parallel
program is analyzed and measured on a Computing Surface
configured as a matrix of transputers with distributed
memory.",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@Article{BrinchHansen:1994:DHS,
author = "Per {Brinch Hansen}",
title = "Do hypercubes sort faster than tree machines?",
journal = j-CPE,
volume = "6",
number = "2",
pages = "143--151",
month = apr,
year = "1994",
CODEN = "CPEXEI",
DOI = "https://doi.org/10.1002/cpe.4330060205",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Tue Sep 7 05:40:19 MDT 1999",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@Article{BrinchHansen:1994:ICS,
author = "Per {Brinch Hansen}",
title = "Interference control in {SuperPascal} --- a
block-structured parallel language",
journal = j-COMP-J,
volume = "37",
number = "5",
pages = "399--406",
month = "????",
year = "1994",
CODEN = "CMPJA6",
DOI = "https://doi.org/10.1093/comjnl/37.5.399",
ISSN = "0010-4620 (print), 1460-2067 (electronic)",
ISSN-L = "0010-4620",
bibdate = "Tue Dec 4 14:48:40 MST 2012",
bibsource = "http://comjnl.oxfordjournals.org/content/37/5.toc;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/compj.bib;
http://www.math.utah.edu/pub/tex/bib/compj1990.bib;
http://www3.oup.co.uk/computer_journal/Volume_37/Issue_05/Vol37_05.index.html",
URL = "http://brinch-hansen.net/papers/1994d.pdf;
http://comjnl.oxfordjournals.org/content/37/5/399.full.pdf+html;
http://www3.oup.co.uk/computer_journal/Volume_37/Issue_05/Vol37_05.body.html#AbstractHansen",
acknowledgement = ack-nhfb,
affiliation = "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
USA",
author-1-adr = "School of Computer and Information Science, Syracuse
University, Syracuse, NY 13244, USA",
classcodes = "C6140D (High level languages); C4240P (Parallel
programming and algorithm theory); C6110P (Parallel
programming); C6150C (Compilers, interpreters and other
processors)",
classification = "C4240P (Parallel programming and algorithm theory);
C6110P (Parallel programming); C6140D (High level
languages); C6150C (Compilers, interpreters and other
processors)",
corpsource = "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
USA",
fjournal = "The Computer Journal",
journal-URL = "http://comjnl.oxfordjournals.org/",
keywords = "block-structured parallel; Block-structured parallel
language; Block-structured parallel languages;
compilation; Compilation; compilers; global variables;
Global variables; insecure programming languages;
Insecure programming languages; interference control;
Interference control; language; languages; parallel;
parallel languages; parallel programming; Parallel
programming language; Parallel programs; parallel
scientific computing; Parallel scientific computing;
parallel statements; Parallel statements; Pascal;
process interference; Process interference; program;
programming language; programs; shared variables;
Shared variables; single-pass compiler; Single-pass
compiler; SuperPascal; synchronous communication
channels; Synchronous communication channels; syntactic
control; Syntactic control",
thesaurus = "Parallel languages; Parallel programming; Pascal;
Program compilers",
treatment = "P Practical",
}
@Article{BrinchHansen:1994:MLD,
author = "Per {Brinch Hansen}",
title = "Multiple-length Division Revisited: a Tour of the
Minefield",
journal = j-SPE,
volume = "24",
number = "6",
pages = "579--601",
month = jun,
year = "1994",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380240605",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Fri Nov 28 17:07:54 2003",
bibsource = "ftp://garbo.uwasa.fi/pc/doc-soft/fpbibl18.zip;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cryptography1990.bib;
http://www.math.utah.edu/pub/tex/bib/fparith.bib;
http://www.math.utah.edu/pub/tex/bib/litprog.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib;
http://www.math.utah.edu/pub/tex/bib/toms.bib",
note = "This paper derives an algorithm for division of long
integers, and implements it as a literate program,
although without identifier cross-references. See also
related work on division
\cite{BrinchHansen:1995:LDA,Regener:1984:MID} .",
URL = "http://brinch-hansen.net/papers/1994b.pdf",
abstract = "Long division of natural numbers plays a crucial role
in Cobol arithmetic, cryptography, and primality
testing. Only a handful of textbooks discuss the theory
and practice of long division, and none of them do it
satisfactorily. This tutorial attempts to fill this
surprising gap in the literature on computer
algorithms. We illustrate the subtleties of long
division by examples, define the problem concisely,
summarize the theory, and develop a complete Pascal
algorithm using a consistent terminology.",
acknowledgement = ack-nj # " and " # ack-mfc # " and " # ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
keywords = "algorithms; multiple-length integer division",
onlinedate = "30 Oct 2006",
}
@Article{BrinchHansen:1994:PLS,
author = "Per {Brinch Hansen}",
title = "The Programming Language {SuperPascal}",
journal = j-SPE,
volume = "24",
number = "5",
pages = "467--483",
month = may,
year = "1994",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380240504",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "30 Oct 2006",
}
@Article{BrinchHansen:1994:SPL,
author = "Per {Brinch Hansen}",
title = "{SuperPascal} --- a publication language for parallel
scientific computing",
journal = j-CPE,
volume = "6",
number = "5",
pages = "461--483",
month = aug,
year = "1994",
CODEN = "CPEXEI",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Tue Sep 7 05:40:19 MDT 1999",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib;
http://www.math.utah.edu/pub/tex/bib/super.bib",
URL = "http://brinch-hansen.net/papers/1994c.pdf",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@InCollection{BrinchHansen:1995:APP,
author = "Per {Brinch Hansen}",
booktitle = "Studies in Computational Science",
title = "The All-Pairs Pipeline",
chapter = "4",
publisher = pub-PH,
address = pub-PH:adr,
pages = "73--89",
year = "1995",
bibdate = "Thu Jul 21 14:34:50 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1995d.pdf",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1995:BP,
author = "Per {Brinch Hansen}",
booktitle = "Studies in Computational Science",
title = "Balancing a Pipeline",
chapter = "5",
publisher = pub-PH,
address = pub-PH:adr,
pages = "90--100",
year = "1995",
bibdate = "Thu Jul 21 14:34:50 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/1995e.pdf",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1995:EPR,
author = "Per {Brinch Hansen}",
title = "Efficient Parallel Recursion",
journal = j-SIGPLAN,
volume = "30",
number = "12",
pages = "9--16",
month = dec,
year = "1995",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/219726.219732",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:13 MST 2003",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
URL = "http://brinch-hansen.net/papers/1995c.pdf",
acknowledgement = ack-nhfb,
affiliation = "Sch. of Comput. and Inf. Sci., Syracuse Univ., NY,
USA",
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{BrinchHansen:1995:LDA,
author = "Per {Brinch Hansen}",
title = "The Long Division Algorithm of {Linger}, {Mills} and
{Witt}",
journal = j-SPE,
volume = "25",
number = "1",
pages = "109--109",
month = jan,
year = "1995",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.4380250107",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Sat May 31 13:36:16 MDT 1997",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/fparith.bib;
http://www.math.utah.edu/pub/tex/bib/litprog.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib",
note = "See \cite{Linger:1979:SPT,BrinchHansen:1994:MLD}.",
abstract = "The long division algorithm of Linger, Mills and Witt
is discussed and found to be significantly slower than
a recent algorithm developed by the author.",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "30 Oct 2006",
}
@Article{BrinchHansen:1995:SSa,
author = "Per {Brinch Hansen}",
title = "The {SuperPascal} Software",
journal = j-SIGNUM,
volume = "30",
number = "3",
pages = "27--27",
month = jul,
year = "1995",
CODEN = "SNEWD6",
DOI = "https://doi.org/10.1145/221332.221335",
ISSN = "0163-5778 (print), 1558-0237 (electronic)",
ISSN-L = "0163-5778",
bibdate = "Tue Apr 12 07:50:26 MDT 2005",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/signum.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGNUM Newsletter",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J690",
}
@Article{BrinchHansen:1995:SSb,
author = "Per {Brinch Hansen}",
title = "The {SuperPascal} Software",
journal = j-SIGSOFT,
volume = "20",
number = "5",
pages = "91--91",
month = dec,
year = "1995",
CODEN = "SFENDP",
DOI = "https://doi.org/10.1145/217030.565658",
ISSN = "0163-5948 (print), 1943-5843 (electronic)",
ISSN-L = "0163-5948",
bibdate = "Thu Jul 21 08:20:51 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
abstract = "Pascal is still the most widely used programming
language in computer science textbooks. Building on
that tradition I have developed SuperPascal as a
publication language for parallel scientific computing.
SuperPascal extends a subset of IEEE Standard Pascal
with deterministic statements for parallel processes
and synchronous message passing. Recursive procedures
may be combined with parallel statements.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGSOFT Software Engineering Notes",
journal-URL = "https://dl.acm.org/citation.cfm?id=J728",
}
@InCollection{BrinchHansen:1996:DE,
author = "Per {Brinch Hansen}",
title = "Design of {Edison}",
crossref = "BrinchHansen:1996:SSE",
chapter = "17",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:DP,
author = "Per {Brinch Hansen}",
title = "Design Principles",
crossref = "BrinchHansen:1996:SSE",
chapter = "12",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:DPC,
author = "Per {Brinch Hansen}",
title = "Distributed Processes: a Concurrent Programming
Concept",
crossref = "BrinchHansen:1996:SSE",
chapter = "14",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:EMC,
author = "Per {Brinch Hansen}",
title = "Experience with Modular Concurrent Programming",
crossref = "BrinchHansen:1996:SSE",
chapter = "11",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:EPR,
author = "Per {Brinch Hansen}",
title = "Efficient Parallel Recursion",
crossref = "BrinchHansen:1996:SSE",
chapter = "25",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:JPL,
author = "Per {Brinch Hansen}",
title = "{Joyce}; A Programming Language for Distributed
Systems",
crossref = "BrinchHansen:1996:SSE",
chapter = "18",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:KAC,
author = "Per {Brinch Hansen}",
title = "Keynote Address on Concurrent Programming",
crossref = "BrinchHansen:1996:SSE",
chapter = "16",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:MCPa,
author = "Per {Brinch Hansen}",
title = "Monitors and {Concurrent Pascal}: a Personal History",
crossref = "BrinchHansen:1996:SSE",
chapter = "21",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InProceedings{BrinchHansen:1996:MCPb,
author = "Per {Brinch Hansen}",
title = "Monitors and {Concurrent Pascal}: a personal history",
crossref = "Bergin:1996:HPL",
pages = "121--172",
year = "1996",
DOI = "https://doi.org/10.1145/234286.1057814",
bibdate = "Thu Jul 21 08:24:34 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
abstract = "This is a personal history of the early development of
the monitor concept and its implementation in the
programming language Concurrent Pascal. The paper
explains how monitors evolved from the ideas of Dahl,
Dijkstra, Hoare, and the author (1971--1973). At
Caltech the author and his students developed and
implemented Concurrent Pascal and used it to write
several model operating systems (1974--1975). A
portable implementation of Concurrent Pascal was widely
distributed and used for system design (1976--1990).
The monitor paradigm was also disseminated in survey
papers and textbooks. The author ends the story by
expressing his own mixed feelings about monitors and
Concurrent Pascal.",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:MIJ,
author = "Per {Brinch Hansen}",
title = "Multiprocessor Implementation of {Joyce}",
crossref = "BrinchHansen:1996:SSE",
chapter = "19",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:MPC,
author = "Per {Brinch Hansen}",
title = "Model Programs for Computational Science: a
Programming Methodology for Multicomputers",
crossref = "BrinchHansen:1996:SSE",
chapter = "22",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:NMP,
author = "Per {Brinch Hansen}",
title = "Network: a Multiprocessor Program",
crossref = "BrinchHansen:1996:SSE",
chapter = "13",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:NMS,
author = "Per {Brinch Hansen}",
title = "Nucleus of a Multiprogramming System",
crossref = "BrinchHansen:1996:SSE",
chapter = "2",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:NPP,
author = "Per {Brinch Hansen}",
title = "Nature of Parallel Programming",
crossref = "BrinchHansen:1996:SSE",
chapter = "20",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:OCO,
author = "Per {Brinch Hansen}",
title = "Outline of a Course on Operating System Principles",
crossref = "BrinchHansen:1996:SSE",
chapter = "3",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:PCA,
author = "Per {Brinch Hansen}",
title = "Parallel Cellular Automata: a Model Program for
Computational Science",
crossref = "BrinchHansen:1996:SSE",
chapter = "23",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:PLC,
author = "Per {Brinch Hansen}",
title = "Programming Language {Concurrent Pascal}",
crossref = "BrinchHansen:1996:SSE",
chapter = "7",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:PYD,
author = "Per {Brinch Hansen}",
title = "Programmer as a Young Dog",
crossref = "BrinchHansen:1996:SSE",
chapter = "10",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:RRT,
author = "Per {Brinch Hansen}",
title = "{RC 4000} Real-time Control System at {Pulawy}",
crossref = "BrinchHansen:1996:SSE",
chapter = "1",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:RTM,
author = "Per {Brinch Hansen}",
title = "Reproducible Testing of Monitors",
crossref = "BrinchHansen:1996:SSE",
chapter = "15",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:SC,
author = "Per {Brinch Hansen}",
title = "Shared Classes",
crossref = "BrinchHansen:1996:SSE",
chapter = "6",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:SM,
author = "Per {Brinch Hansen}",
title = "Structured Multiprogramming",
crossref = "BrinchHansen:1996:SSE",
chapter = "4",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:SOSa,
author = "Per {Brinch Hansen}",
title = "{Solo} Operating System: a {Concurrent Pascal}
Program",
crossref = "BrinchHansen:1996:SSE",
chapter = "8",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:SOSb,
author = "Per {Brinch Hansen}",
title = "{Solo} Operating System: Processes, Monitors, and
Classes",
crossref = "BrinchHansen:1996:SSE",
chapter = "9",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:SPL,
author = "Per {Brinch Hansen}",
title = "{SuperPascal}: a Publication Language for Parallel
Scientific Computing",
crossref = "BrinchHansen:1996:SSE",
chapter = "24",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1996:TMS,
author = "Per {Brinch Hansen}",
title = "Testing a Multiprogramming System",
crossref = "BrinchHansen:1996:SSE",
chapter = "5",
pages = "??--??",
year = "1996",
bibdate = "Mon Jul 25 16:32:26 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1997:RSS,
author = "Per {Brinch Hansen}",
title = "Review of The Search for Simplicity Essays in Parallel
Programming",
journal = j-SIGPLAN,
volume = "32",
number = "11",
pages = "31--??",
month = nov,
year = "1997",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Fri Feb 20 10:34:09 MST 1998",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{BrinchHansen:1998:CGS,
author = "Per {Brinch Hansen}",
title = "Conjugate gradient solution of linear equations",
journal = j-CPE,
volume = "10",
number = "2",
pages = "139--156",
month = feb,
year = "1998",
CODEN = "CPEXEI",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Tue Sep 7 06:06:38 MDT 1999",
bibsource = "http://www.interscience.wiley.com/jpages/1040-3108/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib;
http://www3.interscience.wiley.com/journalfinder.html",
URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=5370;
http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=5370&PLACEBO=IE.pdf",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@Article{BrinchHansen:1998:EHP,
author = "Per {Brinch Hansen}",
title = "An Evaluation of {High Performance Fortran}",
journal = j-SIGPLAN,
volume = "33",
number = "3",
pages = "57--64",
month = mar,
year = "1998",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/275168.275173",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:45 MST 2003",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/fortran3.bib;
http://www.math.utah.edu/pub/tex/bib/hpfortran.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
note = "The author strongly criticizes HPF, and remarks ``HPF
has severe conceptual and practical limitations.'' See
response \cite{Offner:1998:PBH}.",
abstract = "High Performance Fortran (HPF) is evaluated by
rewriting sequential model programs for Householder
reduction, simulated annealing, and grid relaxation.
The author concludes that HPF has severe conceptual and
practical limitations.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{BrinchHansen:1998:EMP,
author = "Per {Brinch Hansen}",
title = "An Evaluation of the {Message-Passing Interface}",
journal = j-SIGPLAN,
volume = "33",
number = "3",
pages = "65--72",
month = mar,
year = "1998",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/275168.275174",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu Apr 30 08:30:23 MDT 1998",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/pvm.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
note = "The author criticizes MPI, and remarks ``MPI \ldots{}
lack[s] the elegance and security that can only by
checked by a parallel programming language.''",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{BrinchHansen:1998:LE,
author = "Per {Brinch Hansen}",
title = "Letter to the Editor",
journal = j-SIGPLAN,
volume = "33",
number = "8",
pages = "32--33",
month = aug,
year = "1998",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Fri Sep 11 08:45:37 1998",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@InCollection{BrinchHansen:1999:C,
author = "Per {Brinch Hansen}",
title = "Classes",
crossref = "BrinchHansen:1999:PEJ",
pages = "183--221",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_11",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1999:JIP,
author = "Per {Brinch Hansen}",
title = "{Java}'s insecure parallelism",
journal = j-SIGPLAN,
volume = "34",
number = "4",
pages = "38--45",
month = apr,
year = "1999",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/312009.312034",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:18:01 MST 2003",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/java.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@InCollection{BrinchHansen:1999:Ma,
author = "Per {Brinch Hansen}",
title = "Matrices",
crossref = "BrinchHansen:1999:PEJ",
pages = "129--142",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_8",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:Mb,
author = "Per {Brinch Hansen}",
title = "Methods",
crossref = "BrinchHansen:1999:PEJ",
pages = "143--166",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_9",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:MC,
author = "Per {Brinch Hansen}",
title = "Multiple Choice",
crossref = "BrinchHansen:1999:PEJ",
pages = "47--64",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_3",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:R,
author = "Per {Brinch Hansen}",
title = "Recursion",
crossref = "BrinchHansen:1999:PEJ",
pages = "167--182",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_10",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:SA,
author = "Per {Brinch Hansen}",
title = "Simple Arrays",
crossref = "BrinchHansen:1999:PEJ",
pages = "113--128",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_7",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:SC,
author = "Per {Brinch Hansen}",
title = "Simple Choice",
crossref = "BrinchHansen:1999:PEJ",
pages = "27--45",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_2",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:SP,
author = "Per {Brinch Hansen}",
title = "Simple Programs",
crossref = "BrinchHansen:1999:PEJ",
pages = "1--26",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_1",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:SR,
author = "Per {Brinch Hansen}",
title = "Simple Repetition",
crossref = "BrinchHansen:1999:PEJ",
pages = "65--76",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_4",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:1999:TCJ,
author = "Per {Brinch Hansen}",
title = "Technical Correspondence: {Java}'s Insecure
Parallelism",
journal = j-SIGPLAN,
volume = "34",
number = "4",
pages = "38--45",
month = apr,
year = "1999",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Tue Sep 26 17:06:07 MDT 2000",
bibsource = "http://ftp.informatik.rwth-aachen.de/dblp/db/journals/sigplan/sigplan34.html;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/java.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
URL = "http://brinch-hansen.net/papers/1999b.pdf;
http://ftp.informatik.rwth-aachen.de/dblp/db/indices/a-tree/h/Hansen:Per_Brinch.html",
abstract = "The author examines the synchronization features of
Java and finds that they are insecure variants of his
earliest ideas in parallel programming published in
1972--73. The claim that Java supports monitors is
shown to be false. The author concludes that Java
ignores the last twenty-five years of research in
parallel programming languages.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@InCollection{BrinchHansen:1999:TF,
author = "Per {Brinch Hansen}",
title = "Text Files",
crossref = "BrinchHansen:1999:PEJ",
pages = "91--112",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_6",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:1999:UR,
author = "Per {Brinch Hansen}",
title = "Unbounded Repetition",
crossref = "BrinchHansen:1999:PEJ",
pages = "77--90",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1_5",
bibdate = "Sat Jul 23 13:05:39 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Article{BrinchHansen:2000:LEP,
author = "Per {Brinch Hansen}",
title = "Letter to the {Editor}: {`Parallelism and recursion in
message passing libraries: An efficient methodology',
C. Rodr{\'\i}guez, F. de Sande, C. Le{\'o}n and L.
Garc{\'\i}a, {\em Concurrency: Practice and
Experience\/} 1999; 11(7):355--365}",
journal = j-CPE,
volume = "12",
number = "15",
pages = "1511--1513",
day = "25",
month = dec,
year = "2000",
CODEN = "CPEXEI",
DOI = "https://doi.org/10.1002/1096-9128(20001225)12:15<1511::AID-CPE566>3.0.CO;2-F",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Sat Apr 7 06:56:11 MDT 2001",
bibsource = "http://www.interscience.wiley.com/jpages/1040-3108;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib;
http://www3.interscience.wiley.com/journalfinder.html",
note = "See \cite{Rodriguez:1999:PRM,Leon:2000:ARP}.",
URL = "http://www3.interscience.wiley.com/cgi-bin/abstract/76505649/START;
http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76505649&PLACEBO=IE.pdf",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@InCollection{BrinchHansen:2001:EOS,
author = "Per {Brinch Hansen}",
title = "The Evolution of Operating Systems",
crossref = "BrinchHansen:2001:COS",
pages = "1--34",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_1",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/2001b.pdf",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2001:RSM,
author = "Per {Brinch Hansen}",
title = "{RC 4000} Software: Multiprogramming System",
crossref = "BrinchHansen:2001:COS",
pages = "237--281",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_13",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2001:SOSa,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: A {Concurrent Pascal}
Program",
crossref = "BrinchHansen:2001:COS",
pages = "324--336",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_16",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2001:SOSb,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: Processes, Monitors and
Classes",
crossref = "BrinchHansen:2001:COS",
pages = "337--384",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_17",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:DP,
author = "Per {Brinch Hansen}",
title = "Design Principles",
crossref = "BrinchHansen:2002:OCP",
pages = "382--393",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_14",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:DPC,
author = "Per {Brinch Hansen}",
title = "Distributed Processes: a Concurrent Programming
Concept",
crossref = "BrinchHansen:2002:OCP",
pages = "444--463",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_17",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:EPR,
author = "Per {Brinch Hansen}",
title = "Efficient Parallel Recursion",
crossref = "BrinchHansen:2002:OCP",
pages = "525--534",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_20",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:ICP,
author = "Per {Brinch Hansen}",
title = "The Invention of Concurrent Programming",
crossref = "BrinchHansen:2002:OCP",
pages = "3--61",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_1",
bibdate = "Thu Jul 21 16:12:58 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/papers/2002b.pdf",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:JPL,
author = "Per {Brinch Hansen}",
title = "{Joyce} --- a Programming Language for Distributed
Systems",
crossref = "BrinchHansen:2002:OCP",
pages = "464--492",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_18",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:OCO,
author = "Per {Brinch Hansen}",
title = "An Outline of a Course on Operating System
Principles",
crossref = "BrinchHansen:2002:OCP",
pages = "245--254",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_7",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:PLC,
author = "Per {Brinch Hansen}",
title = "The Programming Language {Concurrent Pascal}",
crossref = "BrinchHansen:2002:OCP",
pages = "297--318",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_11",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:RSM,
author = "Per {Brinch Hansen}",
title = "{RC 4000} Software: Multiprogramming System",
crossref = "BrinchHansen:2002:OCP",
pages = "153--197",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_4",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:SC,
author = "Per {Brinch Hansen}",
title = "Shared Classes",
crossref = "BrinchHansen:2002:OCP",
pages = "265--271",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_9",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:SM,
author = "Per {Brinch Hansen}",
title = "Structured Multiprogramming",
crossref = "BrinchHansen:2002:OCP",
pages = "255--264",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_8",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:SOSa,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: a {Concurrent Pascal}
Program",
crossref = "BrinchHansen:2002:OCP",
pages = "321--333",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_12",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:SOSb,
author = "Per {Brinch Hansen}",
title = "The {Solo} Operating System: Processes, Monitors and
Classes",
crossref = "BrinchHansen:2002:OCP",
pages = "334--381",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_13",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{BrinchHansen:2002:SPL,
author = "Per {Brinch Hansen}",
title = "{SuperPascal}: a Publication Language for Parallel
Scientific Computing",
crossref = "BrinchHansen:2002:OCP",
pages = "495--524",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_19",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Misc{BrinchHansen:2004:PS,
author = "Per {Brinch Hansen}",
title = "A Programmer's Story",
howpublished = "Web site.",
pages = "197",
year = "2004",
bibdate = "Thu Jul 21 16:35:35 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
URL = "http://brinch-hansen.net/",
acknowledgement = ack-nhfb,
tableofcontents = "Front matter / i \\
1: Learning to Read and Write 1938--57 / 1 \\
2: Choosing a Career 1957--63 / 17 \\
3: Learning from the Masters 1963--66 / 35 \\
4: Young Man in a Hurry 1966--70 / 59 \\
5: Shaping a New Field 1970--72 / 81 \\
6: Inventing the Future 1972--76 / 103 \\
7: The End of an Era 1976--84 / 131 \\
8: Danish Interlude 1984--87 / 153 \\
9: Back in America 1987--2004 / 163 \\
Sources / 181 \\
Index / 189",
}
@Article{Courtois:1972:CCT,
author = "P. J. Courtois and F. Heymans and David Lorge Parnas",
title = "Comments on {{\em A Comparison of Two Synchronizing
Concepts}} by {Per Brinch Hansen}",
journal = j-ACTA-INFO,
volume = "1",
number = "??",
pages = "375--376",
month = "????",
year = "1972",
CODEN = "AINFA2",
ISSN = "0001-5903 (print), 1432-0525 (electronic)",
ISSN-L = "0001-5903",
bibsource = "ftp://ftp.ira.uka.de/pub/bibliography/Misc/HBP/ACTAI.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/actainfo.bib",
note = "See
\cite{BrinchHansen:1972:CTS,BrinchHansen:1973:RCC}.",
fjournal = "Acta Informatica",
journal-URL = "http://link.springer.com/journal/236",
}
@Article{Naur:1975:NBJ,
author = "P. Naur",
title = "New Books and Journals",
journal = j-BIT,
volume = "15",
number = "4",
pages = "455--457",
month = dec,
year = "1975",
CODEN = "BITTEL, NBITAB",
DOI = "https://doi.org/10.1007/BF01931685",
ISSN = "0006-3835 (print), 1572-9125 (electronic)",
ISSN-L = "0006-3835",
bibdate = "Wed Jan 4 18:52:14 MST 2006",
bibsource = "http://springerlink.metapress.com/openurl.asp?genre=issue&issn=0006-3835&volume=15&issue=4;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/bit.bib",
note = "Includes review of {\em Operating Systems Principles},
by Per Brinch Hansen.",
URL = "http://www.springerlink.com/openurl.asp?genre=article&issn=0006-3835&volume=15&issue=4&spage=455",
acknowledgement = ack-nhfb,
fjournal = "BIT (Nordisk tidskrift for informationsbehandling)",
journal-URL = "http://link.springer.com/journal/10543",
}
@Article{Whiteside:1978:BRR,
author = "A. E. Whiteside",
title = "Book reviews: Review of {{\em The Architecture of
Concurrent Programs\/}} by {Per Brinch Hansen,
Prentice-Hall 1977}",
journal = j-COMP-ARCH-NEWS,
volume = "6",
number = "6",
pages = "32--32",
month = feb,
year = "1978",
CODEN = "CANED2",
DOI = "https://doi.org/10.1145/641815.641821",
ISSN = "0163-5964 (ACM), 0884-7495 (IEEE)",
ISSN-L = "0163-5964",
bibdate = "Fri May 12 09:41:28 MDT 2006",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigarch.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGARCH Computer Architecture News",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J89",
}
@Article{Regener:1984:MID,
author = "Eric Regener",
title = "Multiprecision Integer Division Examples Using
Arbitrary Radix",
journal = j-TOMS,
volume = "10",
number = "3",
pages = "325--328",
month = sep,
year = "1984",
CODEN = "ACMSCU",
DOI = "https://doi.org/10.1145/1271.2738",
ISSN = "0098-3500 (print), 1557-7295 (electronic)",
ISSN-L = "0098-3500",
MRclass = "65V05",
MRnumber = "86g:65241",
bibdate = "Sun Sep 04 20:18:56 1994",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/fparith.bib;
http://www.math.utah.edu/pub/tex/bib/toms.bib",
note = "See also \cite{BrinchHansen:1994:MLD}.",
acknowledgement = ack-nhfb,
fjournal = "ACM Transactions on Mathematical Software (TOMS)",
journal-URL = "http://dl.acm.org/pub.cfm?id=J782",
}
@Article{Dijkstra:1989:LSR,
author = "Edsger W. Dijkstra and W. H. J. Feijen",
title = "The Linear Search Revisited",
journal = j-STRUCT-PROGRAM,
volume = "10",
number = "1",
pages = "5--9",
year = "1989",
CODEN = "STPGEM",
ISSN = "0935-1183",
bibdate = "Mon Mar 16 08:14:00 2015",
bibsource = "DBLP;
http://dblp.uni-trier.de/db/journals/stp/stp10.html#DijkstraF89;
http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Compiler/Collberg.bib;
http://www.math.utah.edu/pub/mirrors/ftp.ira.uka.de/bibliography/Misc/DBLP/1989.bib",
acknowledgement = ack-nhfb,
fjournal = "Structured Programming",
keywords = "ALGORITHM, LINEAR SEARCH, SPECIFICATION,
VERIFICATION",
oldlabel = "EWD:EWD1029pub",
}
@Article{VandeVelde:1995:BNR,
author = "Erik F. {Van de Velde}",
title = "Book News \& Reviews: {Studies in Computational
Science: Parallel Programming Paradigms} by {Per Brinch
Hansen}",
journal = j-IEEE-COMPUT-SCI-ENG,
volume = "2",
number = "4",
pages = "85--87",
month = "Winter",
year = "1995",
CODEN = "ISCEE4",
DOI = "https://doi.org/10.1109/MCSE.1995.476373",
ISSN = "1070-9924 (print), 1558-190X (electronic)",
ISSN-L = "1070-9924",
bibdate = "Sat Jan 9 08:57:23 MST 1999",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/ieeecomputscieng.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Computational Science \& Engineering",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=99",
}
@Article{Kruijer:1997:BNS,
author = "H. S. M. Kruijer",
title = "Book Nook: {The Search for Simplicity Essays in
Parallel Programming by Per Brinch Hansen}",
journal = j-SIGPLAN,
volume = "32",
number = "11",
pages = "31--32",
month = nov,
year = "1997",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/270941.607947",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:41 MST 2003",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{Berman:1998:ARP,
author = "A. Michael Berman",
title = "Amendment to Review of {Per Brinch Hansen, {\em The
Search for Simplicity --- Essays in Parallel
Programming}}",
journal = j-SIGPLAN,
volume = "33",
number = "3",
pages = "36--36",
month = mar,
year = "1998",
CODEN = "SINODQ",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Thu Apr 30 08:30:23 MDT 1998",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{Offner:1998:PBH,
author = "Carl D. Offner",
title = "{Per Brinch Hansen}'s Concerns about {High Performance
Fortran}",
journal = j-SIGPLAN,
volume = "33",
number = "8",
pages = "34--39",
month = aug,
year = "1998",
CODEN = "SINODQ",
DOI = "https://doi.org/10.1145/286385.286389",
ISSN = "0362-1340 (print), 1523-2867 (print), 1558-1160
(electronic)",
ISSN-L = "0362-1340",
bibdate = "Sun Dec 14 09:17:50 MST 2003",
bibsource = "http://portal.acm.org/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/fortran3.bib;
http://www.math.utah.edu/pub/tex/bib/hpfortran.bib;
http://www.math.utah.edu/pub/tex/bib/sigplan1990.bib",
note = "See \cite{BrinchHansen:1998:EHP}.",
abstract = "Per Brinch Hansen's criticisms of High Performance
Fortran in the March issue of this journal are examined
and shown to be without foundation.",
acknowledgement = ack-nhfb,
fjournal = "ACM SIGPLAN Notices",
journal-URL = "http://portal.acm.org/browse_dl.cfm?idx=J706",
}
@Article{Rodriguez:1999:PRM,
author = "C. Rodr{\'\i}guez and F. {De Sande} and C. Le{\'o}n
and L. Garc{\'\i}a",
title = "Parallelism and recursion in message passing
libraries: an efficient methodology",
journal = j-CPE,
volume = "11",
number = "7",
pages = "355--365",
month = jun,
year = "1999",
CODEN = "CPEXEI",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Tue Sep 7 06:06:49 MDT 1999",
bibsource = "http://www.interscience.wiley.com/jpages/1040-3108/;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib;
http://www3.interscience.wiley.com/journalfinder.html",
note = "See correspondence
\cite{BrinchHansen:2000:LEP,Leon:2000:ARP}.",
URL = "http://www3.interscience.wiley.com/cgi-bin/abstract?ID=62500298;
http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=62500298&PLACEBO=IE.pdf",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@Article{Leon:2000:ARP,
author = "Casiano Rodr{\'\i}guez Le{\'o}n",
title = "Authors' Response: {`Parallelism and recursion in
message passing libraries: An efficient methodology',
C. Rodr{\'\i}guez, F. de Sande, C. Le{\'o}n and L.
Garc{\'\i}a, {\em Concurrency: Practice and
Experience\/} 1999; 11(7):355--365}",
journal = j-CPE,
volume = "12",
number = "15",
pages = "1515--1516",
day = "25",
month = dec,
year = "2000",
CODEN = "CPEXEI",
DOI = "https://doi.org/10.1002/1096-9128(20001225)12:15<1515::AID-CPE567>3.0.CO;2-0",
ISSN = "1040-3108 (print), 1096-9128 (electronic)",
ISSN-L = "1040-3108",
bibdate = "Sat Apr 7 06:56:11 MDT 2001",
bibsource = "http://www.interscience.wiley.com/jpages/1040-3108;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/cpe.bib;
http://www3.interscience.wiley.com/journalfinder.html",
note = "See \cite{Rodriguez:1999:PRM,BrinchHansen:2000:LEP}.",
URL = "http://www3.interscience.wiley.com/cgi-bin/abstract/76505647/START;
http://www3.interscience.wiley.com/cgi-bin/fulltext?ID=76505647&PLACEBO=IE.pdf",
acknowledgement = ack-nhfb,
fjournal = "Concurrency, practice and experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/%28ISSN%291532-0634/issues",
}
@InCollection{Brownbridge:2001:NCU,
author = "David R. Brownbridge and Lindsay F. Marshall and Brian
Randell",
title = "The {Newcastle Connection} or {Unixes} of the World
Unite",
crossref = "BrinchHansen:2001:COS",
pages = "528--549",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_24",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/unix.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Burns:2001:ESK,
author = "David Burns and E. Neville Hawkins and D. Robin Judd
and John L. Venn",
title = "The {Egdon} System for the {KDF9}",
crossref = "BrinchHansen:2001:COS",
pages = "102--114",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_7",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Corbato:2001:ETS,
author = "Fernando J. Corbat{\'o} and Marjorie Merwin-Daggett
and Robert C. Daley",
title = "An Experimental Time-Sharing System",
crossref = "BrinchHansen:2001:COS",
pages = "117--137",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_8",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Daley:2001:GPF,
author = "Robert C. Daley and Peter G. Neumann",
title = "A General-Purpose File System for Secondary Storage",
crossref = "BrinchHansen:2001:COS",
pages = "138--166",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_9",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Dijkstra:2001:SMS,
author = "Edsger W. Dijkstra",
title = "The Structure of the {``THE''} Multiprogramming
System",
crossref = "BrinchHansen:2001:COS",
pages = "223--236",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_12",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Fraser:2001:FID,
author = "A. G. Fraser",
title = "File Integrity in a Disc-Based Multi-Access System",
crossref = "BrinchHansen:2001:COS",
pages = "167--194",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_10",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Kilburn:2001:AS,
author = "Tom Kilburn and R. Bruce Payne and David J. Howarth",
title = "The {Atlas} Supervisor",
crossref = "BrinchHansen:2001:COS",
pages = "49--77",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_4",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Lampson:2001:OOS,
author = "Butler W. Lampson and Robert F. Sproull",
title = "An Open Operating System for a Single-User Machine",
crossref = "BrinchHansen:2001:COS",
pages = "414--432",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_19",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Lauesen:2001:LSB,
author = "S{\o}ren Lauesen",
title = "A Large Semaphore Based Operating System",
crossref = "BrinchHansen:2001:COS",
pages = "295--323",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_15",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Liskov:2001:DVO,
author = "Barbara H. Liskov",
title = "The Design of the {Venus} Operating System",
crossref = "BrinchHansen:2001:COS",
pages = "282--294",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_14",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Lynch:2001:DHC,
author = "William C. Lynch",
title = "Description of a High Capacity, Fast Turnaround
University Computing Center",
crossref = "BrinchHansen:2001:COS",
pages = "88--101",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_6",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Oliphint:2001:OSB,
author = "Clark Oliphint",
title = "Operating System for the {B 5000}",
crossref = "BrinchHansen:2001:COS",
pages = "78--87",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_5",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Redell:2001:POS,
author = "David D. Redell and Yogen K. Dalal and Thomas R.
Horsley and Hugh C. Lauer and William C. Lynch and Paul
R. McJones and Hal G. Murray and Stephen C. Purcell",
title = "{Pilot}: an Operating System for a Personal Computer",
crossref = "BrinchHansen:2001:COS",
pages = "433--459",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_20",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Ritchie:2001:UTS,
author = "Dennis M. Ritchie and Ken Thompson",
title = "The {Unix} Time-Sharing System",
crossref = "BrinchHansen:2001:COS",
pages = "195--220",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_11",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/unix.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Ryckman:2001:ICG,
author = "George F. Ryckman",
title = "The {IBM 701} Computer at the {General Motors Research
Laboratories}",
crossref = "BrinchHansen:2001:COS",
pages = "37--40",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_2",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Shrivastava:2001:DRR,
author = "Santosh Shrivastava and Fabio Panzieri",
title = "The Design of a Reliable Remote Procedure Call
Mechanism",
crossref = "BrinchHansen:2001:COS",
pages = "511--527",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_23",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Smith:2001:BSP,
author = "Richard B. Smith",
title = "The {BKS} System for the {Philco-2000}",
crossref = "BrinchHansen:2001:COS",
pages = "43--45",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_3",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Smith:2001:SUI,
author = "David C. Smith and Charles Irby and Ralph Kimball and
Eric Harslem",
title = "The {Star} User Interface: an Overview",
crossref = "BrinchHansen:2001:COS",
pages = "460--490",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_21",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Stoy:2001:EOS,
author = "Joe E. Stoy and Christopher Strachey",
title = "{OS 6} --- an Experimental Operating System for a
Small Computer: Input\slash Output and Filing System",
crossref = "BrinchHansen:2001:COS",
pages = "387--413",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_18",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Swinehart:2001:WSS,
author = "Daniel Swinehart and Gene McDaniel and David Boggs",
title = "{WFS}: a Simple Shared File System for a Distributed
Environment",
crossref = "BrinchHansen:2001:COS",
pages = "493--510",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_22",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Tanenbaum:2001:EAD,
author = "Andrew S. Tanenbaum and Robbert Van Renesse and Hans
Van Staveren and Gregory J. Sharp and Sape J. Mullender
and Jack Jansen and Guido {Van Rossum}",
title = "Experiences with the {Amoeba} Distributed Operating
System",
crossref = "BrinchHansen:2001:COS",
pages = "550--586",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9_25",
bibdate = "Thu Jul 21 15:48:14 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Dijkstra:2002:CSP,
author = "Edsger W. Dijkstra",
title = "Cooperating Sequential Processes",
crossref = "BrinchHansen:2002:OCP",
pages = "65--138",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_2",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Dijkstra:2002:HOS,
author = "Edsger W. Dijkstra",
title = "Hierarchical Ordering of Sequential Processes",
crossref = "BrinchHansen:2002:OCP",
pages = "198--227",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_5",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Dijkstra:2002:SE,
author = "Edsger W. Dijkstra",
title = "A Synthesis Emerging?",
crossref = "BrinchHansen:2002:OCP",
pages = "397--412",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_15",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Dijkstra:2002:SMS,
author = "Edsger W. Dijkstra",
title = "The Structure of the {``THE''} Multiprogramming
System",
crossref = "BrinchHansen:2002:OCP",
pages = "139--152",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_3",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Hoare:2002:CSP,
author = "C. A. R. Hoare",
title = "Communicating Sequential Processes",
crossref = "BrinchHansen:2002:OCP",
pages = "413--443",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_16",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Hoare:2002:MOS,
author = "C. A. R. Hoare",
title = "Monitors: An Operating System Structuring Concept",
crossref = "BrinchHansen:2002:OCP",
pages = "272--294",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_10",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@InCollection{Hoare:2002:TTP,
author = "C. A. R. Hoare",
title = "Towards a Theory of Parallel Programming",
crossref = "BrinchHansen:2002:OCP",
pages = "231--244",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0_6",
bibdate = "Sat Jul 23 07:01:09 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Article{Piner:2002:CSCf,
author = "Mary-Louise G. Piner",
title = "{Computer Society} Connection: {IEEE Computer Society}
Recognizes Achievements of Leading Computer Engineers:
{Per Brinch Hansen} Recognized for Pioneering Works;
{Stanford President Hennessy} Receives Architecture
Award; {Ian F. Akyildiz} Named {Goode} Winner;
{Society} Digital Library Collection is Expanded;
{Mills Award} Honors Software Engineering
Achievements",
journal = j-COMPUTER,
volume = "35",
number = "6",
pages = "74--76",
month = jun,
year = "2002",
CODEN = "CPTRB4",
ISSN = "0018-9162 (print), 1558-0814 (electronic)",
ISSN-L = "0018-9162",
bibdate = "Fri Dec 12 19:53:30 MST 2003",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/computer2000.bib",
URL = "http://csdl.computer.org/dl/mags/co/2002/06/r6074.htm;
http://csdl.computer.org/dl/mags/co/2002/06/r6074.pdf",
acknowledgement = ack-nhfb,
fjournal = "Computer",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=2",
}
@Article{Varma:2002:BSB,
author = "Tathagat Varma and Fernando Berzal and Nicol{\'a}s
Mar{\'\i}n and Tope Omitola and Matt Edgar",
title = "Bookshelf: Strategies for Building Better People; No
Bulletproof Vest for Your System; Learning from the
Past; a Treasure for Software Designers",
journal = j-IEEE-SOFTWARE,
volume = "19",
number = "6",
pages = "101--104",
month = nov # "\slash " # dec,
year = "2002",
CODEN = "IESOEG",
ISSN = "0740-7459 (print), 0740-7459 (electronic)",
ISSN-L = "0740-7459",
bibdate = "Fri Oct 24 16:31:57 MDT 2003",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/ieeesoft.bib",
note = "Review of {\em The Peopleware Papers: Notes on the
Human Side of Software\/} by Larry L. Constantine, {\em
Fundamentals of Network Security\/} by John E. Canavan,
{\em Classic Operating Systems\/} by Per Brinch Hansen,
and {\em Software Fundamentals: Collected Papers by
David L. Parnas\/} by David M. Weiss and Daniel M.
Hoffman, eds.",
URL = "http://dlib.computer.org/so/books/so2002/pdf/s6101.pdf",
acknowledgement = ack-nhfb,
fjournal = "IEEE Software",
journal-URL = "https://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=52",
journalabr = "IEEE Software",
}
@Article{Lee:2003:BPB,
author = "J. A. N. Lee and Thomas Haigh",
title = "Biographies: {Per Brinch Hansen}",
journal = j-IEEE-ANN-HIST-COMPUT,
volume = "25",
number = "1",
pages = "80--83",
month = jan # "\slash " # mar,
year = "2003",
CODEN = "IAHCEX",
DOI = "https://doi.org/10.1109/MAHC.2003.1179888",
ISSN = "1058-6180 (print), 1934-1547 (electronic)",
ISSN-L = "1058-6180",
bibdate = "Sat Nov 29 16:19:46 MST 2003",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/ieeeannhistcomput.bib",
acknowledgement = ack-nhfb,
fjournal = "IEEE Annals of the History of Computing",
journal-URL = "http://ieeexplore.ieee.org/xpl/RecentIssue.jsp?punumber=85",
}
@Article{Horspool:2007:OPB,
author = "Nigel Horspool",
title = "Obituary: {Per Brinch Hansen} (1938--2007)",
journal = j-SPE,
volume = "37",
number = "12",
pages = "1243--1243",
month = oct,
year = "2007",
CODEN = "SPEXBL",
DOI = "https://doi.org/10.1002/spe.852",
ISSN = "0038-0644 (print), 1097-024X (electronic)",
ISSN-L = "0038-0644",
bibdate = "Wed Oct 17 18:33:16 MDT 2007",
bibsource = "http://www.interscience.wiley.com/jpages/0038-0644;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/spe.bib;
http://www3.interscience.wiley.com/journalfinder.html",
acknowledgement = ack-nhfb,
ajournal = "Softw. Pract. Exp.",
fjournal = "Software --- Practice and Experience",
journal-URL = "http://onlinelibrary.wiley.com/journal/10.1002/(ISSN)1097-024X",
onlinedate = "19 Sep 2007",
}
@Proceedings{Freiman:1971:IPP,
editor = "Charles V. Freiman and John E. Griffith and Jack L.
Rosenfeld",
booktitle = "Information Processing, Proceedings of {IFIP Congress
1971, Volume 1 --- Foundations and Systems, Ljubljana,
Yugoslavia, August 23--28, 1971}",
title = "Information Processing, Proceedings of {IFIP Congress
1971, Volume 1 --- Foundations and Systems, Ljubljana,
Yugoslavia, August 23--28, 1971}",
publisher = pub-NORTH-HOLLAND,
address = pub-NORTH-HOLLAND:adr,
pages = "xviii + 1621",
year = "1971",
ISBN = "0-7204-2063-6 (two volumes)",
ISBN-13 = "978-0-7204-2063-0 (two volumes)",
LCCN = "QA75.5 .I532 1971, TK7885.A1 I61 1971",
bibdate = "Tue Jul 26 11:20:13 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
}
@Proceedings{Bauer:1976:LHI,
editor = "Friedrich Ludwig Bauer and Klaus Samelson",
booktitle = "{Language hierarchies and interfaces: international
summer school [held July 23 to August 2, 1975 in
Marktoberdorf]}",
title = "{Language hierarchies and interfaces: international
summer school [held July 23 to August 2, 1975 in
Marktoberdorf]}",
volume = "46",
publisher = pub-SV,
address = pub-SV:adr,
pages = "x + 428",
year = "1976",
DOI = "https://doi.org/10.1007/3-540-07994-7",
ISBN = "0-387-07994-7 (New York), 3-540-07994-7 (Berlin),
3-540-37972-X (e-book)",
ISBN-13 = "978-0-387-07994-3 (New York), 978-3-540-07994-1
(Berlin), 978-3-540-37972-0 (e-book)",
ISSN = "0302-9743 (print), 1611-3349 (electronic)",
ISSN-L = "0302-9743",
LCCN = "QA76.6 .L335",
bibdate = "Fri Aug 21 09:24:18 MDT 2020",
bibsource = "fsz3950.oclc.org:210/WorldCat;
http://www.math.utah.edu/pub/bibnet/authors/b/bauer-friedrich-ludwig.bib;
http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib;
http://www.math.utah.edu/pub/tex/bib/lncs.bib",
series = ser-LNCS,
URL = "http://link.springer-ny.com/link/service/series/0558/tocs/t0046.htm;
http://www.springerlink.com/content/978-0-387-07994-3;
http://www.springerlink.com/openurl.asp?genre=book&isbn=978-3-540-07994-1;
http://www.springerlink.com/openurl.asp?genre=issue&issn=0302-9743&volume=46",
ZMID = "03518718",
ZMnumber = "0332.00007",
abstract = "Papers prepared by experts for an International Summer
School, held in July 1976. Focuses on program
development, concurrency, operating systems structures,
and programming systems structures.",
acknowledgement = ack-nhfb,
editor-dates = "Friedrich (``Fritz'') Ludwig Bauer (10 June 1924--26
March 2015)",
remark = "The International Summer School took place from July
23 to August 2,1975, in Marktoberdorf. This Summer
School was organised under the auspices of the
Technical University Munich, and was sponsored by the
NATO Scientific Affairs Division under the 1975
Advanced Study Institutes programme.",
subject = "Computer programming; Congresses; Programming
languages (Electronic computers); Computer
programming.; Programming languages (Electronic
computers)",
tableofcontents = "Introduction \\
On the teaching of programming, i.e., on the teaching
of thinking / E. W. Dijkstra / 1--10 \\
Chapter 1: Concurrency \\
Parallel programming: An axiomatic approach / C. A. R.
Hoare / 11--42 \\
On-the-fly darbage collection: an exercise in
cooeration / E. W. Dijkstra / 43--56 \\
An exercise in proving parallel programs correct / D.
Gries / 57--81 \\
The programming language Concurrent Pascal / P. Brinch
Hansen / 82--110 \\
Chapter 2: Program Development \\
Guarded commands, non-determinacy and a calculus for
the derivation of programs / E. W. Dijkstra / 111--124
\\
Program production by successive transformation / M.
Griffiths / 125--152 \\
Programming as an evolutionary process / F. L. Bauer /
153--182 \\
Proof of correctness of data representations / C. A. R.
Hoare / 183--193 \\
Appendix: A philosophy of programming / F. L. Bauer /
194--241 \\
Chapter 3: Operating System Structure \\
The structure of an operating system / C. A. R. Hoare /
242--265 \\
Language aspects in operating systems / G.
Seegm{\"u}uller / 266--292 \\
Structured programming in the basic layers of an
operating system / W. A. Wulf / 293--344 \\
A time-wise hierarchy imposed upon the use of a
two-level store / E. W. Dijkstra / 345--357 \\
Chapter 4: Programming Systems Structure \\
Problems in many-language systems / A. P. Ershov /
358--428",
}
@Book{BrinchHansen:1977:ACP,
author = "Per {Brinch Hansen}",
booktitle = "The Architecture of Concurrent Programs",
title = "The Architecture of Concurrent Programs",
publisher = pub-PH,
address = pub-PH:adr,
pages = "xvii + 317",
year = "1977",
ISBN = "0-13-044628-9",
ISBN-13 = "978-0-13-044628-2",
LCCN = "QA76.73.C65B73",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
shorttableofcontents = "Design principles \\
Programming concepts \\
Sequential Pascal \\
Concurrent Pascal \\
The solo operating system \\
The job stream system \\
A real-time scheduler \\
Concurrent Pascal report \\
Concurrent Pascal machine",
subject = "Programmering; Programspr{\'y}ak; Operativsystem;
PASCAL; Pascal (Computer program language); Concurrent
Pascal (Lenguaje de programaci{\'y}on);
Programaci{\'y}on (Ordenadores electr{\'y}onicos);
Sistemas operativos; PASCAL (Langage de programmation);
Proceso paralelo (Inform{\'y}atica); Programaci{\'y}on
en paralelo; Pascal (Computer program language)",
tableofcontents = "Programming Tools / 1 \\
1. Design Principles / 3 \\
1.1. Program quality / 3 \\
1.2. Simplicity / 4 \\
1.3. Reliability / 6 \\
1.4. Adaptability / 8 \\
1.5. Portability / 9 \\
1.6. Efficiency / 9 \\
1.7. Generality / 10 \\
1.8. Conclusion / 11 \\
1.9. Literature / 11 \\
2. Programming Concepts / 15 \\
2.1. Concurrent processes / 16 \\
2.2. Private data / 17 \\
2.3. Peripherals / 19 \\
2.4. Shared data / 19 \\
2.5. Access rights / 21 \\
2.6. Abstract data types / 23 \\
2.7. Hierarchical structure / 25 \\
3. Sequential Pascal / 29 \\
3.1. Program structure / 30 \\
3.2. Constants and variables / 31 \\
3.3. Simple data types / 33 \\
3.4. Structured data types / 36 \\
3.5. Routines / 40 \\
3.6. Scope rules / 41 \\
3.7. Type checking / 42 \\
3.8. Literature / 45 \\
4. Concurrent Pascal / 47 \\
4.1. Input/output / 47 \\
4.2. Processes / 49 \\
4.3. Monitors / 52 \\
4.4. Queues / 54 \\
4.5. Classes / 54 \\
4.6. A complete program / 57 \\
4.7. Execution times / 62 \\
4.8. Conclusion / 63 \\
4.9. Literature / 65 \\
Concurrent Programs / 67 \\
5. The Solo Operating System / 69 \\
5.1. Overview / 69 \\
5.2. Job interface / 80 \\
5.3. Processes, monitors, and classes / 98 \\
5.4. Disk scheduling / 142 \\
5.5 List of Solo components / 147 \\
6. The Job Stream System / 148 \\
6.1. Function and performance / 148 \\
6.2. Sequential programs and files / 153 \\
6.3. Concurrent program / 166 \\
6.4. Final remarks / 186 \\
6.5. List of Job stream components / 187 \\
7. A Real-time Scheduler / 189 \\
7.1. Purpose and design / 189 \\
7.2. Programming / 197 \\
7.3. Testing / 214 \\
7.4. Final remarks / 226 \\
7.5. List of Real-time components / 227 \\
Language Details / 229 \\
8. Concurrent Pascal Report / 231 \\
8.1. Introduction / 231 \\
8.2. Syntax graphs / 232 \\
8.3. Character set / 232 \\
8.4. Basic symbols / 233 \\
8.5. Blocks / 235 \\
8.6. Constants / 235 \\
8.7. Types / 236 \\
8.8. Variables / 246 \\
8.9. Expressions / 249 \\
8.10. Statements / 250 \\
8.11. Routines / 251 \\
8.12. Queues / 255 \\
8.13. Scope rules / 256 \\
8.14. Concurrent programs / 257 \\
8.15. PDP 11/45 system / 257 \\
8.16. ASCII character set / 267 \\
8.17. Index of report / 268 \\
9. Concurrent Pascal Machine / 271 \\
9.1. Store allocation / 271 \\
9.2. Code interpretation \\
9.3 Kernel / 283 \\
9.4. Compiler / 293 \\
The Next Step / 298 \\
References / 301 \\
List of Program Components / 304 \\
Danish Summary / 307 \\
Index / 311",
}
@Book{Linger:1979:SPT,
author = "R. C. Linger and H. D. Mills and B. I. Witt",
booktitle = "Structured Programming: Theory and Practice",
title = "Structured Programming: Theory and Practice",
publisher = pub-AW,
address = pub-AW:adr,
pages = "xi + 402",
year = "1979",
ISBN = "0-201-14461-1",
ISBN-13 = "978-0-201-14461-1",
LCCN = "QA76.6 .L55",
bibdate = "Tue Jul 26 11:13:15 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
remark = "No tableofcontents data found, and no online source
yet located.",
}
@Book{Brauer:1981:PLA,
editor = "Wilfried Brauer and Per {Brinch Hansen} and David
Gries and C. Moler and Gerhard Seegm{\"u}ller and Josef
Stoer and Niklaus Wirth",
booktitle = "The Programming Language {Ada Reference Manual,
Proposed Standard Document, United States Department of
Defense}",
title = "The Programming Language {Ada Reference Manual,
Proposed Standard Document, United States Department of
Defense}",
volume = "106",
publisher = pub-SV,
address = pub-SV:adr,
year = "1981",
DOI = "https://doi.org/10.1007/3-540-10693-6",
ISBN = "3-540-10693-6",
ISBN-13 = "978-3-540-10693-7",
bibdate = "Tue Jul 26 11:03:12 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
https://dblp.org",
series = ser-LNCS,
acknowledgement = ack-nhfb,
biburl = "https://dblp.org/rec/books/sp/Ada81.bib",
tableofcontents = "Front Matter / i--x \\
Introduction / 1--6 \\
Lexical Elements / 7--13 \\
Declarations and Types / 15--45 \\
Names and Expressions / 47--71 \\
Statements / 73--82 \\
Subprograms / 83--92 \\
Packages / 93--103 \\
Visibility Rules / 105--114 \\
Tasks / 115--130 \\
Program Structure and Compilation Issues / 131--141 \\
Exceptions / 143--153 \\
Generic Program Units / 155--167 \\
Representation Specifications and Implementation
Dependent Features / 169--181 \\
Input--Output / 183--206 \\
Back Matter / 207--243",
}
@Book{BrinchHansen:1982:PPC,
author = "Per {Brinch Hansen}",
booktitle = "Programming a Personal Computer",
title = "Programming a Personal Computer",
publisher = pub-PH,
address = pub-PH:adr,
pages = "xi + 388",
year = "1982",
ISBN = "0-13-730283-5 (hardcover), 0-13-730283-5 (paperback)",
ISBN-13 = "978-0-13-730283-3 (hardcover), 978-0-13-730283-3
(paperback)",
LCCN = "QA76.73.E34 B74 1982",
bibdate = "Sat Jul 23 17:21:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
tableofcontents = "",
}
@Book{BrinchHansen:1985:BHP,
author = "Per {Brinch Hansen}",
booktitle = "{Brinch Hansen} on {Pascal} Compilers",
title = "{Brinch Hansen} on {Pascal} Compilers",
publisher = pub-PH,
address = pub-PH:adr,
pages = "x + 310",
year = "1985",
ISBN = "0-13-083098-4, 0-13-083122-0 (paperback)",
ISBN-13 = "978-0-13-083098-2, 978-0-13-083122-4 (paperback)",
LCCN = "QA76.73.P2 B75 1985",
bibdate = "Tue Dec 14 22:42:51 1993",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/master.bib",
price = "US\$25.00",
acknowledgement = ack-nhfb,
subject = "Pascal (Computer program language); Compilers
(Computer programs); PASCAL (Langage de programmation);
Compilateurs (Logiciels); Compilers (Computer
programs); Pascal (Computer program language)",
tableofcontents = "Algorithms / vii \\
Preface / ix \\
1 What a Compiler Does / 1 \\
2 A Pascal Subset / 6 \\
2.1 Pascal Minus / 6 \\
2.2 Vocabulary / 10 \\
2.3 Syntactic Rules / 12 \\
2.4 Grammar / 15 \\
3 Compiler Organization / / 17 \\
3.1 A Personal Computer / 17 \\
3.2 Single-Pass Compilation / 18 \\
3.3 Multipass Compilation / 19 \\
3.4 The Pascal Minus Compiler / 22 \\
3.5 Errors and Failures / 24 \\
4 Lexical Analysis / 28 \\
4.1 Source Text / 28 \\
4.2 Intermediate Code / 29 \\
4.3 Scanning / 31 \\
4.4 Searching / 36 \\
4.5 Symbol Table / 45 \\
4.6 Testing / 51 \\
5 Syntax Analysis / / 59 \\
5.1 Symbol Input / 59 \\
5.2 Parser Construction / / 61 \\
5.3 First Symbols / 67 \\
5.4 Follow Symbols / 70 \\
5.5 Grammar Restrictions / 73 \\
5.6 Recursion / 78 \\
5.7 Testing / 81 \\
5.8 Error Recovery / 83 \\
6 Scope Analysis / / 96 \\
6.1 Blocks / 95 \\
6.2 Scope Rules / 97 \\
6.3 Compilation Method / 100 \\
6.4 Data Structures / 102 \\
6.5 Algorithms / 103 \\
6.6 Testing / 108 \\
7 Type Analysis / / 110 \\
7.1 Kinds of Objects / 110 \\
7.2 Standard Types / 112 \\
7.3 Constants / 113 \\
7.4 Variables / 116 \\
7.5 Arrays / 122 \\
7.6 Records / 125 \\
7.7 Expressions / 130 \\
7.8 Statements / 133 \\
7.9 Procedures / 134 \\
7.10 Object Records / 140 \\
7.11 Testing / 141 \\
8 A Pascal Computer / 144 \\
8.1 An Ideal Computer / 144 \\
8.2 The Stack / 146 \\
8.3 Variable Access / 151 \\
8.4 Expression Evaluation / 160 \\
8.5 Statement Execution / 169 \\
8.6 Procedure Activation / 173 \\
8.7 Program Execution / 177 \\
8.8 Code Syntax / 178 \\
8.9 Testing / 179 \\
8.10 A Traditional Computer / 179 \\
9 Code Generation / 183 \\
9.1 Operation Parts / 183 \\
9.2 Variable Addressing / 184 \\
9.3 Expression Code / 189 \\
9.4 Statement Code / 193 \\
9.5 Procedure Code / 200 \\
9.6 Code Optimization / 204 \\
9.7 Testing / 210 \\
10 Performance / 211 \\
10.1 Compiler Size / 211 \\
10.2 Compilation Speed / 214 \\
Appendix A: A Complete Compiler / 217 \\
A.1 Administration / 218 \\
A.2 Scanner / 221 \\
A.3 Parser / 228 \\
A.4 Assembler / 255 \\
A.5 Interpreter / 260 \\
A.6 Test Programs / 271 \\
Appendix B: A Compiler Project / 281 \\
B.1 The PL Language / 282 \\
B.2 Project Phases / 288 \\
B.3 The PL Interpreter / 290 \\
References / 297 \\
Software Distribution / 301 \\
Index / 303",
}
@Book{BrinchHansen:1985:PHI,
author = "Per {Brinch Hansen}",
booktitle = "The {Pascal} Handbook for {IBM} Personal Computers",
title = "The {Pascal} Handbook for {IBM} Personal Computers",
publisher = "????",
address = "????",
pages = "????",
year = "1985",
ISBN = "????",
ISBN-13 = "????",
bibdate = "Sat Jul 23 17:21:56 2022",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
acknowledgement = ack-nhfb,
remark = "Not yet found in library catalogs or online book
archives.",
}
@Book{Bergin:1996:HPL,
editor = "T. J. {Bergin, Jr.} and R. G. {Gibson, Jr.}",
booktitle = "History of programming languages: {II}",
title = "History of programming languages: {II}",
publisher = pub-ACM,
address = pub-ACM:adr,
pages = "xvi + 864",
year = "1996",
DOI = "https://doi.org/10.1145/234286",
ISBN = "0-201-89502-1",
ISBN-13 = "978-0-201-89502-5",
LCCN = "QA76.7 .H57 1996",
bibdate = "Tue Jul 26 09:43:56 MDT 2022",
bibsource = "fsz3950.oclc.org:210/WorldCat;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
abstract = "This specially prepared work compromises a living
archive of important programming languages, described
by the people most instrumental in their creation and
development. Drawn from the ACM/SIGPLAN Second History
of Programming Languages Conference, this volume, like
the earlier book from the first such conference (HOPL),
conveys the motivations of the language designers and
the reasons why they rejected existing languages and
created new ones. The book relates the processes by
which different languages evolved, in the words of the
individuals active in the languages' development. Most
important, participants share insights about influences
and decisions, both on choices made and on the many
roads not taken. In the book's conclusion,
distinguished historians of computing share views about
preserving programming language history.''--BOOK
JACKET. ``Fourteen chapters cover a broad range of
languages in wide use today, as well as lesser known
languages that made significant contributions to
programming language evolution: C, C++, Smalltalk,
Pascal, Ada, Prolog, Lisp, ALGOL 68, FORMAC, CLU, Icon,
Forth, Monitors and Concurrent Pascal, and Discrete
Simulation Languages. Prominent contributors to the
book are Frederick Brooks, Alain Colmerauer, Richard
Gabriel, Ralph Griswold, Per Brinch Hansen, Alan Kay,
C.H. Lindsey, Barbara Liskov, Richard Nance, Elizabeth
Rather, Dennis Ritchie, Jean Sammet, Guy Steele, Bjarne
Stroustrup, William Whitaker, and Niklaus Wirth.
Together, the conference contributors and the book's
editors have put together a volume of interest to
researchers, teachers, students, and computing
professionals everywhere who are involved in the use or
the development of programming languages today.",
acknowledgement = ack-nhfb,
tableofcontents = "Development of the HOPL-II Program \\
Conference Chairman's Opening Remarks / John A. N. Lee
\\
Language Design as Design / Frederick P. Brooks, Jr.
\\
From HOPL to HOPL-II (1978--1993): 15 Years of
Programming Language Development / Jean E. Sammet \\
Making History / Michael S. Mahoney \\
History of ALGOL 68 / C. H. Lindsey \\
Recollections about the Development of Pascal / N.
Wirth \\
Monitors and Concurrent Pascal: a Personal History /
Per Brinch Hansen \\
ADA \\
The Project: The DoD High Order Language Working Group
/ William A. Whitaker \\
Evolution of Lisp / Guy L. Steele, Jr. and Richard P.
Gabriel \\
Birth of Prolog / Alain Colmerauer and Philippe Roussel
\\
History of Discrete Event Simulation Programming
Languages / Richard E. Nance \\
Beginning and Development of Formac (FORmula
MAnipulation Compiler) / Jean E. Sammet \\
History of CLU / Barbara Liskov \\
Early History of Smalltalk / Alan C. Kay \\
History of the Icon Programming Language / Ralph E.
Griswold and Madge T. Griswold \\
Evolution of Forth / Donald R. Colburn, Charles H.
Moore and Elizabeth D. Rather \\
Development of the C Programming Language / Dennis M.
Ritchie \\
History of C++: 1979--1991 / Bjarne Stroustrup \\
Issues in the History of Computing / Michael S. Mahoney
\\
Archives Specializing in the History of Computing /
Bruce H. Bruemmer \\
Role of Museums in Collecting Computers / Gwen Bell /
Edited by Robert F. Rosin \\
Annals of the History of Computing and Other Journals /
Bernard A. Galler \\
Effective History Conference / Jean E. Sammet \\
University Courses / Martin Campbell-Kelly \\
Documenting Projects with History in Mind / Michael
Marcotty \\
Issues in the Writing of Contemporary History / J. A.
N. Lee \\
Forum Closing Panel \\
Appendix A: What Makes History? / Michael S. Mahoney
\\
Appendix B: Call for Papers \\
Appendix C: List of Attendees \\
Appendix D: Final Conference Program",
}
@Book{BrinchHansen:1996:SSE,
author = "Per {Brinch Hansen}",
booktitle = "The Search for Simplicity: Essays in Parallel
Programming",
title = "The Search for Simplicity: Essays in Parallel
Programming",
publisher = pub-IEEE,
address = pub-IEEE:adr,
pages = "xiv + 528",
year = "1996",
ISBN = "0-8186-7566-7",
ISBN-13 = "978-0-8186-7566-9",
LCCN = "QA76.642 .B756 1996",
bibdate = "Mon Jul 25 09:58:33 MDT 2022",
bibsource = "fsz3950.oclc.org:210/WorldCat;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib",
abstract = "This is the first collection of classic papers by
renowned computer scientist and author Per Brinch
Hansen. The book is intended for computer scientists
and programmers who are interested in the programming
principles of operating systems, parallel languages,
and computational science. These writings demonstrate
the author's ability to recognize the essence of
complex software problems and design simple working
systems of nontrivial size.",
acknowledgement = ack-nhfb,
subject = "Parallel programming (Computer science); Programmation
parall{\'y}ele (Informatique); Parallel programming
(Computer science)",
tableofcontents = "1: RC 4000 Real-time Control System at Pulawy \\
2: Nucleus of a Multiprogramming System \\
3: Outline of a Course on Operating System Principles
\\
4: Structured Multiprogramming \\
5: Testing a Multiprogramming System \\
6: Shared Classes \\
7: Programming Language Concurrent Pascal \\
8: Solo Operating System: a Concurrent Pascal Program
\\
9: Solo Operating System: Processes, Monitors, and
Classes \\
10: Programmer as a Young Dog \\
11: Experience with Modular Concurrent Programming \\
12: Design Principles \\
13: Network: a Multiprocessor Program \\
14: Distributed Processes: a Concurrent Programming
Concept \\
15: Reproducible Testing of Monitors \\
16: Keynote Address on Concurrent Programming \\
17: Design of Edison \\
18: Joyce; A Programming Language for Distributed
Systems \\
19: Multiprocessor Implementation of Joyce \\
20: Nature of Parallel Programming \\
21: Monitors and Concurrent Pascal: a Personal History
\\
22: Model Programs for Computational Science: a
Programming Methodology for Multicomputers \\
23: Parallel Cellular Automata: a Model Program for
Computational Science \\
24: SuperPascal: a Publication Language for Parallel
Scientific Computing \\
25: Efficient Parallel Recursion",
}
@Book{BrinchHansen:1999:PEJ,
author = "Per {Brinch Hansen}",
booktitle = "Programming for Everyone in {Java}",
title = "Programming for Everyone in {Java}",
publisher = pub-SV,
address = pub-SV:adr,
pages = "xviii + 238",
year = "1999",
DOI = "https://doi.org/10.1007/978-1-4612-1514-1",
ISBN = "0-387-98683-9 (softcover), 1-4612-1514-5 (e-book)",
ISBN-13 = "978-0-387-98683-8 (softcover), 978-1-4612-1514-1
(e-book)",
LCCN = "QA76.73.J38 B74 1999",
bibdate = "Wed Mar 14 08:27:06 2001",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/java.bib",
price = "US\$34.95",
abstract = "This is a book about computer programming for
everyone: artist, poet, student, doctor, accountant, or
engineer. It assumes you know very little or nothing
about how computers work. This book will show you how
to write understandable computer programs in Java, a
programming language widely used on the Internet. Why
should we be interested in learning computer
programming? Even though most readers will not wish to
become professional programmers, programming is fun and
useful. You will enjoy learning a new skill and
becoming good at it. And, in today's world it is
important for professionals in any field to appreciate
what computers can (and cannot) do well. To reach this
level of understanding, you must go beyond the routine
skills of a computer user and learn the art of
programming in some depth. While emphasizing general
principles of programming this book: * Uses examples
from the humanities only, requiring no math or
engineering knowledge * Explains all programming
concepts by means of complete programs * Concentrates
on exercises solved by writing complete programs *
Takes the reader from text input/output to
object-oriented programming in the equivalent of a one
semester class. * Gives the reader a solid background
for follow-on courses on the graphics and networking
facilities of Java. This book is a sound and complete
introduction to programming and not just another Java
reference book for those who already know how to
program. Although the book uses Java, the same methods
can be used for systematic programming in other
languages, such as C, Fortran, and Pascal. The book
makes a splendid text for a one semester course on
beginning programming and for such a course there are
teaching aids available at the author's website.
Professor Per Brinch Hansen, is one of the leading
pioneers in computer programming, and his insight and
experience make learning proper computer programming in
Java fun and easy for everyone.",
acknowledgement = ack-nhfb,
tableofcontents = "1. Simple Programs \\
2. Simple Choice \\
3. Multiple Choice \\
4. Simple Repetition \\
5. Unbounded Repetition \\
6. Text Files \\
7. Simple Arrays \\
8. Matrices \\
9. Methods \\
10. Recursion \\
11. Classes \\
App. A. Java Text Program \\
App. B. Sample Class Schedule",
}
@Book{BrinchHansen:2001:COS,
author = "Per {Brinch Hansen}",
booktitle = "Classic Operating Systems: from Batch Processing to
Distributed Systems",
title = "Classic Operating Systems: from Batch Processing to
Distributed Systems",
publisher = pub-SV,
address = pub-SV:adr,
pages = "x + 597",
year = "2001",
DOI = "https://doi.org/10.1007/978-1-4757-3510-9",
ISBN = "0-387-95113-X",
ISBN-13 = "978-0-387-95113-3",
LCCN = "QA76.76.O63 B7425 2001",
bibdate = "Thu Jun 7 17:23:26 MDT 2018",
bibsource = "http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/tex/bib/unix.bib;
z3950.loc.gov:7090/Voyager",
URL = "http://www.loc.gov/catdir/enhancements/fy0816/00045036-d.html;
http://www.loc.gov/catdir/enhancements/fy0816/00045036-t.html;
https://link.springer.com/book/10.1007/978-1-4757-3510-9",
abstract = "This remarkable anthology allows the pioneers who
orchestrated the major breakthroughs in operating
system technology to describe their work in their own
words. From the batch processing systems of the 1950s
to the distributed systems of the 1990s, Tom Kilburn,
David Howarth, Bill Lynch, Fernando Corbat{\'o}, Robert
Daley, Sandy Fraser, Dennis Ritchie, Ken Thompson,
Edsger Dijkstra, Per {Brinch Hansen}, Soren Lauesen,
Barbara Liskov, Joe Stoy, Christopher Strachey, Butler
Lampson, David Redell, Brian Randell, Andrew Tanenbaum,
and others describe the systems they designed. The
volume details such classic operating systems as the
Atlas, B5000, Exec II, Egdon, CTSS, Multics, Titan,
Unix, THE, RC 4000, Venus, Boss 2, Solo, OS 6, Alto,
Pilot, Star, WFS, Unix United, and Amoeba systems. An
introductory essay on the evolution of operating
systems summarizes the papers and helps puts them into
a larger perspective. This provocative journey captures
the historic contributions of operating systems to
software design, concurrent programming, graphic user
interfaces, file systems, personal computing, and
distributed systems. It also fully portrays how
operating systems designers think. It's ideal for
everybody in the field, from students to professionals,
academics to enthusiasts.",
acknowledgement = ack-nhfb,
subject = "Operating systems (Computers)",
tableofcontents = "Front Matter / i--x \\
The Evolution of Operating Systems \\
The Evolution of Operating Systems / Per {Brinch
Hansen} (2000) / 1--34 \\
Part I: Open Shop \\
Front Matter / 35--35 \\
1: The IBM 701 Computer at the General Motors Research
Laboratories / George F. Ryckman (1983) / 37--40 \\
Part II: Batch Processing \\
Front Matter / 41--41 \\
2: The BKS System for the Philco-2000 (1961) / Richard
B. Smith / 43--45 \\
Part III: Multiprogramming \\
Front Matter / 47--47 \\
3: The Atlas Supervisor / Tom Kilburn, R. Bruce Payne
and David J. Howarth (1961) / 49--77 \\
4: Operating System for the B5000 / Clark Oliphint
(1964) / 78--87 \\
5: Description of a High Capacity, Fast Turnaround
University Computing Center / William C. Lynch (1966) /
88--101 \\
6: The Egdon System for the KDF9 / David Burns, E.
Neville Hawkins, D. Robin Judd, and John L. Venn (1966)
/ 102--114 \\
Part IV: Timesharing \\
Front Matter / 115--115 \\
7: An Experimental Time-Sharing System / Fernando
Corbat{\'o}, Marjorie Merwin-Daggett and Robert C.
Daley (1962) / 117--137 \\
8: A General-Purpose File System for Secondary Storage
/ Robert C. Daley and Peter G. Neumann (1965) /
138--166 \\
9: File Integrity in a Disc-Based Multi-Access System /
A. G. Fraser (1972) / 167--194 \\
10: The Unix Time-Sharing System / Dennis M. Ritchie,
Ken Thompson (1974) / 195--220 \\
Part V: Concurrent Programming \\
Front Matter / 221--221 \\
11: The Structure of the ``THE'' Multiprogramming
System / Edsger W. Dijkstra (1968) / 223--236 \\
12: RC 4000 Software: Multiprogramming System / Per
Brinch Hansen (1969) / 237--281 \\
13: The Design of the Venus Operating System / Barbara
H. Liskov (1972) / 282--294 \\
14: A Large Semaphore Based Operating System / S{\o}ren
Lauesen (1975) / 295--323 \\
15: The Solo Operating System: A Concurrent Pascal
Program / Per {Brinch Hansen} (1976) / 324--336 \\
16: The Solo Operating System: Processes, Monitors and
Classes (1976) / Per {Brinch Hansen} / 337--384 \\
Part VI: Personal Computing \\
Front Matter / 385--385 \\
17: OS6 --- An Experimental Operating System for a
Small Computer: Input/Output and Filing System / Joe E.
Stoy, Christopher Strachey (1972) / 387--413 \\
18: An Open Operating System for a Single-User Machine
/ Butler W. Lampson, Robert F. Sproull (1979) /
414--432 \\
19: Pilot: An Operating System for a Personal Computer
/ David D. Redell, Yogen K. Dalal, Thomas R. Horsley,
Hugh C. Lauer, William C. Lynch, Paul R. McJones, Hal
G. Murray, and Stephen C. Purcell (1980) / 433--459 \\
20: The Star User Interface: An Overview / David C.
Smith, Charles Irby, Ralph Kimball, Eric Harslem (1982)
/ 460--490 \\
Part VII: Distributed Systems \\
Front Matter / 491--491 \\
21: WFS: A Simple Shared File System for a Distributed
Environment / Daniel Swinehart, Gene McDaniel, David
Boggs (1979) / 493--510 \\
22: The Design of a Reliable Remote Procedure Call
Mechanism / Santosh Shrivastava, Fabio Panzieri (1982)
/ 511--527 \\
23: The Newcastle Connection or Unixes of the World
Unite / David R. Brownbridge, Lindsay F. Marshall,
Brian Randell (1982) / 528--549 \\
24: Experiences with the Amoeba Distributed Operating
System / Andrew S. Tanenbaum, Robbert Van Renesse, Hans
Van Staveren, Gregory J. Sharp, Sape J. Mullender, Jack
Jansen, and Guido Van Rossum (1990) / 550--586 \\
Back Matter (Bibliography) / 587--597",
}
@Book{BrinchHansen:2002:OCP,
editor = "Per {Brinch Hansen}",
booktitle = "The Origin of Concurrent Programming: From Semaphores
to Remote Procedure Calls",
title = "The Origin of Concurrent Programming: From Semaphores
to Remote Procedure Calls",
publisher = pub-SV,
address = pub-SV:adr,
pages = "x + 534",
year = "2002",
DOI = "https://doi.org/10.1007/978-1-4757-3472-0",
ISBN = "0-387-95401-5, 1-4419-2986-X, 1-4757-3472-7,
1-4757-3472-7",
ISBN-13 = "978-0-387-95401-1, 978-1-4419-2986-0,
978-1-4757-3472-0, 978-1-4757-3473-7",
LCCN = "QA76.642 .O75 2002",
bibdate = "Thu Jul 21 15:50:51 MDT 2022",
bibsource = "fsz3950.oclc.org:210/WorldCat;
http://www.math.utah.edu/pub/bibnet/authors/d/dijkstra-edsger-w.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hansen-per-brinch.bib;
http://www.math.utah.edu/pub/bibnet/authors/h/hoare-c-a-r.bib",
URL = "http://link.springer.com/10.1007/978-1-4757-3472-0",
abstract = "One cannot build or understand a modern operating
system unless one knows the principles of concurrent
programming. This volume is a collection of 19 original
papers on the invention and origins of concurrent
programming, illustrating the major breakthroughs in
the field from the mid 1960s to the late 1970s. All of
them are written by the pioneers in concurrent
programming, including Brinch Hansen himself, and have
introductions added that summarize the papers and put
them in perspective. This anthology is an essential
reference for professional programmers, researchers,
and students of electrical engineering and computer
science. A familiarity with operating system principles
is assumed.",
acknowledgement = ack-nhfb,
subject = "Programming Techniques",
tableofcontents = "The invention of concurrent programming / Per
Brinch Hansen \\
Cooperating sequential processes \\
The structure of the multiprogramming system / Edsger
W. Dijkstra \\
RC 4000 software: multiprogramming system / Per Brinch
Hansen \\
Hierarchical ordering of sequential processes / Edsger
W. Dijkstra \\
Towards a theory of parallel programming / C. A. R.
Hoare \\
An outline of a course on operating system principles
\\
Structured multiprogramming \\
Shared classes / Per Brinch Hansen \\
Monitors: an operating system structuring concept / C.
A. R. Hoare \\
The programming language concurrent Pascal \\
The Solo operating system: a concurrent Pacal program
\\
The Solo operating system: processes, monitors and
classes \\
Design principles / Per Brinch Hansen \\
A synthesis emerging? / Edsger W. Dijkstra \\
Communicating sequential processes / C. A. R. Hoare \\
Distributed processes: a concurrent programming concept
\\
Joyce: a programming language for distributed systems
\\
SuperPascal: a publication language for parallel
scientific computing \\
Efficient parallel recursion / Per Brinch Hansen",
}