17,451 research outputs found
A Concurrency-Agnostic Protocol for Multi-Paradigm Concurrent Debugging Tools
Today's complex software systems combine high-level concurrency models. Each
model is used to solve a specific set of problems. Unfortunately, debuggers
support only the low-level notions of threads and shared memory, forcing
developers to reason about these notions instead of the high-level concurrency
models they chose.
This paper proposes a concurrency-agnostic debugger protocol that decouples
the debugger from the concurrency models employed by the target application. As
a result, the underlying language runtime can define custom breakpoints,
stepping operations, and execution events for each concurrency model it
supports, and a debugger can expose them without having to be specifically
adapted.
We evaluated the generality of the protocol by applying it to SOMns, a
Newspeak implementation, which supports a diversity of concurrency models
including communicating sequential processes, communicating event loops,
threads and locks, fork/join parallelism, and software transactional memory. We
implemented 21 breakpoints and 20 stepping operations for these concurrency
models. For none of these, the debugger needed to be changed. Furthermore, we
visualize all concurrent interactions independently of a specific concurrency
model. To show that tooling for a specific concurrency model is possible, we
visualize actor turns and message sends separately.Comment: International Symposium on Dynamic Language
A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
The actor model is an attractive foundation for developing concurrent
applications because actors are isolated concurrent entities that communicate
through asynchronous messages and do not share state. Thereby, they avoid
concurrency bugs such as data races, but are not immune to concurrency bugs in
general. This study taxonomizes concurrency bugs in actor-based programs
reported in literature. Furthermore, it analyzes the bugs to identify the
patterns causing them as well as their observable behavior. Based on this
taxonomy, we further analyze the literature and find that current approaches to
static analysis and testing focus on communication deadlocks and message
protocol violations. However, they do not provide solutions to identify
livelocks and behavioral deadlocks. The insights obtained in this study can be
used to improve debugging support for actor-based programs with new debugging
techniques to identify the root cause of complex concurrency bugs.Comment: - Submitted for review - Removed section 6 "Research Roadmap for
Debuggers", its content was summarized in the Future Work section - Added
references for section 1, section 3, section 4.3 and section 5.1 - Updated
citation
The GeoClaw software for depth-averaged flows with adaptive refinement
Many geophysical flow or wave propagation problems can be modeled with
two-dimensional depth-averaged equations, of which the shallow water equations
are the simplest example. We describe the GeoClaw software that has been
designed to solve problems of this nature, consisting of open source Fortran
programs together with Python tools for the user interface and flow
visualization. This software uses high-resolution shock-capturing finite volume
methods on logically rectangular grids, including latitude--longitude grids on
the sphere. Dry states are handled automatically to model inundation. The code
incorporates adaptive mesh refinement to allow the efficient solution of
large-scale geophysical problems. Examples are given illustrating its use for
modeling tsunamis, dam break problems, and storm surge. Documentation and
download information is available at www.clawpack.org/geoclawComment: 18 pages, 11 figures, Animations and source code for some examples at
http://www.clawpack.org/links/awr10 Significantly modified from original
posting to incorporate suggestions of referee
Evocative computing â creating meaningful lasting experiences in connecting with the past
We present an approach â evocative computing â that demonstrates how âat handâ technologies can be âpicked upâ and used by people to create meaningful and lasting experiences, through connecting and interacting with the past. The approach is instantiated here through a suite of interactive technologies configured for an indoor-outdoor setting that enables groups to explore, discover and research the history and background of a public cemetery. We report on a two-part study where different groups visited the cemetery and interacted with the digital tools and resources. During their activities serendipitous uses of the technology led to connections being made between personal memo-ries and ongoing activities. Furthermore, these experiences were found to be long-lasting; a follow-up study, one year later, showed them to be highly memorable, and in some cases leading participants to take up new directions in their work. We discuss the value of evocative computing for enriching user experiences and engagement with heritage practices
1st INCF Workshop on Sustainability of Neuroscience Databases
The goal of the workshop was to discuss issues related to the sustainability of neuroscience databases, identify problems and propose solutions, and formulate recommendations to the INCF. The report summarizes the discussions of invited participants from the neuroinformatics community as well as from other disciplines where sustainability issues have already been approached. The recommendations for the INCF involve rating, ranking, and supporting database sustainability
The Virtual Monte Carlo
The concept of Virtual Monte Carlo (VMC) has been developed by the ALICE
Software Project to allow different Monte Carlo simulation programs to run
without changing the user code, such as the geometry definition, the detector
response simulation or input and output formats. Recently, the VMC classes have
been integrated into the ROOT framework, and the other relevant packages have
been separated from the AliRoot framework and can be used individually by any
other HEP project. The general concept of the VMC and its set of base classes
provided in ROOT will be presented. Existing implementations for Geant3, Geant4
and FLUKA and simple examples of usage will be described.Comment: Talk from the 2003 Computing in High Energy and Nuclear Physics
(CHEP03), La Jolla, Ca, USA, March 2003, 8 pages, LaTeX, 6 eps figures. PSN
THJT006. See http://root.cern.ch/root/vmc/VirtualMC.htm
Moving Usability Testing onto the Web
Abstract: In order to remotely obtain detailed usability data by tracking user behaviors
within a given web site, a server-based usability testing environment has been
created. Web pages are annotated in such a way that arbitrary user actions (such as
"mouse over link" or "click back button") can be selected for logging. In addition,
the system allows the experiment designer to interleave interactive questions into
the usability evaluation, which for instance could be triggered by a particular sequence
of actions. The system works in conjunction with clustering and visualization
algorithms that can be applied to the resulting log file data. A first version of
the system has been used successfully to carry out a web usability evaluation
GEANT4 : a simulation toolkit
Abstract Geant4 is a toolkit for simulating the passage of particles through matter. It includes a complete range of functionality including tracking, geometry, physics models and hits. The physics processes offered cover a comprehensive range, including electromagnetic, hadronic and optical processes, a large set of long-lived particles, materials and elements, over a wide energy range starting, in some cases, from 250 eV and extending in others to the TeV energy range. It has been designed and constructed to expose the physics models utilised, to handle complex geometries, and to enable its easy adaptation for optimal use in different sets of applications. The toolkit is the result of a worldwide collaboration of physicists and software engineers. It has been created exploiting software engineering and object-oriented technology and implemented in the C++ programming language. It has been used in applications in particle physics, nuclear physics, accelerator design, space engineering and medical physics. PACS: 07.05.Tp; 13; 2
- âŠ