Методы и средства инженерии программного обеспечения

       

Экспликативное программирование (ЭП)


ЭП ориентировано на  разработку теории дескриптивных и декларативных программных формализмов, адекватных моделям структур данных, программ и средств конструирования из них программ  [35–39]. Для этих структур решены проблемы существования, единства и эффективности. Теоретическую основу ЭП составляет  логика, конструктивная математика, информатика, композиционное программирование и  классическая теории алгоритмов. Для    изображения алгоритмов программ  используются разные алгоритмические языки и методы программирования: функциональное, логическое,  структурное,  денотационное и др.

К принципам ЭП  относятся.

– принцип развития определения понятия программы  в  абстрактном представлении и постепенной ее конкретизации с помощью экспликаций.

– принцип прагматичности   или полезности определения понятия программы выполняется с точки зрения понятия "проблема"  и ориентирован на  решение  задач  пользователя.

– принцип адекватности ориентирован на абстрактное построение программ и  решение проблемы с учетом информационности данных и  апликативности,  т.е.   рассмотрение программы, как функции,  вырабатывающей  выходные данные на основе входных данных.  Функция является  объектом, которому сопоставляется денотат имени функции с помощью отношения  именования

(номинации).

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

Развитие понятия функции осуществляется с помощью принципа композиционности,  т.е. композиция  программ (функций)  из более простых программ в целях  создания   новых объектов с более сложными именами (дескрипциями) для функций и включающими номинативные (именные) выражения, языковые выражения, термы и формулы.

Таким образом,  процесс  развития  программы осуществляется в виде  цепочки понятий: данные – функция – имя функции – композиция – дескрипция. Понятия "данные – функция – композиция" задают  семантический аспект программы, а "данные – имя функции – дескрипция" – синтаксический аспект.
Главным в ЭП является  семантический аспект, система композиций и номинативности (КНС), ориентированные на систематическое изучение номинативных отношений при построении данных, функций, композиций и дескрипций [36].

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

Для построения  математически простых и адекватных моделей программ параметрического типа  используется КНС и методы универсальной алгебры, математической логики и теория алгоритмов. Данные в КНС рассматриваются на трех уровнях: абстрактном, булевском и номинативном. Класс номинативных данных обеспечивает построение  именных данных,   многозначных номинативных данных или мульти–именных данных,  задаваемых  рекурсивно.

В рамках ЭП разработаны новые средства [36] для определения систем данных, функций и композиций номинативного типа, имена аргументов которых принадлежат некоторому множеству  имен Z, т.е.  композиция определяется на Z–номинативных

наборах именных функций.

Номинативные данные позволяют задавать структуры данных, которым присущи неоднозначность именования  компонентов типа множества, мультимножества, реляции и т.п.

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

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

Практическая  проверка теоретического аппарата  формализации дедуктивных и ОО БД прошла в ряде экспериментальных проектов в классе манипуляционных  данных  БД заданных в SQL–подобных языках [39].


Содержание раздела