Bio-jETI is a framework for model-based, graphical development and execution of bioinformatics analysis processes. With the GeneSys code generation framework we can automatically compile the workflow models into nativ...
详细信息
ISBN:
(纸本)9781424444830
Bio-jETI is a framework for model-based, graphical development and execution of bioinformatics analysis processes. With the GeneSys code generation framework we can automatically compile the workflow models into native, stand-alone program code. We show via a phylogenetic analysis workflow designed by the DNA Data Bank of Japan (DDBJ) how we generate 6 variants of java code from the corresponding process model realized in Bio-jETI. Performance measurements show that 1) the overall workflow execution time is dominated by the remote services it uses, and thus 2)all 6 variants are almost as fast as the handwritten java of DDBJ. This way, we obtain efficient native code essentially without programming. Thus, we demonstrate in this paper that model-based workflow development in Bio-jETI offers several advantages over manual implementation - including higher agility, greater transparency and better maintainability - without compromising the runtime performance.
The benefits of using XML to encode programminglanguage's source code have already been identified and XML syntaxes developed for this purpose. However, there is an absence of a systematic identification of the r...
详细信息
ISBN:
(纸本)9531840822
The benefits of using XML to encode programminglanguage's source code have already been identified and XML syntaxes developed for this purpose. However, there is an absence of a systematic identification of the requirements that need to be met in order to fully leverage the potentials of XML and the key concept of the abstract syntax is being misinterpreted. Due to this the syntaxes have various deficiencies, a number of which are common to many of them. This paper clarifies the concepts, identifies these deficiencies, and proposes a new syntax for the java programming language which avoids them. The superiority of the new syntax is demonstrated by comparing it with two of the most relevant publicly available syntaxes with the same purpose.
This paper presents a simple type system for thread-local data, in java. Classes and types are annotated to express thread-locality and unintended leaks are detected at;compile-time. The system, called Loci, is minima...
详细信息
ISBN:
(纸本)9783642030123
This paper presents a simple type system for thread-local data, in java. Classes and types are annotated to express thread-locality and unintended leaks are detected at;compile-time. The system, called Loci, is minimal, modular and compatible with legacy code. The only change to the language is the addition of two new metadata annotations. We implemented Loci as an Eclipse plug-in and used it to evaluate our design on a number of benchmarks. We found that Loci is compatible with how java programs are written and that the annotation overhead is light thanks to a judicious choice of defaults.
This paper considers the implementation of parallel Grobner bases algorithms on distributed memory parallel computers like todays high performance computing clusters (HPC) in the java computer algebra library (JAS). T...
详细信息
ISBN:
(纸本)9781424435692
This paper considers the implementation of parallel Grobner bases algorithms on distributed memory parallel computers like todays high performance computing clusters (HPC) in the java computer algebra library (JAS). The implementation of Grobner bases algorithms is part of the essential building blocks for any computation in algebraic geometry. There are various implementations of these algorithms in procedural programminglanguages. Our aim is an implementation in a modern object oriented programminglanguage with generic data types, as it is provided by java programming language. The proposed middle-ware uses a distributed list for the communication of the reduction bases and a distributed thread pool for running the reduction engines in different computers. java object serialization is used to encode polynomial objects for network transport via java networking facilities.
java annotations and their predecessors XDoclet annotations are well positioned to offer a substantial benefit for developing and maintaining software by combining relevant metadata together with the code that makes u...
详细信息
ISBN:
(纸本)9781424448975
java annotations and their predecessors XDoclet annotations are well positioned to offer a substantial benefit for developing and maintaining software by combining relevant metadata together with the code that makes use of them. In this paper we share the insights that we gained by developing the J2EE Connector Tools suite, which is part of IBM Rational Application Developer. This tools suite is used to generate annotated java code capable of connecting to Enterprise Information Systems through the java EE Connector APIs. The generated code is annotation driven, and in the paper we show how the annotations in the generated code helped us to achieve a high degree of efficient code maintenance for the tools that generate the code as well as for the generated code itself.
Many of the problems that occur in long-running systems involve the way that the system uses memory. We have developed a framework for extracting and building a model of the heap from a running java system. Such a mod...
详细信息
ISBN:
(纸本)9781424448975
Many of the problems that occur in long-running systems involve the way that the system uses memory. We have developed a framework for extracting and building a model of the heap from a running java system. Such a model is only useful if the programmer can extract from it the information they need to understand, find, and eventually fix memory-related problems in their system. We propose to demonstrate the tool in action, showing how it works dynamically on running processes and how it is designed to address a variety of specific memory issues.
Software for memory constrained mobile devices is often implemented in the java programming language because the java compiler and virtual machine (JVM) provide enhanced safety, portability, and the potential for run-...
详细信息
ISBN:
(纸本)9781424437115
Software for memory constrained mobile devices is often implemented in the java programming language because the java compiler and virtual machine (JVM) provide enhanced safety, portability, and the potential for run-time optimization. However, testing time may increase substantially when memory is limited and the JVM employs a compiler to create native code bodies. This paper furnishes an empirical study that identifies the fundamental trade-offs associated with a method that uses adaptive native code unloading to perform memory constrained testing. The experimental results demonstrate that code unloading can reduce testing time by 17% and the code size of the test suite and application under test by 68% while maintaining the overall size of the JVM. We also find that the goal of reducing the space overhead of an automated testing technique is often at odds with the objective of decreasing the time required to test. Additional experiments reveal that using a complete record of test suite behavior in contrast to a sample-based profile, does not enable the code unloader to make decisions that markedly reduce testing time. Finally, we identify test suite and application behaviors that may limit the effectiveness of our method for memory constrained test execution and we suggest ways to mitigate these challenges.
Multicore systems increase the complexity of performance analysis by introducing a new source of additional costs: thread migration between cores. This paper explores the cost of thread migration for java applications...
详细信息
ISBN:
(纸本)9781424441846
Multicore systems increase the complexity of performance analysis by introducing a new source of additional costs: thread migration between cores. This paper explores the cost of thread migration for java applications. We first present a detailed analysis of the sources of migration overhead and show that they result from a combination of several factors including application behavior (working set size), OS behavior (migration frequency) and hardware characteristics (nonuniform cache sharing among cores). We also present a performance characterization of several multi-threaded java applications. Surprisingly, our analysis shows that, although significant migration penalizes can be produced in controlled environments, the set of java applications that we examined do not suffer noticeably from migration overhead when run in a realistic operating environment on an actual multicore platform.
In this work we present a type graph that models all executable construct's of the java programming language. Such a model is useful for any, graph-based technique that, relies oil a representation of java program...
详细信息
ISBN:
(纸本)9783642021374
In this work we present a type graph that models all executable construct's of the java programming language. Such a model is useful for any, graph-based technique that, relies oil a representation of java programs as graphs. The model can be regarded as a common representation to which to all java syntax graphs must adhere. We also present the systematic approach that is being taken to generate syntax graphs front java code. Since the type graph model is comprehensive. i.e., covers the whole language specification, the technique is guaranteed to generate a corresponding graph for any valid java program. In particular, we want to extract such syntax graphs in order to perform static analysis and model checking of programs written ill java. Although we focus oil java, this same approach could be adapted for other programminglanguages.
This paper addresses functionality and implementation of a HP java version of the Adlib collective communication library for data parallel programming. We begin by illustrating typical use of the library, through an e...
详细信息
暂无评论