Details

Title: Оптические интерфейсы дли интерпретации и манипуляции битовых данных: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта»
Creators: Дорошин Данил Артемович
Scientific adviser: Тышкевич Антон Игоревич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint: Санкт-Петербург, 2024
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: бинарные интерфейсы данных; профункторная оптика; монадическая оптика; application binary interface; profunctor optics; monadic optic
Document type: Bachelor graduation qualification work
File type: PDF
Language: Russian
Level of education: Bachelor
Speciality code (FGOS): 09.03.04
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
DOI: 10.18720/SPBPU/3/2024/vr/vr24-3140
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally: New arrival
Record key: ru\spstu\vkr\30434

Allowed Actions:

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

Group: Anonymous

Network: Internet

Annotation

Данная тема посвящена интеграции профункторной оптики с бинарными интерфейсами данных. Цель работы заключается в разработке программной библиотеки для языка Haskell. В данной работе рассмотрены актуальность профункторной оптики как программного подхода, выражена проблематика работы с различного рода бинарными интерфейсами, сделано сравнение существующих подходов и абстракций, и дано обоснование выбора технологий и средств для последующей разработки. Результатами данной работы являются как и теоретические соображения, так и практические решения представленной проблематики. Главным теоретическим результатом является установление соответствия бинарного интерфейса типа данных с определённого вида монадической оптикой. В практические результаты входят демонстрация построения бинарного интерфейса и верификация корректности этого построения.

This topic covers the integration profunctor optics with application binary interfaces. The primary goal of this work is the development of a library for the Haskell programming language. This work reviews the relevance of profunctor optics as a programming concept, goes over the challenges of using application binary interfaces, analyses existing approaches, and provides a substantiated choice of tools and frameworks for development. This work results both in theoretical propositions and in practical solutions for the covered challenges. The main theoretical result stems from establishing a correspondence between an application binary interface and a certain kind of monadic optic. Practical results include a demonstration of application binary interface construction and the correctness verification thereof.

Document access rights

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

Table of Contents

  • Термины и определения
  • Введение
  • Описание проблематики бинарных интерфейсов данных
    • Проблемы с C ABI
    • Распространение нестандартных ABI
    • Вывод по главе
  • Обзор литературы
    • Оптическая натура указателей
    • Существующие подходы образования бинарных интерфейсов
      • Swift
      • Rust
    • Вывод по главе
  • Выводы по исследовательской части работы
  • Описание ключевых технологий и подходов
    • Профункторная оптика
    • Развитие профункторной оптики
      • Выбор библиотеки оптики
    • Использование монадической оптики
    • Обобщённое программирование
    • Полиморфные данные
    • Подходы тестирования программного обеспечения
    • Вывод по главе
  • Построение основных абстракций
    • Модели памяти и провенанса
    • Типы данных с точки зрения бинарных интерфейсов
      • Анатомия типа
        • Скалярные типы
          • Композитные типы
          • Ненативные типы
    • Семейства скалярных типов данных
    • Программное построение модели памяти
    • Программное построение бинарных интерфейсов
    • Порядок обобщённого построения бинарного интерфейса
    • Вывод по главе
  • Примеры построения бинарных интерфейсов
    • Построение нативного бинарного интерфейса
    • Построение бинарного интерфейса языка C
    • Использование построеных интерфейсов
    • Тестирование корректности построения бинарного интерфейса
    • Вывод по главе
  • Выводы по практической части работы
  • Заключение
  • Список литературы

Usage statistics

stat Access count: 1
Last 30 days: 0
Detailed usage statistics