S-сигнал

© В.Д. Ильин, 2009
□ S-СИГНАЛ (англ. S-signal) —

физически реализованное (в виде композиций значений напряжения, частоты или др.) представление s-кода, рассчитанное на распознавание и интерпретацию аппаратным средством s-машины (микропроцессором, видеоконтроллером или др.). □

☼ В цифровой s-машине с двоичным представлением s-кодов машинных команд и данных s-сигналы — это композиции двух типов импульсов напряжения на выходах транзисторов. Один тип соответствует двоичному нулю, а другой — двоичной единице. ☼

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

Реклама

S-моделирование

© В.Д. Ильин, 2008, 2009

S-моделирование (англ. S-modeling) –

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

Предмет информатики [1]. □

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

/ Инструмент познания

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

Затраты на построение, копирование, передачу, сохранение и накопление символьных моделей несопоставимо меньше, чем аналогичные затраты, связанные с несимвольными моделями (☼ макетами судов, зданий и др. ☼).

Символьное моделирование не только сопровождает абстрактное мышление, но и служит инструментом его совершенствования (позволяя на время отвлечься от деталей, чтобы чётче увидеть главное).

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

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

/ Эпоха s-моделирования

Изобретение программируемой машины для поддержки процессов символьного моделирования (s-машины, названной компьютером), изменило представления о возможностях машинной поддержки символьного моделирования.

◊ Вспомним пресловутое изобретение колеса, которое по сути было изобретением способа соединения колеса с неподвижной осью.◊ Истинная ценность компьютера не в том, что он быстро вычисляет и много запоминает. Это лишь технические характеристики, обязательные для исполнения роли средства построения s-среды (см. рис.1). ◊

3 steps of s-modeling

Начало компьютерной эпохи стало стартом колоссальных по значению и динамике перемен в технологиях построения, преобразования, распознавания, интерпретации, сохранения, накопления, передачи, поиска и защиты символьных моделей различных сообщений. Впервые люди стали применять машины во всех работах, связанных с символьными моделями сообщений.

Одновременно с компьютерной стартовала эпоха символьного моделирования произвольных объектов в человеко-машинной среде (эпоха s-моделирования). С тех пор конкурентоспособная часть человечества пристально следит за новыми информационными технологиями и средствами их реализации, а понятие конкурентоспособности теперь прочно связано с умением их применять для повышения продуктивности своей деятельности [2].

/ Общий метод s-моделирования

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

Эта идея издавна реализуется в математических методах символьного моделирования. Однако метод формализации [3], применяемый в математике для получения формальных систем [4], нельзя перенести на s‑моделирование, так как s‑модели не являются формальными системами. Объясним подробнее это важное замечание.

Задача в s‑моделировании имеет более широкий смысл, чем в математике: задачи s‑(представления, распознавания, преобразования, конструирования, интерпретации, обмена, сохранения, накопления, поиска, защиты) s-сообщений не являются математическими. Математический арсенал недостаточен для того, чтобы их можно было сформулировать и решить как математические задачи. Дело не только в том, что в математике главенствует формальное доказательство (существования, единственности решения), а в s‑моделировании – конструктивное доказательство (существования s‑модели; а о единственности вообще речь не идет). Важно другое: неформальность s‑моделей – их полезное отличие, связанное с возможностью привлечения неформализованного знания человека-эксперта для управления процессами s-моделирования (☼ методология интерактивного преобразования ресурсов по изменяемым системам правил [5] — одно из подтверждений ☼).

S‑моделирование предполагает представление символов и построенных из них s‑моделей в двух формах, одна из которых рассчитана на интерпретацию человеком, другая (в форме кодов) – на интерпретацию программой s‑машины. Множество символов, применимых для построения s‑моделей – это множество элементарных конструктивных объектов, каждый из которых наделен набором атрибутов и совокупностью допустимых операций. Построение конструкций из элементов этого множества определено системой правил конструирования s‑моделей [8].

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

Необходимое условие реализации s‑моделирования предполагает существование удовлетворяющих требованиям s‑(представления, распознавания, преобразования, конструирования, интерпретации, обмена, сохранения, накопления, поиска и защиты) s-сообщений:
1. языка описания s‑моделей, рассчитанного на человека;
2. s‑машинного языка (языка, рассчитанного на s-машину);
3. программ s‑преобразования s‑моделей на языке для человека в описания на s‑машинном языке.

◊ Формальное символьное моделирование в математике не стеснено требованиями 1 – 3. Конечно, языку математического моделирования можно поставить в соответствие язык описания s‑моделей [☼ Пролог (логика предикатов первого порядка), Лисп (λ‑исчисление) ☼].

Развитие языков s‑моделирования, рассчитанных на человека, направляется стремлением использовать композиции различных типов символов, библиотеки и средства конструирования программ и сервисов. ◊

/ Классы базовых задач s-моделирования

1-4 basic probl

Изучение свойств и закономерностей s-моделирования необходимо, чтобы определить, из каких типовых задач оно складывается. Говоря о задачах, имеем в виду базовые задачи s-моделирования. Деление базовых задач на классы – результат изучения s-моделирования как комплексной технологии представления, преобразования, распознавания, конструирования, интерпретации, обмена, сохранения, накопления, поиска и защиты символьных моделей в человеко-машинной среде (см. рис. 2-3).

1. Представление моделей произвольных объектов, рассчитанных на восприятие человеком и s-машинами, связано с изобретением языков s-сообщений, удовлетворяющих определённым требованиям. В этом классе изучаются системы символов и кодов, используемые соответственно в человеко- и s-машинно-ориентированных языках. К первым относим языки спецификации, программирования, запросов, ко вторым – системы s-машинных команд. Этот класс включает также задачи представления s-данных. В него входят задачи представления моделей систем понятий, на которых интерпретируются сообщения. На верхнем уровне задачной иерархии этого класса находится представление моделей систем знаний.

2. Преобразование типов и форм представления s-моделей позволяет устанавливать соответствия между моделями. Задачи преобразования типов (☼ речевой в текстовый и обратно и др. ☼) и форм (☼ аналоговой в цифровую и обратно; несжатой в сжатую и обратно; одной формы представления документа в другую: *.doc в *.pdf ☼) – необходимое дополнение к задачам представления моделей.

3. Сообщение не может быть интерпретировано, если оно не распознано получателем. Необходимым, но не достаточным условием распознавания является представление сообщения в формате, известном получателю. При выполнении этого условия для распознавания сообщения решаются задачи сопоставления с моделями-образцами, либо сопоставления свойств распознаваемой модели со свойствами моделей-образцов.

4. К задачам этого класса относятся задачи конструирования моделей систем понятий, языков, систем знаний, интерпретаторов сообщений на моделях систем понятий; моделей задач [6-7], программирования, взаимодействия в s-среде; моделей архитектур s-машин, s-сетейсервис-ориентированных архитектур; моделей сообщений и средств их построения, документов и документооборота. На верхнем уровне иерархии этого класса находятся задачи конструирования моделей s-среды и технологий s-моделирования.

5-8 basic probl

5. Интерпретация s-ообщений предполагает существование принятого сообщения, модели системы понятий, на которой оно должно интерпретироваться и механизма интерпретации. ☼ Глядя на веб-страницу на экране монитора, человек интерпретирует это сообщение, используя системы понятий, хранящиеся в его памяти. Для микропроцессора s-машины сообщениями, подлежащими интерпретации, служат коды s-машинных команд и данных; для компилятора — код исходного текста программы. ☼

6. В этом классе изучаются задачи взаимодействия в s-среде (человек – машина; машина – машина) с типизацией: отправителей и получателей; средств отправки, передачи и получения сообщений; сред передачи сообщений. Изобретаются системы правил обмена сообщениями (s-сетевые протоколы); архитектуры s-сетей, сервис-ориентированные архитектуры; системы документооборота.

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

8. Задачи этого класса включают: предотвращение и обнаружение уязвимостей; контроль доступа; защиту от вторжений, вредоносных программ, перехвата сообщений и несанкционированного применения.

Литература

[1] В.Д. Ильин, И.А. Соколов, Символьное моделирование в человеко-машинной среде: основы концепции,  Информационные технологии и вычислительные системы 1 (2008) 51-60.

[2] В.Д. Ильин, Компьютерное моделирование, Большая Российская энциклопедия том 14, (2009) 712.

[3] С.Н. Артемов, Формализации метод, Математическая энциклопедия том 5 (1985) 635.

[4] В.Н. Гришин, Формальная система, Математическая энциклопедия том 5 (1985) 639.

[5] А.В. Ильин, В.Д. Ильин, Интерактивный преобразователь ресурсов с изменяемыми правилами поведения, Информационные технологии и вычислительные системы 2 (2004) 67-77.

[6] В.Д. Ильин, Система порождения программ, М.: Наука (1989) 264.

[7] А.В. Ильин, Конструирование разрешающих структур на задачных графах системы знаний о программируемых задачах, Информационные технологии и вычислительные системы 3 (2007) 30-36.

[8] А.В. Ильин, В.Д. Ильин, Символьное моделирование: статьи для Большой Российской энциклопедии (Symbol modeling: articles for Great Russian Encyclopedia), Информатика: S-моделирование, 19/11/2014

___________________________

PDF-файл статьи

Эта статья — в сети ResearchGate

S-среда

© В.Д. Ильин, 2009

□ S-среда (англ. S-environment) —

объединение взаимодействующих s-сетей и отдельных s-машин, используемых для решения задач s-моделирования и применения полученных результатов. Средство информатизации различных видов деятельности.

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

Современным воплощением ядра s-среды является Интернет.

Каждая s-модель, хранящаяся в s-среде – это некоторое сообщение, рассчитанное на интерпретацию получателем определенного типа. Спецификации программируемых задач интерпретируют программисты. Исходные тексты написанных ими программ – программы-трансляторы (компиляторы, интерпретаторы, ассемблеры). Инструкции, из которых состоят исполняемые программы, интерпретируют микропроцессоры s-машин. Сообщения, представленные в форме аудио- и видеофайлов – соответствующие программы-плееры. Сообщения, поступающие от веб-серверов в ответ на запросы пользователей и представляющие собой веб-страницы, интерпретируют программы-браузеры. Графические (текст, неподвижные и подвижные изображения), аудио и механические сообщения, выводимые соответственно на экраны мониторов, колонки аудиосистем (или наушники) и корпуса, напр., мобильных устройств (вибровызовы) – такие сообщения интерпретируют люди.
Книга, созданная писателем, музыкальная композиция, произведение художника и т.д. – всё это сообщения, рассчитанные на получателей различных типов. Успешная интерпретация сообщений позволяет извлечь информацию.

/ Изобретатели и строители s-среды

Изобретатели систем символов и систем кодов, систем машинных команд и языков программирования, трансляторов, сетевых архитектур и протоколов, сервис-ориентированных архитектур, чипсетов и т.д. – это творцы, деятельность которых осуществляется в s-среде и направлена на методологическое обеспечение проектов ее непрерывно продолжающегося строительства. Их продукция служит основанием для творчества программистов, разработчиков аппаратных составляющих s-машин и др. (строителей s-среды). Все вместе они изобретают и строят s-среду.

/ Пользователи s-среды

Ими являются все, кто применяет средства s-среды. В их число входят изобретатели и строители s-среды. Программисты и проектировщики, использующие САПРы (системы автоматизированного проектирования) различного назначения; дизайнеры, композиторы, художники, литераторы, создающие свои произведения с использованием различных редакторов, установленных на их s-машинах (ноутбуках, персональных компьютерах и др.) – все они пользователи s-среды.

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

/ Электронная и бумажная формы сообщений

В эти дни преобладают две формы документального представления сообщений: в s-среде – электронная (файлы на CD или DVD, веб-сайты и др.), вне её – бумажная (книги, брошюры и др.). При этом  большинство бумажных документов получают путем распечатки соответствующих им электронных. В частности, бумажные книги выпускают, используя т.н. оригиналы-макеты, представляющие собой электронные документы. Бумажная форма часто используется для дублирования электронной. На начальном этапе создания продукции интеллектуальной деятельности современные авторы пользуются различными редакторами для построения сообщений, установленными на s-машинах. Поэтому рождаются сообщения в электронной форме и сохраняются в виде файлов.

Пока еще сохраняющаяся потребность в бумажных формах связана с тем, что:
— часть населения не пользуется s-машинами (по разным причинам);
— среди пользующихся s-машинами есть те, кто иногда или постоянно предпочитает бумажные формы для того, чтобы читать произведения.

// Возможности: изобразительные, навигационные и др.

По богатству изобразительных, навигационных и др. возможностей (в частности, связанных с распространением произведений) электронные гипермедийные (см. Гипертекст) сообщения, используемые, напр., в веб-сервисах, нелепо сравнивать с бумажными. Сочетание в них текста, картинок, аудио- и видео- составляющих и наличие удобных навигационных средств (гиперссылок, позволяющих вызывать различные сервисы (почтовый, поисковый и др.) или произвольно перемещаться между документами; перекрёстных ссылок, предназначенных для произвольного перемещения внутри документа) – всё это несопоставимо с тем, что может дать самая роскошная книга с цветными иллюстрациями.

☼ Читая (интерпретируя) гипермедийную книгу, можно быстро выяснить значение непонятного слова (перейдя к электронному словарю или энциклопедии) и снова вернуться; можно посмотреть видеоклип, послушать аудиозапись (напр., с комментарием автора). Таких возможностей довольно много и с каждым месяцем становится всё больше. Гипермедийная библиотека объемом, превышающим в разы бумажные библиотеки ярых библиофилов, легко уместится на нескольких жёстких дисках. Отправляясь в отпуск, командировку или ещё куда-то, можно закачать избранные вещи на карту памяти смартфона или в память накопителя планшетного компьютера. ☼

// Обновления

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

// Комментарии, форумы, рецензии

Существование произведения в форме электронного сообщения позволяет автору выбрать приемлемые для него дисциплины комментирования, форумов и рецензирования (если он выкладывает произведения на своём сайте). Если же – на сайте творческого сообщества, то всё это должно соответствовать правилам сообщества.

// Авторское право, плагиат

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

// Писатель, художник, композитор, исполнитель: в одном лице

Вспомните рисунки А.С. Пушкина и М.Ю. Лермонтова. Многие творцы научных, художественных и др. произведений имеют склонность и способности делать неподвижные, а в наши дни и подвижные изображения (анимации, видеоклипы и др.), дополняющие тексты их книг. То же можно сказать и о художниках, скульпторах и музыкальных композиторах: редко, кто из них откажется от авторского комментария. Более того, немало авторов имеют склонность к авторскому исполнению своих произведений. S-среда служит инструментарием, позволяющим творцам использовать при создании своих произведений сочетания выбранных ими символьных систем и непрерывно прирастающий арсенал сообщений, хранящихся в ней.

/ Ближайшее будущее s-среды определено интенсивным развитием разнообразных сервисов (образовательных, коммерческих, развлекательных и др.; см. Интернет-сервисы Планирования Ресурсов, входящие в состав системы знаний информатики СИНФ).

S-компилятор

© А.В. Ильин, 2008, 2009

□ S-компилятор (англ. S-compiler) –

программа s-машины для преобразования исходного кода программ, написанных на одном из языков программирования высокого уровня (Паскаль, Си, Фортран или др.), в эквивалентный набор инструкций на языке низкого уровня, называемый объектным кодом [как правило, предназначенным для дальнейшего преобразования специальной программой (компоновщиком) в исполняемый код, рассчитанный на конкретную вычислительную платформу]. □

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

Вычислительная платформа определяется архитектурой семейства центральных процессоров компьютера [☼x86 – Intel 8086 Family Architecture (архитектура семейства Intel 8086)☼], операционной системой и, в ряде случаев, дополнительным программным обеспечением (☼виртуальной машиной☼), необходимым для работы исполняемого кода на процессорах данной архитектуры.

Каждый компилятор соответствует определенному языку программирования высокого уровня (ЯПВУ) и одной или нескольким вычислительным платформам [☼Компилятор языка Си++ для платформы Win32 (для 32-разрядных операционных систем Microsoft Windows, работающих на процессорах архитектуры x86)☼].

/ Комплятор как средство автоматизации программирования

До появления ЯПВУ и их компиляторов программы писали на языках низкого уровня (сначала в кодах s-машин, позднее – на языках ассемблера). Это требовало больших трудозатрат программистов, затрудняло сопровождение программ в процессе их эксплуатации и не предполагало возможность переноса программ с одной платформы на другую (без переписывания исходного кода).

ЯПВУ и их компиляторы начали разрабатывать, когда стало ясно, что выгоды от программирования на ЯПВУ и переноса программ значительно превосходят затраты на разработку ЯПВУ и компиляторов. Повторное использование исходных кодов программ при получении исполняемых кодов, предназначенных для разных платформ, является существенным фактором повышения производительности труда программистов.

// Первый компилятор был создан в 1952 Грэйс Хоппер (США) для разработанного ею языка программирования A-0 и вычислительной платформы UNIVAC I. Значительным событием в автоматизации программирования стала разработка в 1957 компилятора для языка Фортран и платформы IBM 704, выполненная под руководством Джона Бэкуса (США). В 1950-60-х исходные коды компиляторов писались только на языках ассемблера. В 1970-х появились ЯПВУ Паскаль, Си и их первые компиляторы. Эти и ряд др. ЯПВУ стали применяться для разработки не только прикладных программ, но и компиляторов (наряду с языками ассемблера), что позволило значительно сократить трудоемкость разработки компиляторов

/ Основы технологии

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

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

Синтаксический анализатор проверяет последовательность лексем на наличие синтаксических ошибок (каждый ЯПВУ имеет строго определенный синтаксис) и преобразует её в т.н. дерево разбора.

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

Если в процессе анализа были найдены ошибки, компилятор завершает работу выводом сообщения об ошибках. При отсутствии ошибок компилятор переходит к генерации объектного кода.

Исходный код программы, как правило, содержится в нескольких файлах, каждый из которых преобразуется компилятором в отдельный объектный модуль – файл, содержащий объектный код. Из полученных объектных модулей с помощью компоновщика собирается исполняемый код программы [до появления компоновщиков сборка осуществлялась самими компиляторами, что объясняет происхождение термина компилятор].

/ Интерпретаторы

Альтернативой компиляторам и компоновщикам служат интерпретаторы. Интерпретатор (☼языка Бэйсик☼) последовательно анализирует каждую инструкцию исходного кода, при отсутствии ошибок преобразует её в исполняемый код и выполняет его, а затем переходит к следующей инструкции.

/ Трансляторы

Компиляторы и интерпретаторы называют также транслятороми (англ. translator) – программами, выполняющими перевод исходного кода в объектный.

/ Эффективность

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

Интерпретация исходного кода целесообразна, например, при отладке программ (т.к. не требует перекомпиляции объектного модуля для проверки каждого внесенного программистом изменения).

// Особенности

Для некоторых ЯПВУ [☼Java (Джава)☼] применяется двухэтапная компиляция или сочетание компиляции и интерпретации. На первом этапе на специальном промежуточном языке генерируется т.н. байт-код, который не привязан к конкретной операционной системе и архитектуре семейства процессоров. Байт-код предназначен для последующей интерпретации или т.н. JIT‑компиляции (от англ. Just-In-Time compilation – компиляция «на лету») во время выполнения программы. Преобразование байт-кода в исполняемый код (для конкретных операционной системы и процессора) осуществляется специальным программным обеспечением – виртуальной машиной (☼Java Virtual Machine – виртуальная машина Джава☼). Такой подход позволяет существенно уменьшить трудозатраты программистов, поскольку один и тот же байт-код приложения может быть использован на различных вычислительных платформах, включающих в себя необходимую виртуальную машину.

/ Одновременный рост количества ЯПВУ, ориентированных на различные предметные области (создание веб-сайтов, компьютерную графику и др.) и числа вычислительных платформ требуют разработки новых компиляторов. Совершенствование методов конструирования компиляторов – актуальная задача информатики, от решения которой зависят темпы развития индустрии программирования [1-2].

/ Литература

1. А.Ю. Дроздов, А.В. Ильин, Компилятор, Большая Российская энциклопедия. Том 14, 2009, с. 688-689

2. А.В. Ильин, S-компилятор (S-compiler), ResearchGate.net, 2014

PDF-файл статьи

/ Дневник статьи

В данной статье представлена только принадлежащая автору часть статьи [1].

Автор и научный редактор энциклопедии информатики ИНФОПЕДИЯ считают остальную часть статьи [1] излишней в энциклопедической статье (она была добавлена по решению зав. редакции «Техника» БРЭ).

S-задача (задачный конструктивный объект)

©  А.В. Ильин, В.Д. Ильин, 1989, 2007, 2009

□ S-задача (задачный конструктивный объект) [англ. s-problem (problem constructive object)] –

это триада {Formul, Alg, Prog}, где Formul – постановка задачи, Alg – множество алгоритмов, поставленных в соответствие постановке задачи, Prog – объединение множеств программ, каждое из которых поставлено в соответствие алгоритму из Alg.

Постановка задачи Formul – это пара {Mem, rul}, где Mem – s-представление множества понятий задачи, на котором задано разбиение Mem = Inp U Out (Inp ^ Out = 0), а rul – правило, задающее на Mem бинарное отношение Rel [rul (Mem)] < Inp * Out [1]. Назовем множество Mem памятью задачи, а Inp и Out – входом и выходом задачи, значения которых предполагается соответственно задавать и искать □.

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

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

◊ Каждая программа сопровождается обязательной ссылкой на набор тестовых примеров, что необходимо для проверки ее работоспособности [2]. ◊.

В общем случае множества Prog и Alg могут быть пустыми (число элементов этих множеств зависит от степени изученности задачи). Если ни один из алгоритмов множества Alg не запрограммирован, Prog = Ø. Если в соответствие постановке задачи не поставлен ни один алгоритм, Alg = Ø и Prog = Ø.

□Спецификация spec s-задачи – это пара (Formul, as), где as – описание применения.□

☼ Формулировка задачи линейного программирования. Вход задачи Inp = {матрица a [i = 1…m, j = 1…n] коэффициентов ограничений, вектор b [i = 1…m] правых частей ограничений, вектор c [j = 1…n] коэффициентов целевой функции}. Выход Out = {искомый вектор x [max; j = 1…n]}. Правило rul максимизации по x [j = 1…n] целевой функции c [j = 1…n] * x [j = 1…n] при ограничениях a [i = 1…m, j = 1…n] * x [j = 1…n] ≤ b [i = 1…m] и x [j = 1…n] ≥ 0 имеет следующий вид:

max [x [j = 1…n]: a [i = 1…m, j = 1…n] * x [j = 1…n] ≤ b [i = 1…m], x [j = 1…n] ≥ 0] (c [j = 1…n] * x [j = 1…n]) [2]. ☼

/ Связи по памяти между s-задачами

Связи по памяти между s-задачами определяются тремя типами функций, каждая из ко­торых является функцией двух аргументов и позволяет по­ставить в соответствие паре s-задач некоторую третью s-задачу, образованную из этой пары.
□ S-задача a связана с s-задачей b по памяти, если существует хотя бы одна пара элементов {elem Mem[a], elem Mem[b]}, принадлежащих памяти Mem[a] s-задачи a и памяти Mem[b] s-задачи b, от­носительно которой определено общее означивание (эле­менты имеют одно и то же множество значений). Пусть S и H – множества s-задач и D ≤ S * S. Если каждой паре (s[i], s[j]) элементов из D ста­вится в соответствие определенный элемент из H, то будем говорить, что задана функция связи по памяти h = conn (s[i], s[j]). При этом D будем называть областью определения функции conn и обозначать D [conn]. Множество R = {h: elem H; h = conn (s[i], s[j]); s[i]: elem D[conn], s[j]: elem D[conn]} будем называть областью значений функции conn. 
Тип связи зависит от содержимого пересечения по памяти: составлена ли связь из элементов выхода одной и входа дру­гой задачи; из элементов выходов задач или из элементов их входов; или же связь получена путем комбинации предыду­щих способов. Будем обозначать функцию связи по памяти типа вход-вход через conn[x], выход-вход – через conn[yx] и выход-выход – через conn[y].

/ Родовые связи между s-задачами

□ S-задача может быть прообразом некоторого непус­того множества s-задач или образом некоторого прооб­раза; или быть одновре­менно и образом какой-то одной s-задачи, и про­образом некоторого множества других s-задач.

Предусмотрены следующие типы родовых связей между s-задачами:

s‑(специализация задачи) — указание на s-задачу, частную по отношению к исходной;

s‑(обобщение задачи) — указание на s-задачу, которая служит обобщением исход­ной. □

/ Конструирование s-задачи

□ S‑(конструирование задачи) реализуется посредст­вом связи по памяти между задачами. Элементарная задачная конструкция — это задачная пара. Из задачных пар можно построить более сложную задачную конструкцию, если рассматривать их как задачные элементы. Любая задачная конст­рукция, в свою очередь, может быть использована как со­ставляющая еще более сложной задачной конструкции. □

/ Конкретизация s-задачи

□ S‑(конкретизация задачи) — это переход формулировка → алгоритм → программа).

Для s-задач, имеющих пустое множество программ (Prog = Ø), конкретизация сводится к выбору или разработке алгоритма. Если и Alg = Ø, s-задача может быть использована в s‑(конструированиии задач), но не может быть конкретизирована. □

/ Атомарная s-задача

□ S-задача называется атомарной, если её формулировка не представлена в виде структуры, заданной на некотором множестве формулировок других s-задач. Будем также говорить об атомарной s-задаче как о простой s-задаче. □ Простая задача (с точки зрения построи­теля задачных конструкций) не наделена внутренней струк­турой и потому не подлежит декомпозиции. Простые задачи используются для создания конструкций. Каждая созданная задачная конструкция может быть объявлена некоторой новой задачей. В свою очередь, эти новые задачи вместе с атомар­ными могут быть применены при конструировании задач.

/ Литература

1. В.Д. Ильин, Система порождения программ, М.: Наука, 1989, 264 с.

2. А.В. Ильин, Конструирование разрешающих структур на задачных графах системы знаний о программируемых задачах, Информационные технологии и вычислительные системы, №3, 2007, с.30-36

PDF-файл статьи

Эта статья — в сети ResearchGate.net

S-знание

©  В.Д. Ильин, 2009

□ S-знание (англ. s-knowledge) —

s-(комплексное умение решать задачи определённого класса, включающее умения выполнить:

1. приём и распознавание сообщений, содержащих условия задач этого класса;

2. приведение условия задачи к форме, принятой в решателе задач (машинной программе или решателе человека);

3. интерпретацию приведённого условия задачи на модели задачной области и запись результата в память (для последующего исследования на состоятельность);

4. проверку состоятельности результата путём использования его в условиях проверочных задач; если результат признан состоятельным, задача считается решённой). □

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

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

S-знание не предполагает никаких ограничений на класс задач: это могут быть задачи распознавания образов, перевода с одного языка на другой или иные классы задач.

◊ S-машинный перевод сообщений, составленных на входном языке А, в сообщения на выходном языке Б не может быть успешным, если метод перевода не включает интерпретацию сообщений на s-моделях систем понятий. ◊

S-информация

© В.Д. Ильин  2006, 2008, 2009

□ S-информация (англ. s-information) –

результат s-(интерпретации сообщения) на s-модели системы понятий.

Для извлечения информации из сообщения необходимо иметь:
1. принятое сообщение (представленное в форме, рассчитанной на распознавание и интерпретацию получателем сообщения);
2. хранящиеся в памяти s-модели систем понятий, среди которых – необходимая для интерпретации принятого сообщения;
3. механизмы поиска необходимой s-модели, интерпретации сообщения, представления результата интерпретации в виде s-сообщения и записи его в память. □

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

☼ Запрос веб-клиента – сообщение, интерпретируемое веб-сервером. Веб-страница, сформированная для отправки веб-клиенту, – информация, полученная в результате интерпретации на s‑модели. Отправленная веб-сервером веб-страница – отправленное сообщение. Она же, принятая веб-клиентом, – принятое сообщение. Результат интерпретации принятого сообщения – экранное представление веб-страницы, рассчитанное на восприятие человеком. ☼

◊ Итак, информация — это то, что извлекается из сообщения путём интерпретации на s-модели системы понятий. Человеку для этого нужно воспринять само сообщение (для этого нужно, как минимум, владеть языком, использованным при формировании сообщения), отыскать в памяти требуемую систему понятий (если она там есть) и, наконец — интерпретировать это сообщение на выбранной системе понятий. ☼ Не знаешь языка — не извлечёшь информацию. Не располагаешь необходимыми системами понятий — не извлечёшь (☼ для интерпретации дорожных знаков надо знать правила дорожного движения ☼). [1] ☼

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

/ Литература

1. В.Д. Ильин, И.А. Соколов. Информация как результат интерпретации сообщений на символьных моделях систем понятий. Информационные технологии и вычислительные системы, №4, 2006, с. 74-82

S-данные

© В.Д. Ильин, 2007, 2008, 2009

□ S-данные (англ. s-data) –

s-сообщение, необходимое для решения некоторой s-задачи и представленное в форме, рассчитанной на s-(распознавание, преобразование и интерпретацию) решателем этой задачи (программой s-машины или человеком).

Специализация s-сообщения (s-message) по параметру получатель s-сообщения (s-recipient), значением которого является решатель s-задачи (s-solver):

s-data ≈ s-message[::s-recipient=s-solver]. 

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

Человек воспринимает s-data в символьной форме (текст, числа, звук, изображения и др.), а программа s-машины — в кодовой. ☼ При съёмках цифровой фотокамерой сообщение, представляющее собой световой сигнал, воздействует на светочувствительную матрицу, распознаётся ею, а затем преобразуется в цифровой код. Этот код интерпретируется программой, улучшающей изображение. Полученный результат преобразуется и записывается (на встроенный накопитель или на карту памяти) как графический файл с выбранным пользователем расширением (jpg, tiff или др.). ☼

◊ В s-среде сообщение не относим к s-data, если не указано, для решения какой задачи сообщение предназначено, и если оно не представлено в форме, рассчитанной на s-(распознавание, преобразование и интерпретацию) решателем задачи. ◊

/ Типы элементов s-data (типы данных)

После распознавания программой s-машины выполняется поэлементное s-преобразование s-data в коды этих элементов [в соответствии с описаниями типов (числовых, текстовых и др.) этих элементов и форматов, заданных в программе].

□ Тип s-data (тип данных) определяет множество значений и совокупность допустимых операций. □

/ Структуры однотипных совокупностей элементов s-data (структуры данных)

Чтобы работу с s-data сделать более эффективной, связанные между собой однотипные элементы s-data представляют в виде различных структур s-data (массивов, списков и др.).

/ Форматы элементов s-data (форматы данных)

Ввод s-data и вывод результа решения задачи выполняются в соответствии с описаниями форматов, заданных для элементов s-data (числовых, текстовых, графич., аудио или видео).

/ На машинных носителях (жёстких дисках, картах памяти и др.) s-data хранятся в виде файлов [как правило, имеющих расширение, указывающее тип программы, на которую рассчитаны s-data (☼ NEc-model.pdf — файл с расширением pdf (статьи о модели нормализованной экономики), рассчитанный на любую из программ семейства Adobe Acrobat ☼)].

// Сжатие — это s-преобразование, выполняемое для уменьшения размера s-data. Реализуется, чтобы уменьшить объём памяти для хранения файла, времени передачи по s-сетям . Применяют различные алгоритмы сжатия. Одни из них обеспечивают сжатие без потери качества (☼ png – для неподвижных изображений ☼), другие — с потерей (☼ jpg – для неподвижных изображений ☼) [1].

/ Литература

1. И.А. Соколов, Данные в информатике, Большая Российская энциклопедия. Том 8, 2007, с. 314

S-домен

©  В.Д. Ильин, 2007, 2008, 2009

□ S-домен (англ. S-domain) –

поименованная cовокупность элементов некоторой системы (напр., IP-адресов узлов Интернета), относящейся к s-моделированию, для которой определены единые правила управления и применения.

Специализация домена (domain) по параметру область применимости (applicability). Для информатики значение этого параметра — s-моделирование (s-modeling):

s-domain ≈ domain[::applicability=s-modeling]. 

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

/ S-домен Интернета (inet-domain)

S-домен Интернета — специализация s-domain по параметру s-среда (s-environment): inet-domain ≈ s-domain[::s-environment=Internet].

В Интернете осуществляется одновременный обмен сообщениями между миллионами его узлов (представленных разнообразными s-машинами: ноутбуками, коммуникаторами и др.), каждый из которых имеет уникальный IP‑адрес [32‑битовое число (для IPv4) или 128‑битовое число (для IPv6)].

Доставка сообщений осуществляется по IP‑адресам, организованным в иерархическую древовидную систему со структурной единицей – inet-domain. Он включает в себя IP‑адреса, которые имеют общую часть (т.е. у них совпадают либо одно, либо два, либо три первых числа). На вершине иерархического дерева находится inet-domain нулевого уровня (корневой inet-domain), включающий все inet-domain первого уровня, в каждый из которых могут входить один или несколько inet-domain второго уровня и т.д. К inet-domain первого уровня относятся inet-domain стран (напр., ru – домен России), коммерческих (com) или сетевых организаций (net), образовательных учреждений (edu) и ряд др.

Для удобства записи адресов ресурсов (размещенных на веб‑серверах и др.) пользователям Интернета предоставлена возможность вместо IP‑адресов применять буквенно-цифровые имена (доменные имена). Доменное имя состоит из разделённых точкой имени узла и полного имени домена (состоящего, в свою очередь, из разделённых точками имен inet-domain, в которые входит этот узел). Последним в полном имени любого inet-domain стоит имя одного из inet-domain первого уровня.

☼ serv1.mydomain.ourdom.com – доменное имя узла serv1, входящего в inet-domain mydomain.ourdom.com третьего уровня, который входит в inet-domain ourdom.com второго уровня, принадлежащий inet-domain com первого уровня. ☼

Перевод доменных имен в IP‑адреса выполняют DNS‑серверы глобально распределенной иерархической системы преобразования доменных имен (Domain Name System), которые направляют IP-адреса узлов-получателей узлам, отправляющим сообщения. DNS‑серверы функционируют, используя распределенную базу данных с обновляемыми записями соответствия IP‑адресов и доменных имен. В процессе перевода доменных имен серверы, обслуживающие корневой inet-domain взаимодействуют с серверами, обслуживающими inet-domain первого уровня и т.д. по дереву иерархии.

Распределением пространства IP‑адресов и регистрацией inet-domain первого уровня занимается международная некоммерческая корпорация ICANN (англ. Internet Corporation for Assigned Names and Numbers). Inet-domain второго уровня регистрируют коммерческие компании, аккредитованные ICCAN. Владельцами inet-domain могут быть страны, юридические или физические лица.

/ S-домен локальной сети (LAN-domain)

S-домен локальной сети (LAN-domain) — специализация s-domain по параметру s-environment: LAN-domain ≈ s-domain[::s-environment=LAN].

От  inet-domain отличается методами построения и управления, а также назначением. Деление локальной сети на LAN-domain выполняет системный администратор, используя средства серверной операционной системы. При этом для каждого LAN-domain он определяет единую систему безопасности, права доступа пользователей к совместно используемым программам, файлам и др. Обычно деление локальной сети на LAN-domain производится по признаку общей деятельности пользователей s-машин LAN-domain (☼ LAN-domain бухгалтерии, LAN-domain отдела кадров и т.п. ☼) [1].

/ Литература

1. В.Д. Ильин, Домен в информатике, Большая Российская энциклопедия. Том 9, 2007, с. 232-233

S-код

© В.Д. Ильин, 2009

□ S-код (англ. S-code) –

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

См. TSM – комплекс средств формализации гипермедийных описаний s-моделей.

Исследователям и инженерам, имеющим дело с различными моделями, свойственно стремление представлять их в числовой форме. Это позволяет применять методы решения задач, которые можно представить в виде программ, рассчитанных на выполнение s-машинами.

/ Числовое кодирование

S-символам любого вида ставят во взаимно однозначное соответствие числа, которые можно представить в памяти s-машины.

☼ ASCII (American Standard Code for Information Interchange) — набор, состоящий из 128 текстовых символов (букв, цифр, знаков пунктуации и др.). Расширенный набор ASCII включает 256 текстовых символов. Каждому символу назначен уникальный номер, называемый кодом ASCII. В этих наборах строчные буквы и заглавные — это разные символы (буквы а строчная и А заглавная и т.д.), которые имеют разные коды. ☼

// Представление в памяти s-машин

Изобретая s-машины, выбирают систему счисления и число разрядов для представления чисел в памяти s-машин. При этом выбор направляется стремлением обеспечить наиболее эффективное манипулирование числовыми кодами, которое выполняют s-машины.

Выбор ограничен рядом условий, среди которых физико-техническая реализуемость элементов, используемых для построения s-машин. Обычно основание выбранной системы счисления выбирают равным количеству устойчивых состояний, в которых могут находиться элементарные составляющие, из которых построена s-машина.

☼ Транзисторы современных электронных s-машин имеют два устойчивых состояния. Поэтому в нынешних s-машинах используется двоичное представление числовых кодов программ и данных. ☼