387 research outputs found

    Evolving Fortran types with inferred units-of-measure

    Get PDF
    Dimensional analysis is a well known technique for checking the consistency of equations involv- ing physical quantities, constituting a kind of type system. Various type systems for dimensional analysis, and its re nement to units-of-measure, have been proposed. In this paper, we detail the design and implementation of a units-of-measure system for Fortran, provided as a pre- processor. Our system is designed to aid adding units to existing code base: units may be polymorphic and can be inferred. Furthermore, we introduce a technique for reporting to the user a set of critical variables which should be explicitly annotated with units to get the maxi- mum amount of unit information with the minimal number of explicit declarations. This aids adoption of our type system to existing code bases, of which there are many in computational science projects.This work was supported in part by a Google Focussed Research Award and by EPSRC grant EP/K011715/1.This is the final version. It first appeared at http://www.sciencedirect.com/science/article/pii/S1877750315000563

    A Computational Science Agenda for Programming Language Research

    Get PDF
    Scientific models are often expressed as large and complicated programs. These programs embody numerous assumptions made by the developer (e.g., for differential equations, the discretization strategy and resolution). The complexity and pervasiveness of these assumptions means that often the only true description of the model is the software itself. This has led various researchers to call for scientists to publish their source code along with their papers. We argue that this is unlikely to be beneficial since it is almost impossible to separate implementation assumptions from the original scientific intent. Instead we advocate higher-level abstractions in programming languages, coupled with lightweight verification techniques such as specification and type systems. In this position paper, we suggest several novel techniques and outline an evolutionary approach to applying these to existing and future models. One-dimensional heat flow is used as an example throughout

    Event-based Vision: A Survey

    Get PDF
    Event cameras are bio-inspired sensors that differ from conventional frame cameras: Instead of capturing images at a fixed rate, they asynchronously measure per-pixel brightness changes, and output a stream of events that encode the time, location and sign of the brightness changes. Event cameras offer attractive properties compared to traditional cameras: high temporal resolution (in the order of microseconds), very high dynamic range (140 dB vs. 60 dB), low power consumption, and high pixel bandwidth (on the order of kHz) resulting in reduced motion blur. Hence, event cameras have a large potential for robotics and computer vision in challenging scenarios for traditional cameras, such as low-latency, high speed, and high dynamic range. However, novel methods are required to process the unconventional output of these sensors in order to unlock their potential. This paper provides a comprehensive overview of the emerging field of event-based vision, with a focus on the applications and the algorithms developed to unlock the outstanding properties of event cameras. We present event cameras from their working principle, the actual sensors that are available and the tasks that they have been used for, from low-level vision (feature detection and tracking, optic flow, etc.) to high-level vision (reconstruction, segmentation, recognition). We also discuss the techniques developed to process events, including learning-based techniques, as well as specialized processors for these novel sensors, such as spiking neural networks. Additionally, we highlight the challenges that remain to be tackled and the opportunities that lie ahead in the search for a more efficient, bio-inspired way for machines to perceive and interact with the world

    Altered Na/Ca exchange distribution and activity in ventricular myocytes from failing hearts

    Get PDF
    In mammalian cardiac ventricular myocytes, Ca efflux via Na/Ca exchange (NCX) occurs predominantly at T tubules. Heart failure is associated with disrupted t-tubular structure, but its effect on t-tubular function is less clear. We therefore investigated t-tubular NCX activity in ventricular myocytes isolated from rat hearts ∼18 wk after coronary artery ligation (CAL) or corresponding sham operation (Sham). NCX current (I(NCX)) and l-type Ca current (I(Ca)) were recorded using the whole cell, voltage-clamp technique in intact and detubulated (DT) myocytes; intracellular free Ca concentration ([Ca](i)) was monitored simultaneously using fluo-4. I(NCX) was activated and measured during application of caffeine to release Ca from sarcoplasmic reticulum (SR). Whole cell I(NCX) was not significantly different in Sham and CAL myocytes and occurred predominantly in the T tubules in Sham myocytes. CAL was associated with redistribution of I(NCX) and I(Ca) away from the T tubules to the cell surface and an increase in t-tubular I(NCX)/I(Ca) density from 0.12 in Sham to 0.30 in CAL myocytes. The decrease in t-tubular I(NCX) in CAL myocytes was accompanied by an increase in the fraction of Ca sequestered by SR. However, SR Ca content was not significantly different in Sham, Sham DT, and CAL myocytes but was significantly increased by DT of CAL myocytes. In Sham myocytes, there was hysteresis between I(NCX) and [Ca](i), which was absent in DT Sham but present in CAL and DT CAL myocytes. These data suggest altered distribution of NCX in CAL myocytes

    Proposal for a Standard Representation of Two-Dimensional Gel Electrophoresis Data

    Get PDF
    The global analysis of proteins is now feasible due to improvements in techniques such as two-dimensional gel electrophoresis (2-DE), mass spectrometry, yeast two-hybrid systems and the development of bioinformatics applications. The experiments form the basis of proteomics, and present significant challenges in data analysis, storage and querying. We argue that a standard format for proteome data is required to enable the storage, exchange and subsequent re-analysis of large datasets. We describe the criteria that must be met for the development of a standard for proteomics. We have developed a model to represent data from 2-DE experiments, including difference gel electrophoresis along with image analysis and statistical analysis across multiple gels. This part of proteomics analysis is not represented in current proposals for proteomics standards. We are working with the Proteomics Standards Initiative to develop a model encompassing biological sample origin, experimental protocols, a number of separation techniques and mass spectrometry. The standard format will facilitate the development of central repositories of data, enabling results to be verified or re-analysed, and the correlation of results produced by different research groups using a variety of laboratory techniques

    Electrophysiological properties of myocytes isolated from the mouse atrioventricular node:L-type ICa, IKr, If, and Na-Ca exchange

    Get PDF
    The atrioventricular node (AVN) is a key component of the cardiac pacemaker-conduction system. This study investigated the electrophysiology of cells isolated from the AVN region of adult mouse hearts, and compared murine ionic current magnitude with that of cells from the more extensively studied rabbit AVN. Whole-cell patch-clamp recordings of ionic currents, and perforated-patch recordings of action potentials (APs), were made at 35–37°C. Hyperpolarizing voltage commands from −40 mV elicited a Ba(2+)-sensitive inward rectifier current that was small at diastolic potentials. Some cells (Type 1; 33.4 ± 2.2 pF; n = 19) lacked the pacemaker current, I(f), whilst others (Type 2; 34.2 ± 1.5 pF; n = 21) exhibited a clear I(f), which was larger than in rabbit AVN cells. On depolarization from −40 mV L-type Ca(2+) current, I(C)(a,L), was elicited with a half maximal activation voltage (V(0.5)) of −7.6 ± 1.2 mV (n = 24). I(C)(a,L) density was smaller than in rabbit AVN cells. Rapid delayed rectifier (I(K)(r)) tail currents sensitive to E-4031 (5 μmol/L) were observed on repolarization to −40 mV, with an activation V(0.5) of −10.7 ± 4.7 mV (n = 8). The I(K)(r) magnitude was similar in mouse and rabbit AVN. Under Na-Ca exchange selective conditions, mouse AVN cells exhibited 5 mmol/L Ni-sensitive exchange current that was inwardly directed negative to the holding potential (−40 mV). Spontaneous APs (5.2 ± 0.5 sec(−1); n = 6) exhibited an upstroke velocity of 37.7 ± 16.2 V/s and ceased following inhibition of sarcoplasmic reticulum Ca(2+) release by 1 μmol/L ryanodine, implicating intracellular Ca(2+) cycling in murine AVN cell electrogenesis

    Verifying Spatial Properties of Array Computations

    Get PDF
    Arrays computations are at the core of numerical modelling and computational science applications. However, low-level manipulation of array indices is a source of program error. Many practitioners are aware of the need to ensure program correctness, yet very few of the techniques from the programming research community are applied by scientists. We aim to change that by providing targetted lightweight verification techniques for scientific code. We focus on the all too common mistake of array offset errors as a generalisation of off-by-one errors. Firstly, we report on a code analysis study on eleven real-world computational science code base, identifying common idioms of array usage and their spatial properties. This provides much needed data on array programming idioms common in scientific code. From this data, we designed a lightweight declarative specification language capturing the majority of array access patterns via a small set of combinators. We detail a semantic model, and the design and implementation of a verification tool for our specification language, which both checks and infers specifications. We evaluate our tool on our corpus of scientific code and give verification case studies of bug fixes that are detected by our approach. We found roughly 80,000 targets for specification across roughly 1.4 million lines of code, showing that the vast majority of array computations read from arrays in a pattern with a simple, regular, static shape
    corecore