In softwareengineering, design patterns propose solution skeletons for common design problems. The solution skeleton is described in such a way that the design can be used for other projects, where each application t...
详细信息
In softwareengineering, design patterns propose solution skeletons for common design problems. The solution skeleton is described in such a way that the design can be used for other projects, where each application tailors the design to specific project constraints. This paper describes research into investigating how a similar approach to reuse can be applied to requirements specifications, which we term requirements patterns. Specifically, the paper explores how object-oriented modeling notations, such as the Unified Modeling Language (UML), can be used to represent common requirements patterns. Structural and behavioral information are captured as part of a requirements pattern. In order to maximise reuse, we focus on requirements patterns for embedded systems. This paper also describes case studies that illustrate how we have applied these general patterns to multiple embedded systems applications from the automotive industry.
Many middleware platforms use computational reflection to support adaptive functionality. Most approaches intertwine the activity of observing behavior (introspection) with the activity of changing behavior (intercess...
详细信息
Many middleware platforms use computational reflection to support adaptive functionality. Most approaches intertwine the activity of observing behavior (introspection) with the activity of changing behavior (intercession). This paper explores the use of language constructs to separate these parts of reflective functionality. This separation and "packaging" of reflective primitives is intended to facilitate the design of correct and consistent adaptive middleware. A prototype language, called Adaptive Java, is described in which this functionality is realized through extensions to the Java programming language. A case study is described in which "metamorphic" socket components are created from regular socket classes and used to realize adaptive behavior on wireless network connections.
The overall quality of network connections has a significant impact on the performance of networked applications. Consequently, QoS management for networked multimedia applications over IP is a significant and immedia...
详细信息
The overall quality of network connections has a significant impact on the performance of networked applications. Consequently, QoS management for networked multimedia applications over IP is a significant and immediate challenge. While differentiated services (diffserv) provide a sense of resource allocation and QoS, they do not guarantee QoS. This paper presents design, implementation and evaluation of a content-aware bandwidth broker (CABB) that manages QoS of multimedia applications for the diffserv environment. CABB allocates network resources to multimedia flows based on client requirement and the tolerance and adaptability of the application. CABB has been implemented and evaluated using the NS-2 simulator toolkit. Evaluations show that CABB improves network resource allocations and increases overall throughput. The results also show that multimedia flows are better managed and controlled, thereby improving perceived QoS and avoiding possible congestion in core routers.
Presents the design and preliminary evaluation of hierarchical partitioning and load-balancing techniques for distributed structured adaptive mesh refinement (SAMR) applications. The overall goal of these techniques i...
详细信息
Presents the design and preliminary evaluation of hierarchical partitioning and load-balancing techniques for distributed structured adaptive mesh refinement (SAMR) applications. The overall goal of these techniques is to enable the load distribution to reflect the state of the adaptive grid hierarchy and exploit it to reduce synchronization requirements, improve load-balance, and enable concurrent communications and incremental redistribution. The hierarchical partitioning algorithm (HPA) partitions the computational domain into subdomains and assigns them to hierarchical processor groups. Two variants of HPA are presented. The static hierarchical partitioning algorithm (SHRA) assigns portions of overall load to processor groups. In SHRA, the group size and the number of processors in each group is setup during initialization and remains unchanged during application execution. It is experimentally shown that SHRA reduces communication costs as compared to the Non-HPA scheme, and reduces overall application execution time by up to 41%. The adaptive hierarchical partitioning algorithm (AHRA) dynamically partitions the processor pool into hierarchical groups that match the structure of the adaptive grid hierarchy.
Adaptive quality-of-Service management is critical for enabling effective collaboration between distributed clients in a heterogeneous (wired and wireless) environment. This is because both client profiles (capabiliti...
详细信息
Adaptive quality-of-Service management is critical for enabling effective collaboration between distributed clients in a heterogeneous (wired and wireless) environment. This is because both client profiles (capabilities, interests and resources) and system resources can be significantly different and highly dynamic. This paper presents the design and prototype implementation of an adaptive QoS management framework for collaborative multimedia applications in distributed, heterogeneous environments. The overall goal of the framework is to locally adapt the shared information to meet the capabilities, interests and current state of each collaborating client while preserving the semantic content of the information to maintain effective sharing. Transformations investigated in this paper include gradual gradations and modality transformations. The framework builds on a publisher-subscriber messaging substrate that uses semantic profiles and provides each client with direct and immediate access to all information defined by its needs and capabilities, without having to maintain and update global rosters. It interfaces with the Simple Network Management Protocol (SNMP) to determine the state of the network by directly querying network elements. An experimental evaluation of the framework for wired and wireless clients is also presented.
System testing is concerned with testing an entire system based on its specifications. In the context of object-oriented, UML development, this means that system test requirements are derived from UML analysis artifac...
详细信息
This paper describes an experimental study in the use of a composable proxy framework to improve the quality of interactive audio streams delivered to mobile hosts. Two forward error correction (FEC) proxylets are dev...
详细信息
The issue of ordering class integration in the context of integration testing of object-oriented software has been discussed by a number of researchers. More specifically, strategies have been proposed to generate a t...
详细信息
ISBN:
(纸本)0769513069
The issue of ordering class integration in the context of integration testing of object-oriented software has been discussed by a number of researchers. More specifically, strategies have been proposed to generate a test order while minimizing stubbing. Recent papers have addressed the problem of deriving an integration order in the presence of dependency cycles in the class diagram. Such dependencies represent a practical problem as they make any topological ordering of classes impossible. The paper proposes a strategy that integrates two existing methods aimed at "breaking" cycles so as to allow a topological order of classes. The first one was proposed by K.-C. Tai and F.J. Daniels (1999) and is based on assigning a higher-level order according to aggregation and inheritance relationships and a lower-level order according to associations. The second one was proposed by Y. Le Traon et al. (2000) and is based on identifying strongly connected components in the dependency graph. Among other things, the former approach may result in unnecessary stubbing whereas the latter may lead to breaking cycles by "removing" aggregation or inheritance dependencies, thus leading to complex stubbing. We propose an approach that combines some of the principles of both approaches and addresses some of their shortcomings. All approaches (principles, benefits, drawbacks) are thoroughly compared by the means of a case study, based on a real system written in Java.
The issue of ordering class integration in the context of integration testing has been discussed by a number of researchers. More specifically, strategies have been proposed to generate a test order while minimizing s...
详细信息
The issue of ordering class integration in the context of integration testing has been discussed by a number of researchers. More specifically, strategies have been proposed to generate a test order while minimizing stubbing. Recent papers have addressed the problem of deriving an integration order in the presence of dependency cycles in the class diagram. Such dependencies represent a practical problem as they make any topological ordering of classes impossible. This paper proposes a strategy that integrates two existing methods aimed at "breaking" cycles so as to allow a topological order of classes. The first one was proposed by Tai et al and is based on assigning a higher-level order according to aggregation and inheritance relationships and a lower-level order according to associations. The second one was proposed by Le Traon et al and is based on identifying strongly connected components in the dependency graph. Among other things, the former approach may result into unnecessary stubbing whereas the latter may lead to breaking cycles by "removing" aggregation or inheritance dependencies, thus leading to complex stubbing. We propose here an approach that combines some of the principles of both approaches and addresses some of their shortcomings. All approaches (principles, benefits, drawbacks) are thoroughly compared by the means of a case study, based on a real system written in Java.
In this paper we present the design, implementation and evaluation of a framework that uses JavaSpaces [1] to support this type of opportunistic adaptive parallel/distributed computing over networked clusters in a non...
详细信息
暂无评论