14 research outputs found

    Базовый синтаксис языка разметки Templet для представления модели «процесс-сообщение»

    Get PDF

    Type driven development of concurrent communicating systems

    Get PDF
    This work was kindly supported by SICSA (the Scottish Informatics and Computer Science Alliance) and EPSRC grant EP/N024222/1 (Type-driven Verification of Communicating Systems).Modern software systems rely on communication, for example mobile applications communicating with a central server, distributed systems coordinating a telecommunications network, or concurrent systems handling events and processes in a desktop application. However, reasoning about concurrent programs is hard, since we must reason about each process and the order in which communication might happen between processes. In this paper, I describe a type-driven approach to implementing communicating concurrent programs, using the dependently typed programming language Idris. I show how the type system can be used to describe resource access protocols (such as controlling access to a file handle) and verify that programs correctly follow those protocols. Finally, I show how to use the type system to reason about the order of communication between concurrent processes, ensuring that each end of a communication channel follows a defined protocol.Publisher PDFPeer reviewe

    Templet: a markup language for concurrent programming

    Get PDF
    The article presents a markup domain-specific language (DSL) for concurrent programming. Runtime libraries and language extensions are the usual ways to implement parallel execution. However, their using often require a special programming skills. The modern languages with build-in parallel constructs are more convenient for programming, but they are poorly integrated with existing high performance computing infrastructure. We propose a compromise solution which uses DSL together with C++ programming language. The article discusses syntax, programming model, and some practical applications of the language

    A disk based stream oriented approach for storing big data

    Full text link
    Abstract—This paper proposes an extension to the generally accepted definition of Big Data and from this extended definition proposes a specialized database design for storing high through-put data from low-latency sources. It discusses the challenges a financial company faces with regards to processing and storing data and how existing database technologies are unsuitable for this niche task. A prototype database called CakeDB is built using a stream oriented, disk based storage design and insert throughput tests are conducted to demonstrate how effectively such a design would handle high throughput data as per the use case. I

    RESTful PUBLISH/SUBSCRIBE FRAMEWORK FOR MOBILE DEVICES

    Get PDF
    The growing popularity of mobile platforms is changing the Internet user’s computing experience. Current studies suggest that the traditional ubiquitous computing landscape is shifting towards more enhanced and broader mobile computing platform consists of large number of heterogeneous devices. Smartphones and tablets begin to replace the desktop as the primary means of interacting with IT resources. While mobile devices facilitate in consuming web resources in the form of web services, the growing demand for consuming services on mobile device is introducing a complex ecosystem in the mobile environment. This research addresses the communication challenges involved in mobile distributed networks and proposes an event-driven communication approach for information dissemination. This research investigates different communication techniques such as synchronous and asynchronous polling and long-polling, server-side push as mechanisms between client-server interactions and the latest web technologies namely HTML5 standard WebSocket as communication protocol within a publish/subscribe paradigm. Finally, this research introduces and evaluates a framework that is hybrid of REST and event-based publish/subscribe for operating in the mobile environment
    corecore