Software self-assembly
In 2008 the first PhD theses related to software self-assembly appeared. In Automated self-assembly programming paradigm Lin Li uses a self-assembly algorithm combined with genetic algorithms to generate the code for insertion, bubble, and selection sort from fragment-component statements. The components are considered like an ideal gas. The components vibrate in a mesh until minimum energy is reached and a second order structure appears.
In the same year Yuriy Brun in his thesis Self-assembly for discreet, fault-tolerant and scalable computation on internet-sized distributed networks investigated solving the SAT problem on distributed networks.
In 2011 Luca Cavallaro defined service tiles as a generalization of Wang tiles and combined web services based on minimizing cost using integer logic programming in his work: A Tile-based Approach for Self-assembling Service Compositions.