We describe techniques for solving existence, optimization and counting problems related to generalized domination in graphs.