Self-assembly is a process in which simple objects autonomously combine themselves into larger objects. It is considered as a promising technique in nano-technology. In this paper, we propose a graph-based self-assembly model. Two simple graphs G1 and G2 with a vertex of common degree overlap and a new self-assembled graph is formed. Besides studying the properties of these self assembled graphs, we answer the question: Can a given set of graphs be generated through the process of self-assembly? If so, how to find the generator that could generate the given set of graphs by the process of self-assembly. The question of the existence of the minimal generator is also discussed. The necessary and sufficient condition for a graph H to be obtained by the iterated self-assembly of the graph G is also answered. We also conclude that the problem of finding the generator is decidable. ©2007 IEEE.