DRAKON.SU

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

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




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 10:07 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Чем объективно хуже использование уникальных ID элементов и связей по ID? Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно... поростым как полено конвертором :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 12:20 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Чем объективно хуже использование уникальных ID элементов и связей по ID? Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно... поростым как полено конвертором :)

Я применял ID для икон и пришёл к выводу, что это лишняя сущность.

Например сравните:

Справа от иконы Вопрос находится икона Действие с ID 17.
и
Справа от иконы Вопрос находится икона Действие.

Ну и какая мне разница, у иконы Действие ID 17 или "тридцать четыре тысячи семьсот восемьдесят девять" ? : )

Насчёт проще, сомневаюсь. Пока у меня сложилось другое мнение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 14:33 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно... поростым как полено конвертором :)

Не могли бы Вы привести пример возможной сложности при конвертации из моего формата?
Во что нужно конвертировать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 14:42 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
А Вы просто покажите код для чтения Вашего формата.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 16:26 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
А Вы просто покажите код для чтения Вашего формата.

Это такой новый тип разводки? : )
Я пока не планирую делать исходники open source : ), в отличии от ДАР формата.


Ильченко Эдуард писал(а):
Ярослав Романченко писал(а):
Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно... поростым как полено конвертором :)

Не могли бы Вы привести пример возможной сложности при конвертации из моего формата?
Во что нужно конвертировать?

Я так понял, по существу (объективно : ) пример сложности найти сложно? : )

Непонятно, что смущает?
Попозже попробую изобразить нечто вроде алгоритма разбора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 16:50 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Зачем нужен ОТКРЫТЫЙ формат, если способ его разбора понятен только самому автору? Можно и не открывать формат в таком случае, т.к. смысла в его "открытости" будет мало.
Или это такой новый тип разводки? :mrgreen:
Такой формат и ДАРом не нужен...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Пятница, 20 Апрель, 2012 23:28 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Ярослав Романченко писал(а):
Чем объективно хуже использование уникальных ID элементов и связей по ID? Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно... поростым как полено конвертором :)

Поддерживаю!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Суббота, 21 Апрель, 2012 01:32 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Зачем нужен ОТКРЫТЫЙ формат, если способ его разбора понятен только самому автору? Можно и не открывать формат в таком случае, т.к. смысла в его "открытости" будет мало.

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

А вот алгоритм конвертации, например, из ДАР в DRT и обратно можно было бы и разобрать на форуме. Наверно было бы полезно. Ну или ДАР в Pascal или ещё куда : )

TAU писал(а):
Ярослав Романченко писал(а):
Чем объективно хуже использование уникальных ID элементов и связей по ID? Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно... поростым как полено конвертором :)

Поддерживаю!


Господа-товарищи!
На форуме неоднократно поднимался вопрос о нужности-необходимости открытого формата хранения дракон-схем.

Я предложил свой вариант, который попытаюсь защитить : )
Возможно я совершенно не прав и несу "галиматню", но пока я этого не вижу.

Опубликуйте своё видение формата, с удовольствием поучаствую в обсуждении.

Лично я с ID в качестве связующего средства уже поупражнялся и отказался от него.
Кроме того, конструкции, использующие ID некрасивы : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Суббота, 21 Апрель, 2012 01:36 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Зачем нужен ОТКРЫТЫЙ формат, если способ его разбора понятен только самому автору?

Ярослав Романченко писал(а):
А Вы просто покажите код для чтения Вашего формата.

"Вместо рыбки лучше дать удочку" (С)

Ниже картинки, на которых я попробовал объяснить как может происходить связывание элементов, извлекаемых из XML файла, содержащего дракон-схему в формате ДАР.

Алгоритм

Вложение:
om.png
om.png [ 18.94 КБ | Просмотров: 15636 ]


Пояснения на примере абстрактного слепыша

Вложение:
om1.png
om1.png [ 55.05 КБ | Просмотров: 15636 ]


Тот же слепыш (для наглядности)

Вложение:
om2.png
om2.png [ 21.67 КБ | Просмотров: 15636 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Воскресенье, 22 Апрель, 2012 23:22 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 341
Несколько поясню свои мысли об универсальном XML-формате представления процедурных языков.
Или управляющего графа программы. Правда, расширенного передачами управления через временной интервал, и параллелизмом.

Цитата:
<module>
<derevo> не обязательно называть "деревом", можно "процедурой" или "функцией", кому как нравится
<lineinyi_uchastok> аналогично - название подлежит согласованию
<action>
... У действия может быть ссылка на внешнее XML-описание
</action>
<action>
... Или параметры задаваться прямо здесь
</action>
<uslovie>
... Здесь прописываются ID линейных участков, куда передается управление в случае ложности и
... истинности условия и дается ссылка на описание условия, либо оно описывается здесь же

</uslovie>
<lineinyi_uchastok>
</derevo>
<derevo>
</derevo>

</module>


Далее. Помимо <derevo> соответствующего "шампурам" Паронджанова, можно использовать.
Цитата:
<siluet>
<vetka>
...
</vetka>
<siluet>


Среди разрешенных действий должны быть вызов на выполнение другого дерева, ветки, и вызов по истечении заданного временного интервала.
Помимо этого - можно описать параллельное выполнение, например, подобным образом:
Цитата:
<parallel>
<derevo>
<derevo>
<derevo>
</parallel>


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

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

Призываю Степана Митькина и Геннадия Тышова подумать о поддержке примерно подобного формата "высокого уровня" в своих редакторах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Понедельник, 23 Апрель, 2012 16:19 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 234
Откуда: Украина, Киев
Ильченко Эдуард писал(а):
Алгоритм
Цитата:
The first thing to be aware of, and which might surprise you, is that the XML 1.0 specification itself does not guarantee element order in the sections...
http://www.ibm.com/developerworks/xml/library/x-eleord/index.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Понедельник, 23 Апрель, 2012 17:30 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):

Спасибо, посмотрю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Вторник, 24 Апрель, 2012 01:18 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ильченко Эдуард писал(а):
Ярослав Романченко писал(а):

Спасибо, посмотрю.

Ярослав, ещё раз спасибо!
Ваши сообщения помогают мне продираться через дебри XML : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАР формат. Он же DAR : )
СообщениеДобавлено: Вторник, 24 Апрель, 2012 23:05 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Ярослав Романченко писал(а):
Формат с использованием ID получается проще, при желании можно конвертировать потом во что угодно...

TAU писал(а):
Цитата:
... Здесь прописываются ID линейных участков, куда передается управление в случае ложности и
... истинности условия и дается ссылка на описание условия, либо оно описывается здесь же

Поясните, пожалуйста, вот эти ID используются только для указания связей между элементами при их извлечении из XML файла или и в дальнейшем, уже в программном коде?

Когда у меня была реализация программы через ID, приходилось всё время следить за их уникальностью, и постоянно их корректировать (что в результате и заставило от них отказаться).

Например, есть в одном пространстве (листе, сцене) две схемы, которые содержат элементы с уникальными ID (в пределах одного сеанса работы с редактором) и одна в XML файле (результат предыдущей работы редактора). Необходимо импортировать схему из XML файла в то же пространство, где находятся две другие схемы. Появляется конфликт ID, которые нужно как-то устранить.
Вложение:
a1.png
a1.png [ 4.64 КБ | Просмотров: 15484 ]

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

Если активно работать с одной и той же схемой, то, в результате копи-пастов, удалений-добавлений порядковый номер новых ID стремится в бесконечность : ) и время от времени их нужно как-то нормализовывать, ужимать или следить за выбывшими номерами. В общем, головная боль на ровном месте.

После ваших сообщений закралось сомнение, может я в очередной раз чего не понимаю : ) и всё делается гораздо проще?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Апрель, 2012 07:08 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Тут штука в том, что у Вас, как можно понять, нумерация линейная вообще в пределах документа. А целесообразна иерархическая согласно структуризации возможных схем. О чём и говорил здесь: viewtopic.php?p=72208#p72208. Кстати, там ещё не упомянут индекс всей схемы (вводится, скажем, здесь в каждом заголовке). Об этом же и TAU здесь: viewtopic.php?p=72328#p72328. Да, кстати, и декларативные схемы, и связывание их с императивными (для конкретного исполнителя) тоже надо представить в формате постепенно... для чего его принципы должны допускать расширение...

Ильченко Эдуард писал(а):
adva писал(а):
А вот вместо локальных ссылок вполне нравятся вкладки, даже достаточно объемные.
Мне тоже : )
Да, я тоже эту мысль по Pure Builder оценил... :)


Последний раз редактировалось Владислав Жаринов Среда, 25 Апрель, 2012 07:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Апрель, 2012 07:39 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Ильченко Эдуард в viewtopic.php?p=72218#p72218 писал(а):
Ярослав Романченко писал(а):
Зачем нужен ОТКРЫТЫЙ формат, если способ его разбора понятен только самому автору? Можно и не открывать формат в таком случае, т.к. смысла в его "открытости" будет мало.

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

Другой вопрос - как реализацию описывать? Тут совершенно необязательно раскрывать свой код на конкретном языке. Есть, скажем, такой язык, специально созданный Виртом в т.ч. "для публикации алгоритмов и программ"... подскажу, что название конференции от него образовано... :) Вот на нём процессы разбора описать можно...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Апрель, 2012 08:40 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владислав Жаринов писал(а):
А целесообразна иерархическая согласно структуризации возможных схем.

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

По Вашим ссылкам разобраться не смог : (


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Апрель, 2012 08:46 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владислав Жаринов писал(а):
Тут штука в том, что у Вас, как можно понять, нумерация линейная вообще в пределах документа.

Даже если делать нумерацию каждого элемента уникальной в пределах всего мира это не избавляет от проблем.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Формат схем и свойства редактора
СообщениеДобавлено: Среда, 25 Апрель, 2012 09:27 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Ну, значить, конкретный пример (извиняюсь, что общая идея и текстом :) будем считать, что это я так тоже не раскрываю своего полностью :wink:). Заодно для начала ответ на вполне резонное удивление. Да, для каждой отдельно взятой схемы (одного структур-класса - здесь мы о маршрутных) возможно совпадение внутрисхемных индексов с другой схемой. Но с учётом схемных и вышестоящих частей индекса - совпадения не будет.

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

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

А любые лишние розыски - это увеличение времени ответа редактора... не так ли?.. Т.е. экономичность создаёт условия для эргономичности... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Апрель, 2012 09:56 

Зарегистрирован: Понедельник, 09 Ноябрь, 2009 17:29
Сообщения: 904
Откуда: Россия, Питер
Владислав Жаринов писал(а):
Заодно для начала ответ на вполне резонное удивление.
...
Я же говорил, что любые состоявшиеся изменения структуры схемы требуют переиндексации (и обхода затронутой части схемы). И соответственно индексы изменяются "на лету" в целевой схеме (ну а в источнике, понятно, остаются неизменными :)).

Удивления нет, есть непонимание : ) Зачем использовать индексы, если в любом случае их требуется переиндексировать. Какую такую волшебную нагрузку они несут : )?

Владислав Жаринов писал(а):
И вот тут мы лишний раз видим экономичность ограничения строго атомарными структурами. Если всё сводится ко вставке атома - какова область, требующая переиндексации?...
...
А любые лишние розыски - это увеличение времени ответа редактора... не так ли?.. Т.е. экономичность создаёт условия для эргономичности... :)

Вот и я о том же. Отказ от ID ведёт к экономии ресурсов.

А вот для локального использования в XML файле, возможно и придётся использовать ID, для установления порядка следования : ) Что-то xsd какое-то громоздкое и на первый взгляд лишнее : )


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3, 4  След.

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


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

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 9


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

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