| D. C. Schmidt. "A Family of Design Patterns for Application-Level Gateways." Theory and Practice of Object Systems, J. Wiley & Sons, vol. 2, no. 1, December 1996. |
....i.e. at the level of the structure and composition of the basic modules. There are two prominent approaches to dealing with evolution of software systems in the current literature: i) Software Architectures or Architecture Description Languages (ADLs) 5, 7, 3, 1] and (ii) Design Patterns [2, 6]. The work proposed in this paper builds on the key ideas embodied in both the these approaches. The software architecture research emphasizes the role of connectors in the development of software systems. Most modern ADLs have constructs to model connectors. Evolution is supported in some of ....
SCHMIDT, D. A Family of Design Patterns for Application-Level Gateways. Theory and Practice of Object Systems, Special Issue on Patterns and Pattern Languages 2, 1 (1996).
....CORBA ORB, developed at Washington University St. Louis and University of California Irvine. TAO has been optimized for highperformance computing tasks[8] and has been successfully deployed in applications with stringent performance requirements such as flight avionics [9] telecommunications[11], and medical imaging[10] CORBA provides three methods for inter object communication: 1) a best effort one way invocation model, 2) a twoway synchronous request response model, and (3) a two way asynchronous method invocation (AMI) model. TAO comes with an implementation of a Real time Event ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....i.e. at the level of the structure and composition of the basic modules. There are two prominent approaches to dealing with evolution of software systems in the current literature: i) Software Architectures or Architecture Description Languages (ADLs) 5, 7, 3, 1] and (ii) Design Patterns [2, 6]. The work proposed in this paper builds on the key ideas embodied in both the these approaches. The software architecture research emphasizes the role of connectors in the development of software systems. Most modern ADLs have constructs to model connectors. Evolution is supported in some of ....
SCHMIDT, D. A Family of Design Patterns for Application-Level Gateways. Theory and Practice of Object Systems, Special Issue on Patterns and Pattern Languages 2, 1 (1996).
....successful solutions to known problems. For instance, automobile designers don t design cars using the laws of physics. Instead, they reuse standard designs with successful track records. The extra few percent of performance available by starting from scratch typically isn t worth the cost [Schmidt, 1996]. Patterns describe successful solutions to common software problems. They have proven useful to help people reuse successful practices. Not only do patterns teach useful techniques, they help people communicate better, and they help people reason about what they do and why. A pattern is a ....
....a description is called a thumbnail sketch of the pattern, or a pattern thumbnail) A pattern should identify its target audience and make clear what it assumes of the reader. 2. 3 Documentation of Software Patterns Most of the people documenting patterns are motivated by the following values: [Schmidt, 1996] 2.3.1 Success is more important than novelty The longer a pattern has been used successfully, the more valuable it tends to be. In fact, novelty can be a liability, because new techniques are often untested. Finding a pattern is a matter of discovery and experience, not invention. A new ....
[Article contains additional citation context not shown here]
D. C. Schmidt, A Family of Design Patterns for Application-Level Gateways, Theory and Practice of Object Systems, Wiley and Sons, to appear 1996.
....system components. The ADAPTIVE Communication Environment (ACE) provides an integrated framework of reusable C wrappers and components that perform common communications software tasks [32] this framework is amenable to a design pattern group useful to many object oriented communication systems [33]. Hector is a Python based distributed object framework that provides a communications transparency layer enabling negotiation of communication protocol qualities, comprehensive support services for application objects, and a four tiered architecture for interaction [3] Aglets provide a ....
D. C. Schmidt, `A Family of Design Patterns for Application Level Gateways', Theory and Practice of Object Systems, Wiley and Sons, Volume 2, Number 1, 1996.
....of concepts, classification, and composition. If the application domain is the department of 1 The contributors to this report are M. Aksit, A. Black, L. Cardelli, P. Cointe, J. Coplien, R. Guerraoui, G. Kiczales, D. Lea, O. Madsen, B. Magnusson, J. Meseguer, H. Moessenboeck, J. Palsberg, and D. Schmidt. 2 Delta OO Working Group motor vehicles, the actual vehicles are represented by objects and the concepts of vehicle, car, bus etc are represented by classes of an inheritance hierarchy. Reuse and extensibility Object oriented languages (OOL) provide features for reusability and extension ....
D. Schmidt. A Family of Design Patterns for Application-Level Gateways. Theory and Practice of Object Systems, John Wiley and Sons, to appear 1996.
....of Objective Linda has to rely directly on TCP IP sockets as they are supported on the operating system level. Unfortunately, the programming interface to sockets is very complicated and hence error prone. This led to the decision to base Objective Linda s implementation on the ACE toolkit [55, 57]. ACE is a class library for C which provides a set of wrapper classes for portably accessing operating system bool Packer: dolocal(OILObject task) return (task alreadyfixed paralleldepth) OILObject Packer: compute(OILObject t) Solution s = Solution ) t; Solution ....
D. C. Schmidt. A Family of Design Patterns for Application--Level Gateways. The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages) , 2(1):15--30, 1996.
....of concepts, classification, and composition. If the application domain is the department of 1 The contributors to this report are M. Aksit, A. Black, L. Cardelli, P. Cointe, J. Coplien, R. Guerraoui, G. Kiczales, D. Lea, O. Madsen, B. Magnusson, J. Meseguer, H. Moessenboeck, J. Palsberg, and D. Schmidt. 2 Delta OO Working Group motor vehicles, the actual vehicles are represented by objects and the concepts of vehicle, car, bus etc are represented by classes of an inheritance hierarchy. Reuse and extensibility Object oriented languages (OOL) provide features for reusability and extension ....
D. Schmidt. A Family of Design Patterns for Application-Level Gateways. Theory and Practice of Object Systems, John Wiley and Sons, to appear 1996.
....system components. The ADAPTIVE Communication Environment (ACE) provides an integrated framework of reusable C wrappers and components that perform common communications software tasks [19] this framework is amenable to a design pattern group useful to many object oriented communication systems [20]. Hector is a Python based distributed object framework that provides a communications transparency layer enabling negotiation of communication protocol qualities, comprehensive support services for application objects, and a four tiered architecture for interaction [1] Aglets provide a ....
D. C. Schmidt, `A Family of Design Patterns for Application Level Gateways', Theory and Practice of Object Systems, Wiley and Sons, Volume 2, Number 1, 1996.
.... a distributed system ####### ####### ####### ######## ####### ######## ######## ######## ################## ######### ##### ####### ####### ############### ######## ######## ######## ######## ### ### ### ##### ######### ############ Figure 1: Connection Oriented Gateway [2]. Sources and destinations communicate with the Gateway using TCP connections. Internally, the Gateway contains asetofInput and Output Handler objects. Input Handlers receive messages from sources and use address fields in a message to determine the appropriate Output Handlers associated with the ....
....Gateways are implemented as active objects to simplify concurrent programming and improve performance on multi processors. The active object version of the Iridium Gateway uses the pre emptive multi tasking capabilities provided by Solaris threads [12] An earlier version of the Iridium Gateway [2] used a reactive implementation described in Section 3. The reactive design relied on a cooperative event loop driven dispatcher within a single thread. This design was more difficult to implement and did not perform as well as the active object version on multi processor platforms. The Active ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
.... governmental, and academic projects, such as high energy physics experiments like BaBar at SLAC [17] and CMS at CERN [18] the HLA RTI distributed interactive simulation middleware being developed by SAIC under contract with DMSO, as well as avionics mission computing [19] satellite control [20], and electronic medical imaging systems [21, 22] For this proposed effort, we will leverage our extensive user base [23] and augment it with a development and deployment process that emphasizes rapid prototyping, periodic demonstrations and course correction evaluations, and coordination with ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
.... [1] A Gateway decouples cooperating components in a distributed system and allows them to interact without having direct dependencies among each other [2] The Gateway shown in Figure 1 routes messages from one or more supplier processes to one or more consumer processes in a distributed system [3]. ####### ####### ######### ######### ##### ##### ######## ##### ##### ######## ######## ######## ################### ################### ############ ######## ######## ######## ######## ######## ######## ##### ##### ######## ####### ####### ############# ############# Figure ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages),vol.2, no. 1, 1996.
....capture concrete designs, algorithms, and implementations in particular programming languages. The examples in the paper focus on developing highperformance concurrent Web servers using the ACE framework [6] ACE is an OO framework that provides core concurrency and distribution patterns [7] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [7] to enterprise medical imaging [8] and real time avionics ....
....that provides core concurrency and distribution patterns [7] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [7] to enterprise medical imaging [8] and real time avionics [9] This paper is organized as follows: Section 2 presents an overview of patterns and frameworks and motivates the need for the type of communication software framework pro1 vided by ACE; Section 3 outlines the structure of the ACE ....
[Article contains additional citation context not shown here]
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
No context found.
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages) 2(1), 1996.
....if large, common components can be factored out. In addition, validation and certification of components can be shared across product families, potentially reducing development time and effort. 1. 3 Applying CORBA to Real Time Avionics Applications Our experience using CORBA on telecommunication [8] and medical imaging projects [9] indicates that it is well suited for conventional request response applications with best effort QoS requirements. Moreover, CORBA addresses issues of distributed processing and adaptation across product families by promoting the separation of interfaces from ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....then wakes up, dequeues the request, and processes it to completion by performing an upcall on the CORBA object implementation. # The Motorola Iridium system uses the Half Sync HalfAsync pattern in an application level Gateway that routes messages between satellites and ground control stations [14]. The Iridium Gateway implements the Half Sync Half Async pattern with the ADAPTIVE Service eXecutive (ASX) framework [15] The Reactor [6] class category from the ASX framework implements an object oriented demultiplexing and dispatching mechanism that handles events asynchronously. The ASX ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....addition, the Implementation Repository provides a common location to store information associated with servers, such as administrative control, resource allocation, security, and activation modes. 2. 2 Limitations of CORBA for Real time Applications Our experience using CORBA on telecommunication [9], avionics [10] and medical imaging projects [11] indicates that it is well suited for conventional RPC style applications that possess best effort quality of service (QoS) requirements. However, conventional CORBA implementations are not yet suited for high performance, real time applications ....
....the patterns presented in this article help to improve the maintainability of ORB middleware by reducing software complexity, as shown in Figure 52. Increased portability and reuse: TAO is built atop the ACE framework, which provides implementations of many key communication software patterns [9]. Using ACE simplified the porting of TAO to numerous OS platforms since most of the porting effort was absorbed by the ACE framework maintainers. In addition, since the ACE framework is 51 rich with configurable high performance, real time networkoriented components, we were able to achieve ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....the Object Management Group (OMG) 1] CORBA is intended to support the production of flexible and reusable distributed services and applications. Many implementations of CORBA are now available. 1. 1 Limitations of CORBA for Real time Applications Our experience using CORBA on telecommunication [2], avionics [3] and medical projects [4] indicates that it is wellsuited for request response applications. However, CORBA is not yet suited for performance sensitive, real time applications for the following reasons: ffl Lack of QoS specification and enforcement: CORBA 2.0 does not define APIs ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....monitors are relatively simple, i.e. they allow threads to (1) implicitly serialize their execution via method call interfaces and (2) to coordinate their activities via explicit wait, notify, and notifyAll operations. ACE Gateway: The example from Section 10 is based on a communication Gateway [10] from the ACE framework. The Message Queues used by Consumer Handlers in the Gateway are reusable ACE components implemented as monitor objects. The Monitor Object pattern is used in the ACE Gateway to simplify concurrent programming and improve performance on multi processors. 13 Consequences ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....are typically limited to a single Object Adapter per ORB, recent CORBA portability enhancements [4] define the Portable Object Adapter (POA) which can support multiple POAs per ORB. 1. 2 Limitations with CORBA for Real time Applications Our experience using CORBA on telecommunication [5], avionics [6] and medical imaging projects [7] indicates that it is well suited for conventional request response applications with best effort QoS requirements. However, CORBA is not yet suited for performance sensitive, real time applications for the following reasons: ffl Lack of QoS ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....a systematic, measurement driven methodology to identify and alleviate sources of ORB endsystem and OS overhead, priority inversion, and non determinism. The results presented in this paper are based on our experience developing, profiling, and optimizing avionics [16] and telecommunications [35] systems using OO middleware, such as ACE [25] and TAO [10] developed at Washington University. We recommend that OS ORB developers and end users work with the OMG to standardize real time CORBA benchmarking techniques and metrics [36] 4 Related Work An increasing number of research efforts are ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways, " The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....if large, common components can be factored out. In addition, validation and certification of components can be shared across product families, amortizing development time and effort. 1. 3 Applying CORBA to Deterministic RealTime Applications Our experience using CORBA on telecommunication [7] and medical imaging projects [5] illustrates that it is well suited for conventional request response applications with best effort QoS requirements. Moreover, CORBA addresses issues of distributed processing and adaptation across product families by promoting the separation of interfaces from ....
....3.4 Enhancing Flexibility in TAO s Strategized Scheduling Framework The QoS requirements of applications and the hardware software features of platforms and networks on which they are hosted often vary significantly. For instance, a scheduling strategy that is ideal for telecommunication [7] or medical imaging [5] applications may be poorly suited for avionics mission computing [2] Therefore, TAO s scheduling service framework allows applications to vary their scheduling strategies selectively. The flexibility of TAO s strategized scheduling service architecture is motivated by the ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways, " The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....capture concrete designs, algorithms, and implementations in particular programming languages. The examples in the paper focus on developing highperformance concurrent Web servers using the ACE framework [6] ACE is an OO framework that provides core concurrency and distribution patterns [7] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [7] to enterprise medical imaging [8] and real time avionics [9] ....
....that provides core concurrency and distribution patterns [7] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [7] to enterprise medical imaging [8] and real time avionics [9] This paper is organized as follows: Section 2 presents an overview of patterns and frameworks and motivates the need for the type of communication software framework pro1 vided by ACE; Section 3 outlines the structure of the ACE ....
[Article contains additional citation context not shown here]
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....Queue is willing to buffer before it becomes flow controlled. The low water mark indicates the level at which a previously flow controlled ACE Task is no longer considered to be full. 4 ACE Examples The ACE components are currently being used in several research [46] and commercial environments [6, 38, 47] to enhance the configuration flexibility and software component reuse of communication software that operate efficiently and portably across multiple hardware and software platforms. To illustrate how the ASX framework is used in practice, this section examines the architecture of two commercial ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....that have been developed with ACE, and summarizes the key lessons learned developing and deploying reusable the OO communication software components and frameworks in ACE. 2 Overview of ACE ACE is an object oriented (OO) framework that implements core concurrency and distribution patterns [2] for communication software. ACE provides a rich set of reusable C wrappers and framework components that are targeted for developers of high performance, real time services and applications across a wide range of OS platforms, including Win32, most versions of UNIX, and many real time operating ....
.... and event handler dispatching [4, 5, 6] ffl Interprocess communication [7] and shared memory management; ffl Static and dynamic configuration [8, 9] of communication services; ffl Concurrency and synchronization [5, 10] ffl Distributed communication services such as naming, event routing [2], logging, time synchronization, and network locking; ffl Higher level distributed computing middleware components such as Object Request Brokers (ORBs) 11] Web servers [12] and electronic medical imaging systems [13] This section outlines the structure and functionality of the ACE ....
[Article contains additional citation context not shown here]
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....designs, algorithms, and implementations in particular programming languages. The examples in the paper focus on developing highperformance concurrent Web servers using the ACE framework [8] ACE is an OO framework that provides components that implement core concurrency and distribution patterns [9] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [9] to enterprise medical imaging [10] and real time avionics ....
....that implement core concurrency and distribution patterns [9] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [9] to enterprise medical imaging [10] and real time avionics [11] This paper is organized as follows: Section 2 presents an overview of patterns and frameworks and motivates the need for the type of communication software framework provided by ACE; Section 3 outlines the structure of the ACE ....
[Article contains additional citation context not shown here]
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....designs, algorithms, and implementations in particular programming languages. The examples in the paper focus on developing highperformance concurrent Web servers using the ACE framework [8] ACE is an OO framework that provides components that implement core concurrency and distribution patterns [9] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [9] to enterprise medical imaging [10] and real time avionics ....
....that implement core concurrency and distribution patterns [9] related to the domain of communication software. The framework and patterns in this paper are representative of solutions that have been successfully applied to communication systems ranging from telecommunication system management [9] to enterprise medical imaging [10] and real time avionics [11] This paper is organized as follows: Section 2 presents an overview of patterns and frameworks and motivates the need for the type of communication software framework provided by ACE; Section 3 outlines the structure of the ACE ....
[Article contains additional citation context not shown here]
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....object computing middleware standard defined by the Object Management Group (OMG) 1] CORBA is intended to support the production of flexible and reusable distributed services and applications. Many implementations of CORBA are now available. Our experience using CORBA on telecommunication [2], avionics [3] and medical projects [4] indicates that it is wellsuited for request response applications. However, CORBA is not yet suited for performance sensitive, real time applications for the following reasons: ffl Lack of QoS specification and enforcement: CORBA 2.0 does not define APIs ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....a systematic, measurement driven methodology to identify and alleviate sources of ORB endsystem and OS overhead, priority inversion, and nondeterminism. The results presented in this paper are based on our experience developing, profiling, and optimizing avionics [16] and telecommunications [37] systems using OO middleware such as ACE [35] and TAO [10] developed at Washington University. 4 Related Work An increasing number of research efforts are focusing on developing and optimizing real time CORBA. The work presented in this paper is based on the TAO project [10] For a comparison of ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....the Implementation Repository provides a common location to store information associated with servers, such as administrative control, resource allocation, security, and activation modes. 1. 2 Limitations of CORBA for Real time Applications Our experience using CORBA on telecommunication [9], avionics [10] and medical imaging projects [11] indicates that it is well suited for conventional RPC style applications that possess best effort quality of service (QoS) requirements. However, conventional CORBA implementations are not yet suited for high performance, real time applications ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....Queue is willing to buffer before it becomes flow controlled. The low water mark indicates the level at which a previously flow controlled ACE Task is no longer considered to be full. 3 ACE Examples The ACE components are currently being used in several research [42] and commercial environments [5, 34, 43] to enhance the configuration flexibility and software component reuse of communication software that operate efficiently and portably across multiple hardware and software platforms. To illustrate how the ASX framework is used in practice, this section examines the architecture of two commercial ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....a systematic, measurement driven methodology to identify and alleviate sources of ORB endsystem and OS overhead, priority inversion, and non determinism. The results presented in this paper are based on our experience developing, profiling, and optimizing avionics [16] and telecommunications [35] systems using OO middleware, such as ACE [25] and TAO [10] developed at Washington University. We recommend that OS ORB developers and end users work with the OMG to standardize real time CORBA benchmarking techniques and metrics [36] 4 Related Work An increasing number of research efforts are ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways, " The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....if large, common components can be factored out. In addition, validation and certification of components can be shared across product families, potentially reducing development time and effort. 1. 3 Applying CORBA to Real Time Avionics Applications Our experience using CORBA on telecommunication [8] and medical imaging projects [9] indicates that it is well suited for conventional request response applications with best effort QoS requirements. Moreover, CORBA addresses issues of distributed processing and adaptation across product families by promoting the separation of interfaces from ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....mechanisms. 4 Simplifying Concurrent Programming with OO and C This section examines a use case to motivate and demonstrate the benefits of encapsulating Solaris concurrency mechanisms within C wrappers. This use case depicts a representative scenario that is based upon a production system [25]. Additional examples of the ACE OO thread encapsulation class library appear in Section 6, following the presentation the library interfaces in Section 5. Many useful C classes have evolved incrementally by generalizing from solutions to practical problems that arise during system development. ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....mechanisms. 4 Simplifying Concurrent Programming with OO and C This section examines a use case to motivate and demonstrate the benefits of encapsulating Solaris concurrency mechanisms withinC wrappers. This use case depicts a representative scenario that is based upon a production system [25]. Additional examples of the ACE OO thread encapsulation class library appear in Section 6, following the presentation the library interfaces in Section 5. Many useful C classes have evolved incrementally by generalizing from solutions to practical problems that arise during system development. ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," in The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages) (S. P. Berczuk, ed.), Wiley and Sons, 1996.
....the ACE framework [6, 7] The ACE framework reifies key patterns [5] in the domain of communication software. The framework and patterns in JAWS and ACE are representative of solutions that have been applied successfully to communication systems ranging from telecommunication system management [8] to enterprise medical imaging [2] and real time avionics [9] This paper is organized as follows: Section 2 presents an overview of patterns and frameworks and motivates the need for the type of communication software framework provided by JAWS; Section 3 illustrates how patterns and components ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....the Implementation Repository provides a common location to store information associated with servers, such as administrative control, resource allocation, security, and activation modes. 2. 2 Limitations of CORBA for Real time Applications Our experience using CORBA on telecommunication [9], avionics [10] and medical imaging projects [11] indicates that it is well suited for conventional RPC style applications that possess best effort quality of service (QoS) requirements. However, conventional CORBA implementations are not yet suited for high performance, real time applications ....
....the patterns presented in this article help to improve the maintainability of ORB middleware by reducing software complexity, as shown in Figure 52. Increased portability and reuse: TAO is built atop the ACE framework, which provides implementations of many key communication software patterns [9]. Using ACE simplified the porting of TAO to numerous OS platforms since most of the porting effort was absorbed by the ACE framework maintainers. In addition, since the ACE framework is rich with configurable high performance, real time networkoriented components, we were able to achieve ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....software because the Blob Streaming library does not directly access any OS specific interfaces. Currently, Blob Streaming is implemented on many versions of UNIX, as well as Win32 platforms. ffl Common services layer: This layer uses an existing framework [7] of strategic design patterns [8] that enhance framework quality by providing reusable communication system components. For instance, Blob Streaming uses component implementations of the Acceptor and Connector patterns [9] that decouple the passive and active initialization of services from the tasks performed once the services ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," in The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages) (S. P. Berczuk, ed.), Wiley and Sons, 1996.
....then wakes up, dequeues the request, and processes it to completion by performing an upcall on the CORBA object implementation. ffl The Motorola Iridium system uses the Half Sync HalfAsync pattern in an application level Gateway that routes messages between satellites and ground control stations [14]. The Iridium Gateway implements the Half Sync Half Async pattern with the ADAPTIVE Service eXecutive (ASX) framework [15] The Reactor [6] class category from the ASX framework implements an object oriented demultiplexing and dispatching mechanism that handles events asynchronously. The ASX ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....the patterns presented in this article help to improve the maintainability of ORB middleware by reducing software complexity, as shown in Figure 18. Increased portability and reuse: TAO is built atop the ACE framework, which provides implementations of many key communication software patterns [49]. Using ACE simplified the porting of TAO to numerous OS platforms since most of the porting effort was absorbed by the ACE framework maintainers. In addition, since the ACE framework is rich with configurable high performance, real time networkoriented components, we were able to achieve ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
.... a communication Gateway [1] A Gateway decouples cooperating components and allows them to interact without having direct dependencies among each other [2] The Gateway shown in Figure 1 routes messages from one or more supplier processes to one or more consumer processes in a distributed system [3]. WIDE AREA NETWORK SATELLITES SATELLITES TRACKING TRACKING STATION STATION PEERS PEERS STATUS INFO COMMANDS BULK DATA TRANSFER LOCAL AREA NETWORK GROUND STATION PEERS GATEWAY Figure 1: Communication Gateway In our example, the Gateway, suppliers, and consumers communicate over TCP, which is ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
.... : Output Handler : Input Handler : Output Handler INCOMING MESSAGES OUTGOING MESSAGES 2: find route(msg) Routing Table : Input Handler 3: enqueue(msg) INCOMING MESSAGES OUTGOING MESSAGES SRC DST SRC DST : Message Queue : Message Queue 1: recv(msg) Figure 1: Connection Oriented Gateway [2]. Sources and destinationscommunicate with the Gateway using TCP connections. Internally, the Gateway contains a set of Input and Output Handler objects. Input Handlers receive messages from sources and use address fields in a message to determine the appropriate Output Handlers associated with ....
....Gateways are implemented as active objects to simplify concurrent programming and improve performance on multi processors. The active object version of the Iridium Gateway uses the pre emptive multi tasking capabilities provided by Solaris threads [12] An earlier version of the Iridium Gateway [2] used a reactive implementation described in Section 3. The reactive design relied on a cooperative event loop driven dispatcher within a single thread. This design was more difficult to implement and did not perform as well as the active object version on multi processor platforms. The Active ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....is hard. Therefore, it is unrealistic to design these systems using purely analytical techniques. Consequently, the work described in this paper relies on an empirical approach. Our approach is based on extensive experience developing next generation avionics [13] and telecommunications [14] systems using OO real time middleware such as ACE [15] and TAO [9] ACE is an OO framework that implements core concurrency and distribution patterns [16] for communication software. It provides reusable C wrapper facades and framework components that support high performance, real time ....
....model for statically scheduled real time client requests. Finally, we review TAO s run time scheduling mechanism and explain how it has been used to build real time, event driven components. 4. 1 Limitations of CORBA for Real time Applications Our experience using CORBA on telecommunication [14], avionics [13] and medical imaging projects [22] indicates that it is well suited for conventional request response applications with best effort QoS requirements. However, CORBA is not yet suited for performance sensitive, real time applications for the following reasons: ffl Lack of QoS ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....methodology to identify and alleviate sources of ORB endsystem overhead, priority inversion, and non determinism. The ORB software architectures presented in this paper are based on our experience developing, profiling, and optimizing next generation avionics [13] and telecommunications [14] systems using OO real time middleware such as ACE [15] and TAO [10] ACE is an OO framework that implements core concurrency and distribution patterns [16] for communication software. It provides reusable C wrapper facades and framework components that support high performance, real time ....
D. C. Schmidt, "A Family of Design Patterns for Application-level Gateways, " The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
....Chorus, LynxOS, and pSoS) and MVS OpenEdition. ACE has been used in research and development projects at many universities and companies. For instance, ACE has been used to build real time avionics systems at Boeing [23] telecommunication systems at Bellcore [22] Ericsson [24] Motorola [25], and Lucent; medical imaging systems at Siemens [26] and Kodak [27] and distributed simulation systems at SAIC DARPA. It is also widely used for research projects and classroom instruction. All the source code described in this paper is available online at www.cs.wustl.edu schmidt ACE.html. ....
D. C. Schmidt, "A Family of Design Patterns for Applicationlevel Gateways," The Theory and Practice of Object Systems (Special Issue on Patterns and Pattern Languages), vol. 2, no. 1, 1996.
No context found.
D. C. Schmidt. "A Family of Design Patterns for Application-Level Gateways." Theory and Practice of Object Systems, J. Wiley & Sons, vol. 2, no. 1, December 1996.
No context found.
D. C. Schmidt, "A Family of Design Patterns for Application-Level Gateways", Theory and Practice of Object Systems, Vol. 2, No. 1. Wiley & Sons, December 1996
No context found.
Douglas Schmidt, A Family of Design Patterns for Application Level Gateways. Theory and Practice of Object Systems, 2(1), December 1996.
No context found.
D.C. Schmidt, "A Family of Design Patterns for Application-Level Gateways," Theory and Practice of Object Systems, Vol. 2, No. 1, 1996, pp. 15-30.
No context found.
D.C.Schmidt," A Family of Design Patterns for Application-level Gateways", Theory and Practice of Object Systems, Vol 2, No.2, 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC