Publications

Books

  1. Structured Programming. O.-J. Dahl, E.W. Dijkstra, C.A.R. Hoare. Academic Press, London, 1972. (220 pages). Also as: A.P.I.C. Studies in Data Processing no. 8. ISBN 0-12-200550-3, 0-12-200556-2
  2. SIMULA begin. G.M. Birtwistle, O.-J. Dahl, B. Myhrhaug and K. Nygaard. Auerbach Publishers Inc, 1973 (391 pages) ISBN 91-44-06211-7. 2. edition published by Studentlitteratur, Stockholm & Chartwell-Bratt Ltd, England, 1973
  3. Syntaks og semantikk i programmeringssprk (Syntax and Semantics in Programming Languages). O.-J. Dahl. Studentlitteratur, Lund, Sweden, 1972 (103 pages) ISBN 91-44-07111-6 (In Norwegian)
  4. Algoritmer og datastrukturer (Algorithms and Data Structures). O.-J. Dahl and Dag Belsnes. Studentlitteratur, Lund, Sweden, 1973 (170 pages) ISBN 91-44-06991-x (In Norwegian)
  5. Verifiable Programming. O.-J. Dahl. Prentice Hall (International series in computer science), New York, 1992, revised edition 1993 (269 pages) ISBN 0-13-951062-1

Papers in Proceedings, Journals, and Books

  1. Automatisk koding – et prosjekt ved forsvarets forskningsinstitutt [English: Automatic coding – a project at the Norwegian Research Defense Establishment]. O.-J. Dahl. (In Norwegian) In: Proceedings of NordSAM, May 1959, Karlskrona. (The Nordic Symposium on Application of Mathematical Machines) Carl-Erik Frberg and Yngve Rollof (eds.), 1959, pages 135-141.
  2. Litt om symbolbruken i Algol [English: A Note on the Use of Symbols in Algol]. O.-J. Dahl. In: BIT (Nordic Journal of Information Processing) 2(1962) no. 1, pages 7-8. (In Norwegian)
  3. SIMULA – a Language for Describing Discrete Event Systems. K. Nygaard and O.-J. Dahl. In: Proceedings of the IFIP Conference, 1965. Vol. 2, Spartan Books, Washington, D.C.; Macmillan, New York, pages 554-555.
  4. SIMULA – an ALGOL-Based Simulation Language. O.-J. Dahl and K. Nygaard. In: Communications of the ACM 9(1966), pages 671-682.
  5. Discrete Event Simulation Languages. O.-J. Dahl. In: Programming Languages. G. Genuys (ed). NATO Advanced Study Department. Academic Press, 1968, pages 349-395.
  6. Class and Subclass Declarations. O.-J. Dahl and K. Nygaard. In: Simulation Programming Languages, J.N. Buxton (ed.), Proceedings of the IFIP working conference on simulation programming languages, Oslo, May 1967, North-Holland, Amsterdam, 1968, pages 158-174.
  7. Some Features of the SIMULA 67 Language. O.-J. Dahl, B. Myhrhaug and K. Nygaard. In: Digest of the Second Conference on Application of Simulation, Dec. 1968, New York, IEEE (cat no. 68C60-SIM) pages 29-32.
  8. Decomposition and Classification in Programming Languages. O.-J. Dahl. In: Linguaggi nella societ e nella tecnica, Convegno promosso dalla Ing. C. Olivetti & C., S. p. A. per il centenario della nascita di Camillo Olivetti, Milano, 1970. (Saggi di cultura contemporanea 87) pages 371-383.
  9. Programming Languages as Tools for the Formulation of Concepts. O.-J. Dahl. In: Proceedings of the 15th Scandinavian Congress, Oslo 1968, K.E. Aubert and W. Ljunggren (eds.). Lecture notes in Mathematics no. 118, Springer, 1970, pages 18-29.
  10. Coroutine Sequencing in a Block Structured Environment. Arne Wang and O.-J. Dahl. In: BIT 11(1971) pages 425-449.
  11. Hierarchical Program Structures. O.-J. Dahl and C.A.R. Hoare. In: Structured Programming. Academic Press, 1972, pages 175-220 (see [1] above)
  12. Programming Discipline. O.-J. Dahl. In: Proceedings of the 1974 CERN School of Computing, Godysund, Aug. 1974. CERN Report 74-23, Geneva, pages 426-435.
  13. An Approach to Correctness Proofs of Semicoroutines. O.-J. Dahl. In: Mathematical Foundations of Computer Science, 3rd Symposium, Jadwisin near Warsaw, 17-22 jun, 1974. LNCS no. 28, Springer, 1975, pages 157-174.
  14. Analysis of an Algorithm for Priority Queue Administration. A. Jonassen and O.-J. Dahl. In: BIT 15(1975) no. 4, pages 409-422.
  15. A Model for Controlling a Network of Processors and Storage Units. O.-J. Dahl. In: Theorie des algorithmes, des langages et de la programmation: Textes des exposs du seminaire organise par l'Institut du Recherche d'Informatique et d'Automatique (IRIA), Rocquencourt, Octobre 1974. M. Nivat (ed.). IRIA, Rocquencour, France, 1975, pages 83-94. ISBN 2-7261-0120-8
  16. Can program proving be made practical? O.-J. Dahl. In: Les fondements de la programmation, M. Amirchahy and D. Nel (eds.). IRIA, Le Chesnay, France (Text in English.) pages 57-114. ISBN 2726101844
  17. Time Sequences as a Tool for Describing Program Behaviour. O.-J. Dahl. In: Abstract Software Specifications, January 22–February 2, 1979, Copenhagen Winter School, D. Bjrner (ed.). LNCS no. 86, Springer 1979, pages 274-290.
  18. The Development of the Simula Languages (Chapter IX: SIMULA Session). K. Nygaard and O.-J. Dahl. In: History of Programming Languages. Richard L. Wexelblat (ed.), Academic Press, New York, 1981, pages 439-493.
    Also in: ACM Sigplan History of Programming Languages Conference, June, 1978. ACM Sigplan Notices 13(1978) no. 8, pages 245-272.
  19. Object Oriented Specification. O.-J. Dahl. In: Research Directions in Object-Oriented Programming, Bruce Shriver and Peter Wegner (eds.), MIT Press, Cambridge, 1987, pages 561-576.
    (Presented at the Object-Oriented Programming Workshop, June, 1986.)
  20. Generator induction in order sorted algebra. O. Owe & O.-J. Dahl. In: Formal Aspects of Computing 3(1991) pages 2-20.
  21. Formal Development with ABEL. O.-J. Dahl and O. Owe. In: Proceedings of Formal Software Development Methods. VDM '91, Oct. 1991. LNCS no. 552, Springer, 1991, pages 320-362.
  22. Object Orientation and Formal Techniques (extended abstract). O.-J. Dahl. In: VDM '90 VDM and Z – Formal Methods in Software Development. LNCS no. 428, Springer, 1992, pages 1-11.
  23. Value Types and Object Classes. O.-J. Dahl. In: ASU Newsletter 20(1992) no. 1, pages 8-20.
  24. Monitors Revisited. O.-J. Dahl. In: A classical Mind: Essays in Honour of C.A.R. Hoare. A.W. Roscoe (ed.). Prentice Hall, 1994, pages 93-103.
  25. Relating a Simulation Model to an Applicative Specification. O.-J. Dahl. In: Modelling and Simulation: Proceedings ESM, Praha, 1995, M. Snorek, M. Sujansky, A. Verbraeck (eds.) Society for Computer Simulation International, 1995, pages 633-638.
  26. Recent Trends in Data Type Specification: 11th Workshop on Specification of Abstract Data Types jointly with the 8th COMPASS Workshop, Oslo, Norway, September 19-23, 1995, Selected papers. Magne Haveraaen, O. Owe, O.-J. Dahl (eds.). LNCS no. 1130, Springer, 1996, (550 pages) ISBN 3-540-61629-2
  27. Data Access Safety and Storage Economy in Programming Languages. O.-J. Dahl. (8 pages) 23rd ASU Conference, August 1997, Stara Lesna, Slovakia. ASU Newsletter vol. 24, no. 2, Feb. 1998.
  28. On Introducing Higher Order Functions in ABEL. O.-J. Dahl and Bjrn Kristoffersen. In: Nordic Journal of Computing 5(1998) pages 50-69.
  29. Subtyping and Constructive Specification. O.-J. Dahl, O. Owe, Tore J. Bastiansen. In: Nordic Journal of Computing 5(1998) pages 19-49.
  30. A Note on Monitor Versions: an Essay in the Honour of C.A.R. Hoare. O.-J. Dahl. In: Millennial Perspectives in Computer Science (Proceeding of the 1999 Oxford-Microsoft Symposium in Honour of Sir Tony Hoare). Jim Davis, Bill Roscoe and Jim Woodcock (eds.). PALGRAVE, in the series Cornerstones of Computing, 2000, pages 91-98.
  31. The Roots of Object Orientation: the Simula Language. O.-J. Dahl. In: Software Pioneers: Contribution to Software Engineering. Manfred Broy, Ernst Denert (eds.), Springer Verlag, 2002. pages 78-90. (Talk given at conference in Bonn, June 2001) ISBN 3-540-43081-4
  32. The Birth of Object Orientation: the Simula Languages. O.-J. Dahl. In: From Object- Orientation to Formal Methods: Essays in memory of Ole-Johan Dahl. O. Owe, S. Krogdahl, T. Lyche (eds.), LNCS 2635, Springer Verlag, 2004. pages 15-25. (similar to the previous entry) ISBN 0302-9743

Research Reports

Early reports are from Department of Mathematics, section D (for numerical analysis and computer science). Later reports are from Department of Informatics (IFI), which was formed in 1978. Reports marked by a star ( *) represent early versions or revisions of papers mentioned above.

  1. Analysis of an Algorithm for Priority Queue Administration. Arne Jonassen and O.-J. Dahl. Research Report in Informatics no. 3, 1975 (68 pages) ISBN 82-553-0203-4 *
  2. An Approach to Correctness Proofs of Semicoroutines. O.-J. Dahl. Research Report in Informatics no. 13, 1977 (20 pages) ISBN 82-90230-00-1 *
  3. Can Program Proving be Made Practical? O.-J. Dahl. Research Report in Informatics no. 33, 1978 (57 pages) Lectures presented at the EEC-CREST course on Programming Foundations, Toulouse 1977 (revised May 1978). ISBN 82-90230-26-5 *
  4. Time Sequences as a Tool for Describing Program Behaviour. O.-J. Dahl. Research Report no. 48, 1979 (17 pages) ISBN 82-90230-43-5 *
  5. Partial Correctness Semantics of Communicating Sequential Processes. Neelam Soundararajan and O.-J. Dahl. Research Report no. 66, 1982 (29 pages) ISBN 82-90230-62-1
  6. Notes on a LIFO Disciplined Simplex Algorithm. O.-J. Dahl. Research Report no. 79, 1984 (7 pages) ISBN 82-90230-76-1
  7. Logic of Programming and Specification. O.-J. Dahl. Research Report no. 84, 1984 (48 pages) ISBN 82-90230-83-4
  8. A Presentation of the Specification and Verification Project ABEL. O.-J. Dahl and O. Owe. Research Report no. 90, 1984 (9 pages) ISBN 82-90230-89-3. Also in the proceedings of the 3. Verification Workshop, Watsonville, CA, Feb. 1985.
  9. Specification and Reasoning about Discrete Simulation Models: A Case Study. O.-J. Dahl. Research Report no. 94, 1985 (10 pages) ISBN 82-90230-93-1. Lecure at the IMACS World Congress on System Simulation and Scientific Computation, Oslo, Aug. 1985.
  10. Preliminary Report on the Specification and Programming Language ABEL. O.-J. Dahl, Dag F. Langmyhr, O. Owe. Research Report no. 106, 1986 (86 pages) ISBN 82-7368-006-1
  11. Object Oriented Specification. O.-J. Dahl. Research Report no. 108, 1987 (18 pages) ISBN 82-7368-009-6 *
  12. Generator Induction in Order Sorted Algebras. O.-J. Dahl and O. Owe. Research Report no. 122, 1989 (17 pages) ISBN 82-7368-027-4 *
  13. Object Orientation and Formal Techniques (extended abstracts). O.-J. Dahl. Research Report no. 138, 1990 (11 pages) ISBN 82-7368-044-4 *
  14. Formal Development with ABEL. O.-J. Dahl and O. Owe. Research Report no. 159, 1991 (43 pages) ISBN 82-7368-066-5 *
  15. Value Types and Object Classes. O.-J. Dahl. Talk presented at the 25 years SIMULA 67 Anniversary Conferences, Nordwijkerhout 11-12 June, 1992 and Oslo 22 June. Research Report no. 170, 1992 (13 pages) ISBN 82-7368-079-7 *
  16. Monitors Revisited. O.-J. Dahl. Research Report no. 175, 1993 (12 pages) ISBN 82-7368-084-3 *
  17. Co- and Contravariance in Functional Subtypes: Contribution to IFIP WG 2.3, June 1994. O.-J. Dahl. Research Report no. 191, 1994 (7 pages) ISBN 82-7368-101-7
  18. Hoare-style Parallel Programming: Foils for a student course, IN305. O.-J. Dahl. Research Report no. 192, 1994 ISBN 82-7368-102-
  19. On the Use of Subtypes in ABEL. O.-J. Dahl and O. Owe. Revised version. Research Report no. 206, 1995 (20 pages) ISBN 82-7368-117-3 *
  20. On Introducing Higher Order Functions in ABEL. O.-J. Dahl and Bjrn Kristoffersen. Research Report no. 210, 1995 (18 pages) ISBN 82-7368-123-8 *
  21. Subtyping and Constructive Specification. O.-J. Dahl, O. Owe and Tore J. Bastiansen. Research Report no. 228, 1996 (38 pages) ISBN 82-7368-142-4 *
  22. Formal Methods and the RM-ODP. O.-J. Dahl and O. Owe. Research Report no. 261, 1998 (17 pages) ISBN 82-7368-192-0

Compendiums and Lecture Notes

  1. Kompendium til DB-2 (maskinsprk og operasjonssytem). O.-J. Dahl. Dept. of Mathematics, 1969 (48 pages) (In Norwegian).
  2. Listestrukturer: Ch. 7 from compendium Ikke-numeriske metoder. O.-J. Dahl. Dept. of Mathematics, 1970 (46 pages) (In Norwegian).
  3. Forelesninger i DB 2. O.-J. Dahl & co. 2. edition, Dept. of Mathematics, 1971 (171 pages) (In Norwegian).
  4. Top-Down Parsers Expressed in a High-Level Language. O.-J. Dahl. Dept. of Mathematics, 1972 (12 pages).
  5. Hierarchical Program Structures. O.-J. Dahl. Lecture Note no. 6, Dept. of Mathematics, 1973 (57 pages). The predecessor of [1].
  6. Two Lectures for the Graduate Course: Parallel Programming and Operating Systems. O.-J. Dahl and C.A.R. Hoare. Lecture Note no. 7, Dept. of Mathematics, 1973 (15 pages).
  7. Runtime organisasjon for SIMULA/ALGOL. O.-J. Dahl. Compendium no. 11. Dept. of Informatics, 1980 (36 pages) (In Norwegian).
  8. Stochastiske simuleringsmodeller. O.-J. Dahl. (36 pages) Compendium 13, Dept. of Informatics (In Norwegian).
  9. Program Specification and Verification Techniques. O.-J. Dahl. Part I, 1988, Part II and III 1990. Compendium 42, Dept. of Informatics (153 pages).
  10. Substitusjonssystemer. O.-J. Dahl. Lecture notes (12 pages) Aug. 1989 (In Norwegian)
  11. Parallell programmering (Parallel Programming). O.-J. Dahl. Compendium 45, Dept. of Informatics (69 pages), Revised Aug. 1995 (In Norwegian). Kompendium 46, Aug. 1996 (In Norwegian).
  12. Stochastic Simulation Modelling. O.-J. Dahl. Compendium 69, Dept. of Informatics, April 1996 (36 pages).
  13. Reports from the Norwegian Computing Center (NR), Oslo
  14. Preliminary Presentation of the Simula Language and some Examples of Network Descriptions. O.-J. Dahl and K. Nygaard. NR Doc., May 18th 1963.
  15. SIMSCRIPT Implementation. Vic Bell and O.-J. Dahl. NR Doc. (31 pages), Nov. 1963.
  16. The SIMULA Storage Allocation Scheme. O.-J. Dahl. NR Doc. 162, Nov. 1963 (9 pages)
  17. SIMULA Status Report. O.-J. Dahl. NR Doc.  1.1, 1964 (10 pages)
  18. The SIMULA Data Structures. O.-J. Dahl. NR Doc.  March 1964 (23 pages)
  19. The SIMULA Language: Specifications 17 March 1964. O.-J. Dahl and K. Nygaard. NR Doc.  March, 1964 (30 pages)
  20. The SIMULA Project: Technical Progress Report 1. O.-J. Dahl and K. Nygaard. NR Doc.  July 1, 1964 (7 pages)
  21. SIMULA status report. O.-J. Dahl. NR Doc.  1.10, 1964 (24 pages)
  22. SIMULA – A Language for Programming and Description of Discrete Event Systems: Introduction and User's Manual. O.-J. Dahl and K. Nygaard. NR Publ. no. 11, May 1965 (103 pages). Revised versions: 1966. III, 108 pages. 5th ed. NR, 1967 (124 pages)
  23. Basic Concepts of SIMULA – an ALGOL Based Simulation Language. O.-J. Dahl and K. Nygaard. NR Doc., 1965 (17 pages)
  24. SIMULA, an ALGOL Based Simulation Language. O.-J. Dahl and K. Nygaard. NR Doc., April 1966 (26 pages) *
  25. Discrete Event Simulation Languages: Lectures Delivered at the NATO Summer School, Villard-de-Lans, Sept. 1966. O.-J. Dahl. NR Doc., 1966 (63 pages) *
  26. SIMULA: Simula Tracing System. O.-J. Dahl, B. Myhrhaug and K. Nygaard. NR Doc., 1966.
  27. Class and Subclass Declarations. O.-J. Dahl and K. Nygaard. NR Publ. no. 93, (Presented at IFIP Working Conference on Simulation Languages, Lysebu, Oslo, May 1967). March 1967 (17 pages) *
  28. SIMULA 67 Common Base Proposal. O.-J. Dahl and K. Nygaard. NR Doc., May 1967 (10 pages)
  29. Proposals for Consideration by the SIMULA 67 Common Base Conference. O.-J. Dahl and K. Nygaard. NR Doc., June 1967.
  30. SIMULA 67 Common Base Definition. O.-J. Dahl and K. Nygaard. NR Doc., June 1967 (31 pages).
  31. SIMULA 67 Common Base Language. O.-J. Dahl, B. Myhrhaug, K. Nygaard. NR Publ. S-2, 1968 (141 pages).
  32. Revised editions: (1970, 145 pages, SIMULA information: NR Publ. S-22). (1982, 127 pages, NR Publ. no. 725). (1984, 172 pages, NR Publ. no. 743). ISBN 82-539-0225-5
  33. Some Uses of the External Class Concept in SIMULA 67. O.-J. Dahl, B. Myhrhaug, K. Nygaard. NR Doc., 1968. (Presented at the NATO sponsored conference on Software Engineering, Garmisch, Germany, October 1968)
  34. SIMULA 67 – Basic Information. O.-J. Dahl and K. Nygaard. NR Publ. no. S-3, 1968 (12 pages).
  35. SIMULA 67 – Implementation Guide. O.-J. Dahl, B. Myhrhaug. NR Publ. no. S-9, 1969. Rev. March 1973, NR Publ. no. S-47 (146 pages).
  36. The Development of the SIMULA Languages. K. Nygaard and O.-J. Dahl. NR Doc. (Publication 603), 1978 (28 pages) ISBN 82-539-0072-4 (Note: includes a bibliography.) *
  37. Reports from the Norwegian Defense Research Establishment (NDRE), Kjeller, Norway
  38. An Automatic Coding Scheme for the Ferranti MERCURY Computer. O.-J. Dahl. NDRE Report IR-F-286, 1956.
  39. Multiple Index Countings on the Ferranti MERCURY Computer. O.-J. Dahl. Norwegian Defense Research Establishment, 1957. (NDRE Report 23) & Cand real thesis, University of Oslo, Dept. of Mathematics, 1957.
  40. Programmer's Handbook for the Ferranti MERCURY Computer Frederic at the Norwegian Defense Research Establishment. O.-J. Dahl, Jan V. Garwick. NDRE. 2. edition published by Merkantile Trykkeri, Oslo, 1958. 3. edition, NDRE, 1962 (117 pages).
  41. Mac Bulletin I. O.-J. Dahl. NDRE report (S-15), 1960 (10 pages)
  42. Mac Bulletin II. O.-J. Dahl. NDRE report (S-17), 1960 (3 pages)
  43. Mac Bulletin V: Macros. O.-J. Dahl NDRE report (S-57), 1963 (13 pages)

Reports from the Norwegian Defense Research Establishment (NDRE), Kjeller, Norway

  1. An Automatic Coding Scheme for the Ferranti MERCURY Computer. O.-J. Dahl. NDRE Report IR-F-286, 1956.
  2. Multiple Index Countings on the Ferranti MERCURY Computer. O.-J. Dahl. Norwegian Defense Research Establishment, 1957. (NDRE Report 23) & Cand real thesis, University of Oslo, Dept. of Mathematics, 1957.
  3. Programmer's Handbook for the Ferranti MERCURY Computer Frederic at the Norwegian Defense Research Establishment. O.-J. Dahl, Jan V. Garwick. NDRE. 2. edition published by Merkantile Trykkeri, Oslo, 1958. 3. edition, NDRE, 1962 (117 pages).
  4. Mac Bulletin I. O.-J. Dahl. NDRE report (S-15), 1960 (10 pages)
  5. Mac Bulletin II. O.-J. Dahl. NDRE report (S-17), 1960 (3 pages)
  6. Mac Bulletin V: Macros. O.-J. Dahl NDRE report (S-57), 1963 (13 pages)
Published Dec. 5, 2011 10:08 AM - Last modified Oct. 16, 2013 2:14 PM