Computing is rapidly moving away from traditional computers. Programs in the future will run on collections of mobile processors that interact with the physical world and communicate over ad hoc networks. We can view such collections as swarms. As with natural swarms, such as a beehive or ant colony, the behavior of a computational swarm emerges from the behaviors of its individual members. This research paper focuses on swarm techniques for creating, understanding and validating properties of programs that execute on swarms of computing devices.The paper strives on identifying and understanding about swarm practices in principled ways and investigates the technique based on both experimental and analytical approaches.