Results 1 - 10
of
116
CORBA: Integrating diverse applications within distributed heterogeneous environments
- IEEE Communications
, 1997
"... This paper will appear in the feature topic issue of the IEEE ..."
Abstract
-
Cited by 288 (2 self)
- Add to MetaCart
This paper will appear in the feature topic issue of the IEEE
The Programming Language Jigsaw: Mixins, Modularity And Multiple Inheritance
, 1992
"... This dissertation provides a framework for modularity in programming languages. In this framework, known as Jigsaw, inheritance is understood to be an essential linguistic mechanism for module manipulation. In Jigsaw, the roles of classes in existing languages are "unbundled," by providing a suite o ..."
Abstract
-
Cited by 138 (4 self)
- Add to MetaCart
This dissertation provides a framework for modularity in programming languages. In this framework, known as Jigsaw, inheritance is understood to be an essential linguistic mechanism for module manipulation. In Jigsaw, the roles of classes in existing languages are "unbundled," by providing a suite of operators independently controlling such effects as combination, modification, encapsulation, name resolution, and sharing, all on the single notion of module. All module operators are forms of inheritance. Thus, inheritance is not in conflict with modularity in this system, but is indeed its foundation. This allows a previously unobtainable spectrum of features to be combined in a cohesive manner, including multiple inheritance, mixins, encapsulation and strong typing. Jigsaw has a rigorous semantics, based upon a denotational model of inheritance. Jigsaw provides a notion of modularity independent of a particular computational paradigm. Jigsaw can therefore be applied to a wide variet...
The Design and Performance of a Pluggable Protocols Framework for Real-time Distributed Object Computing Middleware
, 1999
"... To be an effective platform for performance-sensitive real-time and embedded applications, off-the-shelf CORBA middleware must preserve the communication-layer quality of service (QoS) properties of applications end-to-end. However, the standard CORBA GIOP/IIOP interoperability protocols are not wel ..."
Abstract
-
Cited by 93 (33 self)
- Add to MetaCart
To be an effective platform for performance-sensitive real-time and embedded applications, off-the-shelf CORBA middleware must preserve the communication-layer quality of service (QoS) properties of applications end-to-end. However, the standard CORBA GIOP/IIOP interoperability protocols are not well suited for applications that cannot tolerate the message footprint size, latency, and jitter associated with general-purpose messaging and transport protocols. It is essential, therefore, to develop standard pluggable protocols frameworks that allow custom messaging and transport protocols to be configured flexibly and used transparently by applications. This paper provides three contributions to research on pluggable protocols frameworks for performance-sensitive distributed object computing (DOC) middleware. First, we outline the key design challenges faced by pluggable protocols developers. Second, we describe how we resolved these challenges by developing a pluggable protocols framewo...
Modularity meets Inheritance
- IN PROC. INTERNATIONAL CONFERENCE ON COMPUTER LANGUAGES
, 1992
"... We "unbundle" several roles of classes in existing languages, by providing a suite of operators independently controlling such effects as combination, modification, encapsulation, name resolution, and sharing, all on the single notion of module. All module operators are forms of inheritance. Thus, ..."
Abstract
-
Cited by 86 (8 self)
- Add to MetaCart
We "unbundle" several roles of classes in existing languages, by providing a suite of operators independently controlling such effects as combination, modification, encapsulation, name resolution, and sharing, all on the single notion of module. All module operators are forms of inheritance. Thus, inheritance not only is not in conflict with modularity in our system, but is its foundation. This allows a previously unobtainable spectrum of features to be combined in a cohesive manner, including multiple inheritance, mixins, encapsulation and strong typing. We demonstrate our approach in a language (called Jigsaw, as in the tool, not the puzzle!). Our language is modular in two senses: it manipulates modules, and it is highly modular in its own conception, permitting various module combinators to be included, omitted, or newly constructed in various realizations.
Object Specification Logic
- Journal of Logic and Computation
, 1995
"... A logic for specifying and reasoning about object classes and their instances (aspects) is presented and illustrated. This logic is an extension of a rather standard linear temporal, many-sorted, first-order predicate logic with equality. The extensions where designed to be as simple as possible whi ..."
Abstract
-
Cited by 60 (12 self)
- Add to MetaCart
A logic for specifying and reasoning about object classes and their instances (aspects) is presented and illustrated. This logic is an extension of a rather standard linear temporal, many-sorted, first-order predicate logic with equality. The extensions where designed to be as simple as possible while supporting the envisaged locality of arguments, object specialization and object aggregation. Objects are specified through their aspects. Each aspect establishes a local vocabulary (signature). The logic works at two levels: first, we can specify and prove assertions about a given object aspect in isolation (local reasoning), eg persons, or patients, or cars; second, we can specify interaction constraints and make inferences between aspects within the same community of objects (global reasoning), eg carry the theorems of persons onto patients (specialization inheritance), or carry the theorems of persons onto the aggregations of persons and cars (incorporation inheritance). Some reflecti...
The Testing of Object-Oriented Programs
- In Proceedings of the Conference on Software Maintenance
, 1993
"... This report aims to outline the testing of object-oriented programs. At present there is little research being conducted, covering this area. A review of the current literature in the area is provided. The testing process for object-oriented programs is compared and contrasted with the traditional a ..."
Abstract
-
Cited by 46 (2 self)
- Add to MetaCart
This report aims to outline the testing of object-oriented programs. At present there is little research being conducted, covering this area. A review of the current literature in the area is provided. The testing process for object-oriented programs is compared and contrasted with the traditional approach of unit, and integration testing. The change of emphasis for testing from the routines themselves, to the testing of the interaction between routines via the data-members of a class is achieved by the application of a state-based approach which separately tests the definition and uses of the data-members. This new technique is described, and examples are provided for clarification. This report assumes a basic knowledge of both object-orientation and testing; however, the majority of terms (those in bold) are usually explained in both footnotes (briefly) and in the glossary which appears towards the rear of this document. Acknowledgements Chris Turner is supported by a SERC CASE awa...
Heterogeneous Concurrent Modeling and Design in Java (Volumes 1: Introduction to Ptolemy II)
, 2005
"... ..."
Formal Object Oriented Development of Software Systems using LOTOS
, 1993
"... Formal methods are necessary in achieving correct software: that is, software that can be proven to fulfil its requirements. Formal specifications are unambiguous and analysable. Building a formal model improves understanding. The modelling of nondeterminism, and its subsequent removal in formal ste ..."
Abstract
-
Cited by 21 (10 self)
- Add to MetaCart
Formal methods are necessary in achieving correct software: that is, software that can be proven to fulfil its requirements. Formal specifications are unambiguous and analysable. Building a formal model improves understanding. The modelling of nondeterminism, and its subsequent removal in formal steps, allows design and implementation decisions to be made when most suitable. Formal models are amenable to mathematical manipulation and reasoning, and facilitate rigorous testing procedures. However, formal methods are not widely used in software development. In most cases, this is because they are not suitably supported with development tools. Further, many software developers do not recognise the need for rigour. Object oriented techniques are successful in the production of large, complex software systems. The methods are based on simple mathematical models of abstraction and classification. Further, the object oriented approach offers a conceptual consistency across all stages of soft...
Petri Net Based Design Of User-Driven Interfaces Using The Interactive Cooperative Objects Formalism.
, 1994
"... . The research work presented here belongs in the domain of formal specification of human-software interaction. More precisely, we are concerned by the applying a formal specification technique in the various stages of the construction of an user-driven application, the kind supported by most of the ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
. The research work presented here belongs in the domain of formal specification of human-software interaction. More precisely, we are concerned by the applying a formal specification technique in the various stages of the construction of an user-driven application, the kind supported by most of the current UIMS. We use the Interactive Cooperative Objects (ICO) formalism, in which structural (or static) aspects are described in an object-oriented framework and dynamic (or behavioral) aspects are described with high-level Petri-nets. The formalism, a case study and some of its expected benefits are presented here. 1 Introduction The specific problems related to the engineering of user-driven interfaces are now widely recognized and well identified. Theoretical and practical work in this area are numerous, and, although starting from the same empirical evidences, present very various solutions [Abowd 90, Paterno 93, Harrison 93]. In spite of this diversity, some constants are standing o...
A History of C++: 1979-1991
- ACM SIGPLAN NOTICES
, 1993
"... This paper outlines the history of the C++ programming language. The emphasis is on the ideas, constraints, and people that shaped the language, rather than the minutiae of language features. Key design decisions relating to language features are discussed, but the focus is on the overall design ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
This paper outlines the history of the C++ programming language. The emphasis is on the ideas, constraints, and people that shaped the language, rather than the minutiae of language features. Key design decisions relating to language features are discussed, but the focus is on the overall design goals and practical constraints. The evolution of C++ is traced from C with Classes to the current ANSI and ISO standards work and the explosion of use, interest, commercial activity, compilers, tools, environments, and libraries.

