We investigate the separation between types and classes by putting to use a special feature of java regarding classes, interfaces and inheritance. We propose an original method which, from a single inheritance class h...
详细信息
ISBN:
(纸本)0769507107
We investigate the separation between types and classes by putting to use a special feature of java regarding classes, interfaces and inheritance. We propose an original method which, from a single inheritance class hierarchy, extracts a multiple inheritance interface hierarchy, which contains all the types of the original hierarchy, each class being linked to the interface representing its type. In the resulting structure, interfaces are well organized, and follow a natural multiple specialization, which would not have been possible using only the single inheritance which cones with java. Our method is based on the use of a Galois lattice, which, as previous works have shown, is a reference for the elaboration of hierarchies. We introduce and justify the need for a new algorithm that efficiently builds an essential part of the Galois lattice.
Model-Driven Software Development is based on standardised models that are refined, transformed and eventually translated into executable code using code generators. However, creating plain text from well-structured m...
详细信息
ISBN:
(纸本)9783642121067
Model-Driven Software Development is based on standardised models that are refined, transformed and eventually translated into executable code using code generators. However, creating plain text from well-structured models creates a gap that implies several drawbacks: Developers cannot continue to use their model-based tool machinery, relations between model elements and code fragments are hard to track and there is no easy way to rebuild models front their respective code. This paper presents an approach to bridge this gap for the java programming language. It defines a full metamodel and text syntax specification for java, from which a parser and a printer are generated. Through this, java code can be handled like any other model. The implementation is validated with large test sets, example applications are shown, and future directions of research are discussed.
Test case prioritization provides a way to run test cases with the highest priority earliest. Numerous empirical studies have shown that prioritization can improve a test suite's rate of fault detection, but the e...
详细信息
ISBN:
(纸本)0769522157
Test case prioritization provides a way to run test cases with the highest priority earliest. Numerous empirical studies have shown that prioritization can improve a test suite's rate of fault detection, but the extent to which these results generalize is an open question because the studies have all focused on a single procedural language, C, and a few specific types of test suites. In particular java and the JUnit testing framework are being used extensively in practice, and the effectiveness of prioritization techniques on java systems tested under JUnit has not been investigated. We have therefore designed and performed a controlled experiment examining whether test case prioritization can be effective on java programs tested under JUnit, and comparing the results to those achieved in earlier studies. Our analyses show that test case prioritization can significantly improve the rate of fault detection of JUnit test suites, but also reveal differences with respect to previous studies that can be related to the language and testing paradigm.
In order to provide java the ability for supporting scientific parallel computing, we introduce a data parallel extension to javalanguage with runtime system support. We will provide the distributed arrays extension ...
详细信息
ISBN:
(纸本)0818691948
In order to provide java the ability for supporting scientific parallel computing, we introduce a data parallel extension to javalanguage with runtime system support. We will provide the distributed arrays extension to java, and discuss the related operation anal control over the new distributed array. Communication involving distributed arrays are handles through a standard of collective communication library. WE also will make the programming in a Single Program Multiple Data (SPMD) model.
eWe point some major contributions of the object-oriented approach in the field of separation of concerns and more particularly design-patterns and metaobject protocols. We discuss some limitations of objects focusing...
详细信息
ISBN:
(纸本)3540291318
eWe point some major contributions of the object-oriented approach in the field of separation of concerns and more particularly design-patterns and metaobject protocols. We discuss some limitations of objects focusing on program reusability and scalability. We sketch some intuitions behind the aspect-oriented programming (AOP) approach as a new attempt to deal with separation of concerns by managing scattered and tangled code. In fact AOP provides techniques to represent crosscutting program units such as display, persistency and transport services. Then AOP allows to weave these units with legacy application components to incrementally adapt them. We present a guided tour of AspectJ illustrating by examples the new concepts of pointcuts, advices and inter-type declarations. This tour is the opportunity to discuss how the AspectJ model answers some of the issues raised by post-object oriented programming but also to enforce the relationship between reflective and aspect-oriented languages.
M-commerce has shown tip as e-commerce in mobile and wireless communication, and now deals with on-line banking, stock trading, auctions, transactions, and mobile media. M-commerce applications are implemented with, f...
详细信息
ISBN:
(纸本)0769523153
M-commerce has shown tip as e-commerce in mobile and wireless communication, and now deals with on-line banking, stock trading, auctions, transactions, and mobile media. M-commerce applications are implemented with, for example, java technology that supports a client-and-server model and cross-platform mobile applications. They are attractive, but, need a large heap space, which may slow down the execution, lead to poor interactive response, and sometimes cause "out of memory" failure. We propose a java computation mechanism with heap de/compression modules that reduce memory demand and allow client applications and embedded devices to take the advantage of compression techniques. Results show the impact in space and time efficiency of the proposed mechanism. The space efficiency is 1.80 to 2.50 and the speed is competitive with that of original java technology. We believe that the proposed mechanism provides a good runtime environment for mobile/wireless computing(1).
The java Modelling Tools (JMT) is an open source suite for performance evaluation, capacity planning and modelling of computer and communication systems. The suite implements numerous state-of-the-art algorithms for t...
详细信息
ISBN:
(纸本)0769526659
The java Modelling Tools (JMT) is an open source suite for performance evaluation, capacity planning and modelling of computer and communication systems. The suite implements numerous state-of-the-art algorithms for the exact, asymptotic and simulative analysis of queueing network models, either with or without product-form solution. Models can be described either through wizard dialogs or with a graphical user-friendly interface. The suite includes also a workload analysis tool based on clustering techniques.
Security protocols are critical for protecting modem communication infrastructures and are therefore subject to thorough analysis. However practical implementations of these protocols lack the same level of attention ...
详细信息
ISBN:
(数字)9783540319818
ISBN:
(纸本)3540289631
Security protocols are critical for protecting modem communication infrastructures and are therefore subject to thorough analysis. However practical implementations of these protocols lack the same level of attention and thus may be more exposed to attacks. This paper discusses security assurance provided by security-typed languages when implementing cryptographic protocols. Our results are, based on a case study using Jif, a java-based security-typed language, for implementing a non-trivial cryptographic protocol that allows playing online poker without a trusted third party. The case study deploys the largest program written in a security-typed language to date and identifies insights ranging from security guarantees to useful patterns of secure programming.
The design of java sports a simple and elegant object model. Its simplicity may well be the language's main selling point-it is both easy to learn and to implement-but in the long run the same simplicity may prove...
详细信息
ISBN:
(纸本)3540625992
The design of java sports a simple and elegant object model. Its simplicity may well be the language's main selling point-it is both easy to learn and to implement-but in the long run the same simplicity may prove to be a sign of a lack of expressive power that could hinder the development of large software systems. We present four non-intrusive language extensions, tuples, closures, anonymous objects and iterators, give examples of use and detail a translation scheme into plain java. These extensions enhance the expressive power of java and allow certain common programming idioms to be coded more naturally.
This paper investigates the design and implementation of mobile computations in java. We discuss various issues encountered while building a java library that allows active objects to migrate transparently from site t...
详细信息
ISBN:
(纸本)3540675531
This paper investigates the design and implementation of mobile computations in java. We discuss various issues encountered while building a java library that allows active objects to migrate transparently from site to site, while still being able to communicate with each other. Several optimizations are introduced, and a set of benchmarks provides valuable figures about the cost of migration in java: basic cost of migration with and without remote classloading, migration vs, standard remote method invocation in a typical information retrieval application. Our conclusion is that mobile computations are a viable alternative to remote method invocation for a large domain of java applications that includes Web-based application.
暂无评论