251,104 research outputs found

    Qub: A Resource Aware Functional Programming Language

    Get PDF
    Managing resources---file handles, database connections, etc.---is a hard problem. Debugging resource leaks and runtime errors due to resource mismanagement are difficult in evolving production code. Programming languages with static type systems are great tools to ensure erroneous code is detected at compile time. However, modern static type systems do little in the aspect of resource management as resources are treated as normal values. We propose a type system, Qub, based on the logic of bunched implications (BI) which models resources as first class citizens. We distinguish two kinds of program objects---restricted and unrestricted---and two kinds of functions---sharing and separating. Our approach guarantees resource correctness without compromising existing functional abstractions

    Dynamic X10. Resource-Aware Programming for Higher Efficiency

    Get PDF

    A trustworthy framework for resource-aware embedded programming

    Get PDF
    Funding: EU Horizon 2020 project, TeamPlay (https://www.teamplay-h2020.eu), grant number 779882; UK EPSRC Discovery, grant number EP/P020631/1.Systems with non-functional requirements, such as Energy, Time and Security (ETS), are of increasing importance due to the proliferation of embedded devices with limited resources such as drones, wireless sensors, and tablet computers. Currently, however, there are little to no programmer supported methodologies or frameworks to allow them to reason about ETS properties in their source code. Drive is one such existing framework supporting the developer by lifting non-functional properties to the source-level through the Contract Specification Language (CSL), allowing non-functional properties to be first-class citizens, and supporting programmer-written code-level contracts to guarantee the non-functional specifications of the program are met. In this paper, we extend the Drive system by providing rigorous implementations of the underlying proof-engine, modeling the specification of the annotations and assertions from CSL for a representative subset of C, called Imp. We define both an improved abstract interpretation that automatically derives proofs of assertions, and define inference algorithms for the derivation of both abstract interpretations and the context over which the interpretation is indexed. We use the dependently-typed programming language, Idris, to give a formal definition, and implementation, of our abstract interpretation. Finally, we show our well-formed abstract interpretation over some representative exemplars demonstrating provable assertions of ETS.Postprin

    A framework for implementing formally verified resource-bounded smart space systems

    Get PDF
    © 2017, Springer Science+Business Media New York. Context-aware computing is a mobile computing paradigm that helps designing and implementing next generation smart applications, where personalized devices interact with users in smart environments. Development of such applications is inherently complex due to these applications adapt to changing contextual information and they often run on resource-bounded devices. Most of the existing context-aware development frameworks are centralized, adopt client–server architecture, and do not consider resource limitations of context-aware devices. This paper presents a systematic framework to modelling and implementation of resource-bounded multi-agent context-aware systems on Android devices. The proposed framework makes use of semantic technologies for context modelling and reasoning about resource-bounded context-aware agents, Android powered smartphones as development platform, a suitable communication model and declarative rule-based programming as a preferred development language

    Distributed Interference-Aware Energy-Efficient Resource Allocation for Device-to-Device Communications Underlaying Cellular Networks

    Full text link
    The introduction of device-to-device (D2D) into cellular networks poses many new challenges in the resource allocation design due to the co-channel interference caused by spectrum reuse and limited battery life of user equipments (UEs). In this paper, we propose a distributed interference-aware energy-efficient resource allocation algorithm to maximize each UE's energy efficiency (EE) subject to its specific quality of service (QoS) and maximum transmission power constraints. We model the resource allocation problem as a noncooperative game, in which each player is self-interested and wants to maximize its own EE. The formulated EE maximization problem is a non-convex problem and is transformed into a convex optimization problem by exploiting the properties of the nonlinear fractional programming. An iterative optimization algorithm is proposed and verified through computer simulations.Comment: 6 pages, 3 figures, IEEE GLOBECOM 201

    On Reliability-Aware Server Consolidation in Cloud Datacenters

    Full text link
    In the past few years, datacenter (DC) energy consumption has become an important issue in technology world. Server consolidation using virtualization and virtual machine (VM) live migration allows cloud DCs to improve resource utilization and hence energy efficiency. In order to save energy, consolidation techniques try to turn off the idle servers, while because of workload fluctuations, these offline servers should be turned on to support the increased resource demands. These repeated on-off cycles could affect the hardware reliability and wear-and-tear of servers and as a result, increase the maintenance and replacement costs. In this paper we propose a holistic mathematical model for reliability-aware server consolidation with the objective of minimizing total DC costs including energy and reliability costs. In fact, we try to minimize the number of active PMs and racks, in a reliability-aware manner. We formulate the problem as a Mixed Integer Linear Programming (MILP) model which is in form of NP-complete. Finally, we evaluate the performance of our approach in different scenarios using extensive numerical MATLAB simulations.Comment: International Symposium on Parallel and Distributed Computing (ISPDC), Innsbruck, Austria, 201

    Verification of Java Bytecode using Analysis and Transformation of Logic Programs

    Full text link
    State of the art analyzers in the Logic Programming (LP) paradigm are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, bounds on resource consumption, etc. The aim of this work is to automatically transfer the power of such analysis tools for LP to the analysis and verification of Java bytecode (JVML). In order to achieve our goal, we rely on well-known techniques for meta-programming and program specialization. More precisely, we propose to partially evaluate a JVML interpreter implemented in LP together with (an LP representation of) a JVML program and then analyze the residual program. Interestingly, at least for the examples we have studied, our approach produces very simple LP representations of the original JVML programs. This can be seen as a decompilation from JVML to high-level LP source. By reasoning about such residual programs, we can automatically prove in the CiaoPP system some non-trivial properties of JVML programs such as termination, run-time error freeness and infer bounds on its resource consumption. We are not aware of any other system which is able to verify such advanced properties of Java bytecode
    • …
    corecore