Temporal logic and computer science: an overview