1. A method of mining data to discover activity patterns within the data, said method comprising: receiving data to be mined from at least one data source; determining which of a number of specified interests and constraints are associated with the mining task; selecting corresponding mining agents that combine search algorithms with propagators from the specified constraints; finding any activity patterns that meet the specified interests and constraints; and analyzing said activities patterns found to meet the specified interests and constraints.