8,201 research outputs found
Designing Software Architectures As a Composition of Specializations of Knowledge Domains
This paper summarizes our experimental research and software development activities in designing robust, adaptable and reusable software architectures. Several years ago, based on our previous experiences in object-oriented software development, we made the following assumption: ‘A software architecture should be a composition of specializations of knowledge domains’. To verify this assumption we carried out three pilot projects. In addition to the application of some popular domain analysis techniques such as use cases, we identified the invariant compositional structures of the software architectures and the related knowledge domains. Knowledge domains define the boundaries of the adaptability and reusability capabilities of software systems. Next, knowledge domains were mapped to object-oriented concepts. We experienced that some aspects of knowledge could not be directly modeled in terms of object-oriented concepts. In this paper we describe our approach, the pilot projects, the experienced problems and the adopted solutions for realizing the software architectures. We conclude the paper with the lessons that we learned from this experience
Optimizing the double description method for normal surface enumeration
Many key algorithms in 3-manifold topology involve the enumeration of normal
surfaces, which is based upon the double description method for finding the
vertices of a convex polytope. Typically we are only interested in a small
subset of these vertices, thus opening the way for substantial optimization.
Here we give an account of the vertex enumeration problem as it applies to
normal surfaces, and present new optimizations that yield strong improvements
in both running time and memory consumption. The resulting algorithms are
tested using the freely available software package Regina.Comment: 27 pages, 12 figures; v2: Removed the 3^n bound from Section 3.3,
fixed the projective equation in Lemma 4.4, clarified "most triangulations"
in the introduction to section 5; v3: replace -ise with -ize for Mathematics
of Computation (note that this changes the title of the paper
Recommended from our members
Preparing sparse solvers for exascale computing.
Sparse solvers provide essential functionality for a wide variety of scientific applications. Highly parallel sparse solvers are essential for continuing advances in high-fidelity, multi-physics and multi-scale simulations, especially as we target exascale platforms. This paper describes the challenges, strategies and progress of the US Department of Energy Exascale Computing project towards providing sparse solvers for exascale computing platforms. We address the demands of systems with thousands of high-performance node devices where exposing concurrency, hiding latency and creating alternative algorithms become essential. The efforts described here are works in progress, highlighting current success and upcoming challenges. This article is part of a discussion meeting issue 'Numerical algorithms for high-performance computational science'
Numerical algebraic geometry for model selection and its application to the life sciences
Researchers working with mathematical models are often confronted by the
related problems of parameter estimation, model validation, and model
selection. These are all optimization problems, well-known to be challenging
due to non-linearity, non-convexity and multiple local optima. Furthermore, the
challenges are compounded when only partial data is available. Here, we
consider polynomial models (e.g., mass-action chemical reaction networks at
steady state) and describe a framework for their analysis based on optimization
using numerical algebraic geometry. Specifically, we use probability-one
polynomial homotopy continuation methods to compute all critical points of the
objective function, then filter to recover the global optima. Our approach
exploits the geometric structures relating models and data, and we demonstrate
its utility on examples from cell signaling, synthetic biology, and
epidemiology.Comment: References added, additional clarification
From ACT-ONE to Miranda, a Translation Experiment
It is now almost universally acknowledged that the data language ACT-ONE associated with the formal description technique LOTOS is inappropriate for the purpose of OSI formal description. In response to this the LOTOS restandardisation activity plans to replace ACT-ONE with a functional language. Thus, compatibility between ACT-ONE and the replacement data language becomes an issue. In response to this, we present an experimental investigation of backward compatibility between ACT-ONE and the new LOTOS data language. Specifically, we investigate translating ACT-ONE data types into the functional language Miranda. Miranda has been chosen as it is a widely used functional programming language and it is close in form to the anticipated new data language. This work serves as a ``verification of concept'' for translating ACT-ONE to the E-LOTOS data language. It identifies the bounds on embedding ACT-ONE in a functional data language. In particular, it indicates what can be translated and what cannot be translated. In addition, the paper reveals pertinent issues which can inform the E-LOTOS work. For example, which constructs are needed in E-LOTOS in order to support the class of data type specifications typically made in the LOTOS setting? We conclude with a number of specific recommendations for the E-LOTOS data language
Adapting Real Quantifier Elimination Methods for Conflict Set Computation
The satisfiability problem in real closed fields is decidable. In the context
of satisfiability modulo theories, the problem restricted to conjunctive sets
of literals, that is, sets of polynomial constraints, is of particular
importance. One of the central problems is the computation of good explanations
of the unsatisfiability of such sets, i.e.\ obtaining a small subset of the
input constraints whose conjunction is already unsatisfiable. We adapt two
commonly used real quantifier elimination methods, cylindrical algebraic
decomposition and virtual substitution, to provide such conflict sets and
demonstrate the performance of our method in practice
Complementarity in classical dynamical systems
The concept of complementarity, originally defined for non-commuting
observables of quantum systems with states of non-vanishing dispersion, is
extended to classical dynamical systems with a partitioned phase space.
Interpreting partitions in terms of ensembles of epistemic states (symbols)
with corresponding classical observables, it is shown that such observables are
complementary to each other with respect to particular partitions unless those
partitions are generating. This explains why symbolic descriptions based on an
\emph{ad hoc} partition of an underlying phase space description should
generally be expected to be incompatible. Related approaches with different
background and different objectives are discussed.Comment: 18 pages, no figure
- …