The use of java like program model for defining formal semantics of typical expressions and statements of this language was discussed. The model was based on a type system consisting of basic and reference types. The ...
详细信息
The use of java like program model for defining formal semantics of typical expressions and statements of this language was discussed. The model was based on a type system consisting of basic and reference types. The type system was used to construct a class schema consisting of class class and interface declarations and inheritance and implementation relations. A closure of the class schema was constructed by extending each class/interface declaration by inherited fields and methods.
IBM is exploiting Enterprise javaBeans(TM) in a family of compatible java(TM) application servers conforming to IBM's Enterprise Server for java (ESJ) specification. The ESJ provides a common set of dynamic, adapt...
详细信息
IBM is exploiting Enterprise javaBeans(TM) in a family of compatible java(TM) application servers conforming to IBM's Enterprise Server for java (ESJ) specification. The ESJ provides a common set of dynamic, adaptive system services to meet today's (and tomorrow's) middleware requirements. ESJ will provide a standard programming model and set of services across major server platforms so that implementations of ESJ are differentiated not by function but by qualify of service. Finally, ESJ increases productivity by enabling programmers to focus on business logic rather than on infrastructure details. This paper introduces the design of ESJ, including the attributes of the common execution environment, its interaction with other middleware, and its cleientserver capabilities. It provides an appreciation of the value of ESJ to application developers as a means of achieving cross-platform consistency, lower costs, and faster time to market. It also outlines the features that make ESJ the server technology base for wide-scale reuse through the "write once, run anywhere" promise of java.
The java(TM) programminglanguage presents many new opportunities for application developers and users. Lotus eSuite(TM) uses java to provide an environment for the deployment and execution of business applications fr...
详细信息
The java(TM) programminglanguage presents many new opportunities for application developers and users. Lotus eSuite(TM) uses java to provide an environment for the deployment and execution of business applications from the corporate intranet Tools such as spreadsheet, calendar, chart, e-mail, and database access, among others, bring the benefits of network computing to the end user. This paper discusses the eSuite functions and the principles and goals that guided their development.
The implementation of the Parjava development environment is considered that enables one to develop parallel applications in the modern programminglanguagejava within the industrial standard MPI. The internal repres...
详细信息
The implementation of the Parjava development environment is considered that enables one to develop parallel applications in the modern programminglanguagejava within the industrial standard MPI. The internal representation of the SPMD program model is described, which is constructed so as to place as much of the interpretation work of a parallel java program on javaVM. Features of the model generation and its preparation to the interpretation are described. The model generator transforms the abstract syntax tree of each method of the program being simulated into a model of the control flow, forms a computation model that will be executed on javaVM, and forms a module for evaluating the execution times of the basic blocks. The interpretation of the model executed on p nodes of a parallel computing system (cluster) is performed in p logical processes of which each is executed in an individual thread. The interpretation of a logical process assumes that all its methods beginning from the main method are interpreted. The interpretation of each method consists in executing the computation model of this method on javaVM. The order of interpretation of the method's basic blocks is determined by the system interpreter of the method's model. The system makes it possible to reduce parts of the model and interpret the model by parts. Problems of the simulation and interpretation of communication functions are discussed. The communication functions are described using nine basic exchange operations. To evaluate the time needed to transfer data between processes, an empirical dependence between the amount of the transferred data and the transfer time is used, which is obtained using tests. A short description of the Parjava graphical interface is presented. Applications developed using the proposed implementation of the system are platform independent;and the development, tuning, and maintenance overheads for those applications are considerably reduced. This is a contribution
This paper presents the design and implementation of java-based tools for accurate bandwidth measurement for xDSL (Digital Subscriber Line) networks, including the ADSL (Asymmetric DSL) case with different upstream an...
详细信息
This paper presents the design and implementation of java-based tools for accurate bandwidth measurement for xDSL (Digital Subscriber Line) networks, including the ADSL (Asymmetric DSL) case with different upstream and downstream bandwidths. First, a multi-packet bandwidth measurement technique is presented, based on the integration of packet-pair and filtering techniques. Considering the importance of a traffic generator to accurate measurement, a smooth and stable traffic generator is studied. We also present a stepwise algorithm designed to minimize the effect of ATM traffic shaping on the bandwidth measurements in xDSL deployments. Implementation details of the components of the java-applet- and java-application-based tools are described. Finally, evaluation experiments in both a laboratory testbed and a commercial ADSL network demonstrate that these tools achieve accurate bandwidth measurement in xDSL networks, and offer better performance than other popular tools such as pathchar and clink in terms of accuracy and usability.
We present the design and implementation of several optimizations and techniques included in the latest IBM java(TM) Just-in-Time (JIT) Compiler. We first discuss some of the modifications we have applied to Sun Micro...
详细信息
We present the design and implementation of several optimizations and techniques included in the latest IBM java(TM) Just-in-Time (JIT) Compiler. We first discuss some of the modifications we have applied to Sun Microsystems' reference implementation of the java Virtual Machine (JVM(TM)) Specification to increase the performance, including a change in the object layout We then describe each of the optimizations, referring to what had to be taken into account because of both the just-in-time nature of the compiler and the requirements of the javalanguage specification, such as exception checking. We also present code generation techniques targeting Intel architectures, describing the register allocation schemes, exception handling, and code scheduling. Finally we report on the performance of the IBM JIT compiler, showing both the effectiveness of the individual optimizations and the competitive overall performance of the JIT compiler in comparison with a competitor using industry-standard benchmarking programs. All the techniques presented here are included in the official product (JIT Compiler version 3.0), which has been integrated into the ISM Developer Kit for Windows(TM), java Technology Edition, Version 1.1.7.
We explore by design and implementation the applicability of J2EE (java 2 Platform, Enterprise Edition) architecture in supporting wireless services as well as web-based services. This has been demonstrated by impleme...
详细信息
We explore by design and implementation the applicability of J2EE (java 2 Platform, Enterprise Edition) architecture in supporting wireless services as well as web-based services. This has been demonstrated by implementing a wireless prescription system, which provides wireless services to physicians, and web-based services to pharmacies and administrators. The goal of the wireless prescription system is to improve the efficiency of the healthcare system by reducing the overall time and cost used to create documents and retrieve information. We also present a performance evaluation of the implemented wireless prescription system using latency as the performance metric. In particular, we investigated the overheads associated with different components of the underlying J2EE architecture, which includes the Session Bean, Entity Bean, and the database. We found that the latency overheads introduced by these components account for 3.8-4.3%, 3.9-4.4%, and 91.8% of the total delay experienced inside the J2EE architecture respectively. (C) 2004 Elsevier Inc. All rights reserved.
The state of a concurrent object, intended as some abstraction over the values of the fields of the object, usually determines its coordination behavior. Therefore, state is always in the programmer's mind, even t...
详细信息
The state of a concurrent object, intended as some abstraction over the values of the fields of the object, usually determines its coordination behavior. Therefore, state is always in the programmer's mind, even though implicitly. We suggest a feature for J ava-like languages, which makes the state of a concurrent object explicit and supports the expression of the object's behavior depending on the state it is currently in. Namely, an object will be in one of the states declared in its class. The state determines the presence of fields and methods. State transition statements explicitly change the state of an object, and thus change the availability of fields and methods. When a thread calls a method which is declared in the object's class but absent from its current state, it waits, until the state of the object changes to a state which does contain that method. This directly expresses coordination. We claim that this feature makes it easier to understand and develop concurrent programs, and substantiate our claim through the discussion of some popular examples of concurrent programs written using this *** develop a type and effect system, which guarantees that, during execution of a method invoked on a concurrent object. No attempt will be made to access fields not available in the current state of and (2) No method invoked on a receiver (syntactically) different from may cause the invocation of a method on the latter guarantee helps to enforce the former and prevents a family of accidental violations of the intended coordination protocol.
The java(TM) language specification requires that all array references be checked for validity. If a reference is invalid, an exception must be thrown. Furthermore, the environment at the time of the exception must be...
详细信息
The java(TM) language specification requires that all array references be checked for validity. If a reference is invalid, an exception must be thrown. Furthermore, the environment at the time of the exception must be preserved and made available to whatever code handles the exception. Performing the checks at run time incurs a large penalty in execution time. In this paper we describe a collection of transformations that can dramatically reduce this overhead in the common case (when the access is valid) while preserving the program state at the time of an exception. The transformations allow trade-offs to be made in the efficiency and size of the resulting code, and are fully compliant with the javalanguage semantics. Preliminary evaluation of the effectiveness of these transformations shows that performance improvements of 10 times and more can be achieved for array-intensive java programs.
We demonstrate a model, including operational semantics, for the reverse execution of stack-based code. We discuss our modification of the Kaffe implementation of the java Virtual Machine, supporting a debugger capabl...
详细信息
We demonstrate a model, including operational semantics, for the reverse execution of stack-based code. We discuss our modification of the Kaffe implementation of the java Virtual Machine, supporting a debugger capable of running java bytecode backwards. We achieve reverse execution by logging the state lost during each operation or by directly reversing instructions. Our debugger has facilities for stepping, stepping over methods and running to breakpoints, in both directions. Multi-threading is supported. It is also possible to step through the bytecode when the java source code is not available. The debugger has both a command line user interface and a graphical user interface with facilities for editing code and running the java compiler.
暂无评论