1. A computer-based method of mining data to discover activity patterns within the data, said method comprising: receiving data to be mined at a computer framework from at least one data source communicatively coupled to the computer framework; determining which of a number of specified constraints are available for the mining task, the constraints including a syntactic filter constraint configured to utilize a sequence of modes to filter patterns and avoid generation of patterns with redundant atoms, a semantic filter constraint having a minimum frequency threshold, a sequence of modes and a Boolean expression on arguments in the modes, and at least one of a generation rule constraint, a maximum length constraint, an extended length constraint, and a complex constraint; selecting corresponding mining agents that combine search algorithms with propagators from at least one of the specified constraints; finding any activity patterns, using the computer framework, that meet at least one of the specified constraints, each activity pattern including one or more atoms, each atom defined on a predicate that includes one or more typed arguments; and analyzing the activity patterns, using the computer framework, found to meet at least one of the specified constraints.