Здравствуйте, VladD2, Вы писали:
VD>А как с рекурсией и стеком? Выражать рекурсию через циклы с внешними стеками? Убиться об стену в некоторых случаях.
В wwf с рекурсией вроде фигово, так что да, циклы. В том немногом, что я видел из bpel — возможна как минимум косвенная рекурсия (может, и прямая, не пробовал), т.к. процесс (грубо говоря — блок-схема) может вызвать другой процесс.
VD>А сами стеки как выглядят?
В wwf для девелопера, в конечном счете, блок-схема (кажется, "шаблон процесса" по-тамошнем) — обычный класс, так что состояние блок схемы теоретически может включать произвольные сериализуемые поля. В bpel состояние инстанса блок-схемы (процесса) — это практически xml-документ.
VD>И вообще, как визуализировать мало-мальски пухлые данные? Они ведь в блок-схемы никак не вписываются.
Не совсем понимаю, что ты имеешь в виду, но скорее всего ответ — никак. На то они и блок-схемы, чтобы описывать алгоритм, а не данные.
Re[7]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, Mr.Cat, Вы писали:
VD>>как визуализировать мало-мальски пухлые данные? Они ведь в блок-схемы никак не вписываются. MC>Не совсем понимаю, что ты имеешь в виду, но скорее всего ответ — никак. На то они и блок-схемы, чтобы описывать алгоритм, а не данные.
Уважаемый Mr.Cat!
Вы совершенно правы. В дракон-схемах (в блок-схемах) пишут только алгоритм. И, возможно, простые ("непухлые") данные.
VD тоже совершенно прав. Он ставит законный вопрос: "как визуализировать мало-мальски пухлые данные?"
Здравствуйте, VladD2, Вы писали:
LVV>>Я думаю, Владимир Данилович сам может рассказать, в каком месте использовался Дракон.
VD>Дык где же он? Просим, просим!
Уважаемый VladD2!
На этом форуме я уже два раза отвечал на этот вопрос.
Из уважения к администратору повторю ответ еще раз:
ПРИМЕНЕНИЕ ЯЗЫКА ДРАКОН В РАКЕТНО-КОСМИЧЕСКОЙ ОТРАСЛИ
Язык ДРАКОН успешно используется во многих космических программах:
• разгонный блок космических аппаратов ДМ-SL (проект «Морской старт»);
• разгонный блок космических аппаратов «Фрегат» (включая Фрегат-СБ, Фрегат-МТ, Фрегат с модернизированной системой управления);
• модернизированная ракета-носитель тяжелого класса «Протон-М»;
• разгонный блок космических аппаратов ДМ-SL-Б (проект «Наземный старт»);
• разгонный блок космических аппаратов ДМ-03;
• первая ступень для южнокорейской ракеты-носителя легкого класса KSLV-1 (Korean Space Launch Vehicle);
• ракета-носитель легкого класса Ангара 1,2;
• ракета-носитель тяжелого класса Ангара-А5;
• разгонный блок космических аппаратов КВТК (кислородно-водородный тяжелого класса) и др.
Космодромы:
Плавучий космодром, производящий пуски с экватора в Тихом океане (экваториальная зона вблизи острова Рождества Республики Кирибати (с координатами 154 градуса западной долготы и 0 градусов широты)),
Байконур,
Плесецк,
Европейский космический центр во Французской Гвиане "Kuru" (Южная Америка),
Скажу о себе. Я работаю в Роскосмосе с 1961 года. Участвовал в разработке Бурана с первого до последнего дня.
В тот период (1976 — 1992) я был Начальником лаборатории комплексной разработки вычислительной системы Бурана.
Дракон родился в процессе работы на Бураном. Это совместная разработка ФГУП Научно-производственный центр автоматики и приборостроения им. акад. Н.А. Пилюгина и Института прикладной математики им. акад. М.В. Келдыша РАН.
Технология Графит-Флокс (основанная на языке Дракон) разрабатывалась, начиная с 1986 года и была доведена до рабочего состояния в 1996 году. Данная технология эксплуатируется уже 16 лет (1996 — 2012).
Данная технология использовалась во всех перечисленных выше ракетно-космических проектах.
Я написал около десятка книг на эту тему, которые можно скачать в сети или купить в магазинах.
Вот, например, последняя книга (2012 год), которая есть в продаже и в бумажном, и в цифровом виде: http://www.dmk-press.ru/catalog/computer/programming/?p=1
Через интернет с этой литературой познакомились не знакомые со мной специалисты, которые по своей инициативе создали (пока еще экспериментальные) инструментальные средства.
Некоторые пользователи (пока еще немногочисленные) используют эти средства в своей практической работе. Они сообщают о значительном повышении производительности труда при создании алгоритмов и программ. Положительные отзывы поступают из России, Германии, Норвегии.
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Язык ДРАКОН успешно используется во многих космических программах:
Нескромный вопрос, на ракетах которые упали недавно пару раз, ваш софт стоит ? ))
ВП>Космодромы: ВП>Плавучий космодром, производящий пуски с экватора в Тихом океане (экваториальная зона вблизи острова Рождества Республики Кирибати (с координатами 154 градуса западной долготы и 0 градусов широты)), ВП>Байконур, ВП>Плесецк, ВП>Европейский космический центр во Французской Гвиане "Kuru" (Южная Америка), ВП>Южнокорейский космодром "Naro".
То есть, если , не дай бог, жизнь заставит писать софт для ракет, то от осваивания дракона не отвертеться.
Хорошо хоть не модно щас деньги сжигать такими объемами, как раньше, во времена гонки вооружений.
Вон в США, НАСА от краника бюджета отвадили, несмотря на их чистосердечные уверения, что наука загнется без них.
Ан нет, коммерсанты за сумму в 10 раз меньше на орбиту взлетели.
ВП>Дракон родился в процессе работы на Бураном. Это совместная разработка ФГУП Научно-производственный центр автоматики и приборостроения им. акад. Н.А. Пилюгина и Института прикладной математики им. акад. М.В. Келдыша РАН.
И, очевидно, отсюда принцип "шашлыка" — что бы не происходило, носитель куда то попадет, на орбиту ли, в море ли.
Тяжесть то на железки всегда действует. Понятно что для системы в которой больше миллиона деталей, которая состоит
из кучи модулей с выходом на физические рецепторы/эффекторы, нужно дать инженерам возможность порулить.
А они привыкли то к blueprint-ам, и без черчения и рисования никак.
ВП>Данная технология использовалась во всех перечисленных выше ракетно-космических проектах.
А в других сферах, не таких инженерных, не таких железячных, и не такой "маргинальной наркомании" как оберон (реальная цитата из книги).,
были попытки использовать методологию ?
Это ж ЮМЛ, квадратики и стрелочки. Ну генерит он код. Так весь жизненный цикл разработки софта намного больше.
И не зря блок-схемы учат на первом этапе изучения информатики.
Потом абстрактная модель алгоритма уже генерируется в мозгу программиста на лету, и отображается в код исполнителя автоматом.
И большого смысла в трате времени на рисование постоянно изменяющуюся модель реализации не будет.
Как вы думаете, почему за 20 лет, после ооп, так ничего толкового и не придумали ?
Толкового в смысле, переложить труд в поиске алгоритмов и генерации по алгоритму для конкретного процессора — исполняемого кода,
с программиста, который человек, тоже ошибается, и объять предметную область проблемы спроектировав ее на область исполнителя,
не в состоянии.
ВП>Некоторые пользователи (пока еще немногочисленные) используют эти средства в своей практической работе. Они сообщают о значительном повышении производительности труда при создании алгоритмов и программ. Положительные отзывы поступают из России, Германии, Норвегии.
)) С ностальгией вспоминаю сообщения в новостях страны которую развалили...
ВП>По языку ДРАКОН и инструментальным средствам (например, ИС Дракон) имеются и другие форумы и сайты.
Ага, посмотрел, интересно, редактор блок схем. Да еще и код генерит, только вот схема удаления файлов больше 100кб в поддиректориях,
где в квадратиках код паскаля, смотрится анахронизмом. Вот схема высшего уровня где русскими словами — так еще ничего, красиво.
Re[6]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, VladD2, Вы писали:
VD>Блок-схемы мы рисовали на первых уроках рисоваинформатики. Только было уже на них ясно, что они ничего серьезнее начальных задач решать не позволят.
Уважаемый Владислав Юрьевич!
Вы правы. Блок-схемы — это плохо.
Но дракон-схемы — это не блок-схемы.
Смешивать их недопустимо. Иначе получается так:
"Ругали абрикос за толстокожесть апельсина, только потому что оба фрукты"
ДРАКОН (в отличие от блок-схем) позволяет рисовать СКОЛЬ УГОДНО сложные алгоритмы.
Более того, Чем сложнее алгоритм, тем больше выгода от использования ДРАКОНа.
С уважением В. Паронджанов
Re[7]: Язык ДРАКОН — новая идея в программировании
ВП>ДРАКОН (в отличие от блок-схем) позволяет рисовать СКОЛЬ УГОДНО сложные алгоритмы.
ВП>Более того, Чем сложнее алгоритм, тем больше выгода от использования ДРАКОНа.
я не понял, дракон — это только средство одного из видов визуализации алгоритмов? это язык? есть ли у него рефлексия?
.
Re[8]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, BrainSlug, Вы писали:
BS>я не понял, дракон — это только средство одного из видов визуализации алгоритмов? это язык?
Да, это язык. Более того, это не один язык, а семейство языков.
Каждый язык Дракон-семейства имеет не один синтаксис, а два:
1. графический синтаксис
2. текстовый синтаксис.
Язык принадлежит дракон-семейству, если он имеет стандартный графический синтаксис.
Все языки дракон-семейства имеют ОДИН И ТОТ ЖЕ ГРАФИЧЕСКИЙ синтаксис.
А текстовый синтаксис может быть любой. Вы можете придумать Ваш собственный текстовый синтаксис.
А можете использовать текстовый синтаксис известного языка, например, Си. В этом случае у Вас получится гибрид языка дРАКОН и языка Си. Это называется гибридный язык Дракон-Си.
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>ПРИМЕНЕНИЕ ЯЗЫКА ДРАКОН В РАКЕТНО-КОСМИЧЕСКОЙ ОТРАСЛИ ВП>Язык ДРАКОН успешно используется во многих космических программах:
Это враньё. Приведи пример нетривиального кода на ДРАКОНе — ты этого сделать банально не можешь, так как такого кода не существует.
Я уж не говорю, что ДРАКОН — это каменный век по нынешним временам. Поделка для быдлоакадемиков советской школы. Прогрессивный мир нынче смотрит на: метапрограммирование, зависимые типы, typesets, proof-carrying code. Крайне интересны исследования в области total functional programming.
К примеру, от НАСА: http://babelfish.arc.nasa.gov/trac/jpf — система для постройки формально верифицируемых программ. Причём они не языком треплют про "неоспоримые преимущества", а пишут код.
Sapienti sat!
Re[6]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, VladD2, Вы писали:
VD>Это же об стену убиться, если мало-мальски серьезный алгоритм придется читать в блок-схемах!
Уважаемый Владислав Юрьевич!
Вы совершенно правы. Блок-схемы обречены. Они годятся только на помойку.
Иное дело ДРАКОН. Это принципиально новая нотация. Она позволит Вам быстро и удобно изобразить не только "мало-мальски серьезный алгоритм", но и алгоритмы ЛЮБОЙ СЛОЖНОСТИ.
Если Ваш алгоритм (согласно Вашему замыслу) должен быть ПОНЯТНЫМ и УДОБОЧИТАЕМЫМ, то у ДРАКОНа просто нет конкурентов.
Никакая другая нотация не даст Вам такой ПОНЯТНОСТИ алгоритмов, как ДРАКОН.
Для этой цели разработаны специальные методы, в том числе математические.
Здравствуйте, Владимир Паронджанов, Вы писали:
ВП>Для этой цели разработаны специальные методы, в том числе математические. ВП>http://drakon.su/_media/biblioteka/drakondescription.pdf
Гааа.... Я посмотрел раздел "Операторы реального времени", наивно ожидая увидеть как визуализутся гарантии реального времени или приоритеты.
Забаньте этого клоуна уже, что ли?
Sapienti sat!
Re[8]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, Cyberax, Вы писали:
ВП>>Язык ДРАКОН успешно используется во многих космических программах: C>Это враньё. Приведи пример нетривиального кода на ДРАКОНе — ты этого сделать банально не можешь, так как такого кода не существует.
Здравствуйте, artelk, Вы писали:
A>Вся нетривиальщина вписывается в эти "текстоэлементы" и инлайнится (или вызывается в качестве попдрограммы) по месту при трансляции в низлежащий язык.
Ну дык. Вот пример нетривиального кода на ДРАКОНе:
Здравствуйте, BrainSlug, Вы писали:
BS>в таком случае какой же это язык? это способ представления, особый редактор если угодно, кода или псевдокода, или что там у него
Да нет, все же язык, причем Тьюринг-полный — есть условия, циклы и т.п. Кроме того, есть такие вещи как распараллеливание.
На сколько я понял, создание так называемого языка Дракон-гибрида делается так: выбирается некий низлежащий язык (например, С++), для каждой примитивной "иконы" Дракона находится соответствие в низлежащем языке (условный переход, цикл и т.д.). Для них делается тупой транслятор в этот низлежащий язык. Для более сложных вещей типа параллельности делается и более сложная трансляция (например, запуск тредов и т.п.). Если в низлежащем языке есть что-то, что не выразимо на Драконе (шаблоны С++, паттерн-матчинг и т.п.), то ничего не делается. Если захочется их использовать, придется вставлять соответствующие "текстоэлементы", где нужно . Таким образом, низлежащий язык часто будет даже намного более мощным, чем сам Дракон. Но у Дракона есть красивая визуализация, которую, как утверждается, легко освоить человеку, далекому от хардкорного программирования. И это, на сколько я понимаю, основная его задача.
PS Имхо, в качестве серебряной пули не прокатит, даже близко.
Re[11]: Язык ДРАКОН — новая идея в программировании
> BS>в таком случае какой же это язык? это способ представления, особый редактор если угодно, кода или псевдокода, или что там у него > > Да нет, все же язык, причем Тьюринг-полный — есть условия, циклы и т.п. Кроме того, есть такие вещи как распараллеливание. > На сколько я понял, создание так называемого языка Дракон-гибрида делается так: выбирается некий низлежащий язык (например, С++), для каждой примитивной "иконы" Дракона находится соответствие в низлежащем языке (условный переход, цикл и т.д.). Для них делается тупой транслятор в этот низлежащий язык.
в таком виде, это не трансляция, а прямое отображение причем не формализованное. Соответственно тут Дракон не язык, язык это низлежащий язык. А с учетом того, что отображение каждый раз писать нужно заново, это даже не инструмент, не словарь и не средство визуализации. Это просто формальные соглашения по рисованию.
Что сделало бы дракон языком?
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re[12]: Язык ДРАКОН — новая идея в программировании
Здравствуйте, grosborn, Вы писали:
G>в таком виде, это не трансляция, а прямое отображение
Прямое отображение — частный случай трансляции. G>причем не формализованное.
Будет формализованное, когда напишешь транслятор. В стандарте С++, например, не указано в какие машинные инструкции что компилировать.
G>Соответственно тут Дракон не язык, язык это низлежащий язык.
И то и другое — языки. G>А с учетом того, что отображение каждый раз писать нужно заново
Заново под каждый низлежащий язык. Компиляторы тоже пишут под каждую платформу свой (и не один). G>, это даже не инструмент, не словарь и не средство визуализации. Это просто формальные соглашения по рисованию.
Которые образуют язык. G>Что сделало бы дракон языком?
Синтаксис (тут графическая нотация плюс правила использования) и семантика (иконка Выбор означает то-то, и т.п.)
Не стоит приписывать Дракону недостатки — у него и так их хватает
Re[8]: Язык ДРАКОН — новая идея в программировании
В этом офтопике ненадолго попробую заменить Паронджанова.
L>Нескромный вопрос, на ракетах которые упали недавно пару раз, ваш софт стоит ? ))
Нет не их. И во всех неудачах только одна — с ФГ, имеет вероятность быть софтовой.
L>То есть, если , не дай бог, жизнь заставит писать софт для ракет, то от осваивания дракона не отвертеться.
С Драконом балутся только одна организация.
L>Вон в США, НАСА от краника бюджета отвадили, несмотря на их чистосердечные уверения, что наука загнется без них.
Да ну? L>Ан нет, коммерсанты за сумму в 10 раз меньше на орбиту взлетели.
Только финансирует этих "коммерсантов" американское правительство через бюджет НАСА. Сумма действительно в несколько раз меньше, чем у Боинга и Локхида (НАСА во всех трех случаях лишь заказчик), но никак не меньше российских расценок.
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re[7]: Язык ДРАКОН — новая идея в программировании
ВП>Иное дело ДРАКОН. Это принципиально новая нотация. Она позволит Вам быстро и удобно изобразить не только "мало-мальски серьезный алгоритм", но и алгоритмы ЛЮБОЙ СЛОЖНОСТИ.