7 research outputs found

    Typing rule-based transformations over topological collections

    Get PDF
    Pattern-matching programming is an example of a rule-based programming style developed in functional languages. This programming style is intensively used in dialects of ML but is restricted to algebraic data-types. This restriction limits the field of application. However, as shown by Giavitto and Michel at RULE'02, case-based function definitions can be extended to more general data structures called topological collections. We show in this paper that this extension retains the benefits of the typed discipline of the functional languages. More precisely, we show that topological collections and the rule-based definition of functions associated with them fit in a polytypic extension of mini-ML where type inference is still possible

    Arbitrary Nesting of Spatial Computations

    Get PDF
    International audienceModern programming languages allow the definition and the use of arbitrary nested data structures but this is not generally considered in unconventional programming models. In this paper, we present arbitrary nesting in MGS, a spatial comput- ing language. By considering different classes of neighborhood relationships, MGS can emulate several unconventional computing models from a programming point of view. The use of arbitrary nested spatial structures allows a hierarchical form of coupling between them. We propose an extension of the MGS pattern- matching facilities to handle directly nesting. This makes possible the straightforward emulation of a larger class of unconventional programming models

    Spatial Computing as Intensional Data Parallelism

    Full text link
    International audienceIn this paper, we show that various concepts and tools developed in the 90's in the field of data-parallelism provide a relevant spatial programming framework. It allows high level spatial computation specifications to be translated into efficient low-level operations on processing units. We provide some short examples to illustrate this statement

    Représentations symboliques musicales et calcul spatial

    Get PDF
    Musical symbolic representations and spatial computing. The notion of symbolic space is frequently used in music theory, analysis and composition. Representing sequences in pitch (or chord) spaces, like the Tonnetz, enables to catch some harmonic and melodic properties that elude traditional representation systems. We generalize this approach by rephrasing in spatial terms different musical purposes (style recognition, melodic and harmonic transformations, all-interval series classification, etc.). Spaces are formalized as topological collections, a notion corresponding with the label- ling of a cellular complex in algebraic topology. A cellular complex enables the discrete representation of a space through a set of topological cells linked by specific neighborhood relationships. We represent simple musical objects (for example pitches or chords) by cells and build a complex by organizing them following a particular neighborhood relationship defined by a musical property. A musical sequence is represented in a complex by a trajectory. The look of the trajectory reveals some informations concerning the style of the piece, and musical strategies used by the composer. Spaces and trajectories are computed with MGS, an experimental programming language dedicated to spatial computing, that aims at introducing the notion of space in computation. A tool, HexaChord, has been developped in order to facilitate the use of these notions for a predefined set of musical spacesReprésentations symboliques musicales et calcul spatial. La notion d'espace symbolique est fréquemment utilisée en théorie, analyse et composition musicale. La représentation de séquences dans des espaces de hauteurs, comme le Tonnetz, permet de capturer des propriétés mélodiques et harmoniques qui échappent aux systèmes de représentation traditionnels. Nous généralisons cette approche en reformulant d'un point de vue spatial différents problèmes musicaux (reconnaissance de style, transformations mélodiques et harmoniques, classification des séries tous-intervalles, etc.). Les espaces sont formalisés à l'aide de collections topologiques, une notion correspondant à la décoration d'un complexe cellulaire en topologie algébrique. Un complexe cellulaire per- met la représentation discrète d'un espace à travers un ensemble de cellules topologiques liées les unes aux autres par des relations de voisinage spécifiques. Nous représentons des objets musicaux élémentaires (par exemple des hauteurs ou des accords) par des cellules et construisons un complexe en les organisant suivant une relation de voisinage définie par une propriété musicale. Une séquence musicale est représentée dans un complexe par une trajectoire. L'aspect de la trajectoire révèle des informations sur le style de la pièce et les stratégies de composition employées. L'application d'opérations géométriques sur les trajectoires entraîne des transformations sur la pièce musicale initiale. Les espaces et les trajectoires sont construits à l'aide du langage MGS, un langage de programmation expérimental dédié au calcul spatial, qui vise à introduire la notion d'espace dans le calcul. Un outil, HexaChord, a été développé afin de faciliter l'utilisation de ces notions pour un ensemble prédéfinis d'espaces musicau

    Transformation de collections topologiques de dimension arbitraire (application à la modélisation de systèmes dynamiques)

    Get PDF
    Le projet MGS poursuit deux objectifs : l'étude de l'apport de notions topologiques dans les langages de programmation, et leur application au développement de nouvelles structures de données et de contrôle pour la simulation de systèmes dynamiques à structure dynamique. Ces objectifs ont abouti au développement d'un langage de programmation expérimental dédié à la spécification de ces systèmes : le langage MGS. Ces travaux sont organisés selon trois axes : (1) le développement de la notion de collection topologique de dimension arbitraire, une nouvelle structure de donnée fondée sur la notion de complexe cellulaire développée en topologie algébrique, (2) la spécification formelle d'une sémantique des programmes MGS et plus particulièrement des transformations, une forme originale de définition par cas de fonction sur les collections topologiques, et enfin (3) la validation de nos travaux par de nombreux exemples non triviaux dans les domaines de la biologie et de la morphogénèse.The MGS project is aimed at studying the use of topological notions for programming languages and their applications in developing new data and control structures for the simulation of dynamical systems with a dynamical structure. These goals have led to the development of an experimental programming language dedicated to the specification of such systems: the MGS language. This work is organized following three directions: (1) developing the notion of topological collection of arbitrary dimension, a new data structure based on the concept of cellular complex developed in algebraic topology, (2) specifying a formal semantics of MGS, especially for transformations, an original kind of case-based definition of functions on topological collections, and finally (3) validating our works with numerous non trivial examples in biology and morphogenesis.EVRY-Bib. électronique (912289901) / SudocSudocFranceF

    Data structure as topological spaces

    No full text
    Abstract. In this paper, we propose a topological metaphor for computations: computing consists in moving through a path in a data space and making some elementary computations along this path. This idea underlies an experimental declarative programming language called mgs. mgs introduces the notion of topological collection: a set of values organized by a neighborhood relationship. The basic computation step in mgs relies on the notion of path: a path C is substituted for a path B in a topological collection A. This step is called a transformation and several features are proposed to control the transformation applications. By changing the topological structure of the collection, the underlying computational model is changed. Thus, mgs enables a unified view on several computational mechanisms. Some of them are initially inspired by biological or chemical processes (Gamma and the CHAM, Lindenmayer systems, Paun systems and cellular automata)
    corecore