Results 1 -
7 of
7
Adding Contracts to Java with Handshake
, 1998
"... Contracts describe an agreement between the writer and the user of a class. Their use enhances programmer productivity and program reliability, especially in library code. Handshake provides contracts for Java classes and interfaces in the form of class invariants and method pre- and postconditions ..."
Abstract
-
Cited by 36 (0 self)
- Add to MetaCart
Contracts describe an agreement between the writer and the user of a class. Their use enhances programmer productivity and program reliability, especially in library code. Handshake provides contracts for Java classes and interfaces in the form of class invariants and method pre- and postconditions. Using Handshake, a programmer can add contracts to classes and interfaces without needing access to their source code, without changing the class files, and without changing the JVM implementation. Unlike existing implementations of contracts for Java, Handshake intercepts the VM's file operations and modifies classes on the fly without requiring any modification to the JVM itself. By using a dynamic link library interposed between the VM and the operating system, the system is relatively simple to port to a new OS and works with a variety of JVM implementations. The system imposes very little overhead other than the time required to evaluate the contract's boolean expressions themselves.
Why Objects Are Not Enough
- in: Proceedings, First International Component Users Conference (SIGS Publishers
, 1996
"... Object-oriented programming hasn't created a viable software component industry. From a technical perspective, the reason for this failure lies in an insufficient consideration of the unique requirements of component software. Object-oriented programming too often concentrates on individual objects, ..."
Abstract
-
Cited by 15 (0 self)
- Add to MetaCart
Object-oriented programming hasn't created a viable software component industry. From a technical perspective, the reason for this failure lies in an insufficient consideration of the unique requirements of component software. Object-oriented programming too often concentrates on individual objects, instead of whole collections of objects, i.e., components. Component-oriented programming requires more stringent information hiding, a more dynamic approach, and better safety properties than object-oriented programming. Keywords: component-oriented programming, dynamic languages, component software industry, object models, fragile base class problem 1. Introduction The existence of a software crisis has been recognized as early as 1968 [NR 69]. It became clear that to overcome this crisis, software construction would need to be treated as a genuine engineering discipline. In a mature engineering discipline, new products are rarely developed from scratch. Instead, products are composed o...
Software Reuse in an Object Oriented Framework: Distinguishing Types from Implementations and Objects from Attributes
- PROC. SIXTH INTERNATIONAL CONFERENCE ON SOFTWARE REUSE
, 2000
"... Almost no object oriented programming languages offer distinct language constructs for the definition of types and their implementations; instead these are united into a single class concept. Similarly object oriented programming languages do not normally distinguish between object types, which ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
Almost no object oriented programming languages offer distinct language constructs for the definition of types and their implementations; instead these are united into a single class concept. Similarly object oriented programming languages do not normally distinguish between object types, which may be independently instantiated, and attribute types, which may not. The paper
Very High Level Programming with Collection Components
- Conf. on Technology of Object-Oriented Languages and Systems
, 1999
"... Despite the possibility of providing standard collection frameworks, object-oriented languages do not generally encourage a 'very high level' style of programming in which collection components are regarded as first class citizens and in which different implementations for a collection can be exchan ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Despite the possibility of providing standard collection frameworks, object-oriented languages do not generally encourage a 'very high level' style of programming in which collection components are regarded as first class citizens and in which different implementations for a collection can be exchanged without affecting the correctness of a program and with minimal change to the source code. This results both from weaknesses in the structure of the frameworks and from the poor degree of integration of collections into the languages. In this paper we present a new approach to the integration of collections in object-oriented languages in which collection types are part of the language but collection implementations are not. We also show how the integration of collection types allows automatic conversions which, among other advantages, provide a new solution to the problem of statically type-safe compatibility for collections. 1. Introduction The management of collections of data const...
Collection Types and Implementations in Object-Oriented Software Libraries
, 1998
"... Collection classes are ideal candidates for software reuse and therefore have an important role in the development and use of object-oriented class libraries. In this paper we analyze representative collection libraries, pointing out the main problems from the viewpoint of their practical usability ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Collection classes are ideal candidates for software reuse and therefore have an important role in the development and use of object-oriented class libraries. In this paper we analyze representative collection libraries, pointing out the main problems from the viewpoint of their practical usability in programs. We then identify a small number of independent concepts relevant to the design of libraries of collections and show how an orthogonal treatment of these concepts can solve the problems identified. Because existing object-oriented languages, even newer ones, do not completely support all the relevant concepts (although most of the critical points are well-known), we show to what extent it would be possible to realize our proposals, and what remains as a challenge in the design of future languages. 1 1ntroduction Collection classes (sometimes called container classes) are classes such as sets and lists which allow instances of other classes to be treated as a collection. Such cl...
A Useable Collection Framework for Java
- 16th IASTED Intl. Conf. on Applied Informatics, GarmischPartenkirchen
, 1998
"... Collection classes are ideal candidates for software reuse and can therefore play an important role in the development and use of object-oriented class libraries. In this paper we point out problems in existing object-oriented collection libraries from the viewpoint of their useability in programs. ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Collection classes are ideal candidates for software reuse and can therefore play an important role in the development and use of object-oriented class libraries. In this paper we point out problems in existing object-oriented collection libraries from the viewpoint of their useability in programs. We identify a small number of software engineering concepts relevant to the design of libraries of collections and show how the use of these concepts can lead to a powerful but easily useable framework for collections in the programming language Java [1].
Eine Evaluierung des Java JDK 1.2 Collections Framework aus Sicht der Softwaretechnik
"... Sammlungen von Daten spielen eine wichtige Rolle bei fast jeder Art der Programmierung. Aus diesem Grunde bieten praktisch benutzte objektorientierte Sprachen Standard-Bibliotheken an, die Klassen fr die Verwaltung von Objektsammlungen enthalten. Diese Bibliotheken sind besonders dafr kritisiert wor ..."
Abstract
- Add to MetaCart
Sammlungen von Daten spielen eine wichtige Rolle bei fast jeder Art der Programmierung. Aus diesem Grunde bieten praktisch benutzte objektorientierte Sprachen Standard-Bibliotheken an, die Klassen fr die Verwaltung von Objektsammlungen enthalten. Diese Bibliotheken sind besonders dafr kritisiert worden, da sie softwaretechnische Prinzipien wie Geheimnisprinzip und Orthogonalitt nicht hinreichend bercksichtigen. In diesem Beitrag evaluieren wir das neue 'Collections Framework' des 'Java Development Kit' 1.2, das durch die Definition der 'Core Collection Interfaces' einige Vorteile hinsichtlich der Verstndlichkeit und Erweiterbarkeit solcher Bibliotheken bietet. Wir diskutieren sowohl Schwchen des Framework, die auf einer inkonsequenten Anwendung von Softwaretechnikprinzipien beruhen, als auch Probleme, die aus der Definition der Sprache Java selbst resultieren. 1. Einleitung Bei fast jeder Art von Programmierung beschftigen sich Programmierer in irgendeiner Weise mit Sammlungen von Da...

