Evolving and maintaining software requires adequate documentation of its implementation. However, due to the software's constant evolution, the documentation and implementation do not remain synchronised. Intentio...
详细信息
Evolving and maintaining software requires adequate documentation of its implementation. However, due to the software's constant evolution, the documentation and implementation do not remain synchronised. Intentional software views have been proposed as a documentation technique to alleviate this problem. Creating such views is not at all a trivial task, however. In this paper, we propose to use a learning algorithm that derives such intentional software views from extensional software views, which are much easier to build. The resulting approach combines the advantages of intentional software views with the ease of constructing extensional views. (C) 2003 Elsevier Ltd. All rights reserved.
Cache miss stalls hurt performance because of the large gap between memory and processor speeds - for example, the popular server benchmark SPEC JBB2000 spends 45% of its cycles stalled waiting for memory requests on ...
详细信息
Cache miss stalls hurt performance because of the large gap between memory and processor speeds - for example, the popular server benchmark SPEC JBB2000 spends 45% of its cycles stalled waiting for memory requests on the Itanium(R) 2 processor. Traversing linked data structures causes a large portion of these stalls. Prefetching for linked data structures remains a major challenge because serial data dependencies between elements in a linked data structure preclude the timely materialization of prefetch addresses. This paper presents Mississippi Delta (MS Delta), a novel technique for prefetching linked data structures that closely integrates the hardware performance monitor (HPM), the garbage collector's global view of heap and object layout, the type-level metadata inherent in type-safe programs, and JIT compiler analysis. The garbage collector uses the HPM's data cache miss information to identify cache miss intensive traversal paths through linked data structures, and then discovers regular distances (deltas) between these linked objects. JIT compiler analysis injects prefetch instructions using deltas to materialize prefetch addresses. We have implemented MS Delta in a fully dynamic profile-guided optimization system: the StarJIT dynamic compiler [1] and the ORP Java virtual machine [9]. We demonstrate a 28-29% reduction in stall cycles attributable to the high-latency cache misses targeted by MS Delta and a speedup of 11-14% on the cache miss intensive SPEC JBB2000 benchmark.
This paper shows that one can reason at a meta level about the structure of object-oriented source code in a language-independent way. To achieve this, we propose a language-independent meta-level interface to extract...
详细信息
This paper shows that one can reason at a meta level about the structure of object-oriented source code in a language-independent way. To achieve this, we propose a language-independent meta-level interface to extract complex information about the structure of the source code. This approach is validated by defining a set of logic queries to detect object-oriented best practice patterns and design patterns in two different languages: Smalltalk and Java. The queries were applied to two similar medium-sized applications available for each language, and the results were confirmed by manually investigating the source code and available documentation. (C) 2003 Elsevier Ltd. All rights reserved.
This paper reports on the experiences we gained while trying to build an interpreter for a new programming language aimed at developing strong mobile software. The interpreter is actually a distributed virtual machine...
详细信息
ISBN:
(纸本)3540220593
This paper reports on the experiences we gained while trying to build an interpreter for a new programming language aimed at developing strong mobile software. The interpreter is actually a distributed virtual machine that can be used in a peer-to-peer setting on a heterogeneous platform. In our quest for an experimental implementation, simplicity and portability led us to using a combination of Java and SOAP technologies. The paper reports on the problems we encountered in this experiment and shows that SOAP is inadequate in peer-to-peer communication that cannot afford fat servers to run on all nodes.
Today mobile devices can interact with their environment through wireless communication. Wireless communication has a limited communication range, which introduces two major problems, currently not captured in distrib...
详细信息
ISBN:
(纸本)354022906X
Today mobile devices can interact with their environment through wireless communication. Wireless communication has a limited communication range, which introduces two major problems, currently not captured in distributed middleware. Firstly, they axe less reliable and secondly they are extremely dynamic. Both problems complicate the development of mobile software. In this paper we extend the operational semantics of the actor model to capture these two properties by adding a single new concept to the model: the mailbox. This paper provides a foundation for new implementations of the actor language and frameworks that are usable in the context of mobile ad-hoc networks.
The Logger System described in this article is a general purpose set of component interfaces for logging data in a distributed, heterogeneous computing environment. Fundamentally, it serves,as an intermediary between ...
详细信息
The Logger System described in this article is a general purpose set of component interfaces for logging data in a distributed, heterogeneous computing environment. Fundamentally, it serves,as an intermediary between log artifact producers and log artifact consumers. It is designed to virtualize existing logging systems including the z/OS(R) System Logger, Microsoft Windows((R)) event logging, and the UNIX(R) syslog facility. The Logger System is outlined using the conventions defined in the recently released Web Services Resource Framework (WSRF) and provides an example of how this framework might be used to define a meta-OS (operating system) for grid computing.
This report covers the activities of the 2(nd) workshop on "Object-Oriented Language Engineering for the Post-Java Era". We describe the motivation that led to the organisation of a second edition of the wor...
详细信息
ISBN:
(纸本)354023988X
This report covers the activities of the 2(nd) workshop on "Object-Oriented Language Engineering for the Post-Java Era". We describe the motivation that led to the organisation of a second edition of the workshop. Relevant organisational aspects are mentioned. The main part of the report consists of a summary of Dave Thomas's invited talk, and a recount of the presentations by the authors of position papers. Comments given along the way by the participants are included. Finally, some pointers to related work and events are given.
As mobile devices become more powerful, interprocess communication becomes increasingly more important. Unfortunately, this larger freedom of mobility gives rise to unknown environments. In these environments, process...
详细信息
ISBN:
(纸本)354000730X
As mobile devices become more powerful, interprocess communication becomes increasingly more important. Unfortunately, this larger freedom of mobility gives rise to unknown environments. In these environments, processes that want to communicate with each other will be unable to do so because of protocol conflicts. Although conflicting protocols can be remedied by using adaptors, the number of possible combinations of different protocols increases dramatically. Therefore we propose a technique to generate protocol adaptors automatically. This is realised by means of genetically engineered classifier systems that use Petri nets as a specification for the underlying protocols. This paper reports on an experiment that validates this approach.
In this paper, we show how automated support can be provided for identifying refactoring opportunities, e.g., when an application's design should be refactored and which refactoring(s) in particular should be appl...
详细信息
ISBN:
(纸本)0769519024
In this paper, we show how automated support can be provided for identifying refactoring opportunities, e.g., when an application's design should be refactored and which refactoring(s) in particular should be applied. Such support is achieved by using the technique of logic meta programming to detect so-called bad smells and by defining a framework that uses this information to propose adequate refactorings. We report on some initial but promising experiments that were applied using the proposed techniques.
XML has recently emerged as a standard for exchanging data between different software applications. In this paper we present an approach for automatic code generation to interpret information in an XML document. The a...
详细信息
ISBN:
(纸本)0769520316
XML has recently emerged as a standard for exchanging data between different software applications. In this paper we present an approach for automatic code generation to interpret information in an XML document. The approach is based on a user-defined mapping of the XML document's structure onto the application's API. This mapping is declarative in nature, and thus easy to specify, and is used by code generator that applies advanced code generation and manipulation techniques to generate the appropriate code. The approach relieves developers from the time-consuming and error-prone task of writing the interpreter themselves, and complements existing XML technologies such as XSLT.
暂无评论