This one-day tutorial is aimed at software engineering practitioners and researchers, who axe familiar with object-oriented analysis, design and programming and want to obtain an overview of the technologies that are ...
详细信息
ISBN:
(纸本)158113472X
This one-day tutorial is aimed at software engineering practitioners and researchers, who axe familiar with object-oriented analysis, design and programming and want to obtain an overview of the technologies that are enabling component-based development. We introduce the idea of component-based development by defining the concept and providing its economic rationale. We describe how object-oriented programming evolved into local component models, such as java Beans and distributed object technologies, such as the Common Object Request Broker Architecture (CORBA), java Remote Method Invocation (RMI) and the Component Object Model (CONI). We then address how these technologies matured into distributed component models, in partiuclar Enterprise java Beans (EJB) and the CORBA Component Model (CCM). We give an assessment of the maturity of each of these technologies and sketch how they are used to build distributed architectures.
This paper presents Soot, a framework for optimizing java((TM)) bytecode. The framework is implemented in java and supports three intermediate representations for representing java bytecode: Baf, a streamlined represe...
详细信息
ISBN:
(纸本)354067263X
This paper presents Soot, a framework for optimizing java((TM)) bytecode. The framework is implemented in java and supports three intermediate representations for representing java bytecode: Baf, a streamlined representation of java's stack-based bytecode;Jimple, a typed three-address intermediate representation suitable for optimization;and Grimp, an aggregated version of Jimple. Our approach to class file optimization is to first convert the stack-based bytecode into Jimple, a three-address form more amenable to traditional program optimization, and then convert the optimized Jimple back to bytecode. In order to demonstrate that our approach is feasible, we present experimental results showing the effects of processing class files through our framework. In particular, we study the techniques necessary to effectively translate Jimple back to bytecode, without losing performance. Finally, we demonstrate that class file optimization can be quite effective by showing the results of some basic optimizations using our framework. Our experiments were done on ten benchmarks, including seven SPECjvm98 benchmarks, and were executed on five different java virtual machine implementations.
This article describes the implementation of checkpointing and recovery services in a java-based distributed platform. Our case study is SUMA, a distributed execution platform implemented on top of Grid services. SUMA...
详细信息
ISBN:
(纸本)3540269185
This article describes the implementation of checkpointing and recovery services in a java-based distributed platform. Our case study is SUMA, a distributed execution platform implemented on top of Grid services. SUMA has been designed for execution of java bytecode, with additional support for parallel processing. SUMA middleware is built on top of commodity software and communication technologies, including java, Corba, and Globus services. The implementation of SUMA that runs on top of Globus services is called SUMA/G.
Non-interference is a semantical condition on programs that guarantees the absence of illicit information flow throughout their execution, and that can be enforced by appropriate information flow type systems. Much of...
详细信息
ISBN:
(纸本)9783540713142
Non-interference is a semantical condition on programs that guarantees the absence of illicit information flow throughout their execution, and that can be enforced by appropriate information flow type systems. Much of previous work on type systems for non-interference has focused on calculi or high-level programminglanguages, and existing type systems for low-level languages typically omit objects, exceptions, and method calls, and/or do not prove formally the soundness of the type system. We define an information flow type system for a sequential JVM-like language that includes classes, objects, arrays, exceptions and method calls, and prove that it guarantees non-interference. For increased confidence, we have formalized the proof in the proof assistant Coq, an additional benefit of the formalization is that we have extracted from our proof a certified lightweight bytecode verifier for information flow. Our work provides, to our best knowledge, the first sound and implemented information flow type system for such an expressive fragment of the JVM.
Crisp is an Eclipse plug-in tool for constructing intermediate versions of a java program that is being edited. After a long editing session, a programmer will run regression tests to make sure she has not invalidated...
详细信息
ISBN:
(纸本)9780769528281
Crisp is an Eclipse plug-in tool for constructing intermediate versions of a java program that is being edited. After a long editing session, a programmer will run regression tests to make sure she has not invalidated previously tested functionality. If a test fails unexpectedly, Crisp allows the programmer to select parts Of the edit that affected the failing test and to add them to the original program, creating an intermediate version guaranteed to compile. Then the programmer can re-execute the test in order to locate the exact reasons for the failure by concentrating on those affecting changes that were applied. Using Crisp, a programmer can iteratively select, apply, and undo individual (or sets of) affecting changes and, thus effectively find a small set of failure-inducing changes. Crisp is an extension to our change impact analysis tool, Chianti, [6].
In this paper we present TAP, a novel Tunneling approach for Anonymity in structured P2P systems. An important feature of TAP is that anonymous tunnels are fault tolerant to node failures. Relying on P2P routing infra...
详细信息
ISBN:
(纸本)0769521975
In this paper we present TAP, a novel Tunneling approach for Anonymity in structured P2P systems. An important feature of TAP is that anonymous tunnels are fault tolerant to node failures. Relying on P2P routing infrastructure and replication mechanism, the basic idea behind TAP is to decouple anonymous tunnels from "fixed" P2P nodes and form anonymous tunnels from dynamic tunnel hop nodes. The primary motivation of TAP is to strike a balance between functionality and anonymity in dynamic P2P networks. We have implemented the tunneling mechanism in java on FreePastry 1.3. An analysis of its anonymity and performance was evaluated via detailed simulations.
Parallelizing existing sequential programs to run efficiently on multicores is hard. The java 5 package *** (j. u. c.) supports writing concurrent programs. To use this package, programmers still need to refactor exis...
详细信息
ISBN:
(纸本)9781424434947
Parallelizing existing sequential programs to run efficiently on multicores is hard. The java 5 package *** (j. u. c.) supports writing concurrent programs. To use this package, programmers still need to refactor existing code. This is tedious, error-prone, and omission-prone. This demo presents our tool, CONCURRENCER, which enables programmers to refactor sequential code into parallel code that uses j. u. c. concurrent utilities. CONCURRENCER does not require any program annotations, although the transformations span several, non-adjacent, program statements and use custom program analysis. A find-and-replace tool can not perform such transformations. Empirical evaluation shows that CONCURRENCER refactors code effectively: CONCURRENCER correctly identifies and applies transformations that some open-source developers overlooked, and the converted code exhibits good speedup.
L-DSMS is a Local Data Stream Management System. It is a java Program which can read an XML-file with a description of a network of processing nodes for streaming data. L-DSMS automatically combines all the processing...
详细信息
ISBN:
(纸本)9783540880295
L-DSMS is a Local Data Stream Management System. It is a java Program which can read an XML-file with a description of a network of processing nodes for streaming data. L-DSMS automatically combines all the processing nodes into a single java program which then processes the data. L-DSMS has a number of predefined nodes, together with an interface for implementing new processing nodes. The generated network can be remotely monitored and reconfigured by a client, Visu-L-DSMS. An example application of L-DSMS is the transformation of RDS-TMC traffic messages into KML, which, in turn, can be visualised by Google Earth.
Adding distributed capabilities to existing programs has come to the forefront of software evolution. As a standard java distributed technology, applets offer the advantages of being easily deployable over web browser...
详细信息
ISBN:
(纸本)0769523684
Adding distributed capabilities to existing programs has come to the forefront of software evolution. As a standard java distributed technology, applets offer the advantages of being easily deployable over web browsers and requiring little to no explicit distributed programming. Yet applets are inflexible: they download remote code and run it only on the client machine. We present appletizing: a semi-automatic approach to transforming a java GUI application into a client-server application, in which the client runs as a java applet that communicates with the server through RMI. To enable appletizing, we have expanded the capabilities of J-Orchestra, our automatic partitioning system that takes as input a java application in bytecode format and transforms it into a distributed application, running across multiple standard JVMs. We discuss the motivation, benefits, and J-Orchestra support for appletizing, and validate our approach via a set of case studies and associated benchmarks.
Lecture capture is a term referring both to learning materials based on recordings of live lectures as well as software and hardware support systems enabling lecture recording and reproduction. As lecture captures are...
详细信息
ISBN:
(纸本)9789532330816
Lecture capture is a term referring both to learning materials based on recordings of live lectures as well as software and hardware support systems enabling lecture recording and reproduction. As lecture captures are today becoming more and more valued learning materials, there is a strong need for quality yet simple to use lecture capture systems supporting their creation. In this paper we describe a software solution for rich lecture capture recording and reproduction. LeCTo, an application developed to maximize lecture capture learning potentials and simplify lecture capturing process is presented through its functionality as well as problems and solutions encountered during its implementation.
暂无评论