Easyelectronics.ru

Электроника для всех
Текущее время: 17 авг 2022, 10:14

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
 Заголовок сообщения: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 12 авг 2012, 19:55 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Среда ДАЛВЯЗ (Дружелюбного АЛгоритмического Визуального ЯЗыка)

Изображение

Open Source редактор-транслятор схем документированных программ на языке ДАЛВЯЗ в комментированные исходные тексты на поддерживаемых ЯВУ (псевдокод, семейства Паскаль/Оберон и Си), а также текстов в схемы.
Изначально создавался для работы с проектами программ для микроконтроллеров реального времени.

Материалы фиксированного места не имеют. Актуальные версии ДАЛВЯЗ доступны по следующим адресам:

Темы проекта (рус.):

ДАЛВЯЗ — язык графической записи алгоритмов для программ и человеческой деятельности. Был разработан Д.В. Барановским.
Примеры описаний на языке ДАЛВЯЗ (полностью, включая исходные тексты):

В языке и среде реализован ряд оригинальных идей, среди которых можно выделить:
* представление типов вершин пиктограммами вместо вида контура;
* новый тип представления маршрутов — т.н. логическую структуру программы (ЛСП).

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


Последний раз редактировалось Влад 08 фев 2013, 12:03, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Развитие среды графического программирования
СообщениеДобавлено: 12 авг 2012, 21:43 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Спасибо Вам, Kori за этоот пост. Сжатое изложение в первую очередь "бытовых" вопросов реализации. Становясь на позиции людей, проявляющих интерес "вложиться" в такую среду и стремящихся понять, при каких условиях она будет более востребована, хочется задать ряд вопросов по Вашим мыслям.

1. Здесь:
Kori писал(а):
...
1. Хранение данных в XML - для вас. Увеличьте понимаемость кода.
- имелся в виду код самой среды? Но это же имеет смысл, если он открытый (как в ДАЛВЯЗ)? Что нужно для понимаемости?
Насчёт XML - что Вы можете сказать по обсуждаемому здесь: http://forum.oberoncore.ru/viewtopic.php?f=62&t=3943? А по такому формату, как в примере здесь: http://forum.oberoncore.ru/viewtopic.php?p=65071#p65071?

2. По описаниям "не для машины":
Kori писал(а):
...
Квадратики текста.. Неразумно обозначать разные текстовые фрагменты одинаковыми квадратиками иконок. Это как все блоки в самом драконе сделать квадратами. Это - часть визуального восприятия, отвлекает.
Да, так и есть. А если так, как здесь: http://forum.oberoncore.ru/viewtopic.php?p=73245#p73245 - исходный текст и краткий комментарий вынести в видимое, а оставить только один вид скрытого текста? Тут, кстати, говорили, как такой текст показывать можно: viewtopic.php?p=158485#p158485 - возможно, Вы и видели...
Насчёт "блоков-квадратиков" - Барановский для своего редактора придумал путь, описанный здесь - добавлять пиктограммы и/или эквивалентные мнемоники (в отдельное поле вершины). Насколько это Вас устроит?

3. По роли текста:
Kori писал(а):
...
Системообразующий элемент - текст, возьмите за образец эргономики Visio, например. ...
Дайте возможность видеть тексты на распечатке/в рабочей зоне. Вы бореьесь за оптимизацию понимания алгоритма, а проигрываете на неоптимальном понимании среды разработки.
О чём речь? Документ проекта д.б. в основе текстовым - как обычная дока - или как "текст как интерфейс" в ББ: http://forum.oberoncore.ru/viewtopic.php?f=24&t=1902?.. и/или что-то иное?..
Видеть тексты - тут, видимо, исходные? Какое решение Вам кажется лучше - достаточно, как сейчас есть в ДАЛВЯЗ: http://forum.oberoncore.ru/viewtopic.php?p=73403#p73403? или надо оперативно, как в этом редакторе: http://www.rapidqualitysystems.com/Supp ... Designer?..

4. По развитию программы:
Kori писал(а):
...
Мы не знаем, какие идеи придут в головы пользователям; дайте им возможность совершенствовать продукт и имейте заслуженные лавры.
...
Давайте допилим систему, ибо идея очень уж хороша.
Как Вы видите возможность совершенствовать, если код закрыт? Очевидный путь - писать в расчёте на предоставленные интерфейсы. Тогда нужна их спецификация. Но с учётом возможности ответственных применений - надо ещё, чтобы архитектура была выстроена. Имею в виду это:
Валерий Лаптев в http://forum.oberoncore.ru/viewtopic.php?p=72052#p72052 писал(а):
...
Причем в процессе разработки начинают понимать на практике, что такое хорошая архитектура, а какая - не очень. Сейчас уже у них в башке сидит главный принцип: система должна быть закрыта для модификаций и открыта для расширений. В уже реализованные вещи практически не залезаем, а только дополняем новыми функциями. Архитектура ряда подсистем уже в таком ключе выдержана. Пришли к этому через несколько серьезных переделок.
Начинал главный пацан по студенчески: давайте что-нить напишем, а потом разберемся... :)
В результате и пришлось несколько раз переписывать, проводя предварительно серьезный анализ... :)
В этом проекте, как можно видеть из дальнейшего, архитектура проприетарная. А надо будет иметь "в общественном достоянии". У Вас есть мысли/наработки, которые Вы готовы открыть?
Собственно, это всё относится и к открытому коду.

Вопрос не праздный чисто по-житейски - тут вот создатель техноязыка снова поднял вопрос, что получается, когда без должной ответственности и системности код пишут: http://forum.oberoncore.ru/viewtopic.php?p=73829#p73829. А если редактор будет "допилен" криво - то и он может свою некорректность внести...

На пока всё. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 14 авг 2012, 19:43 
Старожил

Зарегистрирован: 20 янв 2012, 09:00
Сообщения: 205
Откуда: Новороссия
Добрый день. Да не за что.

1. Имелся в виду формат сохраняемого файла, ныне - DRT. Любой формат, следующей парадигме XML и разбираемый стандартным парсером, имеет преимущество перед закрытым форматом. Моё мнение.

2. Нсчет иконок текста.. Моё видение - полупрозрачная иконка, если текста нет, либо - видимая при наведении мыша на блок. Видимая всегда иконка теста, если текст в блоке есть. Идею Барановского не совсем понял. Сейчас попробую изобразить, как у нас это в процессе отражено.

3. по роли текста: приложу картинку через пару часов.

4. Под совершенствованием системы я понимаю совершенствование не только интерфейса и кода, но и системы доведения пргограммы "до релиза". А это значит, в свою очередь, доступ хотя бы к хранимым данным - см. вопрос 1.

P.S. Спасибо за ссылки. Изучу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 16 авг 2012, 08:57 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Kori писал(а):
...
2. Нсчет иконок текста.. Моё видение - полупрозрачная иконка, если текста нет, либо - видимая при наведении мыша на блок. Видимая всегда иконка теста, если текст в блоке есть. Идею Барановского не совсем понял. Сейчас попробую изобразить, как у нас это в процессе отражено.
А, это нечто подобное только что предложенному в этом посте... только у Вас более эргономично...
Сам думал в том же направлении... только решил, что управители заполненных примечаний заливаются цветом, а незаполненных - остаются белыми (как фон вершины) - см. хотя бы первый рисунок в этом примере. Пример, кстати, иллюстрирует и моё понимание графического структурирования документа (идея пояснялась в этом посте).

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

P.S. Спасибо за ссылки. Изучу.
Ну, формат файла Г.Н. открывал... на Дельфи...

А Дмитрий изначально открыл всё.

По интерфейсу - до кучи тогда и о его представлении автором ДАЛВЯЗ. И других возможных вариантах:
Владислав Жаринов в http://forum.oberoncore.ru/viewtopic.php?p=62841#p62841 писал(а):
Дмитрий_ВБ в http://forum.oberoncore.ru/viewtopic.php?p=62826#p62826 писал(а):
...

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

Сколькими способами можно ввести визуальную схему (берем только примеры с форума) ? :

1) Интерфейс ввода и.с.Дракон
2) Структурно-текстовый интерфейс ввода программы dal_vjaz (рис.1, подробнее см. ниже)
3) Интерфейс ввода программы ав 2.ХХ (см. рис. 3 - ветка 1: простое условие; ветка 2:
сложное условие; ветка 3: цикл)

...
Хороший подход - демонстрировать работу и инструментом (тем более не воображаемым... но и это нужно). Я бы ещё добавил:
4) Комбинированное по формам записи описание, напр., как предлагается для Pure Builder здесь: http://forum.oberoncore.ru/viewtopic.php?p=57913#p57913 - процедуры текстом, а их организация - граф-схемно.
5) Свободное конструирование схем (уточню цитату - с реализацией контроля ограничений), как в DesignIDEF - сочинитель вводит модель поэлементно и сам соединяет связями в конструкции, а редактор проверяет грамматику и отвергает недопустимое.

Что Вы можете сказать по каждому из способов?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 16 авг 2012, 10:50 
Старожил

Зарегистрирован: 20 янв 2012, 09:00
Сообщения: 205
Откуда: Новороссия
Прикладываю обещанный файл. В нем собраны идеи, выстраданные за пару вечеров всеми причастными. Надеюсь, пригодится.


Вложения:
Visio-Drakon.pdf [173.59 Кб]
Скачиваний: 477
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 16 авг 2012, 13:32 
Старожил
Аватара пользователя

Зарегистрирован: 06 май 2010, 11:00
Сообщения: 2811
Откуда: Н. Новгород
Цитата:
ДАЛВЯЗ (Дружелюбный АЛгоритмический Визуальный ЯЗык)
ДРАКОН (Дружелюбный Русский Алгоритмический язык, Который Обеспечивает Наглядность)]
- тут и до ДаЗдраПерМы недалеко :)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 16 авг 2012, 14:59 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
А Вы посмотрите во вложении предыдущего поста - новую дракон-среду предлагается назвать СИВУХА... :))

To Kori - видимо, Вы хотели написать "Годный Узерский Интерфейс" (со всех прописных - ГУЙ, значить)?.. :)

Практически то же по составу я предполагаю в реализации. И как клёво разрисовано...
Видно, в частности, следующее:
    * среда видится как многопользовательская с детализацией прав доступа вплоть до элементов схемы и поддержкой совместной работы;
    * текст должен показываться оперативно;
    * типов примечаний только два - неформальные и кодовые;
    * оперативный контроль синтаксиса;
    * фиксированный язык кода (возможно, и неформальный);
    * выделение только попадающего в границы "резинового контура" - не как описано здесь: http://forum.oberoncore.ru/viewtopic.php?p=73739#p73739.
Что могу сказать насчёт этого?

1) Язык можно и переключать. Тогда одна схема транслируется на разные языки (асмы, ЯВУ) оперативно. И указывать явно в заголовке схемы.

2) Код можно вынести в вершину вместе с комментариями (которые сейчас показаны как единственное содержание). Тогда меняем языки кода - меняется зримо и кодовая часть (кроме, конечно, маршрутной, представленной "слепышом").

3) Сложные проекты как-то структурировать надо... интересно знать мнение практиков...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 16 авг 2012, 17:34 
Старожил

Зарегистрирован: 20 янв 2012, 09:00
Сообщения: 205
Откуда: Новороссия
Влад, по порядку.
1. Оперативная генерация текста - приятная фича. Ибо наглядно.
2. Типов примечаний может быть много. На схеме отрисовали три: КОД (не примечание, вообще-то); ПРИМЕЧАНИЕ (связанный логически с модулем кусок текста) и 2DO - напоминальник внутреннего использования, что надо допилить. Другими не пользуемся.
Все три можно выводить в текст - в комментариях, например. В идеале, это позволит "раздраконить" готовую программу.
3. Подсветка синтаксиса важна, но существенно она позволяет разделить три домена текста: незначащий код (комментарий), Сгенерённый автоматически код (RJMP/RET и т.п.) и введенный вручную код. Остальное - "когда программисту делать нечего, он цвета настраивает".
4. Пример дан в командах AVR ASM, могут быть любые другие. Думаю, это вопрос подключаемого модуля - транслятора.
5. Обязательно наличие возможности увеличения. Вис дракон реально бесит ее отсутствие.

Теперь о структурированности проекта.
Удобное восприятие проекта - не более 12 значащих объектов на листе. Это проверено на инвесторах. Для программистов это тоже работает, но не всегда выполнимо.
Отсюда вывод: не городить всё на один лист, а ввести методику иерархического хранения. Основной лист, несколько листов с примитивами, несколько листов с описанием веток. Возможно - одного большого листа и листа с примитивами, но это затруднит общее восприятие крупных задач.

Обращу внимание на то, что ПАР^2 (ПАРадигма ПАРанджанова) не имеет важного для программера момента: контроля используемых переменных. Их бы тоже видеть неплохо было.

Мое мнение: дракон хорош для алгоритмизации задач уровня МК, промышленного комплекса, системы "Буран" и т.п. Писать на нем же для 1с, например, да и вообще для всего, где требуется ГУЙ - явная попытка форсировать разработку. Пока я лично не поддерживаю этого направления.

P.S. Рисунок сделан в Visio. Возможно, Visio может быть использован как редактор для дракон-схем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 17 авг 2012, 12:34 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Kori писал(а):
Влад, по порядку.
1. Оперативная генерация текста - приятная фича. Ибо наглядно.
В принципе должно вытекать из нормального формата хранения - текст и схема просто вьюшки от содержимого формата. Вот только и с хмылом не очень определяется пока... в этой ветке, в частности...
Тут ещё есть вариант - хранить в БД. Для открытого проекта, ессно, на базе открытой СУБД. Что думаете?

Kori писал(а):
...
2. Типов примечаний может быть много. На схеме отрисовали три: КОД (не примечание, вообще-то); ПРИМЕЧАНИЕ (связанный логически с модулем кусок текста) и 2DO - напоминальник внутреннего использования, что надо допилить. Другими не пользуемся.
Все три можно выводить в текст - в комментариях, например. В идеале, это позволит "раздраконить" готовую программу.
Тоже так себе представлял где-то.
Вот именно что и для меня эргономично - когда код не примечание, а постоянно отображаемый текст в вершине. Что требует - язык кода един для схемы и, если кодируем на ряд языков - меняется на ходу. Как - предложу в отдельном посте.
Как насчёт вывода структурированного текста примерно в таком виде: http://forum.oberoncore.ru/viewtopic.php?p=73726#p73726?

Kori писал(а):
...
3. Подсветка синтаксиса важна, но существенно она позволяет разделить три домена текста: незначащий код (комментарий), Сгенерённый автоматически код (RJMP/RET и т.п.) и введенный вручную код. Остальное - "когда программисту делать нечего, он цвета настраивает".
4. Пример дан в командах AVR ASM, могут быть любые другие. Думаю, это вопрос подключаемого модуля - транслятора.
Вот тут так себе представляю. Что автоматом генерятся элементы кода, описываемые "слепышом "схемы. Как на ЯВУ может выглядеть - в принципе сам В.Д. описывал. Недавно также обсуждал здесь: http://forum.oberoncore.ru/viewtopic.php?p=73919#p73919 - тоже сгодится для иллюстрации. Возможно, надо для поддерживаемых по-нормальному (а не на уровне произвольного рукописания) ЯВУ дать в среде жёсткие синтаксисы вариантов содержания вершин, привязанные к их конкретным типам (примерно как в алфавите на этой странице) - и формы построителей для заполнения. Как думаете?
    Тут ещё вопрос, что смысл многих вершин уже на ЯВУ подразумевает не оператор или его часть, а обращение ко встроенной/библиотечной функции... т.е. полная поддержка ЯВУ возможна лишь в расчёте и на конкретную библиотеку вместе с определением языка... так?..
А вот как на асмах - надо подумать. Асм-команду далеко не каждую на маршрутную/иную составляющие разложишь... Более того, одна вершина должна представляться часто фрагментом асм-кода. Потому возможное решение - опять же в отсутствии встроенной трансляции забивать ручками под каждый асм-язык (ну и хранить в разделе определений языка). Поддержка же трансляции, возможно, должна учитывать варианты и не только для операторов - но и целых конструкций. Только надо ли оно, если пользоваться внешним транслятором с ЯВУ (особенно оптимизирующим)?.. или всё же пишут свои трансляторы для МК зачем-нибудь?..

Kori писал(а):
...
5. Обязательно наличие возможности увеличения. В ис дракон реально бесит ее отсутствие.
Просто обычного масштабирования листа?

Kori писал(а):
...
Теперь о структурированности проекта.
...
Отсюда вывод: не городить всё на один лист, а ввести методику иерархического хранения.
...
Тут так надо понимать - делать маленькие процедуры?
Насчёт организации многих элементов структуры проекта. Делаю так, как показано здесь: http://forum.oberoncore.ru/viewtopic.php?p=62870#p62870 - т.е. схему соединения всех элементов в модули (представляет самоостоятельную часть кода КОП) и схему подключений конкретно процедур по вызовам (это уже вьюшка от совокупности определений процедур).
Проект в целом можно структурировать и показывать по-разному. Вот Лаптев предполагает как синт-дерево. У меня есть вариант синт-силуэта - то, что в демо-примере. Какие-то есть предложения, замечания?

Kori писал(а):
...
Обращу внимание на то, что ПАР^2 (ПАРадигма ПАРанджанова) не имеет важного для программера момента: контроля используемых переменных. Их бы тоже видеть неплохо было.
Как именно? Достаточно схем типов вроде такой и определения по модулям, как здесь? Или нужно описание размещения, вроде как на этой схеме? Кстати, для писания сразу в асме, видимо, ограничиваемся машинными типами? Табличную базу ведём, как в ГРАФИТ-ФЛОКС?

Kori писал(а):
...
Мое мнение: дракон хорош для алгоритмизации задач уровня МК, промышленного комплекса, системы "Буран" и т.п. Писать на нем же для 1с, например, да и вообще для всего, где требуется ГУЙ - явная попытка форсировать разработку. Пока я лично не поддерживаю этого направления.
Это потому, что техноязык как чисто алгоритмический напрямую не описывает [квази]параллельные процессы (только уже через взаимодействия алгоритмов)? Или ещё что-то? Что по поводу объектности? Есть ли какие-то мысли, что надо?

Kori писал(а):
...
P.S. Рисунок сделан в Visio. Возможно, Visio может быть использован как редактор для дракон-схем.
Возможно... уже аналогичные офисные технологии используют для этого...

Собственно разработчик ДАЛВЯЗ больше разрабатывает, чем обсуждает (параллельно с основной работой, для поддержки которой он среду и делает). Возможно, при очередном кванте времени на форумы он тоже выскажется...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 17 авг 2012, 13:48 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Вот что видится с учётом сказанного в предыдущем посте (м.б. дополнено и уточнено):

1) Языковой состав проекта.

Для каждого языка программирования или аналогичного по степени формальности поддерживается минимальный набор типов описаний. В него входят описания: алгоритмов; структур данных; связывания (для принятой парадигмы и заданного исполнителя). Описание каждого типа может иметь форму схемы (т.е. размеченного графа), таблицы и/или текста. Для описания программируемой задачи или предметной области м.б. поддержаны и иные языки, кроме программных. Описание одного типа м.б. представлено схемами, таблицами, текстами различных подтипов в разном числе экземпляров.

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

Ряд произвольных - это всё, что угодно. Сочинитель сам добавляет такой язык в ряд и даёт ему имя. Каждому атому он же прописывает текст, который он даёт в результат трансляции. Можно прописывать разные тексты для одного типа атома; как и для регулярного языка, это будет вариант разметки. Пропись сохраняется в определении языка. Удобно для неформального описания, для асмов.
В произвольном коде м.б. допущены имена из словаря.
Если нужно сочинить атом (прежде всего составной), которого нет в стандартном алфавите - для произвольного языка это м.б. предусмотрено. В частности, удобно для задания вариантов трансляции крупных фрагментов, неструктурных конструкций (с произвольными БП). Сочинитель строит "слепыш", являющийся шампур-блоком, а затем прописывает код для него. Результат сохраняется в определении произвольного языка в подалфавите нестандартных атомов. Аналогично можно сочинять простые атомы.
М.б. выделен субряд произвольных языков без трансляции "слепыша". В этом случае кодовый текст полностью определяет текст после трансляции, а связи в "слепыше" задают только порядок следования текстов (нелинейные связи задают выкладку в линию).

Одна схеме в проекте м.б. размечена на любой совокупности языков кода. Разметка кодом на текущем языке показывается внутри вершин/при рёбрах. Обычно это текст; на нетекстовые объекты вставляются ссылки, по щелчку на которых объекты отображаются (рядом со ссылкой, в отдельной вкладке/окне).

Для комментариев поддерживается набор национальных языков. Комментарий также привязан к простому/составному атому и также м.б. только текстовым. Отображается также как часть разметки; удобно размещать вслед за кодовым текстом.

Для заметок поддерживается набор национальных языков текста. В принципе можно допустить не чисто текстовое (комплексное) содержание (т.е. таблицы и графика верстаются вместе с текстом). Заметка отображается вне атома - например, как выноска (хинт) от спецзначка-управителя на контуре атома. Область отображения выноски м.б. окном прокрутки по содержанию заметки.

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


2) Организация проекта.

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

Структуру документа также можно показывать как схему. Вершины схемы м.б. окнами прокрутки по их содержимому.

Документ можно собирать из элементов (представляемых на схеме как вершины). Возможно, реализуется параметризация элементов при сборке.

Для схем м.б. принято представление как структурированного текста.

Все данные в среде представлены как ряд каталогов. Он делится на две части: словари (справочники) и документы (проекты). Документы образуются только из единиц словарей; при этом выделяются единицы уникальные (только для данного документа) и типовые (заимствуемые в разные документы, возможно, с параметризацией).

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


3) Некоторые решения по реализации.

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

Чтобы оптимально для восприятия структурировать содержание схем, ограничивается максимальный объём разметки. Для произвольного кода, заметок и комментариев можно принять объём текста до 140 знаков (как в твиттере :)). Для регулярного кода ограничивается число конструируемых частей. В этом случае сочинитель должен будет разносить разметку по вершинам, используя модуляризацию, составные операторы, схемы логики для сложных выражений и пр.

Длина идентификатора (простого) ограничивается рационально, допустим, 32 знаками.

Реализация работы с данными - файло- или БД-центричная - на усмотрение разработчика. Если среда открытая - то форматы файлов/БД, а также стороннее приложение СУБД д.б. тоже открытыми.

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

Должны поддерживаться разные параметры форматирования текста, как в офисных редакторах. Обязательно особое форматирование полей имён.

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

В профессиональном исполнении среды должна поддерживаться связь по данным со внешними приложениями вставкой через системный карман, внедрением/связыванием. Нужен экспорт документа в полиграфический формат, желателен также импорт из такого формата. Должны редактироваться формулы. Одно- и многоэлементные примитивы должны допускаться как типы вершин для расширения алфавита.


Последний раз редактировалось Влад 17 авг 2012, 17:28, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Как "допилить" среду?
СообщениеДобавлено: 17 авг 2012, 14:37 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Ну и кое-что о том, как можно двигаться от существующего к возникающему... :)

В принципе среду ДАЛВЯЗ автор открыл. Так что необходимые условия для коллективного развития есть. В то же время сам автор тоже в каком-то направлении над ней работает (пока, собственно, больше никто).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Деклар-составляющая графического программирования
СообщениеДобавлено: 24 сен 2012, 11:44 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Kori в viewtopic.php?p=204788#p204788 писал(а):
...
Обращу внимание на то, что ПАР^2 (ПАРадигма ПАРанджанова) не имеет важного для программера момента: контроля используемых переменных. Их бы тоже видеть неплохо было.
...
Вообще-то "Пар в квадрате" этот момент имеет - впрочем, ознакомившись с ГРАФИТ-ФЛОКС-реализацией, Вы уже могли это понять...
Видимо, такое впечатление складывается по книгам, которые до очередной были популярно направлены - потому в них вопросы декларации программных величин и объектов "техпроцессов" освещались кратко и в том смысле, что это на усмотрение сочинителя...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Новый релиз, однако
СообщениеДобавлено: 07 дек 2012, 15:30 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Сабж доступен здесь: http://forum.oberoncore.ru/viewtopic.php?p=76277#p76277. Вводная дока по языку и редактору остаётся в старом посте: http://forum.oberoncore.ru/viewtopic.php?p=71966#p71966. По-прежнему есть представление в виде схем, текста, ЛСП-таблиц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ДАЛВЯЗ - среда графического программирования
СообщениеДобавлено: 27 дек 2012, 22:10 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Автор привёл новый пример, на сей раз неформального описания процесса средствами ДАЛВЯЗ. Желающие могут ознакомиться с сюжетом сказки "Морозко" в новой форме здесь: http://forum.oberoncore.ru/viewtopic.php?p=76623#p76623.

Можно и подумать, что это даст для программ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Новое размещение материалов по ДАЛВЯЗ
СообщениеДобавлено: 08 фев 2013, 12:17 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
В связи с заявлением разработчика исправлены характер изложения и ссылки в предыдущем и в начальном постах темы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Разработчик ДАЛВЯЗ о графическом программировании
СообщениеДобавлено: 03 ноя 2014, 07:38 
Заглядывает иногда

Зарегистрирован: 21 фев 2012, 15:24
Сообщения: 43
Для удобства работы с материалами Дмитрия сделал себе подборку в некоем макетном формате разработки и документирования. Использовал её элементы и в обсуждениях тематики с ним и другими участниками. Текущую версию, пожалуй, выложу здесь:
Вложение:

Вложение:

Вложение:
    Чтобы извлечь из архива, надо сначала перенести номера томов как вторые расширения (после 7z).

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 


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


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

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


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB