488,010 research outputs found
Nmag micromagnetic simulation tool - software engineering lessons learned
We review design and development decisions and their impact for the open
source code Nmag from a software engineering in computational science point of
view. We summarise lessons learned and recommendations for future computational
science projects. Key lessons include that encapsulating the simulation
functionality in a library of a general purpose language, here Python, provides
great flexibility in using the software. The choice of Python for the top-level
user interface was very well received by users from the science and engineering
community. The from-source installation in which required external libraries
and dependencies are compiled from a tarball was remarkably robust. In places,
the code is a lot more ambitious than necessary, which introduces unnecessary
complexity and reduces main- tainability. Tests distributed with the package
are useful, although more unit tests and continuous integration would have been
desirable. The detailed documentation, together with a tutorial for the usage
of the system, was perceived as one of its main strengths by the community.Comment: 7 pages, 5 figures, Software Engineering for Science, ICSE201
Recommended from our members
An introduction to Biomodel engineering, illustrated for signal transduction pathways
BioModel Engineering is the science of designing, constructing
and analyzing computational models of biological systems. It is inspired
by concepts from software engineering and computing science.
This paper illustrates a major theme in BioModel Engineering, namely
that identifying a quantitative model of a dynamic system means building
the structure, finding an initial state, and parameter fitting. In our
approach, the structure is obtained by piecewise construction of models
from modular parts, the initial state is obtained by analysis of the structure
and parameter fitting comprises determining the rate parameters of
the kinetic equations. We illustrate this with an example in the area of
intracellular signalling pathways
Finite Difference Computing with Exponential Decay Models
Computational Science and Engineering; software Engineering; Programming Technique
The Scalability-Efficiency/Maintainability-Portability Trade-off in Simulation Software Engineering: Examples and a Preliminary Systematic Literature Review
Large-scale simulations play a central role in science and the industry.
Several challenges occur when building simulation software, because simulations
require complex software developed in a dynamic construction process. That is
why simulation software engineering (SSE) is emerging lately as a research
focus. The dichotomous trade-off between scalability and efficiency (SE) on the
one hand and maintainability and portability (MP) on the other hand is one of
the core challenges. We report on the SE/MP trade-off in the context of an
ongoing systematic literature review (SLR). After characterizing the issue of
the SE/MP trade-off using two examples from our own research, we (1) review the
33 identified articles that assess the trade-off, (2) summarize the proposed
solutions for the trade-off, and (3) discuss the findings for SSE and future
work. Overall, we see evidence for the SE/MP trade-off and first solution
approaches. However, a strong empirical foundation has yet to be established;
general quantitative metrics and methods supporting software developers in
addressing the trade-off have to be developed. We foresee considerable future
work in SSE across scientific communities.Comment: 9 pages, 2 figures. Accepted for presentation at the Fourth
International Workshop on Software Engineering for High Performance Computing
in Computational Science and Engineering (SEHPCCSE 2016
QoS oriented MapReduce Optimization for Hadoop Based BigData Application
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc
Data quality implications of scientific software complexity
Scientific findings based on computer simulation evoke sceptical responses because their output does not appear to have an objective status comparable to data captured by observation or experiment. However the simulationists have been defended on grounds that their practices, like those of experimenters, carry with them their own credentials. It has been further argued that epistemic opacity is essential to the nature of computational science and that epistemology of science must cease to be anthropocentric. Such philosophical faith in software runs counter to both established practice in software engineering, and the underlying software engineering science. In computational science as elsewhere data quality can only be assured through the exercise of human critical judgment
- …