Денотаційна семантика
Денотати́вна сема́нтика — це підхід до формалізації семантики програмних систем за допомогою математичних об'єктів, які описують зміст системи. Кожній конструкції мови програмування відповідає якась математична інтерпретація[1].
Денотаційна семантика виникла в роботах Кристофера Стречи та Дана Скотта на початку 60-х років минулого століття. У їх ранніх роботах денотат (зміст) комп'ютерної системи інтерпретувався функцією яка відображає вхідні дані у вихідні. Пізніше Скотт перейшов до денотативної семантики заснованої на доменах. Опис системи у денотативній семантиці здійснюється за допомогою математичних об'єктів та абстрагований від її реалізації конкретною мовою програмування.
Важливим аспектом денотативної семантики є принцип композиційності, за яким денотат програми будується з денотатів її складових частин за допомогою операції композиції.
До того як Еугеніо Моджі відкрив що побічні ефекти можна описувати монадами, денотаційна семантика не підходила для опису таких програм, які щоправда дуже просто описувались операційною семантикою[1].
Посилання
- Denotational Semantics на WikiWikiWeb
- Процик Петро Павлович. "Методи та засоби специфікації програмних систем"