scispace - formally typeset
Search or ask a question

Showing papers on "Software published in 2002"


Journal ArticleDOI
TL;DR: MapChart is a software package that takes as input the linkage and QTL data and generates charts of linkage maps andQTLs and is exported as vector graphics rather than bitmaps, which makes them easy to rescale and to edit further if desired.
Abstract: Over the last 15 years a wealth of linkage maps and quantitative trait loci (QTL) mapping results have become available. The pace of generating this genetic information is accelerating owing to advances in molecular marker technology and the development of software for linkage analysis and QTL mapping. A graphical presentation of this information is often needed, both for publication purposes and for easy and intuitive interpretation. However, the development of tools for the graphical presentation of linkage maps and QTLs has lagged behind. DrawMap (Van Ooijen 1994) was an early program capable of drawing genetic linkage maps. However, the output of this program was not very well suited for use in modern word processors and presentation software. Authors in this field have therefore, of necessity, resorted to the use of general graphics software to compose charts of their linkage and QTL maps. This is always a laborious process, with sometimes disappointing results. Also, each time a map is recalculated when new data become available, this process has to be repeated. For this reason I developed MapChart, a software package that takes as input the linkage and QTL data and generates charts of linkage maps and QTLs. These charts can easily be exported to word processing or presentation software. The charts are exported as vector graphics (Windows enhanced metafiles) rather than bitmaps, which makes them easy to rescale and to edit further if desired.

4,768 citations


Journal ArticleDOI
TL;DR: A novel software package called PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is developed, which will provide the necessary algorithms to proceed from reduced intensity data to a refined molecular model and to facilitate structure solution for both the novice and expert crystallographer.
Abstract: Structural genomics seeks to expand rapidly the number of protein structures in order to extract the maximum amount of information from genomic sequence databases. The advent of several large-scale projects worldwide leads to many new challenges in the field of crystallographic macromolecular structure determination. A novel software package called PHENIX (Python-based Hierarchical ENvironment for Integrated Xtallography) is therefore being developed. This new software will provide the necessary algorithms to proceed from reduced intensity data to a refined molecular model and to facilitate structure solution for both the novice and expert crystallographer.

4,201 citations


Journal ArticleDOI
TL;DR: It is shown that performance profiles combine the best features of other tools for performance evaluation to create a single tool for benchmarking and comparing optimization software.
Abstract: We propose performance profiles — distribution functions for a performance metric — as a tool for benchmarking and comparing optimization software. We show that performance profiles combine the best features of other tools for performance evaluation.

3,729 citations


Journal ArticleDOI
TL;DR: It is shown how advanced thermodynamic calculations have become more accessible since: - A more user-friendly windows version of Thermo-Calc, TCW, has been developed, and there is an increasing amount of thermodynamic databases for different materials available.
Abstract: Software for calculation of phase diagrams and thermodynamic properties have been developed since the 1970's. Software and computers have now developed to a level where such calculations can be used as tools for material and process development. In the present paper some of the latest software developments at Thermo-Calc Software are presented together with application examples. It is shown how advanced thermodynamic calculations have become more accessible since: - A more user-friendly windows version of Thermo-Calc, TCW, has been developed. - There is an increasing amount of thermodynamic databases for different materials available. - Thermo-Calc can be accessed from user-written software through several different programming interfaces are available which enables access to the thermodynamic software from a user-written software. Accurate data for thermodynamic properties and phase equilibria can then easily be incorporated into software written in e.g. C++, Matlab and FORTRAN. Thermo-Calc Software also produces DICTRA, a software for simulation of diffusion controlled phase transformations. Using DICTRA it is possible to simulate processes such as homogenization, carburising, microsegregation and coarsening in multicomponent alloys. The different models in the DICTRA software are briefly presented in the present paper together with some application examples.

3,186 citations


Journal ArticleDOI
TL;DR: ABINITv3.0 is described, in which freedom of sources, reliability, portability, and self-documentation are emphasised, in the development of a sophisticated plane-wave pseudopotential code.

2,596 citations



Book
01 Jan 2002
TL;DR: A user interface is that portion of an interactive computer system that communicates with the user as mentioned in this paper. User interfaces include any aspect of the system that is visible to the user, such as a keyboard, mouse, or display.
Abstract: A user interface is that portion of an interactive computer system that communicates with the user. Design of the user interface includes any aspect of the system that is visible to the user. Once, all computer users were specialists in computing, and interfaces consisted of jumper wires in patch boards, punched cards (q.v.) prepared offline, and batch printouts. Today a wide range of nonspecialists use computers, and keyboards, mice, and graphical displays are the most common interface hardware. The user interface is becoming a larger and larger portion of the software in a computer system--and a more important portion, as broader groups of people use computers. As computers become more powerful, the critical bottleneck in applying computer-based systems to solve problems is more often in the user interface rather than in the computer hardware or software.

2,234 citations


Journal ArticleDOI
TL;DR: The hardware aspects of reconfigurable computing machines, from single chip architectures to multi-chip systems, including internal structures and external coupling are explored, and the software that targets these machines is focused on.
Abstract: Due to its potential to greatly accelerate a wide variety of applications, reconfigurable computing has become a subject of a great deal of research. Its key feature is the ability to perform computations in hardware to increase performance, while retaining much of the flexibility of a software solution. In this survey, we explore the hardware aspects of reconfigurable computing machines, from single chip architectures to multi-chip systems, including internal structures and external coupling. We also focus on the software that targets these machines, such as compilation tools that map high-level algorithms directly to the reconfigurable substrate. Finally, we consider the issues involved in run-time reconfigurable systems, which reuse the configurable hardware during program execution.

1,666 citations


Journal ArticleDOI
TL;DR: The SimpleScalar tool set provides an infrastructure for simulation and architectural modeling that can model a variety of platforms ranging from simple unpipelined processors to detailed dynamically scheduled microarchitectures with multiple-level memory hierarchies.
Abstract: Designers can execute programs on software models to validate a proposed hardware design's performance and correctness, while programmers can use these models to develop and test software before the real hardware becomes available. Three critical requirements drive the implementation of a software model: performance, flexibility, and detail. Performance determines the amount of workload the model can exercise given the machine resources available for simulation. Flexibility indicates how well the model is structured to simplify modification, permitting design variants or even completely different designs to be modeled with ease. Detail defines the level of abstraction used to implement the model's components. The SimpleScalar tool set provides an infrastructure for simulation and architectural modeling. It can model a variety of platforms ranging from simple unpipelined processors to detailed dynamically scheduled microarchitectures with multiple-level memory hierarchies. SimpleScalar simulators reproduce computing device operations by executing all program instructions using an interpreter. The tool set's instruction interpreters also support several popular instruction sets, including Alpha, PPC, x86, and ARM.

1,656 citations


Journal ArticleDOI
TL;DR: The Ensembl database project provides a bioinformatics framework to organise biology around the sequences of large genomes and is a comprehensive source of stable automatic annotation of the human genome sequence, with confirmed gene predictions that have been integrated with external data sources.
Abstract: The Ensembl (http://www.ensembl.org/) database project provides a bioinformatics framework to organise biology around the sequences of large genomes. It is a comprehensive source of stable automatic annotation of the human genome sequence, with confirmed gene predictions that have been integrated with external data sources, and is available as either an interactive web site or as flat files. It is also an open source software engineering project to develop a portable system able to handle very large genomes and associated requirements from sequence analysis to data storage and visualisation. The Ensembl site is one of the leading sources of human genome sequence annotation and provided much of the analysis for publication by the international human genome project of the draft genome. The Ensembl system is being installed around the world in both companies and academic sites on machines ranging from supercomputers to laptops.

1,540 citations


Journal ArticleDOI
TL;DR: An improved version of Michael Eisen's well-known Cluster program for Windows, Mac OS X and Linux/Unix is created, and a Python and a Perl interface to the C Clustering Library is generated, thereby combining the flexibility of a scripting language with the speed of C.
Abstract: SUMMARY We have implemented k-means clustering, hierarchical clustering and self-organizing maps in a single multipurpose open-source library of C routines, callable from other C and C++ programs. Using this library, we have created an improved version of Michael Eisen's well-known Cluster program for Windows, Mac OS X and Linux/Unix. In addition, we generated a Python and a Perl interface to the C Clustering Library, thereby combining the flexibility of a scripting language with the speed of C. AVAILABILITY The C Clustering Library and the corresponding Python C extension module Pycluster were released under the Python License, while the Perl module Algorithm::Cluster was released under the Artistic License. The GUI code Cluster 3.0 for Windows, Macintosh and Linux/Unix, as well as the corresponding command-line program, were released under the same license as the original Cluster code. The complete source code is available at http://bonsai.ims.u-tokyo.ac.jp/mdehoon/software/cluster. Alternatively, Algorithm::Cluster can be downloaded from CPAN, while Pycluster is also available as part of the Biopython distribution.

Journal Article
TL;DR: The Q-Gene software application is a tool to cope with complex quantitative real-time PCR experiments at a high-throughput scale and considerably expedites and rationalizes the experimental setup, data analysis, and data management while ensuring highest reproducibility.
Abstract: Quantitative real-time PCR represents a highly sensitive and powerful technique for the quantitation of nucleic acids. It has a tremendous potential for the high-throughput analysis of gene expression in research and routine diagnostics. However, the major hurdle is not the practical performance of the experiments themselves but rather the efficient evaluation and the mathematical and statistical analysis of the enormous amount of data gained by this technology, as these functions are not included in the software provided by the manufacturers of the detection systems. In this work, we focus on the mathematical evaluation and analysis of the data generated by quantitative real-time PCR, the calculation of the final results, the propagation of experimental variation of the measured values to the final results, and the statistical analysis. We developed a Microsoft Excel-based software application coded in Visual Basic for Applications, called Q-Gene, which addresses these points. Q-Gene manages and expedites the planning, performance, and evaluation of quantitative real-time PCR experiments, as well as the mathematical and statistical analysis, storage, and graphical presentation of the data. The Q-Gene software application is a tool to cope with complex quantitative real-time PCR experiments at a high-throughput scale and considerably expedites and rationalizes the experimental setup, data analysis, and data management while ensuring highest reproducibility.

Proceedings ArticleDOI
17 May 2002
TL;DR: The Extended Static Checker for Java (ESC/Java) is introduced, an experimental compile-time program checker that finds common programming errors and provides programmers with a simple annotation language with which programmer design decisions can be expressed formally.
Abstract: Software development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theorem-proving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs.

Patent
22 Feb 2002
TL;DR: In this paper, a method for upgrading a software application from a prior version to a subsequent version while preserving user modifications to the prior application is presented, which includes comparing differences between the two versions of the software applications.
Abstract: A method for upgrading ( 31 - b of FIG. 1 ) a software application ( 35 - b ) from a prior version to a subsequent version while preserving user modifications to the prior application. The method includes comparing differences between the two versions of the software applications. This is followed by enumerating the differences between the two versions of the software applications; and determining which differences between the two versions of the software are conflicting and which are compatible. The compatible changes are made ( 7 ). Also disclosed is an article of manufacture containing computer readable program code for carrying out the above process, and a program storage device carrying the code.

Journal ArticleDOI
TL;DR: The Raw microprocessor research prototype uses a scalable instruction set architecture to attack the emerging wire-delay problem by providing a parallel, software interface to the gate, wire and pin resources of the chip.
Abstract: Wire delay is emerging as the natural limiter to microprocessor scalability. A new architectural approach could solve this problem, as well as deliver unprecedented performance, energy efficiency and cost effectiveness. The Raw microprocessor research prototype uses a scalable instruction set architecture to attack the emerging wire-delay problem by providing a parallel, software interface to the gate, wire and pin resources of the chip. An architecture that has direct, first-class analogs to all of these physical resources will ultimately let programmers achieve the maximum amount of performance and energy efficiency in the face of wire delay.

Journal Article
TL;DR: This publication proposes a definition and a classification of agile software development approaches and analyses ten software development methods that can be characterized as being "agile" against the defined criterion.
Abstract: Agile - denoting "the quality of being agile, readiness for motion, nimbleness, activity, dexterity in motion" - software development methods are attempting to offer an answer to the eager business community asking for lighter weight along with faster and nimbler software development processes. This is especially the case with the rapidly growing and volatile Internet software industry as well as for the emerging mobile application environment. The new agile methods have evoked substantial amount of literature and debates. However, academic research on the subject is still scarce, as most of existing publications are written by practitioners or consultants. The aim of this publication is to begin filling this gap by systematically reviewing the existing literature on agile software development methodologies. This publication has three purposes. First, it proposes a definition and a classification of agile software development approaches. Second, it analyses ten software development methods that can be characterized as being "agile" against the defined criterion. Third, it compares these methods and highlights their similarities and differences. Based on this analysis, future research needs are identified and discussed.

Journal ArticleDOI
TL;DR: The success of the Linux operating system has demonstrated the viability of open-source software, an alternative form of software development that challenges traditional assumptions about software markets.
Abstract: The success of the Linux operating system has demonstrated the viability of open-source software, an alternative form of software development that challenges traditional assumptions about software markets. Understanding why developers participate in open-source projects is crucial for assessing the impact of open-source software. Their motivations fall into two broad categories: internal factors (e.g., intrinsic motivation, altruism) and external rewards (e.g., expected future returns, personal needs). The results of a survey administered to open-source programmers are summarized.

01 Jan 2002
TL;DR: BGF90 is a collection of software in Fortran 90 useful for breeding & genetics applications that consists of library modules and application programs that support a wide range of models, including those with multiple-correlated effects, multiple animal models and dominance.
Abstract: COMPUTING METHODS BGF90 is a collection of software in Fortran 90 useful for breeding & genetics applications. The package consists of library modules and application programs. The modules are designed with overloading and optional parameters so that their use is simple. Whenever applicable, the modules use well-tested low-level software in Fortran 77 or Fortran 90. The application programs deliberately avoid low-level optimization for simplicity but support a wide range of models, including those with multiple-correlated effects, multiple animal models and dominance, and they can be modified to support new features. For general description of the package, see Misztal (1999).

Journal ArticleDOI
TL;DR: Three types of attack on the intellectual property contained in software and three corresponding technical defenses are identified, including obfuscation, watermarking, and tamper-proofing.
Abstract: We identify three types of attack on the intellectual property contained in software and three corresponding technical defenses. A defense against reverse engineering is obfuscation, a process that renders software unintelligible but still functional. A defense against software piracy is watermarking, a process that makes it possible to determine the origin of software. A defense against tampering is tamper-proofing, so that unauthorized modifications to software (for example, to remove a watermark) will result in nonfunctional code. We briefly survey the available technology for each type of defense.

Journal ArticleDOI
TL;DR: There is a disconnect between research in simulation optimization--which has addressed the stochastic nature of discrete-event simulation by concentrating on theoretical results of convergence and specialized algorithms that are mathematically elegant--and the recent software developments, which implement very general algorithms adopted from techniques in the deterministic optimization metaheuristic literature.
Abstract: Probably one of the most successful interfaces between operations research and computer science has been the development of discrete-event simulation software. The recent integration of optimization techniques into simulation practice, specically into commercial software, has become nearly ubiquitous, as most discrete-event simulation packages now include some form of ?optimization? routine. The main thesis of this article, how-ever,is that there is a disconnect between research in simulation optimization--which has addressed the stochastic nature of discrete-event simulation by concentratingon theoretical results of convergence and specialized algorithms that are mathematically elegant--and the recent software developments, which implement very general algorithms adopted from techniques in the deterministic optimization metaheuristic literature (e.g., genetic algorithms, tabu search, artificial neural networks). A tutorial exposition that summarizes the approaches found in the research literature is included, as well as a discussion contrasting these approaches with the algorithms implemented in commercial software. The article concludes with the author's speculations on promising research areas and possible future directions in practice.

Proceedings ArticleDOI
01 Jan 2002
TL;DR: The detailed planning and execution of the Insight Toolkit (ITK), an application programmers interface (API) for the segmentation and registration of medical image data, is presented.
Abstract: We present the detailed planning and execution of the Insight Toolkit (ITK), an application programmers interface (API) for the segmentation and registration of medical image data. This public resource has been developed through the NLM Visible Human Project, and is in beta test as an open-source software offering under cost-free licensing. The toolkit concentrates on 3D medical data segmentation and registration algorithms, multimodal and multiresolution capabilities, and portable platform independent support for Windows, Linux/Unix systems. This toolkit was built using current practices in software engineering. Specifically, we embraced the concept of generic programming during the development of these tools, working extensively with C++ templates and the freedom and flexibility they allow. Software development tools for distributed consortium-based code development have been created and are also publicly available. We discuss our assumptions, design decisions, and some lessons learned.

01 Jan 2002
TL;DR: There is a disconnect between research in simulation optimization—which has addressed the stochastic nature of discrete-event simulation by concentrating on theoretical results of convergence and specialized algorithms that are mathematically elegant—and the recent software developments, which implement very general algorithms adopted from techniques in the deterministic optimization metaheuristic literature.
Abstract: Probably one of the most successful interfaces between operations research and computer science has been the development of discrete-event simulation software. The recent integration of optimization techniques into simulation practice, specifically into commercial software, has become nearly ubiquitous, as most discrete-event simulation packages now include some form of “optimization” routine. The main thesis of this article, however, is that there is a disconnect between research in simulation optimization—which has addressed the stochastic nature of discrete-event simulation by concentrating on theoretical results of convergence and specialized algorithms that are mathematically elegant—and the recent software developments, which implement very general algorithms adopted from techniques in the deterministic optimization metaheuristic literature (e.g., genetic algorithms, tabu search, artificial neural networks). A tutorial exposition that summarizes the approaches found in the research literature is included, as well as a discussion contrasting these approaches with the algorithms implemented in commercial software. The article concludes with the author’s speculations on promising research areas and possible future directions in practice. (Simulation Optimization; Simulation Software; Stochastic Approximation; Metaheuristics)

Journal ArticleDOI
TL;DR: GATE lies at the intersection of human language computation and software engineering, and constitutes aninfrastructural system supporting research and development of languageprocessing software.
Abstract: This paper presents the design, implementation and evaluation of GATE, a General Architecture for Text Engineering.GATE lies at the intersection of human language computation and software engineering, and constitutes aninfrastructural system supporting research and development of languageprocessing software.

Journal ArticleDOI
TL;DR: A new methodology for the measurement of the neural substrates of human social interaction is described, which allows for the performance of human behavioral experiments in which participants can interact with each other while functional MRI is acquired in synchrony with the behavioral interactions.

Journal ArticleDOI
Ken Frazer1
TL;DR: This book defines a wide range of techniques which may be used for use case modeling, and gives the bnsinc~-oriented software analyst a variety of advanced approaches which also comply with the UML specification.
Abstract: This book defines a wide range of techniques which may be used for use case modeling. Going beyond introductory texts, it gives the bnsinc~-oriented software analyst a variety of advanced approaches which also comply with the UML specification. The book's flexible process ~rarnework is designed to be used on large, complex projects with many developers, while also being adaptible to incremental, iterative delivery scenarios. An example of a bank loan processing system is used throughout the book. The book is divided into five parts: Fundamentals; Project Initiation; two sections on the main topic, called the Advanced Use Case Modeling Framework; and a section on additional topics. The part on Fundamentals discusses the basic concepts of actors and use cases. A thorough breakdown and definition of every conceivable type of actor is presented. The part on Project Initiation presents how to scope a system and how to balance a system using the techniques of domain analysis, interface specification, and architecture definition. Domain analysis should generate what's called a domain object model, which is a starting point for object-oriented analysis. The parts on use case modeling cover a host of topics. One interesting issue discussed is whether or not to describe use cases from a purely external perspective or from an internal perspective as well. As an illustration of how current the book is, the recently popular agile development methods are mentioned throughout the book with regards to how use case modeling may be used with them. A 22-page chapter on creating test cases documents the interrelationship between use cases and test cases. This is a topic Lhat most other books ignore or gloss over. A subsequent chapter discusses organizing use cases in relation to one another using packages and activity diagrams. Change management focussing on expecting change and working within its reality is another timely topic in today's business climate. Two chapters focus specifically on determining the correct level of detail and artifact generation for a particular project. One appendix deals with using use case analysis within the Rational Unified Process (RUP). Two other appendices show all of the use case documentation and the user interface specification for the book's loan processing system example. This is far better than only having it scattered throughout the book. Anyone who is performing use case modeling in the business application domain should seriously consider this book. The variety of topics covered almost ensures that …

Journal ArticleDOI
Tom Mens1
TL;DR: A comprehensive survey and analysis of available merge approaches is provided and a number of important open problems and future research directions are suggested.
Abstract: Software merging is an essential aspect of the maintenance and evolution of large-scale software systems. This paper provides a comprehensive survey and analysis of available merge approaches. Over the years, a wide variety of different merge techniques has been proposed. While initial techniques were purely based on textual merging, more powerful approaches also take the syntax and semantics of the software into account. There is a tendency towards operation-based merging because of its increased expressiveness. Another tendency is to try to define merge techniques that are as general, accurate, scalable, and customizable as possible, so that they can be used in any phase in the software life-cycle and detect as many conflicts as possible. After comparing the possible merge techniques, we suggest a number of important open problems and future research directions.

Journal ArticleDOI
TL;DR: A novel robotic system called modular transformer (M-TRAN) is proposed, a distributed, self-reconfigurable system composed of homogeneous robotic modules that is able to metamorphose into robotic configurations such as a legged machine and generate coordinated walking motion without any human intervention.
Abstract: In this paper, a novel robotic system called modular transformer (M-TRAN) is proposed. M-TRAN is a distributed, self-reconfigurable system composed of homogeneous robotic modules. The system can change its configuration by changing each module's position and connection. Each module is equipped with an onboard microprocessor, actuators, intermodule communication/power transmission devices and intermodule connection mechanisms. The special design of M-TRAN module realizes both reliable and quick self-reconfiguration and versatile robotic motion. For instance, M-TRAN is able to metamorphose into robotic configurations such as a legged machine and hereby generate coordinated walking motion without any human intervention. An actual system with ten modules was built and basic operations of self-reconfiguration and motion generation were examined through experiments. A series of software programs has also been developed to drive M-TRAN hardware, including a simulator of M-TRAN kinematics, a user interface to design appropriate configurations and motion sequences for given tasks, and an automatic motion planner for a regular cluster of M-TRAN modules. These software programs are integrated into the M-TRAN system supervised by a host computer. Several demonstrations have proven its capability as a self-reconfigurable robot.

Journal ArticleDOI
TL;DR: This article describes an extensible tool that uses lightweight static analysis to detect common security vulnerabilities (including buffer overflows and format string vulnerabilities).
Abstract: Most security attacks exploit instances of well-known classes of implementation flaws. Developers could detect and eliminate many of these flaws before deploying the software, yet these problems persist with disturbing frequency-not because the security community doesn't sufficiently understand them but because techniques for preventing them have not been integrated into the software development process. This article describes an extensible tool that uses lightweight static analysis to detect common security vulnerabilities (including buffer overflows and format string vulnerabilities).

Book
20 May 2002
TL;DR: Software Radio: A Modern approach to Radio Engineering systematically reviews the techniques, challenges, and tradeoffs of DSP software radio design to help engineers build advanced wireless systems.
Abstract: Software-based approaches enable engineers to build wireless system radios that are easier to manufacture, more flexible, and more cost-effective. Software Radio: A Modern Approach to Radio Engineering systematically reviews the techniques, challenges, and tradeoffs of DSP software radio design. Coverage includes constructing RF front-ends; using digital processing to overcome RF design problems; direct digital synthesis of modulated waveforms; A/D and D/A conversions; smart antennas; object-oriented software design; and choosing among DSP microprocessors, FPGAs, and ASICs. This is an excellent book for all RF and signal processing engineers building advanced wireless systems.

01 Jan 2002
TL;DR: Keywords: learning Reference EPFL-REPORT-82802 URL: http://publications.idiap.ch/downloads/reports/2002/rr02-46.pdf
Abstract: Keywords: learning Reference EPFL-REPORT-82802 URL: http://publications.idiap.ch/downloads/reports/2002/rr02-46.pdf Record created on 2006-03-10, modified on 2017-05-10