Data persistence is a feature that the data needs to live longer than its creator. The state-of-the-art is in-memory data persistence, requiring data in the memory to be persistent even when the application crashes. S...
详细信息
Data persistence is a feature that the data needs to live longer than its creator. The state-of-the-art is in-memory data persistence, requiring data in the memory to be persistent even when the application crashes. So far in-memory data persistence has been supported in many programming languages such as C, C++, and Java. However, it has not yet been well supported in javascript, a popular scripting language for software development. To solve this problem, we introduce JDap, an extension to javascript's runtime and execution engine, to support in-memory data persistence in javascript using Intel's Persistent Memory Development Kit (PMDK). JDap consists of (1) a javascript persistent object pool that serves as a heap in which persistent objects can be created, managed, and accessed safely and consistently. In particular, this pool supports shared memory parallelism, allowing persistent data to be accessed in parallel;(2) a set of javascript APIs that provides programmers with supports in managing and accessing persistent data in an easy-to-use and safe manner. We have implemented JDap and evaluated it against two database-supported data persistence styles (MongoDB's object store and indexedDB's binary store) on micro-benchmarks and real-world applications. Our evaluation shows that JDap outperforms object store by 1.6 x and outperforms binary store by 24.6 x. We have also evaluated JDap against Extended Memory Semantics (EMS) on data-intensive tasks. The results show that JDap outperforms EMS by 2 x.
At present, one of the main problems which can be found within chemical engineering education is the availability of real industrial plants able to provide an experimentation framework. The importance of this kind of ...
详细信息
At present, one of the main problems which can be found within chemical engineering education is the availability of real industrial plants able to provide an experimentation framework. The importance of this kind of plants lies in allowing students to apply the learned theoretical concepts to solve real problems. In this paper, a remote tool for educational purposes is presented. More specifically, the implementation of a four-tank plant, its internal control design and the implementation of an EasyJava tool for executing javascript code in both simulation and real experimental tests have been widely described. As a result, a tool that allows to perform experimental tests over the plant in both real and simulation modes has been obtained. In this tool, the limits of use are imposed by the plant and not by the own tool.
Statically analyzing javascript applications often requires an analysis of javascript libraries because many javascript applications use libraries. However, static analysis techniques for javascript are not yet ready ...
详细信息
Statically analyzing javascript applications often requires an analysis of javascript libraries because many javascript applications use libraries. However, static analysis techniques for javascript are not yet ready for analyzing libraries in a scalable and precise manner. Simply loading javascript libraries uses various dynamic features of javascript, which cause static analyzers to suffer from mutually intermingled problems of scalability and imprecision. In this paper, we present a loop-sensitive analysis (LSA) technique, which can improve the analysis scalability when analyzing javascript libraries by enhancing the analysis precision of loops. The LSA technique distinguishes loop iterations when loop conditions can be determined to be either true or false precisely. We formalize LSA in the abstract interpretation framework in the presence of tricky language features such as exceptions and prove its soundness and precision theorems using Coq. We evaluate our LSA implementation with the analysis results of programs that use 5 javascript libraries and show that LSA significantly improves the analysis scalability and precision of an existing javascript static analyzer when analyzing javascript libraries. In addition, using the configurability of LSA, we experimentally show the correlation between scalability and precision in the analysis of javascript libraries. We found that even the analysis of simple programs that just load jQuery, which is the most popular javascript library, in a scalable way requires distinguishing not only the last 4 functions being called but also 40 iterations in each loop with 2-level nested loops at least. Both the mechanization and implementation of LSA are publicly available.
javascript is a scripting language for web pages that allows website creators to run any code they want when users visit their website. Therefore, malicious javascript is the greatest threats within the cyber world. T...
详细信息
ISBN:
(纸本)9781538652145
javascript is a scripting language for web pages that allows website creators to run any code they want when users visit their website. Therefore, malicious javascript is the greatest threats within the cyber world. This paper proposes a novel method of detecting the javascript malware by using a high-level fuzzy Petri net (HLFPN). Firstly, the web pages are crawled to get javascript files. Secondly, the malicious features are extracted from javascript code. Finally, an HLFPN is used to determine the malicious code. The experimental results can support the effectiveness of our approach.
The mobile applications development is composed by three groups: natives, hybrids and web. In this paper a comparison between the native and hybrid mobile applications build on javascript (Reactive Native, NativeScrip...
详细信息
ISBN:
(纸本)9789899843486
The mobile applications development is composed by three groups: natives, hybrids and web. In this paper a comparison between the native and hybrid mobile applications build on javascript (Reactive Native, NativeScript and Ionic) is done. The analysis is done using the 7 more relevant principles to the mobile applications development. This paper shows that React Native exhibits the best results in all the analyzed principles and still having benefits in the hybrid development in relation to native. With the emergence of frameworks for mobile development, some of them with a little more than a year of existence, there is the difficulty to perceive which are the most advantageous for a given business objective, this article shows the best options among the frameworks used, always comparing with the native development.
This book will teach you how to take advantage of the javascript language to process data provided on the Internet. Much attention is given to the main javascript backbone: prototype based objects, and functional cap...
详细信息
ISBN:
(数字)9781119527343;9781119527305
ISBN:
(纸本)9781786302045
This book will teach you how to take advantage of the javascript language to process data provided on the Internet. Much attention is given to the main javascript backbone: prototype based objects, and functional capabilities, while common features (loops, etc.) are summarized in a few cheat-sheets. Only operational features are detailed through the coding of several applications -the second and largest part of the book-, on free-access datasets (e.g. World Bank). It includes: cartography (SVG or API"s based), data-sheets access (via Ajax or Jsonp), video data and post-synchronization, and animation examples.
The DSSAT is a collection of computer programs and tools integrated into a single software package in order to facilitate the application of crop simulation models in research and decision making. The DSSAT Shell, an ...
详细信息
The DSSAT is a collection of computer programs and tools integrated into a single software package in order to facilitate the application of crop simulation models in research and decision making. The DSSAT Shell, an user interface program, enables users to easily select and use any of the DSSAT components. It reads text files, both input and output with fixed width format, to provide information to the users and to be able to run the models. The logic to read DSSAT files and process the information to display to the user relies on the Shell itself and cannot be reusable by any other system, which makes it harder to implement alternatives for the DSSAT Shell since there are no frameworks available that implements the complexity of processing DSSAT files. The DSSAT tools were built using old programming technologies such Visual Basic which is in end-of-life support and Delphi, these technologies should be replaced for a modern and standardized software development approach for a better maintainability. Besides, these tools are stand-alone and they do not share code which increases the effort to maintain them. This work presents the jDSSAT, a multiplatform javascript module. The jDSSAT provides a standard and reusable approach for reading and processing DSSAT files. Through this approach, we isolate the complexity of processing DSSAT files to allow DSSAT integration on any environment. It also integrates with DSSAT-CSM to make it easier to run DSSAT models in Linux, Windows and MacOS. As a result, we present a multiplatform user interface prototype created to run DSSAT crop models using the main features of the jDSSAT. Also, the integration with the R environment that expands the possibilities of the DSSAT integration. (C) 2019 The Authors. Published by Elsevier B.V.
Background: While several javascript packages for visualizing phylogenetic trees exist, most are best characterized as frameworks that are designed with a specific set of tasks in mind. Extending such packages to use ...
详细信息
Background: While several javascript packages for visualizing phylogenetic trees exist, most are best characterized as frameworks that are designed with a specific set of tasks in mind. Extending such packages to use cases that are not available as features often ends up being difficult. Moreover, existing packages tend to produce standalone widgets that are not designed to serve as middleware, as opposed to flexible tools that can integrate with other components of an application. Results: *** is a library that extends the popular data visualization framework ***, and is suitable for building javascript applications where users can view and interact with phylogenetic trees. The effects of such interactions can be captured and communicated to other package components, making it possible to engineer complex and responsive applications that include phylogenetic trees. *** implements several abstractions in addition to features, and comes with a documented application programming interface, thus promoting interoperability and extensibility. Example applications include a tool to visualize and annotate phylogenetic trees, a web application for comparative sequence analysis, a structural viewer that interacts with a large phylogenetic tree, and an interactive tanglegram. Conclusions: *** is a useful tool and application module for a variety of computational biology software applications. The code is available on Github and is released under the MIT license.
Static compilation, a.k.a., ahead-of-time (AOT) compilation, is an alternative approach to JIT compilation that can combine good speed and lightweight memory footprint, and that can accommodate read-only memory constr...
详细信息
ISBN:
(纸本)9781450360302
Static compilation, a.k.a., ahead-of-time (AOT) compilation, is an alternative approach to JIT compilation that can combine good speed and lightweight memory footprint, and that can accommodate read-only memory constraints that are imposed by some devices and some operating systems. Unfortunately the highly dynamic nature of javascript makes it hard to compile statically and all existing AOT compilers have either gave up on good performance or full language support. We have designed and implemented an AOT compiler that aims at satisfying both. It supports full unrestricted ECMAScript 5.1 plus many ECMAScript 2017 features and the majority of benchmarks are within 50% of the performance of one of the fastest JIT compilers.
The evolution of technology in interconnection solutions such as Networks or the Internet, have allowed many communication architectures to be born and a varied interconnectivity. Here, we present a project that relie...
详细信息
ISBN:
(纸本)9783319734507;9783319734491
The evolution of technology in interconnection solutions such as Networks or the Internet, have allowed many communication architectures to be born and a varied interconnectivity. Here, we present a project that relies on the mobile agent computing paradigm. A middleware using the javascript language that allows the execution and ability to move mobile agents through the local network and Internet. This initiative arose as a way of dealing with problems raised by the considerable amount of existing Java based mobile agents middleware, which force the installation of the Java Virtual Machine in the devices, making complicated its execution in operating systems like macOS, iOS and others non-java friendly O.S. Our middleware works steadily in all operating systems, requiring only the installation of ***. For mobile platforms the middleware is developed using React-native that allows it to run on mobile operating systems such as Android and iOS.
暂无评论