smartdp