Results 1 - 10
of
16
The C++ Programming Language
, 1995
"... This overview of C++ presents the key design, programming, and language-technical concepts using examples to give the reader a feel for the language. C++ is a general-purpose programming language with a bias towards systems programming that supports efficient low-level computation, data abstraction, ..."
Abstract
-
Cited by 1392 (13 self)
- Add to MetaCart
This overview of C++ presents the key design, programming, and language-technical concepts using examples to give the reader a feel for the language. C++ is a general-purpose programming language with a bias towards systems programming that supports efficient low-level computation, data abstraction, object-oriented programming, and generic programming. 1
AP/S++: Case-study of a MOP for Purposes of Software Evolution
, 1996
"... We study a recent programming paradigm known as Adaptive Programming (AP) as an ideal candidate for a metaobject protocol (MOP) for objectoriented programming languages; we call it the AP MOP . The major benefit of the AP MOP is to provide a mechanism for writing base-level programs in a structu ..."
Abstract
-
Cited by 16 (7 self)
- Add to MetaCart
We study a recent programming paradigm known as Adaptive Programming (AP) as an ideal candidate for a metaobject protocol (MOP) for objectoriented programming languages; we call it the AP MOP . The major benefit of the AP MOP is to provide a mechanism for writing base-level programs in a structure-shy manner. Doing so, the programs are more robust to changes in the structural aspects of the applications. We describe AP/S++, an implementation of the AP MOP using the Scheme-based, object-oriented language S++. AP/S++ is a compile-time MOP and has no negative effects on the run-time performance of programs. The contributions of this paper are: (i) to show a new application for reflection; (ii) to clearly identify the abstraction boundaries of AP; and (iii) to propose an implementation of the AP MOP that can easily be reproduced in many object-oriented programming languages. Partially supported by the National Science Foundation under grant numbers CDA-9015692 (Research Instrumen...
Towards a Model for Object-Oriented Design Measurement
- In ECOOP Workshop on Quantative Approaches in Object-Oriented Software Engineering
, 2001
"... Object-oriented design plays a pivotal role in software development because it determines the structure of the software solution. Once the design has been implemented, it is difficult and expensive to change. Therefore the design should be good from the start. Metrics can help to evaluate and improv ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
Object-oriented design plays a pivotal role in software development because it determines the structure of the software solution. Once the design has been implemented, it is difficult and expensive to change. Therefore the design should be good from the start. Metrics can help to evaluate and improve the quality of a design. Many metrics of object-oriented design have been proposed. Unfortunately, most of these metrics lack a precise and unambiguous definition. However, in order to automate design evaluation a precise definition of metrics is needed. Therefore the definitions should be based on a formal model of design. In this paper a formal model for object-oriented design called ODEM (Object-oriented DEsign Model) is presented. This model can serve as a foundation for the formal definition of object-oriented design metrics. ODEM is based on the UML meta-model, that provides a formal model of object-oriented designs expressed in UML, the most widespread design notation. Examples of the use of ODEM for defining object-oriented metrics are given. Two case studies on existing metrics suites for object-oriented design show the benefits of applying ODEM to established object-oriented design metrics. 1
Three-Layered Framework with Separation of Concerns
- Presented at the OOPSLA'96 Workshop on Exploration of Framework Design Principles
, 1996
"... This paper describes an object-oriented framework which emphasizes on separation of concerns. The framework design defines an architecture with three layers: Concern, Composition and Application. The Concern layer contains components with solutions for specific minimal problems (concerns). The Compo ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
This paper describes an object-oriented framework which emphasizes on separation of concerns. The framework design defines an architecture with three layers: Concern, Composition and Application. The Concern layer contains components with solutions for specific minimal problems (concerns). The Composition layer contains components which are responsible for the combination of concern components. The Application layer integrates the framework within the applicationand allows framework customization. This architecture reduces the explosion of combinations when introducing new concern components and provides a well-defined customization procedure. An Object-Oriented Framework for object concurrency and synchronization is described to illustrate the proposed approach. Keywords: Object-Oriented Frameworks, Design Patterns, Software Components. 1 Introduction An object-oriented framework is a reusable design expressed by a set of classes [1]. These classes constitute a skeleton which provi...
Viewpoints as an Evolutionary Approach to Software System Maintenance
- Proceedings of the International Conference on Software Maintenance
, 1997
"... In this paper we describe a black-box approach to software system evolution where viewpoints are used to alter a design without modifying the original system. A viewpoint is a model, possibly incomplete, of a domain from a given perspective. We discuss the views-a operator and its semantics, and the ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
In this paper we describe a black-box approach to software system evolution where viewpoints are used to alter a design without modifying the original system. A viewpoint is a model, possibly incomplete, of a domain from a given perspective. We discuss the views-a operator and its semantics, and then apply the concepts to the NACHOS file system as a case study. We believe the approach can be applied to existing object-oriented software systems, and serve as a guide for developing systems which are more easily maintained. This case study is an example of an application of a more general transformational approach to software design and implementation. 1
Requested Interface
, 1997
"... : This paper introduces the Requested Interface pattern which describes ways to implement truly independent software components that can be plugged together as needed in order to make reuse more attractive than reimplementation. It encourages components to delegate subtasks to collaborating servers ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
: This paper introduces the Requested Interface pattern which describes ways to implement truly independent software components that can be plugged together as needed in order to make reuse more attractive than reimplementation. It encourages components to delegate subtasks to collaborating servers so that they can be adapted to a new context by simply exchanging those subtask servers. The delegating objects must specify minimal and abstract requested interfaces that describe the subtasks independently of existing server interfaces. An adaptation layer mediates between the requested interface of a client and the offered interface of a server implementing the subtask. Purpose Make reuse of services more attractive than reimplementation by providing independent components that can be plugged together according to the needs of the application to be built. Motivation Although highly desirable, software reuse is still much less customary than it could be. Programmers often choose to reim...
A Pattern Language for the Perception, Design and Implementation of Distributed Application Partitioning
"... This paper presents a pattern language for the perception, design and implementation of distributed application partitioning. The pattern language describes a stepwise development which offers the following qualities: expressiveness and support of a wide range of user models; smooth transformation o ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
This paper presents a pattern language for the perception, design and implementation of distributed application partitioning. The pattern language describes a stepwise development which offers the following qualities: expressiveness and support of a wide range of user models; smooth transformation of an object-oriented model onto a client-server model; selective transparency; customization; incremental development, test and simulation. It considers partitioning issues at both the problem and the solution spaces, and identifies several distribution concerns associated with partitioning at the solution space. Each distribution concern is associated with solutions described as design patterns. The pattern language is RM-ODP compliant. Keywords: Pattern Language, Object-Oriented Analysis and Design Methods, Development of Distributed Applications, Design Patterns, Frameworks. 1 Introduction Distributed object technologies, e.g. CORBA [Siegel 96], promise the support of the object-orient...
REVIEWS Logic Control and “Reactive ” Systems: Algorithmization and Programming
, 1999
"... Abstract—Algorithmization and programming principles for logic control and “reactive ” systems are formulated, regarding algorithms and programs as finite automata. The application of finite automata to programming for other problems is also reviewed. 1. ..."
Abstract
- Add to MetaCart
Abstract—Algorithmization and programming principles for logic control and “reactive ” systems are formulated, regarding algorithms and programs as finite automata. The application of finite automata to programming for other problems is also reviewed. 1.

