Thèse soutenue

Modélisation et programmation d'ordinateurs amorphes : de l'ordinateur amorphe à la machine Blob

FR  |  
EN
Auteur / Autrice : Moïse Valvassori
Direction : Arab Ali Chérif
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2009
Etablissement(s) : Paris 8
Jury : Président / Présidente : Patrick Greussay
Examinateurs / Examinatrices : Herman Akdag, Jacqueline Signorini
Rapporteurs / Rapporteuses : Hugues Berry, Raja Chatila

Résumé

FR  |  
EN

We present new methods of configurations of computers said amorphous to equip them of capabilities of duplication and developments. Inspired by their self-organizational aspects, especially during their embryonic development, we apply our methods of configurations on specialized calculations. Our research have three contributions : An amorphous computer simulator. An amorphous computer is a set of static elementary processors, spatially distributed and whose omnidirectionally communicate over short distances with their neighborhoods. All the computing elements contain the same program and their computing and storage resources are assumed low. We have build the fastest amorphous computer simulator at the moment. We simulate amorphous computers made of more than processing elements. -A low level aspect and component oriented language for amorphous programming and its compiler. We call this programming language Tical. Programming a amorphous computer is to specialize their computing elements when the program starts in order to distribute the computing power and the data. Our approach to amorphous programming is inspired by biology and cell biology development. We began by exploring a multi-agent model of P-systems (membrane computing) using the Fungus simulation platform. Learning from this experience, we develop Tical, our domain specific language. It partitions the program in a library of (reusable) components. The concerns of an amorphous program are represented by aspects : initialization, messages handling, reaction to some states, the conventional program. Tical programs compile into a equivalent C program. The low-level algorithms implemented in this language are : gradient generation, leader election, aggregation and data propagation. -Three high-level primitives of the Blob abstract machine. We propose an implementation three primitives of the Blob abstract machine in our language. An Blob abstract machine is an abstract parallel machine spatially organized to perform its calculations. A blob is a group of computing elements. The blobs are organized hierarchically and may be linked. The high-level primitives are formation of a blob from dispersed computing elements, the creation of communication channels and duplication of a blob into two blobs. All these implementations are inspired from developmental biology : symmetry breaking by gradients, chemotaxis and mitosis. The following document is organized in five parts. In the first chapter, we introduce our goals and our position in the field of amorphous computing. In Chapter 2, we present a state of the art of programming amorphous and spatial computing. Chapter 3 presents Tical, our low-level aspect and component oriented programming language and low level primitives. The first part of this chapter presents the design model of the language and the simulator that runs programs. We present the aspect oriented programming, then we detail the standard aspects of our language. The Tical component model and the process of compiling programs to Tical simulations are widely developed. We finish this chapter with examples of our language and construction of low-level primitives commonly cited in the literature. Chapter 4 presents the implementation of high-level primitives Blob. After a presentation the Blob abstract machine, we present the implementation of our three primitives : blob construction, linking of two blobs, duplication of a blob. Chapter 5 presents a conclusion of all of our contributions and proposes a synthesis of our perspectives.