A self-assembly algorithm for synchronising agents and have them arrange according to a particular graph is given. This algorithm, expressed using an ad hoc rule-based process algebra, extends Klavins’ original proposal [1], in that it relies only on point-to-point communication, and can deal with any assembly graph whereas Klavins’ method dealt only with trees.