Automated self-assembly programming paradigm

Li, Lin (2008) Automated self-assembly programming paradigm. PhD thesis, University of Nottingham.

PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB) | Preview


Self-assembly is a ubiquitous process in nature in which a disordered set of components autonomously assemble into a complex and more ordered structure. Components interact with each other without the presence of central control or external intervention. Self-assembly is a rapidly growing research topic and has been studied in various domains including nano-science and technology, robotics, micro-electro-mechanical systems, etc. Software self-assembly, on the other hand, has been lacking in research efforts.

In this research, I introduced Automated Self-Assembly Programming Paradigm (ASAP²), a software self-assembly system whereby a set of human made components are collected in a software repository and later integrated through self-assembly into a specific software architecture. The goal of this research is to push the understanding of software self-assembly and investigate if it can complement current automatic programming approaches such as Genetic Programming.

The research begins by studying the behaviour of unguided software self-assembly, a process loosely inspired by ideal gases. The effect of the externally defined environmental parameters are then examined against the diversity of the assembled programs and the time needed for the system to reach its equilibrium. These analysis on software self-assembly then leads to a further investigation by using a particle swarm optimization based embodiment for ASAP². In addition, a family of network structures is studied to examine how various network properties affect the course and result of software self-assembly. The thesis ends by examining software self-assembly far from equilibrium, embedded in assorted network structures.

The main contributions of this thesis are: (1) a literature review on various approaches to the design of self-assembly systems, as well as some popular automatic programming approaches such as Genetic Programming; (2) a software self-assembly model in which software components move and interact with each other and eventually autonomously assemble into programs. This self-assembly process is an entirely new approach to automatic programming; (3) a detailed investigation on how the process and results of software self-assembly can be affected. This is tackled by deploying a variety of embodiments as well as a range of externally defined environmental variables. To the best of my knowledge, this is the first study on software self-assembly.

Item Type: Thesis (University of Nottingham only) (PhD)
Supervisors: Krasnogor, N.
Keywords: self-assembly, automatic programming, genetic programming
Subjects: Q Science > QA Mathematics > QA 75 Electronic computers. Computer science
Faculties/Schools: UK Campuses > Faculty of Science > School of Computer Science
Item ID: 10468
Depositing User: EP, Services
Date Deposited: 14 May 2008
Last Modified: 14 Sep 2016 09:00

Actions (Archive Staff Only)

Edit View Edit View