Formalizing requirements with object models and temporal constraints