649 research outputs found

    A reconfigurable component-based problem solving environment

    Get PDF
    ©2001 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.Problem solving environments are an attractive approach to the integration of calculation and management tools for various scientific and engineering applications. These applications often require high performance computing components in order to be computationally feasible. It is therefore a challenge to construct integration technology, suitable for problem solving environments, that allows both flexibility as well as the embedding of parallel and high performance computing systems. Our DISCWorld system is designed to meet these needs and provides a Java-based middleware to integrate component applications across wide-area networks. Key features of our design are the abilities to: access remotely stored data; compose complex processing requests either graphically or through a scripting language; execute components on heterogeneous and remote platforms; reconfigure task sub-graphs to run across multiple servers. Operators in task graphs can be slow (but portable) “pure Java” implementations or wrappers to fast (platform specific) supercomputer implementations.K. Hawick, H. James, P. Coddingto

    Exploring low-carbon futures: A web service approach to linking diverse climate-energy-economy models

    Get PDF
    © 2019 by the authors. The use of simulation models is essential when exploring transitions to low-carbon futures and climate change mitigation and adaptation policies. There are many models developed to understand socio-environmental processes and interactions, and analyze alternative scenarios, but hardly one single model can serve all the needs. There is much expectation in climate-energy research that constructing new purposeful models out of existing models used as building blocks can meet particular needs of research and policy analysis. Integration of existing models, however, implies sophisticated coordination of inputs and outputs across different scales, definitions, data and software. This paper presents an online integration platform which links various independent models to enhance their scope and functionality. We illustrate the functionality of this web platform using several simulation models developed as standalone tools for analyzing energy, climate and economy dynamics. The models differ in levels of complexity, assumptions, modeling paradigms and programming languages, and operate at different temporal and spatial scales, from individual to global. To illustrate the integration process and the internal details of our integration framework we link an Integrated Assessment Model (GCAM), a Computable General Equilibrium model (EXIOMOD), and an Agent Based Model (BENCH). This toolkit is generic for similar integrated modeling studies. It still requires extensive pre-integration assessment to identify the ‘appropriate’ models and links between them. After that, using the web service approach we can streamline module coupling, enabling interoperability between different systems and providing open access to information for a wider community of users

    Run-time Variability with First-class Contexts

    Get PDF
    Software must be regularly updated to keep up with changing requirements. Unfortunately, to install an update, the system must usually be restarted, which is inconvenient and costly. In this dissertation, we aim at overcoming the need for restart by enabling run-time changes at the programming language level. We argue that the best way to achieve this goal is to improve the support for encapsulation, information hiding and late binding by contextualizing behavior. In our approach, behavioral variations are encapsulated into context objects that alter the behavior of other objects locally. We present three contextual language features that demonstrate our approach. First, we present a feature to evolve software by scoping variations to threads. This way, arbitrary objects can be substituted over time without compromising safety. Second, we present a variant of dynamic proxies that operate by delegation instead of forwarding. The proxies can be used as building blocks to implement contextualization mechanisms from within the language. Third, we contextualize the behavior of objects to intercept exchanges of references between objects. This approach scales information hiding from objects to aggregates. The three language features are supported by formalizations and case studies, showing their soundness and practicality. With these three complementary language features, developers can easily design applications that can accommodate run-time changes

    Early growth technology analysis : case studies in solar energy and geothermal energy

    Get PDF
    Thesis (S.M. in Technology and Policy)--Massachusetts Institute of Technology, Engineering Systems Division, Technology and Policy Program, 2010.Cataloged from PDF version of thesis.Includes bibliographical references (p. 85-87).Public and private organizations try to forecast the future of technological developments and allocate funds accordingly. Based on our interviews with experts from MIT's Entrepreneurship Center, Sloan School of Management, and IBM, and review of literature, we found out that this important fund allocation process is dominated by reliance on expert opinions, which has important drawbacks alongside its advantages. In this Thesis, we introduce a data-driven approach, called early growth technology analysis, to technology forecasting that utilizes diverse information sources to analyze the evolution of promising new technologies. Our approach is based on bibliometric analysis, consisting of three key steps: extraction of related keywords from online publication databases, determining the occurrence frequencies of these keywords, and identifying those exhibiting rapid growth. Our proposal goes beyond the theoretical level, and is embodied in software that collects the required inputs from the user through a visual interface, extracts data from web sites on the fly, performs an analysis on the collected data, and displays the results. Compared to earlier software within our group, the new interface offers a much improved user experience in performing the analysis. Although these methods are applicable to any domain of study, this Thesis presents results from case studies on the fields of solar and geothermal energy. We identified emerging technologies in these specific fields to test the viability of our results. We believe that data-driven approaches, such as the one proposed in this Thesis, will increasingly be used by policy makers to complement, verify, and validate expert opinions in mapping practical goals into basic/applied research areas and coming up with technology investment decisions.by Ayse Kaya Firat.S.M.in Technology and Polic

    Oz/K: A Kernel Language for Component-Based Open Programming

    Get PDF
    International audienceProgramming in an open environment remains challenging because it requires combining modularity, security, concurrency, distribution, and dynamicity. In this paper, we propose an approach to open distributed programming that exploits the notion of locality, which has been used in the past decade as a basis for several distributed process calculi such as Mobile Ambients, Dπ, and Seal. We use the locality concept as a form of component that serves as a unit of modularity, of isolation, and of passivation. Specifically, we introduce in this paper OZ/K, a kernel programming language, that adds to the OZ computation model a notion of locality borrowed from the Kell calculus. We present an operational semantics for the language and several examples to illustrate how OZ/K supports open distributed programming

    Adaptive object management for distributed systems

    Get PDF
    This thesis describes an architecture supporting the management of pluggable software components and evaluates it against the requirement for an enterprise integration platform for the manufacturing and petrochemical industries. In a distributed environment, we need mechanisms to manage objects and their interactions. At the least, we must be able to create objects in different processes on different nodes; we must be able to link them together so that they can pass messages to each other across the network; and we must deliver their messages in a timely and reliable manner. Object based environments which support these services already exist, for example ANSAware(ANSA, 1989), DEC's Objectbroker(ACA,1992), Iona's Orbix(Orbix,1994)Yet such environments provide limited support for composing applications from pluggable components. Pluggability is the ability to install and configure a component into an environment dynamically when the component is used, without specifying static dependencies between components when they are produced. Pluggability is supported to a degree by dynamic binding. Components may be programmed to import references to other components and to explore their interfaces at runtime, without using static type dependencies. Yet thus overloads the component with the responsibility to explore bindings. What is still generally missing is an efficient general-purpose binding model for managing bindings between independently produced components. In addition, existing environments provide no clear strategy for dealing with fine grained objects. The overhead of runtime binding and remote messaging will severely reduce performance where there are a lot of objects with complex patterns of interaction. We need an adaptive approach to managing configurations of pluggable components according to the needs and constraints of the environment. Management is made difficult by embedding bindings in component implementations and by relying on strong typing as the only means of verifying and validating bindings. To solve these problems we have built a set of configuration tools on top of an existing distributed support environment. Specification tools facilitate the construction of independent pluggable components. Visual composition tools facilitate the configuration of components into applications and the verification of composite behaviours. A configuration model is constructed which maintains the environmental state. Adaptive management is made possible by changing the management policy according to this state. Such policy changes affect the location of objects, their bindings, and the choice of messaging system

    Software Engineering Laboratory Series: Proceedings of the Twenty-Second Annual Software Engineering Workshop

    Get PDF
    The Software Engineering Laboratory (SEL) is an organization sponsored by NASA/GSFC and created to investigate the effectiveness of software engineering technologies when applied to the development of application software. The activities, findings, and recommendations of the SEL are recorded in the Software Engineering Laboratory Series, a continuing series of reports that includes this document

    GNU epsilon - an extensible programming language

    Full text link
    Reductionism is a viable strategy for designing and implementing practical programming languages, leading to solutions which are easier to extend, experiment with and formally analyze. We formally specify and implement an extensible programming language, based on a minimalistic first-order imperative core language plus strong abstraction mechanisms, reflection and self-modification features. The language can be extended to very high levels: by using Lisp-style macros and code-to-code transforms which automatically rewrite high-level expressions into core forms, we define closures and first-class continuations on top of the core. Non-self-modifying programs can be analyzed and formally reasoned upon, thanks to the language simple semantics. We formally develop a static analysis and prove a soundness property with respect to the dynamic semantics. We develop a parallel garbage collector suitable to multi-core machines to permit efficient execution of parallel programs.Comment: 172 pages, PhD thesi
    corecore