A biological regulatory network can be modeled as a discrete function that contains all available information on network component interactions. From this function we can derive a graph representation of the network structure as well as of the dynamics of the system. In this paper we introduce a method to identify modules of the network that allow us to construct the behavior of the given function from the dynamics of the modules. Here, it proves useful to distinguish between dynamical and structural modules, and to define network modules combining aspects of both. As a key concept we establish the notion of symbolic steady state, which basically represents a set of states where the behavior of the given function is in some sense predictable, and which gives rise to suitable network modules. We apply the method to a regulatory network involved in T helper cell differentiation.