This paper describes an approach to the integration of heterogeneous data management applications. The proposed approach is based on techniques derived from the fields of objectoriented Databases and objectoriented ...
详细信息
The proceedings contains 66 papers. The following topics are dealt with: object-oriented distributed systems;interconnection architectures;remote invocation mechanisms;tree- and cube-connected architectures;load distr...
详细信息
ISBN:
(纸本)081860865X
The proceedings contains 66 papers. The following topics are dealt with: object-oriented distributed systems;interconnection architectures;remote invocation mechanisms;tree- and cube-connected architectures;load distribution;analysis of bus structures;operation system facilities for multiprocessors;distributed system services;distributed system algorithms;concurrent programminglanguages;performance studies;monitoring and debugging;distributed software systems;protocols for reliable real-time systems;distributed system applications;reliable multicast communication and replication;improving data availability;load balancing;distributed query processing;and multiprocessor system modeling.
The authors show that the integration of two popular automation-based paradigms, namely, ADT and OOP, can be used to achieve a high level of productivity and reliability. They introduce a system, Stim, (SmallTalk Impl...
详细信息
ISBN:
(纸本)0818608749
The authors show that the integration of two popular automation-based paradigms, namely, ADT and OOP, can be used to achieve a high level of productivity and reliability. They introduce a system, Stim, (SmallTalk Implementation for algebraic specification of abstract data types), that directly implements the algebraic specification of ADT on Smalltalk-80. Stim takes as an input a hierarchical algebraic specification and generates Smalltalk-80 classes automatically. The authors use an example of specifying a full-scale filing system to illustrate the power of the system.
When optimizing large-scale applications, striking the balance between steady-state performance, start-up time, and code size has always been a grand challenge. While recent advances in trace compilation have signific...
详细信息
ISBN:
(纸本)9781450309400
When optimizing large-scale applications, striking the balance between steady-state performance, start-up time, and code size has always been a grand challenge. While recent advances in trace compilation have significantly improved the steady-state performance of trace JITs for large-scale Java applications, the size control aspect of a trace compilation system remains largely overlooked. For instance, using the DaCapo 9.12 benchmarks, we observe that 40% of traces selected by a state-of-the-art trace selection algorithm are short-lived and, on average, each selected basic block is replicated 13 times in the trace cache. This paper studies the size control problem for a class of commonly used trace selection algorithms and proposes six techniques to reduce the footprint of trace selection without incurring any performance loss. The crux of our approach is to target redundancies in trace selection in the form of either short-lived traces or unnecessary trace duplication. Using one of the best performing selection algorithms as the baseline, we demonstrate that, on the DaCapo 9.12 benchmarks and Day Trader 2.0 on Web Sphere Application Server 7.0, our techniques reduce the code size and compilation time by 69% and the start-up time by 43% while retaining the steady-state performance. On Day Trader 2.0, an example of large-scale application, our techniques also improve the steady-state performance by 10%.
The author identifies the confluence of several new technologies that will allow major improvements in the software development process. Future research in this area will encompass advances in database technology, pro...
详细信息
ISBN:
(纸本)0818608730
The author identifies the confluence of several new technologies that will allow major improvements in the software development process. Future research in this area will encompass advances in database technology, programminglanguages, expert systems, and distributed workstations. Researchers are working on a new data model that will combine object-oriented language features, database features, inferencing, and distribution. This will allow new software environments that are even more efficient because of the seamless integration of these technologies. This will expedite future software prototyping, production, and maintenance.
We investigate issues that arise when attempting to integrate object-orientedlanguages and database features. We provide criteria for database/language support in the context of design applications, and consider the ...
详细信息
While Java provides many software engineering benefits, it lacks a coherent module system and instead provides only packages (which are primarily a name space mechanism) and classloaders (which are very low-level). As...
详细信息
While Java provides many software engineering benefits, it lacks a coherent module system and instead provides only packages (which are primarily a name space mechanism) and classloaders (which are very low-level). As a result, large Java applications suffer from unexpected interactions between independent components, require complex CLASSPATH definitions, and are often extremely complex to install and maintain. We have implemented a module system for Java called MJ that is implemented with class loaders, but provides a much higher-level interface. High-level properties can be specified in a module definition and are enforced by the module system as new modules are loaded. To experimentally validate the ability of MJ to properly handle the complex module interrelationships found in large Java server systems, we replaced the classloader mechanisms of Apache Tomcat 4.1.18 [27] with 30 MJ modules. The modified Tomcat is functionally identical to the original, but requires no CLASS PATH definitions, and will operate correctly even if user code loads a different version of a module used by Tomcat, such as the Xerces XML parser [31]. Furthermore, by making a small change to the Java core libraries enabled by MJ, we obtained a 30% performance improvement in a servlet microbenchmark.
In this demonstration we show our language Ptolemy, which allows for separation of crosscutting concerns while maintaining modular reasoning. We demonstrate the benefits of Ptolemy over existing aspect-oriented langua...
详细信息
ISBN:
(纸本)9781450309424
In this demonstration we show our language Ptolemy, which allows for separation of crosscutting concerns while maintaining modular reasoning. We demonstrate the benefits of Ptolemy over existing aspect-orientedlanguages and implicit invocation designs. Ptolemy's quantified, typed events provide a flexible quantification mechanism that acts as a declarative interface between object-oriented code and crosscutting code. Events are announced explicitly and declaratively. Event types allow for compile-time errors and avoid the fragile pointcut problem of aspect-orientedlanguages. The interface provided by event types also allows for modular reasoning, without considering all aspects in the system. The declarative event announcement allows avoiding writing tedious and error-prone boiler-plate code that implicit invocation designs require. We demonstrate several realistic examples that showcase the features of the Ptolemy language and show use of Ptolemy's compiler. The demonstrated compiler is built on top of the OpenJDK Java compiler (javac), providing full backwards compatibility with existing Java sources as well as ease of integration into the existing tool chains. We show how to integrate the compiler into both existing Ant and Eclipse builds.
暂无评论