This paper presents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-ba...
详细信息
ISBN:
(纸本)3540630899
This paper presents the DT Framework, a collection of object-oriented classes representing a generalized framework for inheritance management and table-based method dispatch. It demonstrates how most existing table-based dispatch techniques can be generalized and made incremental, so that relevant entries in the dispatch table are modified each time a selector or class hierarchy link is added or removed. The incremental nature makes the framework highly efficient, with low millisecond average modification time, and supports table-based dispatch even in schema-evolving languages. During table maintenance, the framework detects and records inheritance conflicts, and maintains information useful during compile-time optimizations.
Two object-orientedprogramming language paradigms-dynamic, prototype-based languages and multi-method languages-provide orthogonal benefits to software engineers. These two paradigms appear to be in conflict, however...
详细信息
ISBN:
(纸本)354027992X
Two object-orientedprogramming language paradigms-dynamic, prototype-based languages and multi-method languages-provide orthogonal benefits to software engineers. These two paradigms appear to be in conflict, however, preventing engineers from realizing the benefits of both technologies in one system. This paper introduces a novel object model, prototypes with multiple dispatch (PMD), which seamlessly unifies these two approaches. We give formal semantics for PMD, and discuss implementation and experience with PMD in the dynamically typed programming language Slate.
Multi-tasking, managed runtime environments (MREs) for modern type-safe, object-orientedprogramming languages enable isolated, concurrent execution Of multiple applications within a single operating system process. M...
详细信息
ISBN:
(纸本)9783540705918
Multi-tasking, managed runtime environments (MREs) for modern type-safe, object-orientedprogramming languages enable isolated, concurrent execution Of multiple applications within a single operating system process. Multi-tasking MREs can potentially extract high-performance on desktop and hand-held systems through aggressive sharing of classes and compiled code, and by exploiting high-level dynamic program information.
We propose an object-oriented approach for the formal verification of processors. This approach has been validated on significant applications. It is based on a class hierarchy that provides the basic components to de...
详细信息
ISBN:
(纸本)3540601600
We propose an object-oriented approach for the formal verification of processors. This approach has been validated on significant applications. It is based on a class hierarchy that provides the basic components to describe processors at any abstraction level, and to specify verifications to execute. The originality of our method is to combine an object-oriented model (to ensure genericity) and a computer algebra verification system (to ensure efficiency). Computer experiments with our framework clearly shown three main advantages: processor descriptions are very easy to write down, the core of the verification system is generic so it may be applied without any modification to different processors, and last, the proof times are very short compared with previous approaches.
This papei is concerned with the relation between sub-typing and subclassing and their influence on programming language design. Traditionally subclassing as introduced by Simula has also been used for defining a hier...
详细信息
We investigate a first-order extension of the Theory of Primitive objects of [5] that supports method extension in presence of object subsumption. Extension is the ability of modifying the behavior of an object by add...
详细信息
ISBN:
(纸本)3540630899
We investigate a first-order extension of the Theory of Primitive objects of [5] that supports method extension in presence of object subsumption. Extension is the ability of modifying the behavior of an object by adding new methods (and inheriting the existing ones). object subsumption allows to use objects with a bigger interface in a context expecting another object with a smaller interface. This extended calculus has a sound type system which allows static detection of run-time errors such as message-not-understood, "width" subtyping and a typed equational theory on objects. Moreover, it can express classes and class-inheritance.
OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object;two objects which are structurally identical are not considered equ...
详细信息
OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object;two objects which are structurally identical are not considered equal. Thus, programmers who require a more refined notion of equality must define their own operator. Programmerimplemented equality operators tend to rely on informal notions of partial and temporal object immutability which are prone to error. This is a particular problem for objects used in collections which depend on equality. This paper discusses Affinity: an untyped, object-oriented language with a powerful equality operator based on EGAL [2] and support for object-keying and immutability. Affinity is designed to provide coherent and elegant support for object equality, reducing programmer burden and error potential. Copyright 2009 ACM.
暂无评论