This report is a description of a part of 4Thought, a collection of software design tools and methods for assisting software designers. One of the tools in 4Thought is FlexOr, which combines literate programming and f...
详细信息
This report is a description of a part of 4Thought, a collection of software design tools and methods for assisting software designers. One of the tools in 4Thought is FlexOr, which combines literate programming and frame adaptation to create and document software designs. One of the fundamental methods in using 4Thought is the theory-model paradigm, in which are created a formal theory for a class of software design problems and then the designs that satisfy the formal theory are created. This report presents a formal theory using Z notation, entity-relationship diagrams, and GraphLog to specify the formal theory for the literate programming part of FlexOr frames.
literate programming-the bringing together of program code and natural language narratives-has become a ubiquitous approach in the realm of data science. This methodology is appealing as well for the domain of Density...
详细信息
literate programming-the bringing together of program code and natural language narratives-has become a ubiquitous approach in the realm of data science. This methodology is appealing as well for the domain of Density Functional Theory (DFT) calculations, particularly for interactively developing new methodologies and workflows. However, effective use of literate programming is hampered by old programming paradigms and the difficulties associated with using high performance computing (HPC) resources. Here we present two Python libraries that aim to remove these hurdles. First, we describe the PyBigDFT library, which can be used to setup materials or molecular systems and provides high-level access to the wavelet based BigDFT code. We then present the related remotemanager library, which is able to serialize and execute arbitrary Python functions on remote supercomputers. We show how together these libraries enable transparent access to HPC based DFT calculations and can serve as building blocks for rapid prototyping and data exploration.
Background: Electron Paramagnetic Resonance (EPR) is a non-destructive, non-invasive technique useful for the characterization of organic moieties in primitive carbonaceous matter related to the origin of life. The cl...
详细信息
Background: Electron Paramagnetic Resonance (EPR) is a non-destructive, non-invasive technique useful for the characterization of organic moieties in primitive carbonaceous matter related to the origin of life. The classical EPR parameters are the peak-to-peak amplitude, the linewidth and the g factor;however, such parameters turn out not to suffice to fully determine a single EPR line. Results: In this paper, we give the definition and practical implementation of a new EPR parameter based on the signal shape that we call the R-10 factor. This parameter was originally defined in the case of a single symmetric EPR line and used as a new datation method for organic matter in the field of exobiology. Conclusion: Combined to classical EPR parameters, the proposed shape parameter provides a full description of an EPR spectrum and opens the way to novel applications like datation. Such a parameter is a powerful tool for future EPR studies, not only of carbonaceous matter, but also of any substance which spectrum exhibits a single symmetric line. Reproducibility: The paper is a literate program-written using Noweb within the Org-mode as provided by the Emacs editor-and it also describes the full data analysis pipeline that computes the R-10 on a real EPR spectrum.
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.
暂无评论