We investigate the problem of distributing communicating objects across wine-area environments. Our goals are to balance load, minimize network communication, and use resources efficiently. However applications runnin...
详细信息
ISBN:
(纸本)0769510779
We investigate the problem of distributing communicating objects across wine-area environments. Our goals are to balance load, minimize network communication, and use resources efficiently. However applications running in such environments are often dynamic and highly unpredictable. Furthermore, synchronous communication is usually too expensive to be used in disseminating load information. We therefore investigate policies that use local information to approximate desired global behaviors. Our results with java applications show that simple, local approaches al-e surprisingly effective in capturing load information and object relationships, and in making migration and clustering decisions based on profiled information.
Ad-hoc wireless networks which use ad-hoc routing methods may prove a good solution in certain applications, especially where networks have to be constructed where there is no possibly of creating a network backbone, ...
详细信息
ISBN:
(纸本)0769523080
Ad-hoc wireless networks which use ad-hoc routing methods may prove a good solution in certain applications, especially where networks have to be constructed where there is no possibly of creating a network backbone, and in emergency situations. They may also lead to more flexible networks which require reduced configuration, and allow for optimised routes. There is thus a requirement to use mobile devices as intermediate routing devices, which forward data from one device to another. One of the best methods is to run a proxy server on the mobile device, as it allows for a simple implementation on the device. A key factor in this is determining the fitness of a mobile device, especially a limited one, such as a handheld PDA. This paper discusses the metrics that could be used to assess the potential of devices and their environment to route certain types of data, and presents results from iPAQ devices using a range of differing operating systems. It shows how performance of a proxy device varies depending on several factors including the java environment used, and the operating system used. The paper shows that Linux versions for handheld devices out-perform the equivalent Windows systems for the key performance metrics for proxy devices, such as battery usage and network performance.
In this paper, we investigate an antipattern-based approach to analyze java multithreaded (MT) programs. We present a library of 38 antipatterns, which describe predefined recognized sources of multithreading related ...
详细信息
ISBN:
(纸本)0769522076
In this paper, we investigate an antipattern-based approach to analyze java multithreaded (MT) programs. We present a library of 38 antipatterns, which describe predefined recognized sources of multithreading related errors in the code. The antipatterns are archived in practical, easy to use templates, and are classified according to their potential effects on the program behavior. We also report on our experience in using these antipatterns in the analysis of real multithreaded applications.
Module systems are an essential feature of programminglanguages as they facilitate the re-use of existing code and the development of general purpose libraries. Unfortunately, there has been no consensual module syst...
详细信息
ISBN:
(纸本)3540366350
Module systems are an essential feature of programminglanguages as they facilitate the re-use of existing code and the development of general purpose libraries. Unfortunately, there has been no consensual module system for Prolog, hence no strong development of libraries, in sharp contrast to what exists in java for instance. One difficulty comes from the call predicate which interferes with the protection of the code, an essential task of a module system. By distinguishing the called module code protection from the calling module code protection, we review the existing syntactic module systems for Prolog. We show that no module system ensures both forms of code protection, with the noticeable exceptions of Ciao-Prolog and XSB. We then present a formal module system for logic programs with calls and closures, define its operational semantics and formally prove the code protection property. Interestingly, we also provide an equivalent logical semantics of modular logic programs without calls nor closures, which shows how they can be translated into constraint logic programs over a simple module constraint system.
Automatically pinpointing those classes in an object-oriented program that implement interesting domain concepts would be valuable for industrial software maintainers. We encode two observations of programmer behavior...
详细信息
ISBN:
(纸本)9781538615898
Automatically pinpointing those classes in an object-oriented program that implement interesting domain concepts would be valuable for industrial software maintainers. We encode two observations of programmer behavior in Reoom, a novel light-weight static analysis. In a comparison with its most closely related competitor, Womble, on third-party open source applications, Reoom scaled to larger applications and achieved better overall precision and recall.
Proposed and developed is a framework and an extensible library of simulation modeling components for strategic sourcing and transportation. The components include items, suppliers, volume-discount schedules, aggregat...
详细信息
ISBN:
(纸本)9781424427079
Proposed and developed is a framework and an extensible library of simulation modeling components for strategic sourcing and transportation. The components include items, suppliers, volume-discount schedules, aggregators, procurement rules, and less-than-truck-load delivery. Service models are classes in the java programming language extended with decision variables, assertions, and business objective constructs. The optimization semantics of the framework is based on finding an instantiation of real values into the decision variables in the service object constructor, that satisfies all the assertions and leads to the optimal business objective. The optimization is not done by repeated simulation runs, but rather by automatic compilation of the simulation model in java into a mathematical programming model in AMPL and solving it using an external solver.
In the smart card quality assurance field, Software Testing is the privileged way of increasing the confidence level in the implementation correctness. When testing java Card application programming interfaces (APIs),...
详细信息
ISBN:
(纸本)0769527183
In the smart card quality assurance field, Software Testing is the privileged way of increasing the confidence level in the implementation correctness. When testing java Card application programming interfaces (APIs), the tester has to deal with the classical oracle problem, i.e. to find a way to evaluate the correctness of the computed output. In this paper, we report on an experience in testing methods of the Oberthur Card Systems Cosmo 32 RSA java Card APIs by using the Symmetric Testing paradigm. This paradigm exploits user-defined symmetry properties of java methods as test oracles. We propose an experimental environment that combines random testing and symmetry checking for (on-card) cross testing of several API methods. We develop a semi-empirical model (a model fed by experimental data) to help deciding when to stop testing and to assess test quality.
In this paper, we present Chocolate, a reservation-based Real-Time java run-time environment that runs on Windows NT. We first present a brief overview of the emerging Real-Time java standard and the Resource Kernel (...
详细信息
ISBN:
(纸本)0769507131
In this paper, we present Chocolate, a reservation-based Real-Time java run-time environment that runs on Windows NT. We first present a brief overview of the emerging Real-Time java standard and the Resource Kernel (RK) approach to providing timely: guaranteed and enforced access to system resources. Chocolate is a real-rime java Virtual Machine that interfaces the real-rime java programming language with the abstractions of a resource kernel. It also supports memory, regimes to control allocation rime and a protocol to bound priority inversion. This version of Chocolate is implemented on top of NT/RK, an OS environment that includes a "portable resource kernel" within the NT kernel. Our detailed evaluation of Chocolate shows that the overhead introduced by NT/RK is acceptable. A Real-Time java audio package on Chocolate demonstrates significantly better performance than its non-real-time counterpart. However, our Hartstone benchmark evaluations also show that our NT/RK implementation does have its drawbacks due to the lack of hard real-time capabilities within Windows NT.
Is java a good language for programming heterogeneous parallel computing systems? It is a well-designed modern language that, combined with the java Virtual Machine (JVM), offers a myriad of modern programming feature...
详细信息
This paper presents a new combined pointer and escape analysis for multithreaded programs. The algorithm uses a new abstraction called parallel interaction graphs to analyze the interactions between threads and extrac...
详细信息
ISBN:
(纸本)9781581133462
This paper presents a new combined pointer and escape analysis for multithreaded programs. The algorithm uses a new abstraction called parallel interaction graphs to analyze the interactions between threads and extract precise points-to, escape, and action ordering information for objects accessed by multiple threads. The analysis is compositional, analyzing each method or thread once to extract a parameterized analysis result that can be specialized for use in any context. It is also capable of analyzing programs. that use the unstructured form of multithreading present in languages such as java and standard threads packages such as POSIX threads. We have implemented the analysis in the MIT Flex compiler for java and used the extracted information to 1) verify that programs correctly use region-based allocation constructs, 2) eliminate dynamic checks associated with the use of regions, and 3) eliminate unnecessary synchronization. Our experimental results show that analyzing the interactions between threads significantly increases the effectiveness of the region analysis and region check elimination, but has little effect for synchronization elimination.
暂无评论