54,858 research outputs found

    Advances in the Design and Implementation of a Multi-Tier Architecture in the GIPSY Environment

    Get PDF
    We present advances in the software engineering design and implementation of the multi-tier run-time system for the General Intensional Programming System (GIPSY) by further unifying the distributed technologies used to implement the Demand Migration Framework (DMF) in order to streamline distributed execution of hybrid intensional-imperative programs using Java.Comment: 11 pages, 3 figure

    Towards a multi-tier runtime system for GIPSY

    Get PDF
    Intensional programming implies declarative programming, in the sense of Lucid, based on denotational semantics where the declarations are evaluated in an inherent multi-dimensional context space. The General Intensional Programming System (GIPSY) is a hybrid multi-language programming platform and a demand-driven execution environment. GIPSY aims at the long-term investigation into the possibilities of Intensional Programming. The GIPSY's compiler, GIPC, is based on the notion of Generic Intensional Programming Language (GIPL) which solved the problem of language-independence of the runtime system by allowing a common representation for all compiled programs, the Generic Eduction Engine Resources (GEER). In this thesis, we discuss the solution to GIPSY's Runtime System. The Multi-Tier framework which consists of Demand Generator Tier (DGT), Demand Store Tier (DST) and Demand Worker Tier (DWT), offers demand-driven, distributed execution and technology independent manners by integrating the previous research on the demand migration middle-ware implemented by Jini and Java Message Service (JMS

    SafeWeb: A Middleware for Securing Ruby-Based Web Applications

    Get PDF
    Web applications in many domains such as healthcare and finance must process sensitive data, while complying with legal policies regarding the release of different classes of data to different parties. Currently, software bugs may lead to irreversible disclosure of confidential data in multi-tier web applications. An open challenge is how developers can guarantee these web applications only ever release sensitive data to authorised users without costly, recurring security audits. Our solution is to provide a trusted middleware that acts as a “safety net” to event-based enterprise web applications by preventing harmful data disclosure before it happens. We describe the design and implementation of SafeWeb, a Ruby-based middleware that associates data with security labels and transparently tracks their propagation at different granularities across a multi-tier web architecture with storage and complex event processing. For efficiency, maintainability and ease-of-use, SafeWeb exploits the dynamic features of the Ruby programming language to achieve label propagation and data flow enforcement. We evaluate SafeWeb by reporting our experience of implementing a web-based cancer treatment application and deploying it as part of the UK National Health Service (NHS)

    A Novel Cross Entropy Approach for Offloading Learning in Mobile Edge Computing

    Get PDF
    In this letter, we propose a novel offloading learning approach to compromise energy consumption and latency in a multi-tier network with mobile edge computing. In order to solve this integer programming problem, instead of using conventional optimization tools, we apply a cross entropy approach with iterative learning of the probability of elite solution samples. Compared to existing methods, the proposed one in this network permits a parallel computing architecture and is verified to be computationally very efficient. Specifically, it achieves performance close to the optimal and performs well with different choices of the values of hyperparameters in the proposed learning approach

    A Polymorphic RPC Calculus

    Get PDF
    The RPC calculus is a simple semantic foundation for multi-tier programming languages such as Links in which located functions can be written for the client-server model. Subsequently, the typed RPC calculus is designed to capture the location information of functions by types and to drive location type-directed slicing compilations. However, the use of locations is currently limited to monomorphic ones, which is one of the gaps to overcome to put into practice the theory of RPC calculi for client-server model. This paper proposes a polymorphic RPC calculus to allow programmers to write succinct multi-tier programs using polymorphic location constructs. Then the polymorphic multi-tier programs can be automatically translated into programs only containing location constants amenable to the existing slicing compilation methods. We formulate a type system for the polymorphic RPC calculus, and prove its type soundness. Also, we design a monomorphization translation together with proofs on its type and semantic correctness for the translation.Comment: SBMF-Brazilian Symposium on Formal Methods 201

    Scalability Evaluation of the GIPSY Runtime System

    Get PDF
    Intensional programming is a declarative programming paradigm that is suitable for scientific programming since it allows natural expression of equations regarding multidimensional objects or concepts evolving in a multidimensional context so that the simplicity of these equations are kept. The General Intensional Programming System (GIPSY) project aims at providing a software platform for the long-term investigation of intensional programming. The GIPSY consists of a flexible compiler and a scalable runtime system, where the compiler translates any flavor of intensional program into source-language independent runtime resources, and the runtime system uses the runtime resources to execute the program in a demand-driven and distributed manner, i.e. computation requirements are wrapped into demands and are distributed among networked computers, so that the computations can be executed distributively and concurrently to shorten their overall computation time. The multi-tier architecture adopted for the GIPSY runtime system is for research goals such as scalability. It consists of the Demand Generator Tier that generates demands, the Demand Store Tier that stores and dispatches demands, as well as the Demand Worker Tier that computes demands. All the tiers are allocated in registered computers called the GIPSY nodes, and all the GIPSY nodes and tiers are under the management of the General Manager Tier, with which new nodes can be registered and new tiers can be allocated at runtime to deal with increasing workload. This thesis covers the development of the scalable GIPSY runtime system using the multi-tier architecture, and presents the assessment of the scalability of the developed GIPSY runtime system

    Hybrid Stochastic Synapses Enabled by Scaled Ferroelectric Field-effect Transistors

    Full text link
    Achieving brain-like density and performance in neuromorphic computers necessitates scaling down the size of nanodevices emulating neuro-synaptic functionalities. However, scaling nanodevices results in reduction of programming resolution and emergence of stochastic non-idealities. While prior work has mainly focused on binary transitions, in this work we leverage the stochastic switching of a three-state ferroelectric field effect transistor (FeFET) to implement a long-term and short-term 2-tier stochastic synaptic memory with a single device. Experimental measurements are performed on a scaled 28nm high-kk metal gate technology-based device to develop a probabilistic model of the hybrid stochastic synapse. In addition to the advantage of ultra-low programming energies afforded by scaling, our hardware-algorithm co-design analysis reveals the efficacy of the 2-tier memory in comparison to binary stochastic synapses in on-chip learning tasks -- paving the way for algorithms exploiting multi-state devices with probabilistic transitions beyond deterministic ones
    corecore