This paper presents a memory management solution for distributed real-time java. The proposed model is targeted at distributed applications that require to keep their internal state and that consume a bounded memory s...
详细信息
ISBN:
(纸本)0769523560
This paper presents a memory management solution for distributed real-time java. The proposed model is targeted at distributed applications that require to keep their internal state and that consume a bounded memory size in their operation. The aim is to provide an alternative to the garbage collector for distributed real-time systems and to avoid the penalties it introduces. The approach is based on the usage of scoped memory defined in The Real-Time Specification for java (RTSJ). Our solution introduces constraints in the programming model and in the current distributed java architecture. However, these are compensated by eliminating the dependency of the garbage collector in the end-to-end invocation and by achieving se cleaning with respect to the memory consumed by remote invocations.
There is wasted and idle computing potential not only when applications are executed, but also when a user navigates by Internet. To take advantage of this, an architecture named Parasite has been designed in order to...
详细信息
ISBN:
(纸本)3540440496
There is wasted and idle computing potential not only when applications are executed, but also when a user navigates by Internet. To take advantage of this, an architecture named Parasite has been designed in order to use distributed and networked resources without disturbing the local computation. The project is based on developing software technologies and infrastructures to facilitate Web-based distributed computing. This paper outlines the most recent advances in the project, as well as discussing the developed architecture and an experimental framework in order to validate this infrastructure.
Every programminglanguage has its own style conventions and best practices, which help developers to write readable and maintainable code. Learning code style is an essential skill that every professional software en...
详细信息
ISBN:
(纸本)9798350322590
Every programminglanguage has its own style conventions and best practices, which help developers to write readable and maintainable code. Learning code style is an essential skill that every professional software engineer should master. As such, students should develop good habits for code style early on, when they start learning how to program. Unfortunately, manually assessing students' code with timely and detailed feedback is often infeasible, and professional static analysis tools are unsuitable for educational contexts. This paper presents GRADESTYLE, a tool for automatically assessing the code style of java assignments. GRADESTYLE automatically checks for violations of some of the most important Google java Style conventions, and java best practices. Students receive a report with a code style mark, a list of violations, and their source code locations. GRADESTYLE nicely integrates with GitHub and GitHub Classroom, and can be configured to provide continuous feedback every time a student pushes new code. We adopted our tool in a second-year software engineering programming course with 327 students and observed consistent improvements in the code style of their assignments.
We present an approach for statically reasoning about the behavior of Web applications that are developed using java Servlets and JSP. Specifically, we attack the problems of guaranteeing that all output is well-forme...
详细信息
ISBN:
(纸本)3540377565
We present an approach for statically reasoning about the behavior of Web applications that are developed using java Servlets and JSP. Specifically, we attack the problems of guaranteeing that all output is well-formed and valid XML and ensuring consistency of XHTML form fields and session state. Our approach builds on a collection of program analysis techniques developed earlier in the JWIG and XACT projects, combined with work on balanced context-free grammars. Together, this provides the necessary foundation concerning reasoning about output streams and application control flow.
This paper reports on a comprehensive approach to eliminating array bounds checks in java. Our approach is based upon three analyses. The first analysis is a flow-sensitive intraprocedural analysis called variable con...
详细信息
ISBN:
(纸本)3540433694
This paper reports on a comprehensive approach to eliminating array bounds checks in java. Our approach is based upon three analyses. The first analysis is a flow-sensitive intraprocedural analysis called variable constraint analysis (VCA). This analysis builds a small constraint graph for each important point in a method, and then uses the information encoded in the graph to infer the relationship between array index expressions and the bounds of the array. Using VCA as the base analysis, we also show how two further analyses can improve the results of VCA. Array field analysis is applied on each class and provides information about some arrays stored in fields, while rectangular array analysis is an interprocedural analysis to approximate the shape of arrays, and is useful for finding rectangular (non-ragged) arrays. We have implemented all three analyses using the Soot bytecode optimization/annotation framework and we transmit the results of the analysis to virtual machines using class file attributes. We have modified the Kaffe JIT, and IBM's High Performance Compiler for java (HPCJ) to make use of these attributes, and we demonstrate significant speedups.
Recent studies have shown the potential of using component frameworks for building flexible adaptable applications for deployment in distributed environments. However this approach is hindered by the complexity of dep...
详细信息
ISBN:
(纸本)3540305173
Recent studies have shown the potential of using component frameworks for building flexible adaptable applications for deployment in distributed environments. However this approach is hindered by the complexity of deploying component-based applications, which usually involve a great deal of configuration of both the application components and system services they depend on. In this paper we propose an infrastructure for automatic dynamic deployment of J2EE applications, that specifically addresses the problems of (1) intercomponent connectivity specification and its effects on component configuration and deployment;and (2) application component dependencies on application server services, their configuration and deployment. The proposed infrastructure provides simple yet expressive abstractions for potential application adaptation through dynamic deployment and undeployment of components. We report on our experience with implementing the infrastructure as a part of the JBoss J2EE application server and testing it on several sample J2EE applications.
The Real-time Specification for java (RTSJ) introduces a new memory model featuring some programming constraints that impede the "as-is" use of many well known design patterns. In this context, this paper de...
详细信息
ISBN:
(纸本)078039402X
The Real-time Specification for java (RTSJ) introduces a new memory model featuring some programming constraints that impede the "as-is" use of many well known design patterns. In this context, this paper describes and evaluates two design patterns, developed by the authors for distributed real-time java soft ware, that are able to overcome the limitations imposed by RTSJ. The first pattern, RTJ-Leader-Follower, is a RTSJ-compliant version of the well-known Leader/-Follower pattern. The second pattern, called Scoped Tunnels, provides a new communication mechanism for RTSJ threads executing in different and incompatible memory areas, thus making possible the realization of the standard pattern half-sync/half-async for efficient network I/O handling. The paper presents both a qualitative and quantitative evaluation of these patterns, showing, above all, that they are able to provide a safe execution environment.
In the social reality, objects communicate with each other by means of assuming roles to establish collaboration, and then can adaptively change their roles to obtain other interaction possibilities. To achieve the go...
详细信息
ISBN:
(纸本)9781424421015
In the social reality, objects communicate with each other by means of assuming roles to establish collaboration, and then can adaptively change their roles to obtain other interaction possibilities. To achieve the goal of supporting and realizing such object collaboration and adaptation in the object-oriented technology, especially in java, a new adaptive role-based model Epsilon and a cor responding language EpsilonJ have been proposed. In this paper, we present the background of adaptive role-based models, and then focus on the design of this Epsilon model and its language. A program written in EpsilonJ must be translated into executable code to execute. We propose a translation scheme of mapping EpsilonJ syntax to the standard java. With this translation scheme, we implemented a practical syntax translator as a preprocessor of EpsilonJ program, through lexical analysis and parsing. Evaluation shows that our translator can effectively perform transformation in high accuracy, and translated programs can be executed more efficiently than the existing implementation of EpsilonJ.
This paper describes Net-dbx, a tool that utilizes java and other WWW tools for the debugging of MPI programs from anywhere in the Internet. Net-dbx is a source level interactive debugger with the full power of gdb au...
详细信息
ISBN:
(纸本)3540649522
This paper describes Net-dbx, a tool that utilizes java and other WWW tools for the debugging of MPI programs from anywhere in the Internet. Net-dbx is a source level interactive debugger with the full power of gdb augmented with the debug functionality of LAM-MPI. The main effort was on a low overhead but yet powerful graphical interface that would be supported by low bandwidth connections. The portability of the tool is of great importance as well because it enables us to use it on heterogeneous nodes that participate in an MPI multicomputer. Both needs are satisfied a great deal by the use of Internet Browsing tools and the java programming language. The user of our system simply points his browser to the URL of the Net-dbx page, logs in to the destination system, and starts debugging by interacting with the tool just like any GUI environment. The user has the ability to dynamically select which MPI-processes to view/debug. A working prototype has already been developed and tested successfully.
With the growing popularity of the java programming language for both client and server side applications in network-centric computing, there is a rising need for programming libraries that can be easily integrated in...
详细信息
ISBN:
(纸本)0769514383
With the growing popularity of the java programming language for both client and server side applications in network-centric computing, there is a rising need for programming libraries that can be easily integrated into java programs. In a previous paper, we surveyed current strategies for integrating C source code into java programs, pointed out their weaknesses and presented goals for an improved migration approach. In this paper, we present the Ephedra approach to software migration and report on the results of three case studies transliterating C source code to java using the Ephedra environment.
暂无评论