18,449 research outputs found

    Schedulability, Response Time Analysis and New Models of P-FRP Systems

    Get PDF
    Functional Reactive Programming (FRP) is a declarative approach for modeling and building reactive systems. FRP has been shown to be an expressive formalism for building applications of computer graphics, computer vision, robotics, etc. Priority-based FRP (P-FRP) is a formalism that allows preemption of executing programs and guarantees real-time response. Since functional programs cannot maintain state and mutable data, changes made by programs that are preempted have to be rolled back. Hence in P-FRP, a higher priority task can preempt the execution of a lower priority task, but the preempted lower priority task will have to restart after the higher priority task has completed execution. This execution paradigm is called Abort-and-Restart (AR). Current real-time research is focused on preemptive of non-preemptive models of execution and several state-of-the-art methods have been developed to analyze the real-time guarantees of these models. Unfortunately, due to its transactional nature where preempted tasks are aborted and have to restart, the execution semantics of P-FRP does not fit into the standard definitions of preemptive or non-preemptive execution, and the research on the standard preemptive and non-preemptive may not applicable for the P-FRP AR model. Out of many research areas that P-FRP may demands, we focus on task scheduling which includes task and system modeling, priority assignment, schedulability analysis, response time analysis, improved P-FRP AR models, algorithms and corresponding software. In this work, we review existing results on P-FRP task scheduling and then present our research contributions: (1) a tighter feasibility test interval regarding the task release offsets as well as a linked list based algorithm and implementation for scheduling simulation; (2) P-FRP with software transactional memory-lazy conflict detection (STM-LCD); (3) a non-work-conserving scheduling model called Deferred Start; (4) a multi-mode P-FRP task model; (5) SimSo-PFRP, the P-FRP extension of SimSo - a SimPy-based, highly extensible and user friendly task generator and task scheduling simulator.Computer Science, Department o

    Future of Functional Reactive Programming in Real-Time Systems

    Get PDF
    The evolution of programming paradigms and the development of new programming languages are driven by the needs of problem domains. Functional reactive programming (FRP) combines functional programming (FP) and reactive programming (RP) concepts that leverage asynchronous dataflow from reactive programming and higher-level abstractions building blocks from functional programming to enable developers to define data flows and transformations declaratively. Declarative programming allows developers to concentrate more on the problem to be solved rather than the implementation details, resulting in efficient and concise code. Over the years, various FRP designs have been proposed in real-time application areas. Still, it remains unclear how FRP-based solutions compare with traditional methods for implementing these applications. In this survey, we studied the usefulness of FRP in some real-time applications, such as game development, animation, graphical user interface(GUI), and embedded system. We conducted a qualitative comparison for game development and studied various applications in animation, GUI, and embedded systems. We found that using FRP in these applications is quite difficult because of insufficient libraries and tools. Additionally, due to high learning curves and a need for experienced developers, the development process in FRP takes time and effort. Our examination of two well-known games: Asteroid and Pong, in three programming paradigms: imperative programming using the Unity game engine, FP in Haskell, and FRP in the Yampa library, showed that imperative programming is effective in terms of performance and usability. The other two paradigms for developing games from scratch are inefficient and challenging. Despite the fact that FRP was designed for animation, the majority of its applications are underperforming. FRP is more successful for GUI applications, where libraries like RxJS have been used in many web interfaces. FRP is also applied in developing embedded system applications for its effective memory management, maintainability, and predictability. Developing efficient solutions from scratch is not suitable in FRP due to several factors, such as poor performance compared to other programming paradigms, programming complexity, and a steep learning curve. Instead, developers can be benefited from utilizing FRP-supported modular platforms to build robust and scalable real-time applications

    Near-Real-Time Global Biomass Burning Emissions Product from Geostationary Satellite Constellation

    Get PDF
    Near-real-time estimates of biomass burning emissions are crucial for air quality monitoring and forecasting. We present here the first near-real-time global biomass burning emission product from geostationary satellites (GBBEP-Geo) produced from satellite-derived fire radiative power (FRP) for individual fire pixels. Specifically, the FRP is retrieved using WF_ABBA V65 (wildfire automated biomass burning algorithm) from a network of multiple geostationary satellites. The network consists of two Geostationary Operational Environmental Satellites (GOES) which are operated by the National Oceanic and Atmospheric Administration, the Meteosat second-generation satellites (Meteosat-09) operated by the European Organisation for the Exploitation of Meteorological Satellites, and the Multifunctional Transport Satellite (MTSAT) operated by the Japan Meteorological Agency. These satellites observe wildfires at an interval of 15–30 min. Because of the impacts from sensor saturation, cloud cover, and background surface, the FRP values are generally not continuously observed. The missing observations are simulated by combining the available instantaneous FRP observations within a day and a set of representative climatological diurnal patterns of FRP for various ecosystems. Finally, the simulated diurnal variation in FRP is applied to quantify biomass combustion and emissions in individual fire pixels with a latency of 1 day. By analyzing global patterns in hourly biomass burning emissions in 2010, we find that peak fire season varied greatly and that annual wildfires burned 1.33 × 1012 kg dry mass, released 1.27 × 1010 kg of PM2.5 (particulate mass for particles with diameter \u3c2.5 μm) and 1.18 × 1011kg of CO globally (excluding most parts of boreal Asia, the Middle East, and India because of no coverage from geostationary satellites). The biomass burning emissions were mostly released from forest and savanna fires in Africa, South America, and North America. Evaluation of emission result reveals that the GBBEP-Geo estimates are comparable with other FRP-derived estimates in Africa, while the results are generally smaller than most of the other global products that were derived from burned area and fuel loading. However, the daily emissions estimated from GOES FRP over the United States are generally consistent with those modeled from GOES burned area and MODIS (Moderate Resolution Imaging Spectroradiometer) fuel loading, which produces an overall bias of 5.7% and a correlation slope of 0.97 ± 0.2. It is expected that near-real-time hourly emissions from GBBEP-Geo could provide a crucial component for atmospheric and chemical transport modelers to forecast air quality and weather conditions

    A Data-Driven Policy for Addressing Deployability Issue of FMM FRPs: Resources Qualification and Deliverability

    Full text link
    Intensified netload uncertainty and variability led to the concept of a new market product, flexible ramping product (FRP). The main goal of FRP is to enhance the generation dispatch flexibility inside real-time (RT) markets to mitigate energy imbalances due to ramp capability shortage. Generally, the FRP requirements are based on system-wide or proxy requirements, so the effect of FRP awards on the transmission line constraints is not considered. This can lead to FRP deployability issues in RT operation. This paper proposes a new FRP design based on a datadriven policy incorporating ramping response factor sets to address FRP deployability issue. First, a data-mining algorithm is performed to predict the ramp-qualified generators to create the data-driven policy. Then, the FRP awards are assigned to these units while considering effects of post-deployment of FRPs on the transmission line limits. Finally, the proposed data-driven policy is tested against proxy policy through an out-of-sample validation phase that (i) mimics the RT operation of the CAISO, and (ii) represents the expensive ad-hoc actions needed for procuring additional ramping capability to follow realized netload changes. The results show the effectiveness of the proposed data-driven policy from reliability and economic points of vie

    Concurrency Controls in Event-Driven Programs

    Get PDF
    Functional reactive programming (FRP) is a programming paradigm that utilizes the concepts of functional programming and time-varying data types to create event-driven applications. In this paradigm, data types in which values can change over time are primitives and can be applied to functions. These values are composable and can be combined with functions to create values that react to changes in values from multiple sources. Events can be modeled as values that change in discrete time steps. Computation can be encoded as values that produce events, with combination operators, it enables us to write concurrent event-driven programs by combining the concurrent computation as events. Combined with the denotational approach of functional programming, we can write programs in a concise manner. The style of event-driven programming has been widely adopted for developing graphical user interface applications, since they need to process events concurrently to stay responsive. This makes FRP a fitting approach for managing complex state and handling of events concurrently. In recent years, real-time systems such as IoT (internet of things) applications have become an important field of computation. Applying FRP to real-time systems is still an active area of research.For IoT applications, they are commonly tasked to perform data capturing in real time and transmit them to other devices. They need to exchange data with other applications over the internet and respond in a timely manner. The data needs to be processed, for simple analysis or more computation intensive work such as machine learning. Designing applications that perform these tasks and remain efficient and responsive can be challenging. In this thesis, we demonstrate that FRP is a suitable approach for real-time applications. These applications require soft real-time requirements, where systems can tolerate tasks that fail to meet the deadline and the results of these tasks might still be useful.First, we design the concurrency abstractions needed for supporting asynchronous computation and use it as the basis for building the FRP abstraction. Our implementation is in Haskell, a functional programming language with a rich type system that allows us to model abstractions with ease. The concurrency abstraction is based on some of the ideas from the Haskell solution for asynchronous computation, which elegantly supports cancelation in a composable way. Based on the Haskell implementation, we extend our design with operators that are more suitable for building web applications. We translate our implementation to JavaScript as it is more commonly used for web application development, and implementing the RxJS interface. RxJS is a popular JavaScript library for reactive programming in web applications. By implementing the RxJS interface, we argue that our programming model implemented in Haskell is also applicable in mainstream languages such as JavaScript

    Modelling Reactive Multimedia: Design and Authoring

    Get PDF
    Multimedia document authoring is a multifaceted activity, and authoring tools tend to concentrate on a restricted set of the activities involved in the creation of a multimedia artifact. In particular, a distinction may be drawn between the design and the implementation of a multimedia artifact. This paper presents a comparison of three different authoring paradigms, based on the common case study of a simple interactive animation. We present details of its implementation using the three different authoring tools, MCF, Fran and SMIL 2.0, and we discuss the conclusions that may be drawn from our comparison of the three approaches

    Smart FRP Composite Sandwich Bridge Decks in Cold Regions

    Get PDF
    INE/AUTC 12.0

    Synthesizing Functional Reactive Programs

    Get PDF
    Functional Reactive Programming (FRP) is a paradigm that has simplified the construction of reactive programs. There are many libraries that implement incarnations of FRP, using abstractions such as Applicative, Monads, and Arrows. However, finding a good control flow, that correctly manages state and switches behaviors at the right times, still poses a major challenge to developers. An attractive alternative is specifying the behavior instead of programming it, as made possible by the recently developed logic: Temporal Stream Logic (TSL). However, it has not been explored so far how Control Flow Models (CFMs), as synthesized from TSL specifications, can be turned into executable code that is compatible with libraries building on FRP. We bridge this gap, by showing that CFMs are indeed a suitable formalism to be turned into Applicative, Monadic, and Arrowized FRP. We demonstrate the effectiveness of our translations on a real-world kitchen timer application, which we translate to a desktop application using the Arrowized FRP library Yampa, a web application using the Monadic threepenny-gui library, and to hardware using the Applicative hardware description language ClaSH.Comment: arXiv admin note: text overlap with arXiv:1712.0024
    • …
    corecore