1,329 research outputs found

    A Shared Dataspace Model of Concurrency -- Language and Programming Implications

    Get PDF
    The term shared dataspace refers to the general class of models and languages in which the principal means of communication is a common, content-addressable data structure called a dataspace. Swarm is a simple language we have used as a vehicle for the investigation of the shared dataspace approach to concurrent computation. This paper reports on the progress we have made toward the development of a formal operational model for Swarm and a few of the language and programming implications of the model. The paper has four parts: an overview of the Swarm language, a presentation of a formal operational model, an examination of Swarm programming strategies via a series of related example programs, and a discussion of the distinctive features of the shared dataspace model

    A UNITY-Style Programming Logic for a Shared Dataspace Language

    Get PDF
    The term shared dataspace refers to the general class of programming languages in which the principal means of communication among the concurrent components of programs is a common, content-addressable data structure called a dataspace. In the programming language and artificial intelligence communities, there is considerable interest in such languages, e.g., logic-based languages, production rule systems, and the Linda language. However, these languages have not been the subject extensive program verification research. This paper specifies a proof system for the shared dataspace language Swarm - a proof system similar in style to that of UNITY. The paper then uses the proof system to reason about two different solutions to the problem of labelling the connection equal-intensity regions of the digital image

    Toward Formal Verification of Rule-Based Systems: A Shared Dataspace Perspective

    Get PDF
    Rule-based programs used in mission- and safety-critical applications need to be shown to be free of hazards. This paper discusses formal proof-techniques which promise to assist designers in this task. In this paper we show that the shared dataspace language Swarm has many key features in common with rule-based languages. We outline an assertional programming logic for Swarm programs and use the logic to reason about the correctness of a simple program. This logic is a suitable foundation for the development of techniques specific to present and future rule-based languages

    Unity-Style Proofs for Shared Dataspace Programs Using Dynamic Statements

    Get PDF
    The term shared dataspace refers to the general class of programming languages in which the principal means of communication among the concurrent components of programs is a common, content-addressable data structure called a dataspace. In the programming language and artificial intelligence communities, there is considerable interest in such languages, e.g. logic-based languages, production rule systems, and the Linda language. However, these languages have not been the subject of extensive program verification research. This paper specifies a proof system for a shared dataspace programming notation called Swarm-- a program logic similar in style to that of UNITY. The paper then uses the logic to reason about a solution to the problem of labeling the connected equal-intensity regions of a digital image

    The Synchronic Group: A Concurrent Programming Concept and Its Proof Logic

    Get PDF
    Swarm is a computational model which extends UNITY in three important ways: (1) UNITY\u27s fixed set of variables is replaced by an unbounded set of tuples which are addressed by content rather than by name; (2) UNITY\u27s static set of statements is replaced by a dynamic set of transactions; and (3) UNITY\u27s static II-composition is augmented by dynamic coupling of transactions into synchronic groups. This paper overviews the Swarm model, introduced the synchronic group concept, and illustrates their use in the expression of dynamically structured programs. A UNITY-style programming logic is given for SWARM, the first axiomatic proof system for a shared database language

    The Synchronic Group: A Concurrent Programming Concept and its Proof Logic

    Get PDF
    Swarm is a computational model which extends the UNITY-model in three important ways: (1) UNITY\u27s fixed set of variables is replaced by an unbounded set of tuples which are addressed by content rather than by name; (2) UNITY\u27s static set of statements is replaced by a dynamic set of transactions; and (3) UNITY\u27s static ||-composition is augmented by dynamic coupling of transactions into synchronic groups. Taking advantage of the similarities of the Swarm and UNITY computational models, we have developed a programming logic for Swarm and UNITY computational models, we have developed a programming logic for Swarm which is similar in style to that UNITY. The Swarm logic uses the same logical relations as UNITY, but the definitions of the relations have been generalized to handle the dynamic nature of Swarm, i.e. dynamically created transactions and the synchrony relations. The Swarm programming logic is the first axiomatic proof system for a shared dataspace language, i.e. a language in which communication is accomplished via a shared content-addressable data structure. To our knowledge, no axiomatic-style proof systems have been published for Linda, a production rule language, or any other shared dataspace language

    Mixed Programming Metaphors in a Shared Dataspace Model of Concurrency

    Get PDF
    The term shared dataspace refers to the general class of models and languages in which the principal means of communication is a common, content-addressable data structure called a dataspace. Swarm is a simple language we have used as a vehicle for the investigation of the shared dataspace approach to concurrent computation. It is the first shared dataspace language to have an associated assertional-style proof system. An important feature of Swarm is its ability to bring a variety of programming paradigms under a single, unified model. In a series of related examples we explore Swarm\u27s capacity to express shared-variable, message-passing, and rule-based computations; to specify synchronous and asynchronous processing models; and to accommodate highly dynamic program and data structures. Several illustrations make use of a programming construct unique to Swarm, the synchrony relation, and explain how this feature can be used to construct dynamically structured, partially synchronous computation. The paper has three parts: an overview the Swarm programming notation, an examination of Swarm programming strategies via a series of related example programs, and a discussion of the distinctive features of the shared dataspace model. A formal operational model for Swarm is presented in an appendix

    Phonon lasing from optical frequency comb illumination of a trapped ion

    Full text link
    An atomic transition can be addressed by a single tooth of an optical frequency comb if the excited state lifetime (τ\tau) is significantly longer than the pulse repetition period (TrT_\mathrm{r}). In the crossover regime between fully-resolved and unresolved comb teeth (τ⪅Tr\tau \lessapprox T_\mathrm{r}), we observe Doppler cooling of a pre-cooled trapped atomic ion by a single tooth of a frequency-doubled optical frequency comb. We find that for initially hot ions, a multi-tooth effect gives rise to lasing of the ion's harmonic motion in the trap, verified by acoustic injection locking. The gain saturation of this phonon laser action leads to a comb of steady-state oscillation amplitudes, allowing hot ions to be loaded directly into the trap and laser cooled to crystallization despite the presence of hundreds of blue-detuned teeth.Comment: 5 pages, 4 figure

    A Shared Dataspace Language Supporting Larger-Scale Concurrency

    Get PDF
    Our ultimate goal is to develop the software support needed for the design, analysis, understanding, and testing of programs involving many thousands of concurrent processes running on a highly parallel multiprocessor. We are currently evaluating the use of a shared dataspace paradigm as the basis for a new programming language supporting large-scale concurrency. The language is called SDL (Shared Dataspace Language). In SDL, a content-addressable dataspace is examined and altered by concurrent processes using atomic transactions much like those in a traditional database. Associated with each process is a programmer-defined view. The view is a mechanism which allows processes to interrogate the dataspace at a level of abstraction convenient for the task they are pursuing. This paper provides an overview of the key SDL features. Small examples are used to illustrate the power and flexibility of the language. They also serve as a backdrop against which we discuss programming style implications of the shared dataspace paradigm

    Finding Match Avoidance Attempts At Scale With Video Expansion

    Get PDF
    An important objective of user-generated content platforms such as audio/video hosting or streaming platforms is to ensure that content that is available via their platforms is authorized for use, e.g., is provided by the true owner or with due permission of the true owner. To ensure that unauthorized content is not made available, such platforms match uploaded videos against a repository of reference (original) videos. To avoid video content being matched, content uploaders utilize constantly evolving new content transformation strategies when uploading unauthorized content. This disclosure describes automated techniques that help speed up and scale the collection of training examples of recent techniques of content transformations designed to bypass match detection procedures. These include synthetic generation (automatically generating content examples similar to match avoiding content) and scaled up mining and filtering (which includes performing searches for other content that is similar to match avoiding content on some dimension and filtering such content using high performance matching algorithms) to detect other examples of similar match avoiding content. The corpus of data generated by the described techniques can be used to train and validate a new version of matching procedures that is robust to the recent match avoidance attempts
    • …
    corecore