Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Формальные языки E и T определены над алфавитом

Формальные языки E и T определены над алфавитом

Функции

Упражнения к лекции 5.

Языки спецификаций.

Как уже отмечалось, функциональная спецификация представляет собой математически точное, но, как правило, не формальное описание поведения ПС. Однако, формализованное представление функциональной спецификации имеет ряд достоинств, главным из которых является возможность применять некоторые виды автоматизированного контроля функциональной спецификации.

Под языком спецификаций понимается формальный язык, предназначенный для спецификации функций. В нем используется ряд средств, позволяющих фиксировать синтаксис и выражать семантику описываемых функций. Различие между языками программирования и языками спецификации может быть весьма условным: если язык спецификаций имеет реализацию на компьютере, позволяющую как-то выполнять представленные на нем спецификации (например, с помощью интерпретатора), то такой язык является и языком программирования, может быть, и не позволяющий создавать достаточно эффективные программы. Однако, для языка спецификаций важно не эффективность выполнения спецификации (программы) на компьютере, а ее выразительность. Язык спецификации, не являющийся языком программирования, также может быть полезен в процессе разработки ПС (для автоматизации контроля, тестирования и т.п.).

Язык спецификации может базироваться на каком-либо из рассмотренных нами методов описания семантики функций, а также поддерживать спецификацию функций для какой-либо конкретной предметной области.

function F(n: integer): integer;

function G(n: integer): integer;

определены с помощью операционной семантики равенствами:

F(0)=1,

G(0)=2,

F(n)=G(n-1),

G(n)=F(n-1) + G(n-1).

Найти значения F(3) и G(3).

{'a', '*', '&', '<', '>'}

с помощью денотационной семантики равенствами

E= T U '*' T U E '&' T

T= 'a' U 'a*' U '<' E '>'

Какие из следующих строк

'*a&*a*&a*'

'*a&<a&a*>'

'*<*a*&a>&<*a*>*'

принадлежат языку E и какие не принадлежат.

{'a', '#', '*', '(', ')'}

с помощью денотационной семантики равенства

E= T U '#' T U '(' E ')' '*' T

T= 'a' U 'a#' U E

Какие из следующих строк

'(#a)*##a

'##(a)#*a#'

'(a)*#(a#)*a#'

принадлежат языку E и какие не принадлежат?

5.7.4. Тип R определен с помощью следующей аксиоматической семантики:

Описания:

type R= record P1, P2, P3: CHAR end;

function READ(S: R): CHAR; {READ: R -> CHAR}

function SHIFT(S: R): R; {SHIFT: R -> R}

function ADD(S: R, C: CHAR): R; {ADD: R * CHAR -> R} function REMOVE(S: R): R; {REMOVE: R -> R}

var X, Y, Z: CHAR;

U: R;

Аксиомы:

SHIFT(ADD(ADD(ADD(U, X), Y), Z)) =

ADD(ADD(ADD(U,Y), Z), X);

REMOVE(U) = SHIFT(ADD(U, '#'));

READ(SHIFT(ADD(U, X))) = X;

Найти значение:

READ(SHIFT(SHIFT(REMOVE(ADD(ADD(U, 'a'), 'b'))))) =

Разделяй и властвуй!

Латинское изречение

<== предыдущая лекция | следующая лекция ==>
Аксиоматическая семантика | Архитектурные функции
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 247; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.