620 research outputs found

    From JSON to JSEN through Virtual Languages

    Get PDF
    In this paper we describe a data format suitable for storing and manipulating executable language statements that can be used for exchanging/storing programs, executing them concurrently and extending homoiconicity of the hosting language. We call it JSEN, JavaScript Executable Notation, which represents the counterpart of JSON, JavaScript Object Notation. JSON and JSEN complement each other. The former is a data format for storing and representing objects and data, while the latter has been created for exchanging/storing/executing and manipulating statements of programs. The two formats, JSON and JSEN, share some common properties, reviewed in this paper with a more extensive analysis on what the JSEN data format can provide. JSEN extends homoiconicity of the hosting language (in our case JavaScript), giving the possibility to manipulate programs in a finer grain manner than what is currently possible. This property makes definition of virtual languages (or DSL) simple and straightforward. Moreover, JSEN provides a base for implementing a type of concurrent multitasking for a single-threaded language like JavaScript

    Pando: Personal Volunteer Computing in Browsers

    Full text link
    The large penetration and continued growth in ownership of personal electronic devices represents a freely available and largely untapped source of computing power. To leverage those, we present Pando, a new volunteer computing tool based on a declarative concurrent programming model and implemented using JavaScript, WebRTC, and WebSockets. This tool enables a dynamically varying number of failure-prone personal devices contributed by volunteers to parallelize the application of a function on a stream of values, by using the devices' browsers. We show that Pando can provide throughput improvements compared to a single personal device, on a variety of compute-bound applications including animation rendering and image processing. We also show the flexibility of our approach by deploying Pando on personal devices connected over a local network, on Grid5000, a French-wide computing grid in a virtual private network, and seven PlanetLab nodes distributed in a wide area network over Europe.Comment: 14 pages, 12 figures, 2 table

    A JavaScript Framework Comparison Based on Benchmarking Software Metrics and Environment Configuration

    Get PDF
    JavaScript is a client-side programming language that can be used in multi-platform applications. It controls HTML and CSS to manipulate page behaviours and is widely used in most websites over the internet. JavaScript frameworks are structures made to help web developers build web applications faster by offering features that enhance the user interaction with the web page. An increasing number of JavaScript frameworks have been released in recent years in the market to help front-end developers build applications in a shorter space of time. Decision makers in software companies have been struggling to determine which frameworks are best suited for a specific project. This work investigates the actual state-of-the-art of JavaScript framework comparison, and it proposes metrics and methods that could help developers when choosing a JavaScript framework. In this work, a benchmark framework executes tasks to test the efficiency of three JavaScript frameworks (AngularJS, Aurelia, and Ember). The research shows the impact of the environment (CPU usage and network connectivity) on JavaScript frameworks

    The Seamless Peer and Cloud Evolution Framework

    Get PDF
    Evolutionary algorithms are increasingly being applied to problems that are too computationally expensive to run on a single personal computer due to costly fitness function evaluations and/or large numbers of fitness evaluations. Here, we introduce the Seamless Peer And Cloud Evolution (SPACE) framework, which leverages bleeding edge web technologies to allow the computational resources necessary for running large scale evolutionary experiments to be made available to amateur and professional researchers alike, in a scalable and cost-effective manner, directly from their web browsers. The SPACE framework accomplishes this by distributing fitness evaluations across a heterogeneous pool of cloud compute nodes and peer computers. As a proof of concept, this framework has been attached to the RoboGen open-source platform for the co-evolution of robot bodies and brains, but importantly the framework has been built in a modular fashion such that it can be easily coupled with other evolutionary computation systems

    Interactive Planning Tool For Global Software Projects

    Get PDF
    When planning global software development (GSD) projects, project managers often face decision-making problems such as how to choose the most suitable teams among the available teams, or how to assign work optimally to the selected teams considering both the duration and cost of the project. There are many alternative solutions, and each of them affects the duration and cost of the project differently. Hence, the idea of developing an automated planning tool that guides the project manager is helpful. This thesis documents a research focusing on planning GSD projects by an automated tool proposed by Sri Vathsavayi at Tampere University of Technology. Vathsavayi in his research proposes a GSD model and some preliminary ideas for developing an automated planning tool. He utilizes multi-objective genetic algorithms to apply search-based software engineering in planning GSD projects. In the thesis, the GSD model and the planning tool proposed by Vathsavayi are evaluated in few specific aspects. Firstly, the GSD model besides the planning tool is referenced to some of the typical issues of a GSD project. Moreover, some recommendations for the assessment of communication distances between teams participating in a GSD project are proposed. The thesis, as a constructive research, focuses mostly on designing and implementing a concrete user interface (UI) for the proposed planning tool. The developed UI is a simple, clear, and user-friendly web application used by the project manager to gather data about GSD projects and participating teams. The data is stored into a database and con-sidered as the input data to the proposed tool by Vathsavayi. Finally, the developed UI is evaluated, and some further work is proposed to provide a better user experience for the project manager
    • …
    corecore