33,145 research outputs found
Recommended from our members
A modular foreign function interface
Foreign function interfaces are typically organised monolithically, tying together the of each foreign function with the used to make the function available in the host language. This leads to inflexible systems, where switching from one binding mechanism to another (say from dynamic binding to static code generation) often requires changing tools and rewriting large portions of code.
We show that ML-style module systems support exactly the kind of abstraction needed to separate these two aspects of a foreign function binding, leading to declarative foreign function bindings that support switching between a wide variety of binding mechanisms â static and dynamic, synchronous and asynchronous, etc. â with no changes to the function specifications.
Note. This is a revised and expanded version of an earlier paper, This paper brings a greater focus on modularity, and adds new sections on error handling, and on the practicality of the approach we describe
Recommended from our members
Modular HLA RTI services: The GRIDS approach
The Generic Runtime Infrastructure for Distributed Simulation (GRIDS) has been developed to investigate modularity issues in distributed simulation. It could be argued that although the HLA RTI is a widespread solution to distributed simulation, it cannot include all possible services. This paper investigates an approach to extending the distributed simulation services available in the HLA RTI. One example of this is bridging support for HLA/DIS legacy integration. This paper therefore presents GRIDS, how GRIDS can be used to provide modular service support for the HLA RTI, and a case study on legacy integration to demonstrate our approach
Functional programming languages for verification tools: experiences with ML and Haskell
We compare Haskell with ML as programming languages for verification tools, based on our experience developing TRUTH in Haskell and the Edinburgh Concurrency Workbench (CWB) in ML. We discuss not only technical language features but also the "worlds" of the languages, for example, the availability of tools and libraries
A multiphysics and multiscale software environment for modeling astrophysical systems
We present MUSE, a software framework for combining existing computational
tools for different astrophysical domains into a single multiphysics,
multiscale application. MUSE facilitates the coupling of existing codes written
in different languages by providing inter-language tools and by specifying an
interface between each module and the framework that represents a balance
between generality and computational efficiency. This approach allows
scientists to use combinations of codes to solve highly-coupled problems
without the need to write new codes for other domains or significantly alter
their existing codes. MUSE currently incorporates the domains of stellar
dynamics, stellar evolution and stellar hydrodynamics for studying generalized
stellar systems. We have now reached a "Noah's Ark" milestone, with (at least)
two available numerical solvers for each domain. MUSE can treat multi-scale and
multi-physics systems in which the time- and size-scales are well separated,
like simulating the evolution of planetary systems, small stellar associations,
dense stellar clusters, galaxies and galactic nuclei.
In this paper we describe three examples calculated using MUSE: the merger of
two galaxies, the merger of two evolving stars, and a hybrid N-body simulation.
In addition, we demonstrate an implementation of MUSE on a distributed computer
which may also include special-purpose hardware, such as GRAPEs or GPUs, to
accelerate computations. The current MUSE code base is publicly available as
open source at http://muse.liComment: 24 pages, To appear in New Astronomy Source code available at
http://muse.l
The system architecture of the Pocket Companion
In the Moby Dick project we design the architecture of a so-called Pocket Companion. It is a small personal portable computer with wireless communication facilities for every day use. The typical use of the Pocket Companion induces a number of requirements concerning security, performance, energy consumption, communication and size. We have shown that these requirements are interrelated and can only be met optimal with one single architecture. The Pocket Companion architecture consists of a central switch with a security module surrounded by several modules. The Pocket Companion is a personal machine. Communication, and particularly wireless communication, is essential for the system to support electronic transactions. Such a system requires a good security infrastructure not only for safeguarding personal data, but also to allow safe (financial) transactions. The integration of a security module in the Pocket Companion architecture provides the basis for a secure environment.\ud
Because battery life is limited and battery weight is an important factor for the size and the weight of the Pocket Companion, energy consumption plays a crucial role in the architecture. An important theme of the architecture is: enough performance for minimal energy consumption
Between Internationalisation and Proximity: the internationalisation process of automotive first tier suppliers
The paper analyses the strategies of internationalization pursued by first tier automotive suppliers (FTS). The advent of modular production in this sector implies many changes in vertical relationships, which can in turn be used to explain the causes and forms of suppliersâ internationalization. The paper tries to explain internationalization patterns via an analytical grid wherein proximity needs are portrayed as a function of the complexity and exclusivity of inter-firm interactions. The argument applied in this article is broken down into three sections: the first reconsiders the transformations induced by modularization; the second presents some stylized facts about the internationalization of FTS; and the third part both presents an analytical grid and derives its implications in terms of location of suppliers.Internationalisation; Modularity; Industrial Geography; Vertical Relationships; First Tier Suppliers; Automotive
Integrating CLIPS applications into heterogeneous distributed systems
SOCIAL is an advanced, object-oriented development tool for integrating intelligent and conventional applications across heterogeneous hardware and software platforms. SOCIAL defines a family of 'wrapper' objects called agents, which incorporate predefined capabilities for distributed communication and control. Developers embed applications within agents and establish interactions between distributed agents via non-intrusive message-based interfaces. This paper describes a predefined SOCIAL agent that is specialized for integrating C Language Integrated Production System (CLIPS)-based applications. The agent's high-level Application Programming Interface supports bidirectional flow of data, knowledge, and commands to other agents, enabling CLIPS applications to initiate interactions autonomously, and respond to requests and results from heterogeneous remote systems. The design and operation of CLIPS agents are illustrated with two distributed applications that integrate CLIPS-based expert systems with other intelligent systems for isolating and mapping problems in the Space Shuttle Launch Processing System at the NASA Kennedy Space Center
- âŠ