402 research outputs found

    A high-order language for a system of closely coupled processing elements

    Get PDF
    The research reported in this paper was occasioned by the requirements on part of the Real-Time Digital Simulator (RTDS) project under way at NASA Lewis Research Center. The RTDS simulation scheme employs a network of CPUs running lock-step cycles in the parallel computations of jet airplane simulations. Their need for a high order language (HOL) that would allow non-experts to write simulation applications and that could be implemented on a possibly varying network can best be fulfilled by using the programming language Ada. We describe how the simulation problems can be modeled in Ada, how to map a single, multi-processing Ada program into code for individual processors, regardless of network reconfiguration, and why some Ada language features are particulary well-suited to network simulations

    CICERO RD38: a distributed information system for HEP controls

    Get PDF

    An Efficient Run-Time System for Concurrent Programming Language

    Get PDF
    Our objective is to construct a Run-time System for Erasmus. Software systems nowadays are becoming very complex, so the last thing a programmer would want to do is to worry about the internal management of communication. We describe a system that provides Erasmus with a well-defined level of abstraction. This run-time system also provides processes with independence, which means that no two processes know each others' location. Erasmus is a process oriented concurrent programming language being developed by Peter Grogono at Concordia University and Brian Shearing at The Software Factory in England. Erasmus is based mainly on cells, processes, and their interactions through message passing. For every cell there will be a manager to initiate the communication and also to route the communication, whether it is local or remote. Programmers should only be deciding which kind of data they want to send and the rest will be taken care by the run-time system. For communication within a cell, channels with local communication methods will be used; for communication over the network or on different processors, a broker with remote communication methods will complete the communication link. There is also a separate protocol for a manager process to decide between local and remote communication. This thesis discusses in detail the issues related to process independence. It also explains how processes can be separated from the communication protocols. This run-time system will provide software of greater simplicity and fewer irrelevant details

    A multi-agent approach for design consistency checking

    Get PDF
    The last decade has seen an explosion of interest to advanced product development methods, such as Computer Integrated Manufacture, Extended Enterprise and Concurrent Engineering. As a result of the globalization and future distribution of design and manufacturing facilities, the cooperation amongst partners is becoming more challenging due to the fact that the design process tends to be sequential and requires communication networks for planning design activities and/or a great deal of travel to/from designers' workplaces. In a virtual environment, teams of designers work together and use the Internet/Intranet for communication. The design is a multi-disciplinary task that involves several stages. These stages include input data analysis, conceptual design, basic structural design, detail design, production design, manufacturing processes analysis, and documentation. As a result, the virtual team, normally, is very changeable in term of designers' participation. Moreover, the environment itself changes over time. This leads to a potential increase in the number of design. A methodology of Intelligent Distributed Mismatch Control (IDMC) is proposed to alleviate some of the related difficulties. This thesis looks at the Intelligent Distributed Mismatch Control, in the context of the European Aerospace Industry, and suggests a methodology for a conceptual framework based on a multi-agent architecture. This multi-agent architecture is a kernel of an Intelligent Distributed Mismatch Control System (IDMCS) that aims at ensuring that the overall design is consistent and acceptable to all participating partners. A Methodology of Intelligent Distributed Mismatch Control is introduced and successfully implemented to detect design mismatches in complex design environments. A description of the research models and methods for intelligent mismatch control, a taxonomy of design mismatches, and an investigation into potential applications, such as aerospace design, are presented. The Multi-agent framework for mismatch control is developed and described. Based on the methodology used for the IDMC application, a formal framework for a multi-agent system is developed. The Methods and Principles are trialed out using an Aerospace Distributed Design application, namely the design of an A340 wing box. The ontology of knowledge for agent-based Intelligent Distributed Mismatch Control System is introduced, as well as the distributed collaborative environment for consortium based projects

    ConDRust: Scalable Deterministic Concurrency from Verifiable Rust Programs

    Get PDF
    SAT/SMT-solvers and model checkers automate formal verification of sequential programs. Formal reasoning about scalable concurrent programs is still manual and requires expert knowledge. But scalability is a fundamental requirement of current and future programs. Sequential imperative programs compose statements, function/method calls and control flow constructs. Concurrent programming models provide constructs for concurrent composition. Concurrency abstractions such as threads and synchronization primitives such as locks compose the individual parts of a concurrent program that are meant to execute in parallel. We propose to rather compose the individual parts again using sequential composition and compile this sequential composition into a concurrent one. The developer can use existing tools to formally verify the sequential program while the translated concurrent program provides the dearly requested scalability. Following this insight, we present ConDRust, a new programming model and compiler for Rust programs. The ConDRust compiler translates sequential composition into a concurrent composition based on threads and message-passing channels. During compilation, the compiler preserves the semantics of the sequential program along with much desired properties such as determinism. Our evaluation shows that our ConDRust compiler generates concurrent deterministic code that can outperform even non-deterministic programs by up to a factor of three for irregular algorithms that are particularly hard to parallelize

    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

    A semi-formal comparison between the Common Object Request Broker Architecture (COBRA) and the Distributed Component Object Model (DCOM)

    Get PDF
    The way in which application systems and software are built has changed dramatically over the past few years. This is mainly due to advances in hardware technology, programming languages, as well as the requirement to build better software application systems in less time. The importance of mondial (worldwide) communication between systems is also growing exponentially. People are using network-based applications daily, communicating not only locally, but also globally. The Internet, the global network, therefore plays a significant role in the development of new software. Distributed object computing is one of the computing paradigms that promise to solve the need to develop clienVserver application systems, communicating over heterogeneous environments. This study, of limited scope, concentrates on one crucial element without which distributed object computing cannot be implemented. This element is the communication software, also called middleware, which allows objects situated on different hardware platforms to communicate over a network. Two of the most important middleware standards for distributed object computing today are the Common Object Request Broker Architecture (CORBA) from the Object Management Group, and the Distributed Component Object Model (DCOM) from Microsoft Corporation. Each of these standards is implemented in commercially available products, allowing distributed objects to communicate over heterogeneous networks. In studying each of the middleware standards, a formal way of comparing CORBA and DCOM is presented, namely meta-modelling. For each of these two distributed object infrastructures (middleware), meta-models are constructed. Based on this uniform and unbiased approach, a comparison of the two distributed object infrastructures is then performed. The results are given as a set of tables in which the differences and similarities of each distributed object infrastructure are exhibited. By adopting this approach, errors caused by misunderstanding or misinterpretation are minimised. Consequently, an accurate and unbiased comparison between CORBA and DCOM is made possible, which constitutes the main aim of this dissertation.ComputingM. Sc. (Computer Science
    • …
    corecore