Глагол‑модаль «ought»
«Ought» — это модальный глагол, который выражает обязанность или рекомендацию.
Прошедшее время
В прошедшем времени форма «ought» меняется на ought to have. Она используется, когда говорящий указывает, что в прошлом следовало сделать что‑то, но этого не произошло.
Пример: He ought to have studied harder for the exam. — Он должен был учиться усерднее к экзамену.
Другой пример: She ought to have called you yesterday. — Она должна была позвонить тебе вчера.
Таким образом, чтобы сказать «должен» в прошедшем, употребляют конструкцию «ought to have + причастие прошедшего времени».