This paper describes a case study in the testing of distributed systems. The software under testis a middleware system developed in Java. The full test life cycle is examined including unit testing, integration testin...
详细信息
ISBN:
(纸本)076951300X
This paper describes a case study in the testing of distributed systems. The software under testis a middleware system developed in Java. The full test life cycle is examined including unit testing, integration testing, and system testing. Where possible, traditional tools and techniques are used to carry out the testing. One aspect where this is not possible is the testing of the low-level concurrency, which is often overlooked when testing commercial distributed systems, since the middleware or application server is already developed by a third-party and is assumed to operate correctly. This paper examines testing the middleware system itself and therefore, a method for testing the concurrency properties of the system is used. The testing revealed a number of faults and design weaknesses, and showed that, with some adaptation, traditional tools and techniques go a long way in the testing of distributedapplications.
Java Remote Method Invocation (RMI) is a specification for building distributed object-oriented applications. RMI was designed primarily for use in conventional, wired computing environments and provides no mechanisms...
详细信息
ISBN:
(纸本)076951300X
Java Remote Method Invocation (RMI) is a specification for building distributed object-oriented applications. RMI was designed primarily for use in conventional, wired computing environments and provides no mechanisms to allow objects hosted by mobile, wireless-enabled computers to interact with other RMI objects. Mobile devices regularly change their point of connection to the Internet making the task of correctly locating and invoking methods on the hosted RMI server objects difficult. The nature of wireless communication also means that the TCP/IP connections used to access these RMI objects are frequently broken, potentially resulting in data being lost and leaving the two communicating parties in inconsistent states. This paper outlines an architecture that supports such mobile RMI objects and describes an implementation of this architecture and its performance. This architecture provides mobility support in the form of two main components. The first is a session layer component that provides the low-level support services required to maintain transport connections in a mobile environment. The second is an application layer component that uses application-level proxies to address the difficulties of invoking methods on mobile RMI servers.
Jini is a Java-based technology for 39;spontaneous39; distributed computing which enables programs to dynamically discover nearby services by means of a type-based lookup mechanism. However, this mechanism require...
详细信息
ISBN:
(纸本)076951300X
Jini is a Java-based technology for 'spontaneous' distributed computing which enables programs to dynamically discover nearby services by means of a type-based lookup mechanism. However, this mechanism requires that all the parties involved first agree on a set of common well-known interfaces for describing services which offer the same high-level functionalities. We believe that this mechanism will in some situations prove to be too rigid or complex and that "interface fragmentation" will inevitably happen. We propose a mechanism for automatically disseminating adapters, small downloadable components that convert between types that describe similar services but are yet incompatible. The implementation of the solution consists in the definition of a new Jini service, the Adapter Service, which is a repository for adapters that registers adapter-augmented proxy objects with the Jini Lookup Service when new services appear on the network. This solution does not require any modification to clients, services or to the Lookup Service.
This paper explains our approach to help users graphically trace and control the behavior of distant objects in a knowledge-based system (KBS). This working context implies tackling several problems: numerous, varied ...
详细信息
ISBN:
(纸本)076951300X
This paper explains our approach to help users graphically trace and control the behavior of distant objects in a knowledge-based system (KBS). This working context implies tackling several problems: numerous, varied and heterogeneous entities to distribute;dynamic and interactive communications;bi-directional control;user-friendly means of expression. Our approach is based on an architecture using an existing tool (DICO*) that allows connecting distant heterogeneous objects through an interaction mechanism. We also offer two kinds of dedicated and extensible libraries of trace and control interactions. We have tested this approach in a prototype proving the advantages of these two libraries as well as those of DICO* to distribute KBSs. Our reified interaction service accommodates adaptive multi-access to a KBS without modifying its code.
distributed systems with high availability requirements have to support some form of dynamic reconfiguration. This means that they must provide the ability to be maintained or upgraded without being taken off-line. Bu...
详细信息
ISBN:
(纸本)076951300X
distributed systems with high availability requirements have to support some form of dynamic reconfiguration. This means that they must provide the ability to be maintained or upgraded without being taken off-line. Building a distributed system that allows dynamic reconfiguration is very intrusive to the overall design of the system, and generally requires special skills from both the client and server side application developers. There is an opportunity to provide support for dynamic reconfiguration at the object middleware level of distributed systems, and create a dynamic reconfiguration transparency to application developers. In this paper, we propose a Dynamic Reconfiguration Service for CORBA that allows the reconfiguration of a running system with maximum transparency for both client and server side developers. We describe the architecture, a prototype implementation, and some preliminary test results.
In open distributed real-time and embedded (DRE) systems, different ORB endsystems may use different scheduling disciplines. To ensure appropriate end-to-end application behavior in an open architecture, DRE systems m...
详细信息
ISBN:
(纸本)076951300X
In open distributed real-time and embedded (DRE) systems, different ORB endsystems may use different scheduling disciplines. To ensure appropriate end-to-end application behavior in an open architecture, DRE systems must enforce an ordering on activities originating in an endsystem and activities that migrate there, based on the relative importance of these activities. This paper describes the meta-programming techniques applied in Juno, which extends Real-time CORBA to enhance the openness of DRE systems with respect to their scheduling disciplines by enabling dynamic ordering of priority equivalence classes. We use the forthcoming OMG Real-Time CORBA 2.0: Dynamic Scheduling Joint Final Submission (RT-CORBA 2.0 JFS) to illustrate our techniques.
State-of-the-art middleware like NET or J2EE offers transparent access to distributedobjects and services but lack support for consistency between groups of objects. distributed Shared Memory (DSM) is an interesting ...
详细信息
ISBN:
(纸本)0769519199
State-of-the-art middleware like NET or J2EE offers transparent access to distributedobjects and services but lack support for consistency between groups of objects. distributed Shared Memory (DSM) is an interesting alternative to build distributedapplications because it maintains consistency among object groups. Although DSM has been used in the past only for special number crunching programs we expect it to be a good foundation to simplify the development of multi-player games and virtual reality applications. In this paper we present the relevant parts of our transactional DSM operating system (OS). Subsequently, we describe the gaming framework built on top of the DSM system. Finally we evaluate the framework with a sample game.
Clients (user agents) on the World Wide Web vary greatly in computing power-from low-end WAP devices to high-end desktops even other servers as in a B2B scenario. It should be possible to build applications, which tra...
详细信息
ISBN:
(纸本)076951300X
Clients (user agents) on the World Wide Web vary greatly in computing power-from low-end WAP devices to high-end desktops even other servers as in a B2B scenario. It should be possible to build applications, which transparently adapt to the varying user agents. Most of the existing applications are written to execute only on the server without taking the computation power available on the client into account. In this paper, we suggest a mechanism where an application can be written such that parts of the application can be executed either on the client side or on the server. This decision about which part of the code should be executed where can be taken at compile time or run time. This can either be under full user control or can be done automatically based on parameters like user agent type or server load. applications of this type will allow loaded servers to transfer part of the load to clients to exploit the computing power available at client side.
At present, objects may be located on Corba (Common Object Request Broker Architecture [14]) platforms using either the naming service [15] or the trading service [17], both standardized by OMG (Object Management Grou...
详细信息
ISBN:
(纸本)076951300X
At present, objects may be located on Corba (Common Object Request Broker Architecture [14]) platforms using either the naming service [15] or the trading service [17], both standardized by OMG (Object Management Group). By associating a name to a Corba object, the naming service helps users in retrieving a particular object managed by a remote server. The trading service allows, on its own, to localize objects according to the properties they have exported to the trader. Directory services, and particularly LDAP (Lightweight Directory Access Protocol [19]), the most famous directory in the world of the Internet, combine features provided by naming and trading services. Directory services provide advanced features to query directory entries on their names and/or their properties. This paper proposes a Directory Service relying on the LDAP naming model, adapted to the management of dynamic Corba objects, that is objects frequently updated. The directory service also proposes query facilities and a query evaluation model adapted to the management of distribution and possible failures induced by the integration of Corba objects in directories.
In this paper we present a preliminary proposal towards a CORBA domain facility for e-learning. This proposal may be seen as an initial contribution to the definition of an object-oriented distributed architecture for...
详细信息
ISBN:
(纸本)076951300X
In this paper we present a preliminary proposal towards a CORBA domain facility for e-learning. This proposal may be seen as an initial contribution to the definition of an object-oriented distributed architecture for this domain. E-Yearning is one of the killer applications in the new Information Society. Along the last years, many e-learning systems have been developed, targeted to specific learning scenarios and execution environments. In most cases, properties like interoperability, or scalability were not taken in mind when developing these applications, and as a consequence, systems with similar functionalities were developed again and again. To address this problem, two actions are possible: the standardization of this domain, and the definition of reference models and architectures that facilitate software reuse and the development of scalable and interoperable systems These two actions complement each other, and our proposal is based on available results from the e-learning standardization process.
暂无评论