While strongly typed languages such as C++ and Java are taught using OOP principles and design patterns;weakly typed Web programminglanguages like PHP and JavaScript often are not because of weak typing. As the weakl...
详细信息
Several proposals have advocated notion of aspect-oriented (AO) interfaces to solve modular reasoning problems, but have not shown how to specify these interfaces to facilitate modular reasoning. Our work on transluci...
详细信息
ISBN:
(纸本)9781450302401
Several proposals have advocated notion of aspect-oriented (AO) interfaces to solve modular reasoning problems, but have not shown how to specify these interfaces to facilitate modular reasoning. Our work on translucid contracts shows how to specify AO interfaces which allow modular understanding and enforcement of control flow interactions.
Making assertions about the program's control flow is important for reasoning purposes, e.g. ensuring that an advice proceeds to the original join point. Obliviousness of the base modules to the aspects in aspect ...
详细信息
ISBN:
(纸本)9781450302401
Making assertions about the program's control flow is important for reasoning purposes, e.g. ensuring that an advice proceeds to the original join point. Obliviousness of the base modules to the aspects in aspect orientedlanguages, like As-pectJ, makes it difficult to make such assertions in a modular manner. Base-aspect interfaces like crosscutting interfaces (XPIs), augmented with blackbox behavioral contracts save modularity of the reasoning process to some extent, but are not expressive enough to specify base-aspect control interactions in their full generality. Translucid contracts are proposed to specify and enforce typical control flow properties.
Heterogeneous multi-core processors, such as the IBM Cell processor, can deliver high performance. However, these processors are notoriously difficult to program: different cores support different instruction set arch...
详细信息
ISBN:
(纸本)9781450302036
Heterogeneous multi-core processors, such as the IBM Cell processor, can deliver high performance. However, these processors are notoriously difficult to program: different cores support different instruction set architectures, and the processor as a whole does not provide coherence between the different cores' local memories. We present Hera-JVM, an implementation of the Java Virtual Machine which operates over the Cell processor, thereby making this platforms more readily accessible to mainstream developers. Hera-JVM supports the full Java language;threads from an unmodified Java application can be simultaneously executed on both the main PowerPC-based core and on the additional SPE accelerator cores. Migration of threads between these cores is transparent from the point of view of the application, requiring no modification to Java source code or bytecode. Hera-JVM supports the existing Java Memory Model, even though the underlying hardware does not provide cache coherence between the different core types. We examine Hera-JVM's performance under a series of real-world Java benchmarks from the SpecJVM, Java Grande and Dacapo benchmark suites. These benchmarks show a wide variation in relative performance on the different core types of the Cell processor, depending upon the nature of their workload. Execution of these benchmarks on Hera-JVM can achieve speedups of up to 2.25x by using one of the Cell processor's SPE accelerator cores, compared to execution on the main PowerPC-based core. When all six SPE cores are exploited, parallel workloads can achieve speedups of up to 13x compared to execution on the single PowerPC core.
Accurately predicting program behaviors (e. g., locality, dependency, method calling frequency) is fundamental for program optimizations and runtime adaptations. Despite decades of remarkable progress, prior studies h...
详细信息
ISBN:
(纸本)9781450302036
Accurately predicting program behaviors (e. g., locality, dependency, method calling frequency) is fundamental for program optimizations and runtime adaptations. Despite decades of remarkable progress, prior studies have not systematically exploited program inputs, a deciding factor for program behaviors. Triggered by the strong and predictive correlations between program inputs and behaviors that recent studies have uncovered, this work proposes to include program inputs into the focus of program behavior analysis, cultivating a new paradigm named input-centric program behavior analysis. This new approach consists of three components, forming a three-layer pyramid. At the base is program input characterization, a component for resolving the complexity in program raw inputs and the extraction of important features. In the middle is input-behavior modeling, a component for recognizing and modeling the correlations between characterized input features and program behaviors. These two components constitute input-centric program behavior analysis, which (ideally) is able to predict the large-scope behaviors of a program's execution as soon as the execution starts. The top layer of the pyramid is input-centric adaptation, which capitalizes on the novel opportunities that the first two components create to facilitate proactive adaptation for program optimizations. By centering on program inputs, the new approach resolves a proactivity-adaptivity dilemma inherent in previous techniques. Its benefits are demonstrated through proactive dynamic optimizations and version selection, yielding significant performance improvement on a set of Java and C programs.
OOPSLA has a longstanding tradition of being a forum for discussing the cutting edge of technology in a fun and participatory environment. The type of events sponsored by OOPSLA sometimes border on the unconventional....
详细信息
ISBN:
(纸本)9781450302401
OOPSLA has a longstanding tradition of being a forum for discussing the cutting edge of technology in a fun and participatory environment. The type of events sponsored by OOPSLA sometimes border on the unconventional. This event represents an atypical panel that conforms to the concept of a game show that is focused on questions and answers related to SPLASH, OOPSLA, and Onward! themes. The goal of the panel is to provide an educational opportunity for attendees to learn about a broad range of topics in a style that encourages audience participation.
Like traditional code, software models are usually developed in teams requiring collaboration support in terms of version control systems (VCS). One use case of such a system is integrating concurrently evolved versio...
详细信息
ISBN:
(纸本)9781450302401
Like traditional code, software models are usually developed in teams requiring collaboration support in terms of version control systems (VCS). One use case of such a system is integrating concurrently evolved versions of one model into one consistent version. When the modifications are contradicting, then the VCS reports the conflict, but the cumbersome resolution process is left to the user. We present a rec-ommender system which suggests automatically executable conflict resolution patterns.
Parallel programming is used extensively for general-purpose computations. However, performance of parallel APIs varies for a given problem and a given architecture. This gives rise to the need for having an abstract ...
详细信息
ISBN:
(纸本)9781450302401
Parallel programming is used extensively for general-purpose computations. However, performance of parallel APIs varies for a given problem and a given architecture. This gives rise to the need for having an abstract way to express the parallel problems. This poster presents a new approach through which programmers can access these APIs without having to focus on the technical or platform-specific details. Our earlier approach of Abstract Application programming Interface (API) targeted for Graphical Processing Unit (GPU) programming is extended to shared memory using OpenMP.
We believe that embracing nondeterminism and harnessing emergence have great potential to simplify the task of programming manycore processors. To that end, we have designed and implemented Ly, pronounced "Lee&qu...
详细信息
Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encourages users to overwhelm us with requests for features. The result: featuritis, which prom...
详细信息
ISBN:
(纸本)9781450302401
Agile practices liberate us from the straightjackets of top-down design. But, the ease with which requirements can change encourages users to overwhelm us with requests for features. The result: featuritis, which promotes hasty construction of poorly designed software to support those features. The design of an expressive domain model might get lost in the rush to write working code. Adaptive object-Models support changeable domain modules by casting business rules as interpreted data and representing objects, properties and relationships in external declarations. Now users can change the system domain models themselves as their business dictates without having to deal with programmers at all. It's the ultimate in agility!
暂无评论