Temporal representation and reasoning for dynamic environments