In this paper realization algorithms for systems over a principal ideal domain are described. This is done using the Smith form or a modified Hermite form for matrices over a principal ideal domain. It is shown that Ho's algorithm and an algorithm due to Zeiger can be generalized to the ring case. Also a recursive realization algorithm, including some results concerning the partial realization problem, is presented. Applications to systems over the integers, delay differential systems and two-dimensional systems are discussed.