Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность/Надёжность
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
drakon-leksika-_polnota_sostava_i_smysla [2012/09/09 12:01] Владислав Жаринов Добавлена ссылка на исходный алфавит |
drakon-leksika-_polnota_sostava_i_smysla [2012/09/15 21:07] Владислав Жаринов ссылки на источники, мелкие правки |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
- | Прежде всего обсудим соответствие состава знаков техноязыка некоторым аспектам смысла алгопроцессов и их систем. Исходный состав обсуждался на [[http://drakon.su/vershiny_i_linii_sxem_-_smysl_v_grafike_i_tekste|этой странице]]. | + | Прежде всего обсудим соответствие состава знаков техноязыка некоторым аспектам смысла алгопроцессов и их систем. Исходный состав обсуждался на [[http://drakon.su/vershiny_i_linii_sxem_-_smysl_v_grafike_i_tekste|этой странице]]. Ряд проблем представления программ был поставлен в своё время в статье А. Гегечкори, которая доступна в[[http://drakon.su/biblioteka/start?&#stati_vystuplenija|п. 1.2.3 библиотеки сайта]]. |
- | Начнём с взаимодействия процессов. Оператор «Параллельный процесс» (в техноязыке И20; у нас — Д25) имеет смысл запроса на установление т.н. рандеву (потому он здесь и называется иначе). Однако рандеву бывает разное. Возможно симметричное — тогда надо указать, где другой процесс (по ходу своего исполнения) ожидает того же рандеву. Т.е. нужен виоп, парный И20 (Д25) — но такого в исходном техноязыке нет. И можно только предполагать, где алгопроцесс-адресат сообщения ожидает его получения (скажем, по началу использования сообщаемых величин). Что не есть хорошо. Существует и асимметричное рандеву (построенное не на приёме сообщений). Но и оно имеет «ответную часть» в составе адресата — вход вызова процесса (как процедуры, тлько с некоторыми особенностями; подробнее можно узнать из Ч.I, Гл. 6 книги Кауфмана). Средства техноязыка недостаточны и в этом случае. | + | Начнём с взаимодействия процессов. Оператор «Параллельный процесс» (в техноязыке И20; у нас — Д25) имеет смысл запроса на установление т.н. рандеву (потому он здесь и называется иначе). Однако рандеву бывает разное. Возможно симметричное — тогда надо указать, где другой процесс (по ходу своего исполнения) ожидает того же рандеву. Т.е. нужен виоп, парный И20 (Д25) — но такого в исходном техноязыке нет. И можно только предполагать, где алгопроцесс-адресат сообщения ожидает его получения (скажем, по началу использования сообщаемых величин). Что не есть хорошо. Существует и асимметричное рандеву (построенное не на приёме сообщений). Но и оно имеет «ответную часть» в составе адресата — вход вызова процесса (как процедуры, только с некоторыми особенностями; подробнее можно узнать из Ч.I, Гл. 6 книги Кауфмана, см. [[http://drakon.su/biblioteka/start?&#knigi|п. 1.1.4 библиотеки]]). Средства техноязыка недостаточны и в этом случае. |
Далее, ввод и вывод — это частные случаи обмена с окружением исполнителя (внешней средой алгопроцесса). Как известно, процессы (и, если нужно, их контексты) можно также сохранить вне места исполнения — например, на носителях внешней памяти. При алгоритмизации высокого уровня принято представлять это отдельными операторами сохранения и извлечения. На уровне исполнителя-машины устройства внешней памяти обычно неотличимы от устройств ввода/вывода (поэтому у Паронджанова и нет специальных операторов). На высоком уровне общим м.б. то, что значения при сохранении/извлечении обычно (и часто при вводе/выводе) подвергаются т.н. сериализации — преобразованию в одномерный поток кодов (чаще всего бит) перед передачей из пространства исполнения; при этом в поток м.б. дбавлены данные для фиксации структуры значений. При приёме поток вначале десериализуется — преобразуется к структуре значений с использованием данных фиксации. | Далее, ввод и вывод — это частные случаи обмена с окружением исполнителя (внешней средой алгопроцесса). Как известно, процессы (и, если нужно, их контексты) можно также сохранить вне места исполнения — например, на носителях внешней памяти. При алгоритмизации высокого уровня принято представлять это отдельными операторами сохранения и извлечения. На уровне исполнителя-машины устройства внешней памяти обычно неотличимы от устройств ввода/вывода (поэтому у Паронджанова и нет специальных операторов). На высоком уровне общим м.б. то, что значения при сохранении/извлечении обычно (и часто при вводе/выводе) подвергаются т.н. сериализации — преобразованию в одномерный поток кодов (чаще всего бит) перед передачей из пространства исполнения; при этом в поток м.б. дбавлены данные для фиксации структуры значений. При приёме поток вначале десериализуется — преобразуется к структуре значений с использованием данных фиксации. | ||
Строка 18: | Строка 18: | ||
Взаимодействие процессов доопределено для симметричных рандеву. Аппарат асимметричных (и другие механизмы — т.н. критические секции, взаимные исключения) ждёт своих исследователей и разработчиков языковых средств, адекватных смыслу. | Взаимодействие процессов доопределено для симметричных рандеву. Аппарат асимметричных (и другие механизмы — т.н. критические секции, взаимные исключения) ждёт своих исследователей и разработчиков языковых средств, адекватных смыслу. | ||
- | Также отражены специфические случаи взаимодействия, когда процесс инициирует рандеву неявно. Во-первых, это возможно через действия — если есть возможность отслеживать внутреннее состояние исполнителя. Во-вторых, отслеживать можно каналы обмена с окружением — тогда трафик через них становится одновременно собщениями взаимодействующим процессам. Оба случая встречаются на практике. | + | Также отражены специфические случаи взаимодействия, когда процесс инициирует рандеву неявно. Во-первых, это возможно через действия — если есть возможность отслеживать внутреннее состояние исполнителя. Во-вторых, отслеживать можно каналы обмена с окружением — тогда трафик через них становится одновременно сообщениями взаимодействующим процессам. Оба случая встречаются на практике. |
- | Условия (их ещё называют инвариантами процесса) предлагается фиксировать в виде боквика-вопроса. Очевидно, его можно присоединять сбоку (слева) к любой вершине схемы; при этом у некотрых вершин м.б. более одного левого боковика. | + | Условия (их ещё называют инвариантами процесса) предлагается фиксировать в виде боковика-вопроса. Очевидно, его можно присоединять сбоку (слева) к любой вершине схемы; при этом у некоторых вершин м.б. более одного левого боковика. |