In this book, we discuss models for multi-agent dynamical systems. We study the tracking/migration problem for flocks and a theoretical framework for design and analysis of flocking algorithm is presented. The interactions between agents in the systems are denoted by potential functions that act as distance functions, hence, the design of proper potential functions is crucial in modelling and analyzing the flocking problem for multi-agent dynamical systems. Constructions for both non-smooth potential functions and smooth potential functions with finite cut-off are investigated in detail. The main contributions of this book are to extend the literature of continuous flocking models with impulsive control and delay. Lyapunov function techniques and techniques for stability of continuous and impulsive switching system are used. We study the asymptotic stability of the equilibrium of our models with impulsive controls and discover that by applying impulsive controls to Olfati-Saber's continuous model, we can remove the damping term and improve the performance by avoiding the deficiency caused by time delay in velocity sensing.