Results 1 - 10
of
51
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...
Evolving objectoriented designs with refactorings
- Automated Software Engg
, 2001
"... Abstract 1 Refactorings are behavior-preserving program transformations that automate design level changes in object-oriented applications. Our previous research established that many schema transformations, design patterns, and hotspot meta-patterns are automatable. This research evaluates whether ..."
Abstract
-
Cited by 70 (3 self)
- Add to MetaCart
Abstract 1 Refactorings are behavior-preserving program transformations that automate design level changes in object-oriented applications. Our previous research established that many schema transformations, design patterns, and hotspot meta-patterns are automatable. This research evaluates whether refactoring technology can be transferred to the mainstream by restructuring non-trivial C++ applications. The applications that we examine were evolved manually by software engineers. We show that an equivalent evolution could be reproduced significantly faster and cheaper by applying a handful of general-purpose refactorings. In one application, over 14K lines of code were transformed automatically that otherwise would have been coded by hand. Our experiments identify benefits, limitations, and topics of further research related to the transfer of refactoring technology to a production environment. 1.
Components, Frameworks, Patterns
- COMMUNICATIONS OF THE ACM
, 1997
"... Frameworks are an object-oriented reuse technique that are widely used in industry but not discussed much by the software engineering research community. They are a way of reusing design that is part of the reason that some object-oriented developers are so productive. This paper compares and co ..."
Abstract
-
Cited by 38 (1 self)
- Add to MetaCart
Frameworks are an object-oriented reuse technique that are widely used in industry but not discussed much by the software engineering research community. They are a way of reusing design that is part of the reason that some object-oriented developers are so productive. This paper compares and contrasts frameworks with other reuse techniques, and describes how to use them, how to evaluate them, and how to develop them. It describe the tradeoffs involved in using frameworks, including the costs and pitfalls, and when frameworks are appropriate.
A Compositional Formalization of Connector Wrappers
- In Proc. of ICSE’03
, 2003
"... Increasingly systems are composed of parts: software components, and the interaction mechanisms (connectors) that enable them to communicate. When assembling sys-tems from independently developed and potentially mis-matched parts, wrappers may be used to overcome mis-match as well as to remedy extra ..."
Abstract
-
Cited by 36 (1 self)
- Add to MetaCart
Increasingly systems are composed of parts: software components, and the interaction mechanisms (connectors) that enable them to communicate. When assembling sys-tems from independently developed and potentially mis-matched parts, wrappers may be used to overcome mis-match as well as to remedy extra-functional de£ciencies. Unfortunately the current practice of wrapper creation and use is ad hoc, resulting in artifacts that are often hard to reuse or compose, and whose impact is dif£cult to analyze. What is needed is a more principled basis for creating, un-derstanding, and applying wrappers. Focusing on the class of connector wrappers (wrappers that address issues related to communication and compatibility), we present a means of characterizing connector wrappers as protocol transforma-tions, modularizing them, and reasoning about their prop-erties. Examples are drawn from commonly practiced de-pendability enhancing techniques. 1.
A Compositional Approach for Constructing Connectors
- in Proceedings of 2nd Working IEEE/IFIP Conference on Software Architecture
, 2001
"... Increasingly, systems are composed from independently developed parts, and mechanisms that allow those parts to interact (connectors). In many situations, specialized forms of interaction are needed to bridge component mismatches or to achieve extra-functional properties (e.g., security, performance ..."
Abstract
-
Cited by 28 (4 self)
- Add to MetaCart
Increasingly, systems are composed from independently developed parts, and mechanisms that allow those parts to interact (connectors). In many situations, specialized forms of interaction are needed to bridge component mismatches or to achieve extra-functional properties (e.g., security, performance, reliability), making the design and implementation of these interaction mechanisms a critical issue. Unfortunately, system developers have few options: they must live with available, but often inadequate, generic support for interaction (such as RPC), or they must handcraft specialized mechanisms at great cost. In this paper we describe a partial solution to this problem, whereby interaction mechanisms are constructed compositionally. Specifically, we describe a set of operators that can transform generic communication mechanisms (such as RPC and publish-subscribe) to incrementally add new capabilities. We show how these transformations can be used to realize complex interactions (such as Kerberized RPC) and to generate implementations of the new connector types at relatively low cost. 1.
System Support for Object Groups
- In ACM Conference on Object-Oriented Programming Systems, Languages and Applications
, 1998
"... This paper draws several observations from our experiences in building support for object groups. These observations actually go beyond our experiences and may apply to many other developments of object based distributed systems. Our first experience aimed at building support for Smalltalk object re ..."
Abstract
-
Cited by 23 (5 self)
- Add to MetaCart
This paper draws several observations from our experiences in building support for object groups. These observations actually go beyond our experiences and may apply to many other developments of object based distributed systems. Our first experience aimed at building support for Smalltalk object replication using the Isis process group toolkit. It was quite easy to achieve group transparency but we were confronted with a strong mismatch between the rigidity of the process group model and the flexible nature of object interactions. Consequently, we decided to build our own object oriented protocol framework, specifically dedicated to support object groups (instead of using a process group toolkit). We built our framework in such a way that basic distributed protocols, such as failure detection and multicasts, are considered as first class entities, directly accessible to the programmers. To achieve flexible and dynamic protocol composition, we had to go beyond inheritance and objectify...
Making Design Patterns explicit in FACE, a Framework Adaptive Composition Environment
- In Proceedings of ESEC/FSE ’97
, 1996
"... . Creating applications using object-oriented frameworks is done at a relatively low abstraction level, leaving a large gap with the high abstraction level of a design. This makes the use of a framework difficult, and allows design and realization to diverge. Design patterns are more specific ele ..."
Abstract
-
Cited by 22 (1 self)
- Add to MetaCart
. Creating applications using object-oriented frameworks is done at a relatively low abstraction level, leaving a large gap with the high abstraction level of a design. This makes the use of a framework difficult, and allows design and realization to diverge. Design patterns are more specific elements of design, and thus reduce this gap. We even bridge this gap by making design patterns and the classes that play a role within them into special purpose software components. System realization becomes a matter of composing special purpose class-components. We also introduce a system, FACE, which supports the visual composition of such specifications. 1 Introduction When comparing the development of applications using frameworks [6] to the development of applications using libraries or from scratch, using a framework is ---after a learning period--- significantly less labour intensive [19]. Thus frameworks have a large commercial value. Still, the use and evolution of a framework...
Using the Strategy Design Pattern to Compose Reliable Distributed Protocols
- Usenix Conference on Object-Oriented Technologies and Systems
, 1997
"... Reliable distributed systems involve many complex protocols. In this context, protocol composition is a central concept, because it allows the reuse of robust protocol implementations. In this paper, we describe how the Strategy pattern has been recursively used to support protocol composition in th ..."
Abstract
-
Cited by 18 (6 self)
- Add to MetaCart
Reliable distributed systems involve many complex protocols. In this context, protocol composition is a central concept, because it allows the reuse of robust protocol implementations. In this paper, we describe how the Strategy pattern has been recursively used to support protocol composition in the BAST framework. We also discuss design alternatives that have been applied in other existing frameworks. 1 Introduction This paper presents how the Strategy pattern has been used to build BAST 1 , an extensible objectoriented framework for programming reliable distributed systems. Protocol composition plays a central role in BAST and relies on the notion of protocol class. In this paper, we focus on the recursive use of the Strategy pattern to overcome the limitations of inheritance, when trying to flexibly compose protocols. In a companion paper [6], we have presented how generic agreement protocol classes can be customized to solve atomic commitment [10] and total order multicast [20...
A Java Beans Component Architecture for Cryptographic Protocols
- In Proceedings of 7th USENIX UNIX Security Symposium
, 1997
"... Global networking has brought with it both new opportunities and new security threats on a worldwide scale. Since the Internet is inherently insecure, secure cryptographic protocols and a public key infrastructure are needed. In this paper we introduce a protocol component architecture that is well ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
Global networking has brought with it both new opportunities and new security threats on a worldwide scale. Since the Internet is inherently insecure, secure cryptographic protocols and a public key infrastructure are needed. In this paper we introduce a protocol component architecture that is well suited for the implementation of telecommunications protocols in general and cryptographic protocols in particular. Our implementation framework is based on the Java programming language and the Conduits+ protocol framework. It complies with the Beans architecture and security API of JDK 1.1, allowing its users to implement application specific secure protocols with relative ease. Furthermore, these protocols can be safely downloaded through the Internet and run on virtually any workstation equipped with a Java capable browser * . The framework has been implemented and tested in practice with a variety of cryptographic protocols. The framework is relatively independent of the actual crypto...
Strategy Pattern for Composing Reliable Distributed Protocols
, 1996
"... Reliable distributed systems involve many complex protocols. In this context, protocol compositions is a central concept, because it allows to reuse robust protocol implementations. In this paper, we describe how the Strategy pattern has been recursively used to support protocol composition in the B ..."
Abstract
-
Cited by 11 (3 self)
- Add to MetaCart
Reliable distributed systems involve many complex protocols. In this context, protocol compositions is a central concept, because it allows to reuse robust protocol implementations. In this paper, we describe how the Strategy pattern has been recursively used to support protocol composition in the Bast framework. We also discuss some design alternatives, some of which have been applied in other existing frameworks.

