С 17 марта 2020 г. для ресурсов (учебные, научные, материалы конференций, статьи из периодических изданий, авторефераты диссертаций, диссертации) ЭБ СПбПУ, обеспечивающих образовательный процесс, установлен особый режим использования. Обращаем внимание, что ВКР/НД не относятся к этой категории.

Details

Title: Реляционное программирование с мемоизацией и отрицанием // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Сер.: Информатика. Телекоммуникации. Управление: научное издание. – 2018. – Т. 11, № 2
Creators: Моисеенко Е. А.; Подкопаев А. В.
Organization: Санкт-Петербургский государственный университет
Imprint: Санкт-Петербург: Изд-во Политехн. ун-та, 2018
Collection: Общая коллекция
Subjects: Вычислительная техника; Программирование ЭВМ. Компьютерные программы. Программотехника; реляционное программирование; мемоизация; конструктивное отрицание; декларативное программирование; логическое программирование; табличная мемоизация; интерпретаторы (вычислительная техника); relational programming; memoization; constructive negation; declarative programming; logical programming; table memoization; interpreters (computer engineering)
UDC: 004.41/42
LBC: 32.973-018
Document type: Article, report
Language: Russian
DOI: 10.18721/JCSTCS.11203
Rights: Свободный доступ из сети Интернет (чтение, печать, копирование)

Allowed Actions: Read

Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Представлена реализация двух расширений реляционного программирования, полезных при разработке интерпретаторов: табличной мемоизации и конструктивного отрицания. Мемоизация позволяет эффективно обходить пространство состояний интерпретатора, а отрицание – проверять, что заданное состояние интерпретатора недостижимо. Полезность данных расширений продемонстрирована на примере интерпретатора для многопоточного императивного языка программирования.

These interpreters can execute a program, check that the program satisfies a set of constraints or generate a program that has specified properties. In order to take advantages of the relational interpreter, the developer needs to define the semantics of the programming language as a relation. In this work, we present an implementation of two useful extensions of relational programming: tabling and constructive negation. Tabling helps to traverse the state space of the interpreter efficiently. Constructive negation allows to check that some state of the interpreter is unreachable. We show how this extensioncan be used on an example of a relational interpreter for a concurrent imperative programming language.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users Read Print Download
-> Internet Anonymous Read

Usage statistics

stat Access count: 88
Last 30 days: 3
Detailed usage statistics