In this paper we introduce the behavioral approach as a mathematical language for describing dynamical systems, in particular systems modeled by high order constant coefficient linear differential equations. We investigate what data have to be added in order to express the influence of the environment and the initial conditions on the system. We give an algorithm to check whether these additional constraints are satisfied by a (unique) trajectory. We define the concepts of observability and controllability, and present algorithms which provide a constructive verification of such properties.</p