DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 15:46

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 292 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15  След.
Автор Сообщение
СообщениеДобавлено: Воскресенье, 07 Март, 2010 12:39 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Цитата:
1. A=182 т - это означает 182й такт по абсолютной шкале времени?

В данном случае -- да
Цитата:
2. Там, где у Вас иконы с надписями "5т" и "2т" - это паузы (задержки) основного потока управления алгоритма?

Да
Цитата:
3. Как осуществляется "Пуск с параметром A= 182т" и остальные такие же - в этом месте делается запрос БОС на запуск соотвествующей
служебной программы по истечении устанавливаемого временного интервала?

Не совсем понял вопрос. Когда счетчик А досчитает до 182-го такта БЦВМ, производится Пуск параллельного процесса.
Более подробно написано в книге "Как улучшить работу ума..." стр. 167--173
Цитата:
4. Между "первым участком" и "вторым участком" управление передается непосредственно или каким-то иным образом (через диспетчер?),есть ли какая-то связь между участками и отдельными моментами времени?

Нет, диспетчер ни при чем. Управление передается непосредственно. Переход от иконы "адрес" к иконе" имя ветки" --- это безуслвный переход (goto)
Цитата:
5. Там, где используется икона с параллельными линиями в прямоугольнике - АП1... - там имеется в виду, что основной поток управления
должен дождаться завершения того запускаемого (причем только в момент 1432 т) процесса, и только потом продолжить свою работу?

АП -- расшифровывается как Алгоритм Процедура (проще говоря это процедура).
Вопрос. Когда запускается эта процедура?
Ответ. Когда счетчик А досчитает досчитает до 1432-го такта БЦВМ.

Когда процедура доработает до конца, только после этого продолжается дальнейшая работа.
Вы употребили слово "процесс". Мы не называем процедуру процессом.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Март, 2010 16:33 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Предлагаю Вашему вниманию
схему Построить дом для критики
Вложение:
Комментарий к файлу: Построить дом. Предложение для критики
Построить дом ДвойнаяЛиния.png
Построить дом ДвойнаяЛиния.png [ 19.55 КБ | Просмотров: 22334 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Март, 2010 16:57 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Ответ на сообщение:
viewtopic.php?p=40315#p40315
Рэйлвэй Каген писал(а):
Владимир Даниелович, Вы правильно поняли мой вопрос и дали необходимые разъяснения.
Фигура для расщепления, которая, по-Вашему, НЕ НУЖНА - это расширенная икона "Адрес" в наших примитивах.

Попробую рассмотреть Ваш вариант подробно, используя дополненный список Ильченко Эдуарда:

функции расширенной иконы "Адрес":
A) Выполнить один из многих.
B) Выполнить несколько из многих.
С) Выполнить все.

функции расширенной иконы "Ветка":
А')Дождаться любого из.
B')Дождаться нескольких из.
С')Дождаться всех.

порядок выполнения для расширенных икон "Адрес" и "Ветка":
1)последовательно, слева-направо(сверху-вниз).
2)определено алгоритмически
3)одновременно

1. совершенно справедливо, что "А)Выполнить один из многих." и "В)Выполнить несколько из многих." не нужны, т.к.
    случай А) можно свободно изобразить средствами классического Дракона,
    случай В) можно сводить к А) или С) средствами классического Дракона, не допуская излишнего иерархического "закапывания".
2. линия с жирными точками не позволяет различить случаи (С;1),(С;2) и (С;3). Однако при ближайшем рассмотрении можно предположить, что:
    случай (С;1) можно свободно изобразить средствами классического Дракона,
    случай (С;2) можно сводить к группам запуска на основе (С;3) средствами классического Дракона. - (требует доказательства)

Поэтому, для соединений с расширенным "Адресом", может остаться только случай (С;3).
Тогда в примитиве можно использовать ОДИН ВИД линии для обозначения "(С;3). При этом получается, что в схеме НЕ БУДЕТ dummy-маршрутов, т.е. тех, которые появляются у нас в примитиве между шин и не содержат никаких икон.

Я считаю, что Вы вполне обоснованно обрезали избыточность представления в примитиве.

Жирные точки не вызывают особых ассоциаций с одновременным запуском группы маршрутов, но чего-то лучшего предложить не могу.
С расширенной иконой "Ветка" всё немного по-другому, и подобным образом сократить список вариантов мы не сможем. Но раз она такая "многоликая", то для сведения изображения входящих маршрутов к одному типу линии(чтобы разгрузить её от изломов входящих маршрутов) я оставил бы единственный универсальный вариант, раскрывающий за счёт декомпозиции все остальные - (В';2). Т.е. только алгоритмическое определение числа и порядка ожидания. Но в этом варианте я могу и ошибаться.

Но так или иначе, напрашивается очередной вариант:
Вложение:
primitiv1.png
Покритикуйте, пожалуйста.


Ответ

Буду опираться на мой рисунок в предыдущем сообщении.

Вы пишете:
Цитата:
Жирные точки не вызывают особых ассоциаций с одновременным запуском группы маршрутов, но чего-то лучшего предложить не могу.

1. Согласен с Вашим замечанием о жирных точках. Я заменил их на параллельные линии, как у Тышова и в Госте.

2. Но, в отличие от Госта и от Тышова сохраняю икону "Слияние", которую предложил Ильченко.

3. Вы избегаете изломов. Чтобы убрать изломы, Вы заменили икону "Слияние" на узкие пустые прямоугольники. И за счет этого лекарства вы устранили изломы.
По-моему, лекарство хуже болезни.
Икона "Слияние" много лучше, чем узкие пустые прямоугольники.

4. В данном случае не следует бояться изломов. Они являются неизбежным спутником к иконе "Слияние". А Слияние вносит необходимую ясность.

Возможно, я в чем-то ошибся. Если я не прав или что-то упустил, прошу меня поправить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Март, 2010 21:51 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Уважаемый Владимир Даниелович, в и.с. DRAKON Ваш алгоритм выглядить так

Изображение.

По моему мнению, значительно проще, нагляднее и эргономичней.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 07 Март, 2010 23:28 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
В обоих выше представленных рисунках глаз при движении по линии сверху вниз проскакивает горизонтальную шину. Приходится делать изрядное усилие, чтобы найти соответствующий "исток" или "сток" у каждой шины.

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

Вложение:
разветвление-слияние.png
разветвление-слияние.png [ 40.48 КБ | Просмотров: 22362 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 08 Март, 2010 15:55 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Владимир Даниелович, спасибо за замечания.

В Вашем ответе ключевыми мне показались следующие фразы:
Владимир Паронджанов писал(а):
В моем рисунке вообще нет шин. Есть горизонтальные линии с жирными точками.


Поэтому я столь жестоко поступил с модифицированными "Адресом" и "Веткой" - на моём рисунке они обе вытянуты в линии. Разумеется, с запретом изломов. "узкие пустые прямоугольники" - это просто белая линия. Если Ваши горизонтальные линии с жирными точками сделать толще обычных маршрутов, то схема сразу "засветится":
Вложение:
primitiv_par1.png
primitiv_par1.png [ 32.92 КБ | Просмотров: 22287 ]
Вложение:
Комментарий к файлу: "рюшечки" :)
primitiv_par3.png
primitiv_par3.png [ 34.25 КБ | Просмотров: 22287 ]

Возможно, кто-то найдёт более удачные типы линий :?:
Благодаря такому подходу я устранил "лестницы"(см.схемы Тышова), сразу чётко выделил "этажи"(участки алгоритма с параллельно выполняемыми действиями). Кстати, изломы тоже приводят к "лестницам". На более-менее насыщенной схеме такие "лестницы" визуально помешают выделить "этаж". Стремление от'UML-ить(Донской) или заГОСТировать(Тышов) параллелизм в примитиве не приводит к появлению каких-либо правил для разработчика, ограничивающих или хоть как-то упорядочивающих сложность. Стремление запихнуть все мыслимые возможности в примитив я считаю несколько надуманным. В примитиве уровень сложности просто обязан быть ниже плинтуса. Модель с простыми горизонтальными линиями достаточно эффективно обрезает возможности запутывания примитива.

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

В реальном проекте, на мой взгляд, гораздо эргономичнее просто изменить списки в "Адресах" на силуэте и проконтролировать изменения участка в другом представлении(хотя бы на графе).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 08 Март, 2010 20:12 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Владимир Даниелович, продолжаю приставать с вопросами ;-)

Владимир Паронджанов писал(а):
Цитата:
3. Как осуществляется "Пуск с параметром A= 182т" и остальные такие же - в этом месте делается запрос БОС на запуск соотвествующей служебной программы по истечении устанавливаемого временного интервала?

Не совсем понял вопрос. Когда счетчик А досчитает до 182-го такта БЦВМ, производится Пуск параллельного процесса

Предположим, изображенный Вами алгоритм начинает свою работу в момент времени A=0. Когда на схеме он достигает иконы, с которой ассоциировано A=182 т - на самом деле он делает запрос (ставит в очередь, не знаю, к кому или чему, вероятно, либо средствам БОС, либо прямо к аппаратному таймеру) на запуск параллельного процесса в момент A=182 т, и, не приостанавливаясь, продолжает свою работу? Не ждет момента A=182 т для продолжения, а переходит к следующему действию, т.е. пуск АИ1.УХ.ВКЛ.РМ произойдет в момент времени A=5, и т.д.?

Спасибо за ответы :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 08 Март, 2010 20:23 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Рэйлвэй Каген писал(а):
В реальном проекте, на мой взгляд, гораздо эргономичнее...

Товарищи, перестаньте спорить. Примите как факт, что нагляднее (эргономичнее, ежели хотите) - вариант отображения, как в системе Тышова.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 08 Март, 2010 21:16 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
TAU писал(а):
Товарищи, перестаньте спорить. Примите как факт..
Вот уже и "сравнительный анализ" кому-то помешал :)
И причём тут спор :?:


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 08 Март, 2010 21:37 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Уважаемый Владимир Даниелович.
TAU писал(а):
Предположим, изображенный Вами алгоритм начинает свою работу в момент времени A=0.
В Вашей схеме присутствуют иконы "Синхронизатор по таймеру" с идентификатором "А", а где находиться икона "Пуск таймера" с идентификатором "А"?

Для того чтобы алгоритм был полностью определен в схеме, требуется наличие иконы "Пуск таймера" в этой же схеме.

Прошу пояснить. Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 09 Март, 2010 04:49 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Ответ на сообщение:
viewtopic.php?p=44027#p44027
О новом варианте визуализации параллелизма
Владимир Паронджанов писал(а):
Если я не прав или что-то упустил, прошу меня поправить.

А) Как я понимаю, базис структуризации 3х3 сокращён до 2х2 (по измерениям: числа одновременно работающих ветвей {один;много}; порядка выполнения ветвей {последовательно; одновременно}) и это хорошо. Однако само определение второго измерения и его значений у меня вызывает вопросы (уже на качественном уровне понимания). Во-первых - что понимается под порядком выполнения - м.б. порядок выбора для исполнения (одного или многих)? Отсюда во-вторых - м.б. не "последовательно/одновременно", а, скажем, "пространственно)/алгоритмически "? Первое реализовано в алгоязыках, в т.ч. ДРАКОНе, как порядок просмотра ветвей (вариантов). Второе предложено в МШ - составить систему условий прохода узла, которые вычисляются все и результат определяется их совокупностью (для расщепления - какие шампуры стартуют, для слияния - как результаты работы шампуров принимаются во внимание на финише), см. в этом сообщении; Рэйлвей Каген, как я понимаю, говорил о том же, как об "алгоритмической расшифровке".
Интуитивно можно на этот случай тоже наложить смысл "последовательно/одновременно", но только если иметь в виду именно порядок просмотра ветвей. В противном случае получается, что ветви (Н-шампуры МШ-блока, в ГОСТ-терминологии - независимые параллельные действия, НПД) могут стартовать друг за другом, т.е. МШ-блок неявно "зациклен" с финиша на старт. Возможно, это тоже идея, но она д.б. явно выраженной сочинителем - раз и математически обоснованной - два (а скажем, интерпретация МШ-блока как сетевого графика, предложенная в этом сообщении таких оснований, похоже, не даёт).

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

А может, не интерпретировать схему с расщеплением как сетевой график? И дать сочинителю свободу строить любые маршруты НПД, включая циклические? Однако вот такое замечание: "...работы, составляющие контуры, не могут начаться и ждут друг друга. Первая задача... - поиск контуров и их размыкание. Формализовать процесс размыкания контуров в данной ситуации невозможно; априорно допустимо любое упорядочение работ, и единственная приемлемая возможность разрешения коллизии - экспертный её анализ, вне рамок матмодели." (Романовский И.В. Дискретный анализ. - 3-е изд. - СПб, 2004, с. 230) - с которым полностью согласен.
Здесь неважно, что в петле цикла ничего нет - в сетях это фиктивная работа (с нулевой потребностью в ресурсах, включая время), вводимая для "сшивания" качественно сформулированного отношения порядка работ в математически корректное (сеть без контуров, где у каждой работы есть предшественники вплоть до начального узла). Содержание маршрута тоже "нулевое" - вроде бы пустой оператор, а на самом деле - Н-процесс с телом из одной шампур-иконы И20, докладывающей узлу сбора на конце о завершении того, что не делалось :) (в Справке Ты-среды о том же говорится как о синхронизации); кстати, термин dummy-фиктивный, IMHO, идёт именно от сетевого понимания маршрутов с расщеплением. И такая работа всё равно не может образовывать контур.

А в других типах задач математика предлагает метод размыкания контуров с удалением маловажных (по приписанным весАм) дуг. И тут другое: "Вспомнив о необходимости размыкания контуров при составлении сетевого графика, вы можете подумать и о таком применении <данного метода>. Но это хороший пример фальшивой применимости модели - никакие искусственные "выгоды" не могут заменить поиска правильной последовательности работ." (Романовский, 2004, с. 258, сноска). В самом деле - получится, что мы ради размыкания удаляем работы, т.е. НПД.

Т.о. всё равно уйдя от сетевой интерпретации к алгоритмической - допускаем неопределённость, которую сочинителю так и так придётся преодолевать. И лучше не делать этого - тогда уже при сочинении нужно будет "экспертно анализировать" суть деятельности, т.е. правильно представить себе порядок работ. А чтобы получить из "житейски" правильного порядка (где, как правило, отражены только ближайшие предшественники работы) сеть работ (где для каждой работы найдены все её предшественники), вводят те же фиктивные работы (пример можно найти у Романовского в п/р 8.9). По-моему, перекликается с построением программ на Обероне, где запрещён циклический импорт модулей; в результате для разрешения ссылок модулей друг на друга вводятся дополнительные модули (показано у Свердлова для О-компилятора в Прил.3).


Б) Всё-таки не хотелось бы неоправданных изломов линий, и потому лучше как сделано Геннадием в Ты-среде - узлы протяжены "по месту".

В) Символика ГОСТ всё-таки тоже не идеал (хотя по логике "слепышей" то, что надо). Это следует из А) - условия старта/финиша нужно записывать в соответствующих узлах, что и предложено в МШ-алфавите, уточнённом в этом сообщении, исходя из сетевой интерпретации. А независимые действия (процессы) всё равно зависят от общих ресурсов (ограниченных), которые нужно учесть ещё до алгоритмизации (в частности, чтобы сразу применить к схеме методы сетевого планирования и алгоритмизовать уже оптимизированную).

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

Итак, от узлов-линий, считаю, надо уходить. Что полагаю правильным в ГОСТе (абстрагированном от текста) - ограничение функций узлов только расщеплением/сбором. Как и в ДРАКОНе, содержание примитива и силуэта д.б. одинаково (если "примитивизируем" силуэт, должен без всяких доп. манипуляций получиться исходный примитив, только с разрешёнными БП, которые можно сохранить или устранить - во втором случае, естественно, снова возникают пересечения линий, если они были в исходном примитиве).
А всё-таки что-то в РК-предложении, наверное, есть... но чтобы окончательно разобраться - нужна методика применения, которая бы охватывала: 1) декомпозицию РК-схем; 2) их алгоритмизацию. Только примеров недостаточно - нужна целостная картина...

P.S. Вот так могут выглядеть события через МШ-узлы (добавлены поля приоритета работ, т.е. Н-шампуров). Здесь также убран общий контур узла - несколько похоже на НПД-иконы :)
Вложение:
Комментарий к файлу: Узлы как события см. Лист 2.
A3L МШ-схемы - алфавит (нов).odg [27.17 КБ]
Скачиваний: 579

Вложение:
Комментарий к файлу: Образ Листа 2.
A3L_МШ-узлы_как_события_сети_работ.djvu [32.38 КБ]
Скачиваний: 548

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


Последний раз редактировалось Владислав Жаринов Вторник, 16 Март, 2010 05:22, всего редактировалось 8 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 09 Март, 2010 14:54 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Рэйлвэй Каген писал(а):
Если Ваши горизонтальные линии с жирными точками сделать толще обычных маршрутов, то схема сразу "засветится"
Как хотите, пусть светится, но читаемой она от этого не становится. Особенно объединение на одной горизонтали чёрных и белых линий. Можно нарисовать всё, что угодно, но мы вроде говорим в первую очередь об эргономике восприятия? Так вот, даже после длительного размышления я решительно не пойму, куда можно ходить по этим линиям. Тем более разговора нет о "симультаннм" восприятии.

Рэйлвэй Каген писал(а):
Благодаря такому подходу я устранил "лестницы"(см.схемы Тышова), сразу чётко выделил "этажи"(участки алгоритма с параллельно выполняемыми действиями).
Этажи - это хорошо. Но маршрут пропал!!!

Рэйлвэй Каген писал(а):
Стремление от'UML-ить(Донской)...
Это вот и есть UML, да? Я польщён! :) На самом деле я не настолько знаком с UML, чтобы его навскидку цитировать. Скорее, я пошёл от принципа синтаксических диаграмм Паскаля, где движение глаза по маршруту направлялось соответствующими изгибами линий. Вот это и есть маршрут. А остальное - от лукавого.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 10 Март, 2010 08:55 

Зарегистрирован: Воскресенье, 04 Ноябрь, 2007 23:01
Сообщения: 511
Alexey_Donskoy писал(а):
..Так вот, даже после длительного размышления я решительно не пойму, куда можно ходить по этим линиям...маршрут пропал!!!
Да. Как будто идёте по тропинке и "вдруг" оказываетесь на клеверной развязке, да ещё сразу на третьей полосе.

Поэтому я и придерживаюсь позиции, что отдельными значками показывать параллелизм невыгодно. Хоть UML'ем, хоть ГОСТ'ом. Особенно в дракон-схеме примитив. Даже идея Паронджанова, подкупающая своей простотой и возможностями развития, способна достаточно сильно усложнить как сам примитив, так и некоторые правила Дракона.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 10 Март, 2010 13:51 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Геннадий Тышов писал(а):
Уважаемый Владимир Даниелович.
TAU писал(а):
Предположим, изображенный Вами алгоритм начинает свою работу в момент времени A=0.
В Вашей схеме присутствуют иконы "Синхронизатор по таймеру" с идентификатором "А", а где находиться икона "Пуск таймера" с идентификатором "А"?

Для того чтобы алгоритм был полностью определен в схеме, требуется наличие иконы "Пуск таймера" в этой же схеме.

Прошу пояснить. Спасибо.


Уважаемый Геннадий Николаевич!

Вы правы. Я допустил ошибку. Чтобы устранить ошибку,
я вставил икону " Пуск Таймера". (см. рис. внизу)


Вложения:
Комментарий к файлу: Ошибка исправлена. Добавлена икона "Пуск таймера"
ПараллельКомандаТаймер.png
ПараллельКомандаТаймер.png [ 36.14 КБ | Просмотров: 22231 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Март, 2010 11:12 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Владимир Паронджанов писал(а):
я вставил икону " Пуск Таймера". (см. рис. внизу)

Уважаемый Владимир Даниелович!

Если выкинуть первую икону "5т" в схеме и переделать икону "Пуск АИ1УХ.ВКЛ.РМ в аналог предыдущей, но только не с "А=182т", а "А=187т" - изменится ли смысл алгоритма?

Спасибо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 11 Март, 2010 19:00 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Нет, логически не изменится.
Но так не делают. И вот почему.

Таймер отсчитывает ВАЖНЫЕ времена.
То есть времена, записанные в иконах "синхронизатор":
182т, 1432т, 1892т и т.д. -- это ВАЖНЫЕ времена.
Эти моменты времени означают что-то очень ВАЖНОЕ,
то есть какие-то ВАЖНЫЕ события.

А времена, которые записаны в иконах "пауза" --
это неважные времена, то есть времена рангом пониже.

Таким образом, налицо два набора времен:
важные и неважные.
Разработчик не хочет путать важное с неважным.
Поэтому он использует два инструмента.

Таймер используется для важных времен.
Пауза используется для неважных времен.

Так нагляднее и понятнее.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Март, 2010 15:29 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Владимир Паронджанов писал(а):
логически не изменится

Что-то я стал еще хуже понимать.
Вопрос был вызван следующим важным смысловым различием.

Интересно, происходит ли останов потока управления после пуска АИ1УХ.ПН.ВКЛ.СОЗ. На 182т? Я вообще думал, что нет -
т.е. что затем происходит занесение запроса на включение в момент А=182т, и алгоритм идет дальше. А как раз икона "5т" - это
именно приостановка на "5т", и только потом переход к пуску АИ1.УХ.ВКЛ.РМ. И, таким образом, пуск АИ1.УХ.ПН.ВКЛ.СОЗ происходит
в момент времени А=0, а пуск АИ1.УХ.ВКЛ.РМ - в момент времени А=5 (а не 187!).

Чтобы было лучше понятно, о чем я говорю, разрисовал тот же алгоритм, в применяемой нами графической нотации:
Вложение:
ГРАФИТ2.PNG
ГРАФИТ2.PNG [ 45.67 КБ | Просмотров: 22148 ]


Из Ваших же слов следует, что после пуска АИ1УХ.ПН.ВКЛ.СОЗ алгоритм приостанавливается, и продолжает свою работу только
в момент А=182т.

Правильно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 12 Март, 2010 16:24 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Цитата:
...происходит ли останов потока управления после пуска
АИ1УХ.ПН.ВКЛ.СОЗ. На 182т? Я вообще думал, что нет ...

Параллельный процесс АИ1УХ.ПН.ВКЛ.СОЗ работает, пока не кончится.
Я не помню, когда он кончится. Но это не важно.
Когда счетчик А досчитает до момента 182т,
запускается параллельный процесс АИ1ЭС.БПДД
Цитата:
...икона "5т" - это именно приостановка на "5т",
и только потом переход к пуску АИ1.УХ.ВКЛ.РМ.

Да, это правильно. Но крайне важно понять (указать),
в какой момент начинает работать пауза 5т?
Ответ. Пауза 5т начинает работу одновременно
с пуском процесса АИ1ЭС.БПДД.
Или, что одно и то же, в момент 182т

Цитата:
И, таким образом, пуск АИ1.УХ.ПН.ВКЛ.СОЗ происходит
в момент времени А=0,

Да, это правильно
Цитата:
а пуск АИ1.УХ.ВКЛ.РМ - в момент времени А=5
(а не 187!).

Это неправильно. Пуск АИ1.УХ.ВКЛ.РМ происходит
в момент времени А=182+5=187

Цитата:
Из Ваших же слов следует, что после пуска
АИ1УХ.ПН.ВКЛ.СОЗ алгоритм приостанавливается

Это неверно. Он не приостаналивается. Он в принципе не умеет
приостанавливаться. Единственное, что он может -- либо закончиться,
либо продолжать работу и закончиться позже.
Цитата:
и продолжает свою работу только
в момент А=182т.

Это не верно.
____________________________________________________

Уважаемый Андрей TAU!

В схеме работают ДВА независимых программных счетчика.
Первый -- счетчик А. Из схемы видно, что он делает.
Второй счетчик (назовем его В) обслуживает иконы пауза.
При обслуживании первой иконы 5т, счетчик В считает от 0 до 5 и обнуляется.
При обслуживании второй иконы 2т, счетчик В считает от 0 до 2 и обнуляется.
И так далее.

13 марта я сделал добавку в текст красным цветом


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Март, 2010 00:59 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
А изображенный на диаграмме процесс (ФИ1УШ.КЗ.МДУ - или это название процесса, из которого он инициализируется)?

Владимир Паронджанов писал(а):
Это неправильно. Пуск АИ1.УХ.ВКЛ.РМ происходит
в момент времени А=182+5=187


Владимир Паронджанов писал(а):
Цитата:
Из Ваших же слов следует, что после пуска
АИ1УХ.ПН.ВКЛ.СОЗ алгоритм приостанавливается

Это неверно. Он не приостаналивается. Он в принципе не умеет
приостанавливаться. Единственное, что он может -- либо закончиться,
либо продолжать работу и закончиться позже


Владимир Паронджанов писал(а):
Цитата:
и продолжает свою работу только
в момент А=182т

Это не верно

Не могу совместить одно с другим. В моем понимании, если пуск АИ1.УХ.ВКЛ.РМ происходит в момент времени А=182+5=187,
то получается, что сам изображенный на схеме процесс (ФИ1УШ.КЗ.МДУ - или это наименование процесса, который инициализирует данный?)
после пуска АИ1.УХ.ПН.ВКЛ.СОЗ именно приостанавливается. Или там на самом деле "выход в диспетчер", как на моей схеме, и потом еще
один вход в алгоритм, но в другое время?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 14 Март, 2010 06:04 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Снова к вопросу о достаточности иконы И20. В выдержке ниже описание способов рандеву.
Вложение:
Комментарий к файлу: Романовский - Дискретный анализ - п. 10.4.3 (Сопрограммы)
Формализация диспозитивного (равноправного) и императивного (неравноправного) видов взаимодействия процессов на примере конкретного алгоритма. Понятие нити управления.

Романовский-ДискрАнализ-ВД+п10_4_3.djvu [35.85 КБ]
Скачиваний: 566

Само по себе описание для специалиста, наверное, не ново. В ДРАКОНе, очевидно, имеем первый тип; но реализована только отправка сообщений другому процессу (группе процессов?). У Романовского же (как и в других случаях, напр. для Оккама) указывается на необходимость пары рандеву-операторов: отправки и приёма сообщений. Приём в ДРАКОНе из-за отсутствия пары получается неявным; видимо, где в процессе-адресате начато использование содержимого сообщения - там и должна возникать пауза (задержка) - или не так?
Мне кажется оправданной парность операторов, хотя бы из соображений ясности использования сообщений процессом-адресатом (адресатами?); хотелось бы услышать мнение специалистов.

И ещё - хотелось бы видеть спецификацию Активного Оберона (полностью или как расширения относительно Оберона-2) - как там это реализовано (на форуме что-то говорилось об AWAIT). Поглядел в этой теме - вроде не видать... где можно найти, подскажите?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 292 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB