It is important, if not essential, to integrate the computations and code used in data analyses, methodological descriptions, simulations, and so on with the documents that describe and rely on them. This integration ...
详细信息
It is important, if not essential, to integrate the computations and code used in data analyses, methodological descriptions, simulations, and so on with the documents that describe and rely on them. This integration allows readers to both verify and adapt the claims in the documents. Authors can easily reproduce the results in the future, and they can present the document's contents in a different medium, for example, with interactive controls. This article describes a software framework for both authoring and distributing these integrated, dynamic documents that contain text, code, data, and any auxiliary content needed to recreate the computations. The documents are dynamic in that the contents-including figures, tables, and so on-can be recalculated each time a view of the document is generated. Our model treats a dynamic document as a master or "source" document from which one can generate different views in the form of traditional, derived documents for different audiences. We introduce the concept of a compendium as a container for one or more dynamic documents and the different elements needed when processing them, such as code and data. The compendium serves as a means for distributing, managing, and updating the collection. The step from disseminating analyses via a compendium to reproducible research is a small one. By reproducible research, we mean research papers with accompanying software tools that allow the reader to directly reproduce the results and employ the computational methods that are presented in the research paper. Some of the issues involved in paradigms for the production, distribution, and use of such reproducible research are discussed.
I discuss the "what", "why" and "how" or reproducible research, a concept that emerged recently in computational sciences. It refers to the idea that the ultimate product is not a publish...
详细信息
ISBN:
(纸本)1424407281
I discuss the "what", "why" and "how" or reproducible research, a concept that emerged recently in computational sciences. It refers to the idea that the ultimate product is not a published paper only, but the data, software and everything else needed to produce that paper. In signal processing, the discussion just started, and this paper attempts to add to the current efforts of bringing the issue to the forefront and looking for solutions to make it happen.
Designing and explaining programs are often difficult tasks, especially when novices are involved. It also concerns more experienced programmers when complex algorithms need to be carefully explained and documented as...
详细信息
Designing and explaining programs are often difficult tasks, especially when novices are involved. It also concerns more experienced programmers when complex algorithms need to be carefully explained and documented as part of software *** practice suggests that code and documentation be tightly coupled; but there are only a few support tools specifically targeted at novices that require this as an integral part of the programming process. We propose a new tool design with this objective in mind: P-Coder gives a flexible descriptive view of the program via pseudocode notation within a graphical tree-structured model, from which the complete algorithm can be specified to retain the informal description integrated with the final code. Thus the code meets some of the key requirements for realizing a literate program.
The source code for computer programs is destined to be read by compilers and consequently its internal structure is heavily constrained. The compiler neither knows nor cares about such things as a program's inter...
详细信息
ISBN:
(纸本)0769518508
The source code for computer programs is destined to be read by compilers and consequently its internal structure is heavily constrained. The compiler neither knows nor cares about such things as a program's internal structure, the relationships between its components and their specifications, the way design patterns are instantiated, the best way to explain its algorithms or how it is intended to be used. People do. literate programming (LP) was invented by Donald Knuth as a way to address such problems. The idea is appealing but LP has not been adopted widely: the lack of good tools, difficulties with object-oriented languages and the limitations of a single psychological order are among the reasons. In this paper we report the development of theme-based literate programming (TBLP). Themes are extremely flexible: they may be aimed at particular reader groups or represent aspects of the program. Features of TBLP include an extended chunk model which accommodates a richer variety of types, an extended connection model which allows chunks to be threaded together :into multiple themes, an enhanced processing model which generalises tangling and weaving and a chunk-level version management system. XML is used to represent the web structure and XML-based technologies such as XSLT are used in processing. This provides flexibility and extensibility, allowing users to define new chunk types. An application which implements TBLP is presented and the integration of TBLP with software engineering processes is discussed.
This paper describes the 'Jaba' program editor and browser that allows users to tailor the level of abstraction at which they visualise, browse, edit and document object-oriented programs. Its design draws on ...
详细信息
This paper describes the 'Jaba' program editor and browser that allows users to tailor the level of abstraction at which they visualise, browse, edit and document object-oriented programs. Its design draws on concepts from literate programming, holophrasting displays, fisheye visualisation and hypertext to allow programmers to rapidly move between abstract and detailed views of Java classes. The paper focuses on the motivation for, and user interface issues surrounding, the integration of these facilities in Jaba. Limitations in the current tools and theories for programming support are identified, and modifications are proposed and demonstrated. Examples include overcoming the static post-hoc documentation support provided by Javadoc, and normalising Fumas's 'degree of interest' fisheye visualisation formula to avoid excessive suppression of program segments. (C) 2001 Elsevier Science B.V. All rights reserved.
In an effort to effectively annotate and document a FORTRAN 90 module that extends the language's mathematical capabilities to performance of quaternion operations, the literate-Prog ramming paradigm is adopted. T...
详细信息
In an effort to effectively annotate and document a FORTRAN 90 module that extends the language's mathematical capabilities to performance of quaternion operations, the literate-Prog ramming paradigm is adopted. The basic principles of this paradigm are discussed through a short introduction to the features of a specific literate-programming system known as FWEB. This system is then employed for the efficient presentation of the FORTRAN 90 quaternion arithmetic module.
The computer science literature discusses code and algorithms extensively, but not always reliably. Tool support can help ensure integrity between code and explanation so that published papers are more reliable. A ver...
详细信息
The computer science literature discusses code and algorithms extensively, but not always reliably. Tool support can help ensure integrity between code and explanation so that published papers are more reliable. A versatile, lightweight tool to support explaining code for publication is justified, described and compared with alternatives. The tool works with Java, C and similar languages, and provides support for publishing explanations of real code in LAT(E)X, XML, HTML, etc. Copyright (C) 2003 John Wiley Sons, Ltd.
In this paper we present an integration of tool support for internal documentation in the modern IDE Together J. The specific kind of internal documentation stems from the Elucidative programming tradition where docum...
详细信息
ISBN:
(纸本)9780954414511
In this paper we present an integration of tool support for internal documentation in the modern IDE Together J. The specific kind of internal documentation stems from the Elucidative programming tradition where documentation and source code are separate entities tied together using hyperlinks. The tool supports the programmer in creating and managing internal documentation of Java source code. The hypertext-based documentation is presented in the IDE where a range of navigational features helps the programmer with finding relevant documentation for a given part of the source code. It is concluded that integration of such a tool is indeed possible as well as easy to do in an open IDE like TogetherJ. We expect that we can obtain similar results using other open IDEs.
Analysis of multichannel ECG recordings (body surface maps (BSMs) and intracardial maps) requires special software. We created a software package and a user interface on top of a commercial data analysis package (MATL...
详细信息
Analysis of multichannel ECG recordings (body surface maps (BSMs) and intracardial maps) requires special software. We created a software package and a user interface on top of a commercial data analysis package (MATLAB) by a combination of high-level and low-level programming. Our software was created to satisfy the needs of a diverse group of researchers. It can handle a large variety of recording configurations. It allows for interactive usage through a fast and robust user interface, and batch processing for the analysis of large amounts of data. The package is user-extensible, includes routines for both common and experimental data processing tasks, and works on several computer platforms. The source code is made intelligible using software for structured documentation and is available to the users. The package is currently used by more than ten research groups analysing ECG data worldwide. (C) 2002 Elsevier Science Ireland Ltd. All rights reserved.
Most conventional design processes produce documentation as a by-product: design is done within an environment or collection of tools and the design outputs, models, diagrams, results, etc are gathered together along ...
详细信息
暂无评论