| Dahl, O. and K. Nygaard (1966). Simula, an Algol-based simulation language. Communications of the ACM 9 (9), 671-678. |
....support variability and generality of these concepts, we create a series of templates which can be combined to create modelling languages with the appropriate semantics. 1 Introduction Many programming languages in use today derive their object orientated features from those found in Simula [DN66] the most important of these derived features being classes and the incremental de nition of subclasses. The UML [OMG01] as the de facto modelling language, also has classes; subclassing in the UML is known as generalization and is a relationship between two classes (we call such relationships ....
Ole-Johan Dahl and Kristen Nygaard. An algol-based simulation language. Communications of the ACM, 9(9):671-678, 1966.
....embodied by a subtype hierarchy. The first and prototypical language for parametric polymorphism is ML; the mechanisms we adopt later are more closely related to Russell [Demers Donahue 79] and Pebble [Burstall Lampson 84] The notion of subtype polymorphism we consider first appeared in Simula67 [Dahl Nygaard 66] single inheritance) and is more closely related to the one in Amber [Cardelli 86] multiple inheritance) A major aim here is to unify parametric and subtype polymorphism in a single type system. Subtyping is a relation between types, similar to the relation of containment between sets. If A ....
....[Wirth 83] for a modem, highly structured type system. Types are not normally involved in controlling side effects, but see [Lucassen Gifford 88] which proposes an interesting way to use quantifiers for this purpose. Object orientedprogramming. The original object oriented language, Simula67 [Dahl Nygaard 66] was typed. Smalltalk [Krasner 83] abandoned typing, but the most recent object oriented languages are again typed [Stroustrup 86] Cardelli Donahue Glassman Jordan Kalsow Nelson 89] Schaffert Cooper Bullis Kilian Wilpolt 86] Wirth 87] The notion of subtyping is necessary to capture many of ....
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Comm. ACM, Vol 9, pp. 671-678, 1966.
....reasoning about Algol like object oriented programs. Key Words: Algol like languages, relational parametricity, speci cation logic, objectoriented programming, semantics. 1. INTRODUCTION Object oriented programming rst developed in the context of Algol like languages in the form of Simula 67 [17]. The majority of object oriented languages used in practice either descend from Algol or use ideas from the Algol tradition. Thus, it seems entirely appropriate to study the concepts of object oriented programming in the context of Algol like languages. This paper is an e ort to formalize how ....
O.-J. Dahl and K. Nygaard. An Algol-based simulation language. Comm. ACM, 9(9):671-678, September 1966.
....in. These procedural enhancements are, nevertheless, not explicitly anchored in their formal specifications (e.g. the CLASP architecture in LOOM [33] Object oriented programming languages, on the other hand, originally were developed for simulations of dynamic systems (as with Simula [9]) and, hence, always stressed a tight coupling between data and operations. Encapsulation ensures that an object s internal data are only accessed via its defined interface, while message passing allows for a flexible control flow. Inheritance is usually considered from an implementational ....
O.-J. Dahl and K. Nygaard. An Algol-based simulation language. Communications of the ACM, 9(9):671--678, 1966.
....code for a method can reuse the overridden code. We write a.l fi V(x:A,y:B j )b for the result of overriding the l method of a with V(x:A,y:B j )b; when l j is invoked, x is self and y is the body of the old method. We call y elder, because of the similarity with the inner construct of Simula 67 [Dahl, Nygaard 1966]. We give only the type and evaluation rules for override with elder: Val Override with elder) where A7[l i :B i i1. n ] E # a : A E, x:A, y:B j # b : B j j1. n E # a.l j fi V(x:A,y:B j )b : A (Eval Override with elder) where A7[l i :B i ....
O. Dahl and K. Nygaard, Simula, an Algol-based simulation language. Communications of the ACM 9, 671-678.
....and review the history of concurrent calculi. We finish the chapter by describing some of the more common ways of synchronizing communication in concurrent languages and calculi. 2.1 Object Oriented Languages There have been many object oriented programming languages. The first was Simula (Dahl and Nygaard 1966), a programming language for studying problems in physical modelling. Smalltalk (Goldberg and Robson 1983) advanced the practice of object orientation, developing the ideas originated by Simula. Particularly relevant to Chapter 3, Smalltalk executed programs by compiling them onto an abstract ....
Dahl, O. and K. Nygaard (1966). Simula, an Algol-based simulation language.
....The most favoured forms of polymorphism are universal polymorphism: parametric or inclusion. Parametric polymorphism describes the polymorphism found in ML [71] and its derivatives whereas inclusion polymorphism is the style of polymorphism found in object oriented languages such as Simula67 [77]. An interesting hybrid may be found in the database programming language Galileo [48] which is a derivative of ML but utilises inclusion polymorphism to implement part of the Semantic Data Model [78] Cardelli [68] has shown separately how the parametric and inclusion forms of polymorphism may ....
Dahl O, Nygaard K. Simula, an Algol-Based Simulation Language. Communications of the ACM 1966; 9,9:671-678
....with taxonomically organized data is often called object oriented programming, and has been advocated as an effective way of structuring programming environments, data bases, and large systems in general. The notions of inheritance and object oriented programming first appeared in Simula 67 [Dahl 66] In Simula, objects are grouped into classes and classes can be organized into a subclass hierarchy. Objects are similar to records with functions as components, and elements of a class can appear wherever elements of the respective superclasses are expected. Subclasses inherit all the ....
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Comm. ACM, Vol 9, pp. 671-678, 1966.
....Abadi and Cardelli write: Object oriented programming does not have an exclusive claim to al these good properties. Systems may be modeled by other paradigms, including ones based on traditional notions of algorithms and data structures, which were not well developed when Simula was invented [DahlNygaard1966]. Resilience can be achieved just as well by organizing programs around abstract data types [LiskovGuttag1986] independently of taxonomies; in fact, data abstraction alone is sometimes taken as the essence of object orientation [America1989] Booch1986] Hence it is possible that, as the ....
Dahl, O., and K. Nygaard. Simula, an Algol-based Simulation Language. Communications of the ACM 9(9), 1966, 671-678.
.... :P 1 is necessary. At the same time, it is unfortunate: in the common situation where a method returns an updated self, we lose all useful subsumption relations. In [2] Page 6 June 9, 1995 6:56 PM we discuss the standard solution used in object oriented languages such as Simula 67 and Modula3 [12, 19]. This solution sacrifices static typing information which must be recovered dynamically, thus abandoning the static typing of subsumption. This paper describes another solution that preserves static typing by taking advantage of second order constructs. 3. Second Order Calculi In this section we ....
Dahl, O. and K. Nygaard, Simula, an Algol-based simulation language. Communications of the ACM 9, 671-678. 1966.
....object) whereas in other languages, such as CLU[Lis81] or C [Str87] for example, in X there can be access to variables of all instances of X . 38 For reasons of simplicity, in A1 we use the first policy. 34 See. e.g. Par71, Par72, LG86, Mey88] 35 The earliest such language was Simula 67[DN66, DH72] 36 cf. e.g. BDMN73, GR83, Mey88, Str87] 37 These are called, for example, instance variables in Smalltalk[GR83] and attributes in Eiffel[Mey92] The more general terminology in Eiffel is used to distinguish between variable and constant attributes. For simplicity, in A1 and ....
....fact be the same. This can be done in several ways; the most usual ones are as follows: 1. Use a specific command for that purpose. 54 47 See e.g. And91, Section 4. 3] 48 cf. e.g. delegated calls in Hybrid[Pap92, Chapter 2] 49 Examples of languages which adopt such an approach are Simula[DN66] and POOL2[Ame89] 50 Note that if bodies are optional, this creates a distinction between active (i.e. those objects which have a body) and passive objects (i.e. those which do not have a body) 51 cf. e.g. the answer statement in POOL2[Ame89, Section 3.2] 52 This is adopted in many ....
O.J. Dahl and K. Nygaard. Simula, An Algol-based Simulation Language. Communications of the ACM, 9:671--678, 1966.
....embodied by a subtype hierarchy. The first and prototypical language for parametric polymorphism is ML; the mechanisms we adopt later are more closely related to Russell [Demers Donahue 79] and Pebble [Burstall Lampson 84] The notion of subtype polymorphism we consider first appeared in Simula67 [Dahl Nygaard 66] single inheritance) and is more closely related to the one in Amber [Cardelli 86] multiple inheritance) A major aim here is to unify parametric and subtype polymorphism in a single type system. Subtyping is a relation between types, similar to the relation of containment between sets. If A ....
....[Wirth 83] for a modern, highly structured type system. Types are not normally involved in controlling side effects, but see [Lucassen Gifford 88] which proposes an interesting way to use quantifiers for this purpose. Object oriented programming. The original object oriented language, Simula67 [Dahl Nygaard 66] was typed. Smalltalk [Krasner 83] abandoned typing, but the most recent object oriented languages are again typed [Stroustrup 86] Cardelli Donahue Glassman Jordan Kalsow Nelson 89] Schaffert Cooper Bullis Kilian Wilpolt 86] Wirth 87] The notion of subtyping is necessary to capture many of ....
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Comm. ACM, Vol 9, pp. 671-678, 1966.
....types. Equational and Hoare like reasoning methods, and relational parametricity provide powerful formal tools for reasoning about Algol like object oriented programs. 1 Introduction Object oriented programming first developed in the context of Algol like languages in the form of Simula 67 [17]. The majority of object oriented languages used in practice claim either direct or indirect descent from Algol. Thus, it seems entirely appropriate to study the concepts of object oriented programming in the context of Algol like languages. This paper is an effort to formalize how objects and ....
Dahl, O.-J., and Nygaard, K. An Algol-based simulation language. Comm. ACM 9, 9 (Sept. 1966), 671--678.
....more or less knowledgeable users. Furthermore, many database facilities, e.g. access support, concurrency control, recovery, etc. are inherently more difficult and less efficient and robust under dynamic typing. Therefore, a third class of object models was designed along the lines of Simula 67 [5] in order to try to reconcile type safety and object oriented features, such as inheritance, subtyping, operator overriding (refinement) and late binding [1] This approach is typically called strong typing: all expressions in the language can be verified type consistent at compile time even ....
O. Dahl and K. Nygaard. Simula, an Algol-based simulation language. CACM, 9:671--678, 1966.
....most favoured forms of polymorphism are universal polymorphism: parametric or inclusion. Parametric polymorphism describes the polymorphism found in ML [Milner, 1978] and its derivatives whereas inclusion polymorphism is the style of polymorphism found in object oriented languages such as Simula67 [Dahl Nygaard, 1966]. An 19 interesting hybrid may be found in the database programming language Galileo [Albano, et al. 1985] which is a derivative of ML but utilises inclusion polymorphism to implement part of the Semantic Data Model [Hammer McLeod, 1981] Cardelli [Cardelli and Wegner, 1985] has shown ....
Dahl, O. & Nygaard, K., 1966. Simula, an Algol-Based Simulation Language.
....to subroutines, but they are symmetrical with respect to caller and callee: When coroutine A invokes coroutine B, the action of A is temporarily suspended and the action of B resumes where B had most recently left o . See, for example, Section 1.4. 2 of [3] Programming languages such as SIMULA I [1] and its object oriented descendants have made it easy for programmers to specify families of parameterized coroutines that cooperate with each other in natural but nontrivial ways. In this paper we will study examples in which a compiler can transform such programs into optimized code, just as ....
....such that a j a k for certain pairs (j; k) always returning true until all possible patterns have been generated; then they are supposed to run through those n tuples again in reverse order, and to repeat the process ad in nitum. In general, we can see without diculty that the coroutines poke [1], poke [2] poke [n] solve the problem of generating all n tuples properly in the special case when no constraints a j a k are present. Under our conventions, the following driver routine will cycle through the answers, printing a line of dashes between each complete listing: for k : 1 ....
[Article contains additional citation context not shown here]
Ole-Johan Dahl and Kristen Nygaard, \SIMULA|an ALGOL-based simulation language, " Communications of the ACM 9 (1966), 671-678.
No context found.
Dahl, O. and K. Nygaard (1966). Simula, an Algol-based simulation language. Communications of the ACM 9 (9), 671-678.
No context found.
O. Dahl and K. Nygaard. Simula, an Algol-based simulation language. Communications of the ACM, 9(9):671--678, Sept. 1966.
No context found.
O. Dahl, K. Nygaard. Simula { An Algol-based Simulation Language. Communications of the ACM (CACM) 9(9):671-678, September 1966.
No context found.
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Communications of the ACM, Vol 9, pp. 671-678, 1966.
No context found.
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Comm. ACM, Vol 9, pp. 671-678, 1966.
No context found.
O. Dahl and K. Nygaard. Simula, an Algol-based simulation language. Communications of the ACM 9(9) 671--678 (1966).
No context found.
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Communications of the ACM, Vol 9, pp. 671-678, 1966.
No context found.
O.Dahl, K.Nygaard: Simula, an Algol-based simulation language, Comm. ACM, Vol 9, pp. 671-678, 1966.
No context found.
O. Dahl and K. Nygaard, Simula, an Algol-based simulation language. Communications of the ACM 9, 671-678.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC