Results 1 - 10
of
20
Maisie: A Language for the Design of Efficient Discrete-event Simulations
- IEEE Transactions on Software Engineering
, 1994
"... Maisie is a C-based discrete-event simulation language that was designed to cleanly separate a simulation model from the underlying algorithm (sequential or parallel) used for the execution of the model. With few modifications, a Maisie program may be executed using a sequential simulation algorithm ..."
Abstract
-
Cited by 102 (22 self)
- Add to MetaCart
Maisie is a C-based discrete-event simulation language that was designed to cleanly separate a simulation model from the underlying algorithm (sequential or parallel) used for the execution of the model. With few modifications, a Maisie program may be executed using a sequential simulation algorithm, a parallel conservative algorithm or a parallel optimistic algorithm. The language constructs allow the runtime system to implement optimizations that reduce recomputation and state saving overheads for optimistic simulations and synchronization overheads for conservative implementations. This paper presents the Maisie simulation language, describes a set of optimizations and illustrates the use of the language in the design of efficient parallel simulations. 1 Introduction Distributed (or parallel) simulation refers to the execution of a simulation program on parallel computers. A number of algorithms[25, 10, 11, 21, 20] have been suggested for distributed simulation and many experimental...
Fast and Effective Optimization of Statically Typed Object-Oriented Languages
, 1997
"... In this dissertation, we show how a relatively simple and extremely fast interprocedural optimization algorithm can be used to optimize many of the expensive features of statically typed, object-oriented languages --- in particular, C++ and Java. We present a new program analysis algorithm, Rapid ..."
Abstract
-
Cited by 42 (3 self)
- Add to MetaCart
In this dissertation, we show how a relatively simple and extremely fast interprocedural optimization algorithm can be used to optimize many of the expensive features of statically typed, object-oriented languages --- in particular, C++ and Java. We present a new program analysis algorithm, Rapid Type Analysis, and show that it is fast both in theory and in practice, and significantly out-performs other "fast" algorithms for virtual function call resolution. We present optimization algorithms for the resolution of virtual function calls, conversion of virtual inheritance to direct inheritance, elimination of dynamic casts and dynamic type checks, and removal of object synchronization. These algorithms are all presented within a common framework that allows them to be driven by the information collected by Rapid Type Analysis, or by some other type analysis algorithm. Collectively, the optimizations in this dissertation free the programmer from having to sacrifice modularity and extensibility for performance. Instead, the programmer can freely make use of the most powerful features of object-oriented programming, since the optimizer will remove unnecessary extensibility from the program.
Strong Typing of Object-Oriented Languages Revisited
- In OOPSLA-ECOOP '90 Proceedings, pages 140--150. ACM SIGPLAN Notices,25(10
, 1990
"... This paper is concerned with the relation between subtyping and subclassing and their inuence on programming language design. Traditionally subclassing as introduced by Simula has also been used for dening a hierarchical type system. The type system of a language can be characterized as strong o ..."
Abstract
-
Cited by 25 (1 self)
- Add to MetaCart
This paper is concerned with the relation between subtyping and subclassing and their inuence on programming language design. Traditionally subclassing as introduced by Simula has also been used for dening a hierarchical type system. The type system of a language can be characterized as strong or weak and the type checking mechanism as static or dynamic. Parameterized classes in combination with a hierarchical type-system is an example of a language construct that is known to create complicated type checking situations. In this paper these situations are analyzed and several dierent solutions are found. It is argued that an approach with a combination of static and dynamic type checking gives a reasonable balance also here. It is also concluded that this approach makes it possible to base the type system on the class/subclass mechanism. 2 1 Introduction The purpose of this paper is to contribute to the clarication of typing issues in object-oriented languages. The is...
The Impact of Software Engineering Research on Modern Programming Languages
- ACM Transactions on Software Engineering and Methodology
"... Software engineering research and programming language design have enjoyed a symbiotic relationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programmin ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Software engineering research and programming language design have enjoyed a symbiotic relationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programming languages: data and procedural abstraction, types, concurrency, exceptions, and visual programming mechanisms. The influences are determined by tracing references in publications in both fields, obtaining oral histories from language designers delineating influences on them, and tracking cotemporal research trends and ideas as demonstrated by workshop topics, special issue publications, and invited talks in the two fields. In some cases there is conclusive This article has been developed under the auspices of the Impact Project. The aim of the project is to provide a scholarly study of the impact that software engineering research—both academic and industrial—has had upon practice. The principal output of the project is a series of individual papers covering the impact upon practice of research in several selected major areas of software
Accelerating Object-Oriented Simulation via Automatic Program Specialization
, 1992
"... Object-oriented simulations in an object-oriented environment are easier to construct and maintain than conventionally programmed simulations. Unfortunately, they are also slower because of message passing and other runtime overhead. We have developed an automatic program transformer that solves the ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Object-oriented simulations in an object-oriented environment are easier to construct and maintain than conventionally programmed simulations. Unfortunately, they are also slower because of message passing and other runtime overhead. We have developed an automatic program transformer that solves the efficiency problem for a large class of simulation programs. It automatically constructs an efficient program from the inefficient simulation program and the objects it will receive as input. Depending on the object-oriented language used, and the application, the new program can be more than an order of magnitude faster than the original program. In this paper we describe the benefits of object-oriented simulation, our transformer, and how such dramatic speedups are possible. This research has been supported in part by NSF Contract No. MIP-8902764, and in part by Advanced Research Projects Agency, Department of Defense, Contract No. N0039-91-K-0138. Key Words and Phrases: Object-Oriented S...
Implementing High-Level Parallelism on Computational GRIDs
, 2006
"... This copy of the thesis has been supplied on the condition that anyone who consults it is understood to recognise that the copyright rests with its author and that no quotation from the thesis and no information derived from it may be published without the prior written consent of the author or the ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This copy of the thesis has been supplied on the condition that anyone who consults it is understood to recognise that the copyright rests with its author and that no quotation from the thesis and no information derived from it may be published without the prior written consent of the author or the university (as may be appropriate). I hereby declare that the work presented in this the-sis was carried out by myself at Heriot-Watt University, Edinburgh, except where due acknowledgement is made, and has not been submitted for any other degree.
Classifying Approaches to Object Oriented Analysis of Work with Activity Theory
, 1997
"... : There is a need to use object orientation to analyse work practices. This should be done based on a social theory on how computers mediate the work arrangement. This paper presents a conceptual framework based on activity theory in which two main schools of object oriented modelling are explained. ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
: There is a need to use object orientation to analyse work practices. This should be done based on a social theory on how computers mediate the work arrangement. This paper presents a conceptual framework based on activity theory in which two main schools of object oriented modelling are explained. Thus, several object oriented analysis approaches may be combined and contribute to more powerful representational forms. Keywords: Collective work, Physical modelling, Role Modelling 1 Introduction Various object oriented (OO) approaches have been used to analyse the real-world domain that the computer system is intended to maintain information about. Lately, object oriented approaches have also been used to capture aspects beyond this domain, and address the usage world, e.g., aspects relating to actors, communication, articulation of work, collective work, task flow, and work procedures (see e.g., Høydalsvik and Sindre 1993; Jacobson, et al. 1994; Bürkle, et al. 1995; Carstensen, et al...
The birth of Simula
- In HiNC 1 Conference, 2003. 119
"... Impagliazzo, Arne Sølvberg. Abstract. When designing Simula, Ole-Johan Dahl and Kristen Nygaard introduced the basic concepts of what later became known as object-orientation, which still, 35 years later, has a profound impact on computing. This paper looks at the background for the Simula project, ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Impagliazzo, Arne Sølvberg. Abstract. When designing Simula, Ole-Johan Dahl and Kristen Nygaard introduced the basic concepts of what later became known as object-orientation, which still, 35 years later, has a profound impact on computing. This paper looks at the background for the Simula project, how it developed over time, and why it could be so successful. Keywords: History of programming languages, Simula.

