8 research outputs found
Engineering Resilient Collective Adaptive Systems by Self-Stabilisation
Collective adaptive systems are an emerging class of networked computational
systems, particularly suited in application domains such as smart cities,
complex sensor networks, and the Internet of Things. These systems tend to
feature large scale, heterogeneity of communication model (including
opportunistic peer-to-peer wireless interaction), and require inherent
self-adaptiveness properties to address unforeseen changes in operating
conditions. In this context, it is extremely difficult (if not seemingly
intractable) to engineer reusable pieces of distributed behaviour so as to make
them provably correct and smoothly composable.
Building on the field calculus, a computational model (and associated
toolchain) capturing the notion of aggregate network-level computation, we
address this problem with an engineering methodology coupling formal theory and
computer simulation. On the one hand, functional properties are addressed by
identifying the largest-to-date field calculus fragment generating
self-stabilising behaviour, guaranteed to eventually attain a correct and
stable final state despite any transient perturbation in state or topology, and
including highly reusable building blocks for information spreading,
aggregation, and time evolution. On the other hand, dynamical properties are
addressed by simulation, empirically evaluating the different performances that
can be obtained by switching between implementations of building blocks with
provably equivalent functional properties. Overall, our methodology sheds light
on how to identify core building blocks of collective behaviour, and how to
select implementations that improve system performance while leaving overall
system function and resiliency properties unchanged.Comment: To appear on ACM Transactions on Modeling and Computer Simulatio
Design approach of the MOVIE programmable video processor
This article describes the design approach of the MOVIE circuit, building block for the development of software-only solutions
for real time video processing applications . The MOVIE circuit can be seen as a small linear systolic-like array of computation
processors, connected at each end to an I/0 processor . Externally, the chip is provided with four bidirectional data ports and
three bidirectional data video port, allowing specialized parallel and programmable architectures of various configurations to be
realized . Software tools, designed simultaneously with the definition of the architecture, especially as regards the code optimization
aspects, allows high level programming and efficient code generation . The MOVIE architecture has been entirely specified using
the VHDL hardware description language . Its synthesis is performed under the Compass tools .Cet article décrit l'approche de conception du circuit MOVIE, brique de base pour la réalisation de simulateurs temps réel d'algorithmes de compression vidéo. Le circuit MOVIE est une petite machine systolique composée d'un processeur d'entrée/sortie et d'un réseau linéaire de processeurs de calcul, il inclut les mécanismes adaptés à l'acquisition et à la restitution de la vidéo ainsi que des facilités pour la réalisation de réseaux de calcul de configurations différentes. Les outils logiciels, conçus conjointement avec l'architecture, permettent une programmation en langage évolué et une génération de code efficace. L'architecture du circuit MOVIE est entièrement spécifiée à l'aide du langage de description de matériel VHDL, sa synthèse est réalisée avec l'outil COMPASS
Engineering Complex Computational Ecosystems
Self-organising pervasive ecosystems of devices are set to become a major vehicle for delivering infrastructure and end-user services. The inherent complexity of such systems poses new challenges to those who want to dominate it by applying the principles of engineering.
The recent growth in number and distribution of devices with decent computational and communicational abilities, that suddenly accelerated with the massive diffusion of smartphones and tablets, is delivering a world with a much higher density of devices in space. Also, communication technologies seem to be focussing on short-range device-to-device (P2P) interactions, with technologies such as Bluetooth and Near-Field Communication gaining greater adoption.
Locality and situatedness become key to providing the best possible experience to users, and the classic model of a centralised, enormously powerful server gathering and processing data becomes less and less efficient with device density. Accomplishing complex global tasks without a centralised controller responsible of aggregating data, however, is a challenging task. In particular, there is a local-to-global issue that makes the application of engineering principles challenging at least: designing device-local programs that, through interaction, guarantee a certain global service level.
In this thesis, we first analyse the state of the art in coordination systems, then motivate the work by describing the main issues of pre-existing tools and practices and identifying the improvements that would benefit the design of such complex software ecosystems.
The contribution can be divided in three main branches. First, we introduce a novel simulation toolchain for pervasive ecosystems, designed for allowing good expressiveness still retaining high performance. Second, we leverage existing coordination models and patterns in order to create new spatial structures. Third, we introduce a novel language, based on the existing ``Field Calculus'' and integrated with the aforementioned toolchain, designed to be usable for practical aggregate programming
ReLaCS for systolic programming
The ReLacs language is a systolic programming language which simplifies the programmer's task by making explicit the data-flow os systolic algorithms and by exposing the data delivery mechanism. The underlying architecture model is different from other SIMD architectures in that it physically separates computation and data management. We introduce the ReLaCS language as a syntaxic and a semantic extension of the C language. We show in this article that the ReLaCS programming model provides a simple programming method for systolic algorithms, which is applicable to a variety of parallel machines
ReLaCS for systolic programming
Programme 1 - Architectures paralleles, bases de donnees, reseaux et systemes distribues. Projet APIAvailable at INIST (FR), Document Supply Service, under shelf-number : 22588, issue : a.1993 n.726 / INIST-CNRS - Institut de l'Information Scientifique et TechniqueSIGLEFRFranc