Научная статья на тему 'Денотационное описание языка AspectTalk'

Денотационное описание языка AspectTalk Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
117
30
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стефанцов Дмитрий Александрович, Крюкова Анастасия Евгеньевна

The denotational semantics for the aspect-oriented programming language AspectTalk is presented. It is constructed as a triple consisting of syntactic sets, semantic domains, and a set of functions from the syntactic sets into the semantic domains.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Стефанцов Дмитрий Александрович, Крюкова Анастасия Евгеньевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The denotational semantics for the aspect-oriented programming language AspectTalk is presented. It is constructed as a triple consisting of syntactic sets, semantic domains, and a set of functions from the syntactic sets into the semantic domains.

Текст научной работы на тему «Денотационное описание языка AspectTalk»

Запишем систему уравнений (2) в виде

qj•(х, z,z/) = 0, і = 1 ,...,т.

(3)

Решением этой системы назовем выражение символов в виде формальных степенных рядов от х, подстановка которых в многочлены ^¿(х,^, У) обращает их в нуль. Определим условия, при которых система (2) имеет такое решение.

Теорема 1. Если выполняется неравенство

то исходная система имеет решение в виде формальных степенных рядов.

Легко показать, что элементы главной диагонали матрицы Якоби содержат сумму мономов терминального алфавита (обусловленную линейной зависимостью некоторых ^ от соответствующих Zj) и некоторого скаляра. Таким образом, в силу невырожденности матрицы Якоби в начале координат можно сделать линейную замену переменных zi, в результате которой эта матрица становится единичной, что, учитывая ряд проведенных замен, приводит систему (3) к виду

в результате чего её можно решать методом последовательных приближений. Искомые ряды равны линейной комбинации получаемых рядов.

Ранее подобное свойство было доказано для контекстно-свободных грамматик [3].

1. Глушков В. М., Цейтлин Г. Е, Ющенко Е. Л. Алгебра, языки, программирование. Киев: Наукова думка, 1974. 328 с.

2. Сафонов К. В., Егорушкин О. И. О синтаксическом анализе и проблеме В. М. Глушкова распознавания контекстно-свободных языков Хомского // Вестник Томского госунивер-ситета. Приложение. 2006. №17. С. 63-66.

3. Сафонов К. В., Калугин-Балашов Д. А. О представлении контекстно-свободных языков диагоналями линейных языков // Прикладная дискретная математика. Приложение. 2010. №3. С. 82-83.

УДК 004.423.43

ДЕНОТАЦИОННОЕ ОПИСАНИЕ ЯЗЫКА ASPECTTALK1

Д. А. Стефанцов, А. Е. Крюкова

Язык аспектно-ориентированного программирования (АОП) Азрес1Та1к [1] разработан с целью создания защищённых систем обработки информации. На нём могут быть реализованы информационная система и политика её безопаности, а также осуществлена их интеграция с помощью соединительных модулей [2]. Одной из задач в определении языка является задание его семантики. В [3] получено денотационное описание семантики (ДОС) [4] объектно-ориентированного подмножества языка Аярес1Та1к для доказательства семантической эквивалентности последнего языку

1 Работа выполнена в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (гос. контракт № П1010).

zj = р] (х, z/), і = 1,... , т,

ЛИТЕРАТУРА

Smalltalk. В данной работе приводится ДОС языка АОП AspectTalk, которое заключается в задании тройки объектов (L, S, M).

Для каждого нетерминала X из грамматики G языка AspectTalk определяется язык Lx , грамматика которого получается из G заменой аксиомы на X. Множество всех языков Lx обозначается L и называется множеством синтаксических областей. Примерами синтаксических областей являются множество записей примитивных операций языка AspectTalk и сам язык AspectTalk.

Элементы множества S являются доменами — множествами с завершённым частичным порядком. Сумма доменов, декартово произведение доменов, а также множество отображений из домена в домен являются доменами; порядок на последних определяется с помощью порядков на первых. Допускаются рекурсивные определения доменов. Подробнее о доменах можно прочитать в [5]. Домены ДОС языка AspectTalk подбирались для отражения сущностей языка и включают, например, домен процедур — домен функций из домена состояний в домен состояний — и домен программ — домен функций из домена входных последовательностей в домен выходных последовательностей.

Множество функций M, отображающих из элементов L в элементы S, называется множеством семантических отображений и, фактически, задаёт интерпретацию языка: множество M включает функцию, сопоставляющую программам на AspectTalk элементы функционального домена.

ЛИТЕРАТУРА

1. Стефанцов Д. А. Реализация политик безопасности в компьютерных системах с помощью аспектно-ориентированного программирования // Прикладная дискретная математика. №1(1). 2008. С. 94-100.

2. Стефанцов Д. А. Технология и инструментальная среда создания защищённых систем обработки информации // Прикладная дискретная математика. Приложение №1. 2009. С. 55-56.

3. Стефанцов Д. А., Крюкова А. Е. Формальное доказательство семантической эквивалентности ядра языка АОП AspectTalk и языка ООП Smalltalk // Прикладная дискретная математика. Приложение №3. 2010. С. 84-85.

4. Tennent R. D. Denotational semantics // Handbook of logic in computer science. Oxford, UK: Oxford University Press, 1994. V. 3. P. 169-322.

5. Scott D. S. Data types as lattices // Lecture Notes in Mathematics. 1975. V. 499. P. 579-651.

УДК 004.428

РАЗРАБОТКА И РЕАЛИЗАЦИЯ БИБЛИОТЕКИ ORM НА ЯЗЫКЕ C++1

Д. А. Стефанцов, Н. О. Ткаченко, Д. В. Чернов, Р. В. Шмакова

Распространённым способом хранения информации в компьютерных системах является использование реляционных баз данных (БД), при котором информация о сущностях и связях предметной области представляется в виде записей в таблицах. Каждому из полей таблицы соответствует имя и тип хранимых данных. Можно выделить два класса библиотек взаимодействия с системами управления БД (СУБД) для языков программирования (ЯП). Библиотеки первого класса устанавливают соответствие

1 Работа выполнена в рамках реализации ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (гос. контракт № П1010).

i Надоели баннеры? Вы всегда можете отключить рекламу.