2,278 research outputs found

    A Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs

    Full text link
    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

    Building Web Based Programming Environments for Functional Programming

    Get PDF
    Functional programming offers an accessible and powerful algebraic model for computing. JavaScript is the language of the ubiquitous Web, but it does not support functional programs well due to its single-threaded, asynchronous nature and lack of rich control flow operators. The purpose of this work is to extend JavaScript to a language environment that satisfies the needs of functional programs on the Web. This extended language environment uses sophisticated control operators to provide an event-driven functional programming model that cooperates with the browser\u27s DOM, along with synchronous access to JavaScript\u27s asynchronous APIs. The results of this work are used toward two projects: (1) a programming environment called WeScheme that runs in the web browser and supports a functional programming curriculum, and (2) a tool-chain called Moby that compiles event-driven functional programs to smartphones, with access to phone-specific features

    FACT -- Operation of the First G-APD Cherenkov Telescope

    Full text link
    Since more than two years, the First G-APD Cherenkov Telescope (FACT) is operating successfully at the Canary Island of La Palma. Apart from its purpose to serve as a monitoring facility for the brightest TeV blazars, it was built as a major step to establish solid state photon counters as detectors in Cherenkov astronomy. The camera of the First G-APD Cherenkov Telesope comprises 1440 Geiger-mode avalanche photo diodes (G-APD aka. MPPC or SiPM) for photon detection. Since properties as the gain of G-APDs depend on temperature and the applied voltage, a real-time feedback system has been developed and implemented. To correct for the change introduced by temperature, several sensors have been placed close to the photon detectors. Their read out is used to calculate a corresponding voltage offset. In addition to temperature changes, changing current introduces a voltage drop in the supporting resistor network. To correct changes in the voltage drop introduced by varying photon flux from the night-sky background, the current is measured and the voltage drop calculated. To check the stability of the G-APD properties, dark count spectra with high statistics have been taken under different environmental conditions and been evaluated. The maximum data rate delivered by the camera is about 240 MB/s. The recorded data, which can exceed 1 TB in a moonless night, is compressed in real-time with a proprietary loss-less algorithm. The performance is better than gzip by almost a factor of two in compression ratio and speed. In total, two to three CPU cores are needed for data taking. In parallel, a quick-look analysis of the recently recorded data is executed on a second machine. Its result is publicly available within a few minutes after the data were taken. [...]Comment: 19th IEEE Real-Time Conference, Nara, Japan (2014

    3D Visualization Architecture for Building Applications Leveraging an Existing Validated Toolkit

    Get PDF
    The diagnostic radiology space and healthcare in general is a slow adopter of new software technologies and patterns. Despite the widespread embrace of mobile technology in recent years, altering the manner in which societies in developed countries live and communicate, diagnostic radiology has not unanimously adopted mobile technology for remote diagnostic review. Desktop applications in the diagnostic radiology space commonly leverage a validated toolkit. Such toolkits not only simplify desktop application development but minimize the scope of application validation. For these reasons, such a toolkit is an important piece of a company’s software portfolio. This thesis investigated an approach for leveraging a Java validated toolkit for the purpose of creating numerous ubiquitous applications for 3D diagnostic radiology. Just as in the desktop application space, leveraging such a toolkit minimizes the scope of ubiquitous application validation. Today, the most standard execution environment in an electronic device is an Internet browser; therefore, a ubiquitous application is web application. This thesis examines an approach where ubiquitous applications can be built using a viewport construct provided by a client-side ubiquitous toolkit that hides the client-server communication between the ubiquitous toolkit and the validated visualization toolkit. Supporting this communication is a Java RESTful web service wrapper around the validated visualization toolkit that essentially “webifies” the validated toolkit. Overall, this ubiquitous viewport is easily included in a ubiquitous application and supports remote visualization and manipulation of volumes on the widest range of electronic devices. Overall, this thesis provided a flexible and scalable approach to developing ubiquitous applications that leverage an existing validated toolkit that utilizes industry standard technologies, patterns, and best practices. This approach is significant because it supports easy ubiquitous application development and minimizes the scope of application validation, and allows medical professionals easy anytime and anywhere access to diagnostic images

    Collaborative Study Web Platform

    Get PDF
    Online learning is gaining importance in Universities, in student communities, and companies. Learning Management Systems (LMS) are the prevailing software solutions for education and e-learning. These systems are evolving from simple containers of courses information, syllabus, and documents or files, to offer more intricate features, associated with social and collaboration-oriented software. Aside from LMS, students often use multiple web applications for studying and doing projects. LMS may not offer a workspace where users can organize and share information, which is segmented on several online tools. Some solutions may even entirely restrict creation of content by students. With this in mind, a system was designed and implemented with the goal of providing an alternative or complementary solution to other LMS. In general, educational institutions deploy these systems, with restricted access within their peers. On the contrary, the proposed approach provides a set of collaboration and content organization tools. It is a web application provided under a software as a service (SaaS) model, to which potentially anyone can access and register. The platform is organized into groups, which hold content elements and place users together. Each group member has his/her set of roles inside the group, defining corresponding permissions, which are enforced by an access control system. Permissions are set in respect to users, groups and content. An emphasis is given on providing a way to assess or rate users through both their actions and content creation, hypothesizing this as a factor for user engagement and trust. Users, through several feedback elements such as voting and commenting, evaluate content. A presentation is done of the studied rating calculation methods and simulation of several of these methods. The resulting web platform sets a basis to explore different approaches for content creation and sharing collaboratively. The use cases in the system are analysed and discussed,considering this system as a foundation for a web application focused on collaborative and group-based study

    A Comparative Analysis of Node.js (Server-Side JavaScript)

    Get PDF
    Node.js (also termed Node) is a platform built on Google Chrome V8 JavaScript runtime engine for easily building fast, scalable, and lightweight applications.V8 and Node are mostly implemented in C and C++ focusing on performance and low memory consumption. In this paper, we provide an overview of Node by comparing it to a conventional server-side scripting programming language, PHP. Initially, we focus on Node’s modularity, its in-built package manager labeled Node Package Manager and Node’s working architecture. The main feature of Node is its use of non-blocking event-driven I/O with an asynchronous programming model to remain lightweight and efficient in handling concurrency. These comprise the underlying features of Node which we discuss in detail. Node differs from JavaScript which we describe by emphasizing some major deficiencies in JavaScript that Node remediates. Likewise, by introducing AJAX, and its pros and cons, we show how Node surpasses AJAX in real-time application development usability. With Node.js, complex real-time applications can be built that can scale to millions of client connections. We also discuss factors supporting choosing Node and why developers should use it. We describe some of the security holes in Node with solutions to handle them. In order to clarify where Node succeeds and where it fails, we present two different benchmarks comparing Node with PHP. We conclude by highlighting some of the limitations of Node and we discuss the current developments in process to remediate Node’s deficiencies

    VIOLA - A multi-purpose and web-based visualization tool for neuronal-network simulation output

    Full text link
    Neuronal network models and corresponding computer simulations are invaluable tools to aid the interpretation of the relationship between neuron properties, connectivity and measured activity in cortical tissue. Spatiotemporal patterns of activity propagating across the cortical surface as observed experimentally can for example be described by neuronal network models with layered geometry and distance-dependent connectivity. The interpretation of the resulting stream of multi-modal and multi-dimensional simulation data calls for integrating interactive visualization steps into existing simulation-analysis workflows. Here, we present a set of interactive visualization concepts called views for the visual analysis of activity data in topological network models, and a corresponding reference implementation VIOLA (VIsualization Of Layer Activity). The software is a lightweight, open-source, web-based and platform-independent application combining and adapting modern interactive visualization paradigms, such as coordinated multiple views, for massively parallel neurophysiological data. For a use-case demonstration we consider spiking activity data of a two-population, layered point-neuron network model subject to a spatially confined excitation originating from an external population. With the multiple coordinated views, an explorative and qualitative assessment of the spatiotemporal features of neuronal activity can be performed upfront of a detailed quantitative data analysis of specific aspects of the data. Furthermore, ongoing efforts including the European Human Brain Project aim at providing online user portals for integrated model development, simulation, analysis and provenance tracking, wherein interactive visual analysis tools are one component. Browser-compatible, web-technology based solutions are therefore required. Within this scope, with VIOLA we provide a first prototype.Comment: 38 pages, 10 figures, 3 table
    • …
    corecore