Results 1 -
7 of
7
Data Abstraction and Hierarchy
"... Data abstraction is a valuable method for organizing programs to make them easier to modify and maintain. Inheritance allows one implementation of a data abstraction to be related to another hierarchically. This paper investigates the usefulness of hierarchy in program development, and concludes tha ..."
Abstract
-
Cited by 120 (0 self)
- Add to MetaCart
Data abstraction is a valuable method for organizing programs to make them easier to modify and maintain. Inheritance allows one implementation of a data abstraction to be related to another hierarchically. This paper investigates the usefulness of hierarchy in program development, and concludes that although data abstraction is the more important idea, hierarchy does extend its usefulness in some situations.
Obstacles in Object-Oriented Software Development
- In Proceedings OOPSLA '92, ACM SIGPPLAN Notices
, 1992
"... Recently, a considerable number of object-oriented software development methods have been introduced to produce extensible, reusable, and robust software. We have been involved in the development of a large number of pilot applications to form our own view on object-oriented methods. Although our ex ..."
Abstract
-
Cited by 18 (4 self)
- Add to MetaCart
Recently, a considerable number of object-oriented software development methods have been introduced to produce extensible, reusable, and robust software. We have been involved in the development of a large number of pilot applications to form our own view on object-oriented methods. Although our experiences confirmed the claims about the benefits of object-oriented methods, we identified a number of important obstacles that are not addressed by current methods. This paper summarizes these obstacles and evaluates them with respect to our pilot applications. The aim of this paper is to make software engineers aware of problems they may encounter during object-oriented development, and to inspire researchers to initiate new research activities.
Iterators Revisited: Proof Rules and Implementation
- IN WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS (FTFJP
, 2005
"... The Iterator design pattern allows client code to access the elements of an aggregate object sequentially without exposing its underlying representation. Several modern ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The Iterator design pattern allows client code to access the elements of an aggregate object sequentially without exposing its underlying representation. Several modern
3x + 1 Search Programs
, 1992
"... Algorithms for computing peaks of certain statistics related to the 3x+1 problem are described, along with data on such peaks up to 56 trillion (5.6 x 10¹³). The data result from several years of computation. The design of the algorithms used illustrates several techniques for program optimization ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Algorithms for computing peaks of certain statistics related to the 3x+1 problem are described, along with data on such peaks up to 56 trillion (5.6 x 10¹³). The data result from several years of computation. The design of the algorithms used illustrates several techniques for program optimization.
Bristlecone: A language for robust software systems
, 2007
"... We present Bristlecone, a programming language for robust software systems. The Bristlecone language contains two components: a high-level organization specification component that describes how the software system’s conceptual operations interact, and a low-level operational specification component ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
We present Bristlecone, a programming language for robust software systems. The Bristlecone language contains two components: a high-level organization specification component that describes how the software system’s conceptual operations interact, and a low-level operational specification component that describes the sequence of instructions that comprise an individual conceptual operation. The Bristlecone implementation uses the high-level organization specifications to detect software errors, to recover the software system from an error to a consistent state, and to reason how to safely continue the software system’s execution after the error. We have implemented a compiler and runtime for the Bristlecone language. We have evaluated this implementation on three benchmark applications: a web crawler, a web server, and a multi-room chat server. We developed both a Bristlecone version and a multi-threaded Java version of each of the benchmark applications. We designed the Java versions of the benchmark applications to use threads to tolerate many software faults. We injected failures into each version of the benchmark applications and then
Distributed Systems: A Comprehensive Survey
- Postfach 20 24 20, D-8000 München 2
, 1989
"... This paper gives a survey of all common transparent distributed systems. We distinguish between Distributed File Systems (DFS) and Distributed Operating Systems (DOS). Our overview is focussed on systems providing at least access or location transparency. The paper is organized as follows: The intro ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper gives a survey of all common transparent distributed systems. We distinguish between Distributed File Systems (DFS) and Distributed Operating Systems (DOS). Our overview is focussed on systems providing at least access or location transparency. The paper is organized as follows: The introduction offers definitions of the features of each transparent distributed system as well as the services it is able to provide. We also propose a catalog of criteria that enables us to compare different systems independently of implementation done. The main entries we make are heterogeneity of the system's environment, communication strategy, as well as naming and security issues. Finally, we examine the reliability and availability of the separate systems and the way these issues are achieved. The following section consists of the survey. The description of each system is organized as follows: First, we introduce the main goal the system was developed for, the classification of th...
Distributed Real-Time Systems: A Design Environment
, 1992
"... Local area networks are increasingly used as a basis for distributing or integrating functionality in real-time industrial systems, for example in discrete parts manufacturing or in process control. These distributed systems are composed of many parts and having widely different forms and function ..."
Abstract
- Add to MetaCart
Local area networks are increasingly used as a basis for distributing or integrating functionality in real-time industrial systems, for example in discrete parts manufacturing or in process control. These distributed systems are composed of many parts and having widely different forms and functions. To build and maintain correctness and efficiency in one of these systems would involve coordination of the different stages in the design life cycle of the system. This thesis presents a framework that will allow engineers and designers to study the different options of a design from early stages in its life cycle to its completion. Provided in this framework is a discrete event simulation architecture for evaluation of the different options, coupled to a knowledge-based system that provides tech...

