Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Software Design > Посоветуйте тулзу для прототипирования/моделирования программы


Автор: Бифуркатор 15.12.13, 11:29
Посоветуйте тулзу для прототипирования/моделирования программы (алгоритм + GUI + динамическая анимация)

В каких программах вы "обкатываете"/моделируете свои идеи?

Нужно по быстрому накидать GUI (кнопочки, окошки, менюшки), чтобы дать юзверю поиграться, чтобы он сказал удобно ему так работать или нет.

А вместо "движка" (т.е. программы которая будет выполнять все действия) засунуть пока "пустышку" на некотором обобщённо-абстрактном языке моделирования, которая позволила бы "обкатать" общую идею/логику программы.

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

Да. И кроме окошек/менюшек нужна ещё динамическая анимация. Типа отображать как вода потекла по трубам. Как открылся кран и т.п.

Нагуглил: T-Factory, Archestra+IDE, CitectSCADA, CoDeSys, DataRate, DESIGO+INSIGHT, Factory Link, Genesis, iFix, ISaGRAF, Master SCADA, Matrikon+OPC+Explorer, OpenSCADA, PcVue, RSView, Scada+, TRACE MODE, WinCC, FactorySuite::InTouch, AnyLogic, Automation Studio, CPN Tools, LabView, MatLab::Simulink::Stateflow, MvStudium, PoweSim, Proteus, Stella, MatLab::Virtual Reality Toolbox, xPC Target Turnkey, ZETLab Studio.

Спец.языки:(GPSS, DOT, РЕФАЛ, РЕФЛЕКС, ДРАКОН, UML)

Глубоко изучить конечно всё вышеперечисленное не смог, но общее ощущение складывается такое, что это не совсем то, что мне нужно.

А прога, которую мне нужно "обкатывать" в искомой тулзе, представляет собой что-то типа SCADA.

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

Автор: Бифуркатор 18.12.13, 18:20
Чо не хлэпаем-то? :blink:

Автор: deil 19.12.13, 10:38
Очевидно, нечем помочь.

Автор: Бифуркатор 19.12.13, 10:44
deilНо тут же, как я понимаю, форум программистов?
А программисты, как я понимаю, пишут программы?
А прежде чем написать программу, как я понимаю, программисты сначала разрабатывают алгоритм или хотя бы общую идеологию.
А этот алгоритм/идеологию проектируют и "обкатывают" в какой-то спец. тулзе? Так?

Автор: korvin 20.12.13, 06:26
Цитата Бифуркатор @
А этот алгоритм/идеологию проектируют и "обкатывают" в какой-то спец. тулзе? Так?

Не обязательно. Зачем какие-то спец.тулзы для этого?

Автор: deil 20.12.13, 10:09
Нет, лично я не обкатываю. Для моей области подобных спец. тулзов нет.

Автор: Бифуркатор 20.12.13, 19:25
Цитата korvin @
Зачем какие-то спец.тулзы для этого?

В смысле? :blink:

Автор: korvin 20.12.13, 21:52
Цитата Бифуркатор @
В смысле?

В прямом.

Автор: Бифуркатор 21.12.13, 08:42
korvin а как же Вы тогда пишите программу не имея работающего обкатанного алгоритма/идеологии? :blink:

Автор: Бифуркатор 21.12.13, 13:49
Ну вот в к примеру есть десять тракторов, 2 камаза и один экскаватор.
В какой тулзе можно создать их анимированные модели, записать в каждый свою программу/управляющий скрипт и погонять?

Т.е. мне нужна тулза для моделирования и обкатки ПАРАЛЛЕЛЬНЫХ алгоритмов

Потому что я хочу моделировать сложную разветвлённую СЕТЬ папаллельно работающих девайсов

Автор: grgdvo 21.12.13, 18:44
Все-таки... Вам математическое моделирование надо или прототипирование программ?
Это абсолютно разные, практически не связанные, понятия.
Прототипирование алгоритмов - не слышл такое. С моей точки зрения эта фраза не имеет смысла.

И еще я хочу сказать, что за любым алгоритмом стоит какая-то математика.
И фраза "погонять управляющие алгоритмы" да еще и "параллельные" - не ясна.
Так и хочется спросить: Цель какая? Что вы пытаетсь моделировать?

Автор: Бифуркатор 21.12.13, 19:03
Цитата grgdvo @
Прототипирование алгоритмов - не слышл такое. С моей точки зрения эта фраза не имеет смысла.


Ну так введите в яндексе
Цитата
прототипирование /+1 алгоритма ~~ ПЛИС


Добавлено
Цитата grgdvo @
И еще я хочу сказать, что за любым алгоритмом стоит какая-то математика.

Скорей уж логика и идеология

Добавлено
Цитата grgdvo @
Все-таки... Вам математическое моделирование надо или прототипирование программ?

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

Добавлено
Цитата grgdvo @
И фраза "погонять управляющие алгоритмы" да еще и "параллельные" - не ясна.
Так и хочется спросить: Цель какая? Что вы пытаетсь моделировать?


Хочу написать прогу для проектирования SCADA, т.е. прогу в которой можно было:
1) Проектировать и "обкатывать" на некоем обобщенно-абстрактном языке алгоритмы и программы управления для сложной системой/процессом с множеством разветвленных взаимосвязей, состоящих из множества ПАРАЛЛЕЛЬНО фунционирующих компонент
2) Создавать GUI и динамическую визуализацию. (анимацию)
3) Создавать спец. технологические языки для управления тех.процессами и многокомпонентными системами
4) Отлаживать технологические программы управления

Автор: korvin 23.12.13, 11:39
Цитата Бифуркатор @
а как же Вы тогда пишите программу не имея работающего обкатанного алгоритма/идеологии?

А зачем писать программу, если уже есть работающий обкатанный алгоритм?

Что за идеология? Это как-то связано с религией?

Есть методологии и стратегии разработки, например, http://en.wikipedia.org/wiki/Agile_software_development , http://en.wikipedia.org/wiki/Top-down_and_bottom-up_design

Добавлено
Цитата Бифуркатор @
Хочу написать прогу для проектирования SCADA, т.е. прогу в которой можно было:
1) Проектировать и "обкатывать" на некоем обобщенно-абстрактном языке алгоритмы и программы управления для сложной системой/процессом с множеством разветвленных взаимосвязей, состоящих из множества ПАРАЛЛЕЛЬНО фунционирующих компонент
2) Создавать GUI и динамическую визуализацию. (анимацию)
3) Создавать спец. технологические языки для управления тех.процессами и многокомпонентными системами
4) Отлаживать технологические программы управления


http://en.wikipedia.org/wiki/Language-oriented_programming

Автор: Бифуркатор 23.12.13, 19:11
Цитата korvin @
А зачем писать программу, если уже есть работающий обкатанный алгоритм?

Т.е. Вы пишите программу методом научного тыка? Не прорабатывая предварительно ОБЩУЮ идею, логику и алгоритм? :blink:

Добавлено
Не. ну может какие-то простейшие задачи можно так решать: т.е. не продумывая основную идею, логику и алгоритм сразу начинать кодить.
Но есть и сложные задачи.Которые так сразу, наскоком, не возьмёшь

Добавлено
Или всякие UML и прочие тулзы моделирования придуманы для лохов? :wacko:
А "правильные чОткие пацаны"© сразу пишут код. И причём сразу набело и без ошибок?

Автор: Flex Ferrum 23.12.13, 19:47
Цитата Бифуркатор @
1) Проектировать и "обкатывать" на некоем обобщенно-абстрактном языке алгоритмы и программы управления для сложной системой/процессом с множеством разветвленных взаимосвязей, состоящих из множества ПАРАЛЛЕЛЬНО фунционирующих компонент
2) Создавать GUI и динамическую визуализацию. (анимацию)
3) Создавать спец. технологические языки для управления тех.процессами и многокомпонентными системами
4) Отлаживать технологические программы управления

Эммм... Когда напишите такое - поделитесь. :) На самом деле, такие системы стоят немалых денег. Ибо вам нужен качественный эмулятор тех. процесса, системы сопряжения этого эмулятора с контроллером (или эмулятор контроллера, а то и нескольких - они разные, с разными протоколами и проч.), средства разработки собственно SCADA, стенды, модели и всякие прочие подобные ништяки - это если вы хотите отлаживать в том числе и программы PLC. Можете поступить несколько проще (если речь только об прототипировании GUI) - написать mock-программу для контроллера, которая будет как-то реагировать на нужные команды от SCADA-терминала, и набросать SCADA-проект, который будет эти команды контроллеру посылать и получать ответы. Это даст пользователю некоторое представление о том, как и что будет устроено.
Но серьёзные средства мат. моделирования стоят серьёзных денег. За бесплатно это не достанешь. А бесплатные (типа OpenModelica) не содержат некоторых весьма полезных компонент.

Автор: korvin 24.12.13, 03:42
Цитата Бифуркатор @
Т.е. Вы пишите программу методом научного тыка? Не прорабатывая предварительно ОБЩУЮ идею, логику и алгоритм?

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

Цитата Бифуркатор @
Не. ну может какие-то простейшие задачи можно так решать: т.е. не продумывая основную идею, логику и алгоритм сразу начинать кодить.
Но есть и сложные задачи.Которые так сразу, наскоком, не возьмёшь

Никто и не говорил про «сразу, наскоком».
Цитата Бифуркатор @
А "правильные чОткие пацаны"© сразу пишут код. И причём сразу набело и без ошибок?

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

Автор: Бифуркатор 02.01.14, 08:48
Цитата korvin @
Ты бы ссылки-то почитал

Почитал. Это не то, что мне нужно

Автор: Flex Ferrum 20.01.14, 19:02
Бифуркатор, а ты пост №15 внимательно прочитал? Какие выводы сделал?

Автор: Flex Ferrum 21.01.14, 19:27
Цитата Бифуркатор @
Вывод сделал, что форум - тухляк. Что здесь можно по полгода ждать хелпа, но так и не дождаться

Странный, однако, вывод. Тогда ещё раз повторюсь, для тех, кто в танке: то, что вам требуется, стоит определённых, гм... денег. Открытые версии такого софта, как Modelica, MathLab и т. п. не позволят вам обсчитывать модели в реальном времени. Закрытые - требуют определённых плясок с бубнами. Кроме того, вам будут нужны контроллеры (реальные, железячные), и средства построения SCADA (хотя бы OpenSCADA). Всё это требует определённых финансовых вложений и усилий на скрещивание. Самый простой путь - это взять два контроллера, для одного написать программу, которая эмулирует нужный вам техпроцесс, второй, с ним связанный, отвечает за приём команд от SCADA-терминала, отправки на этот контроллер, и приём данных с него. В этом случае ничего, кроме SCADA-системы, вам не потребуется. Ну и, конечно, умение программировать промышленные контроллеры будет не лишним.
Если и такой ответ вам не понятен, то, наверное, лучше вам поспрошать где-то в другом месте.

Автор: Бифуркатор 23.01.14, 17:26
Цитата Flex Ferrum @
то, что вам требуется, стоит определённых, гм... денег.

А как же дружба и взаимопомощь? Неужели коллеги по цеху откажут мне в хлэпе? <_<

Автор: Flex Ferrum 23.01.14, 19:37
Цитата Бифуркатор @
А как же дружба и взаимопомощь? Неужели коллеги по цеху откажут мне в хлэпе?

Эммм... А какого рода помощь требуется то? Ключиками поделиться? На такую помощь здесь рассчитывать не надо (это я вам как администратор ресурса говорю) - варез ищется в других местах. Советом? Это можно. Но требуется конкретика.

Автор: ElcnU 24.01.14, 07:00
M
Бифуркатор, не отклоняемся от темы. а то прикрою быстро это попрошайничество!!!!
Предупреждение

Автор: Бифуркатор 24.01.14, 18:01
Цитата Flex Ferrum @
А какого рода помощь требуется то?

Читайте мои сообщения внимательней. В них всё сказано

Автор: Flex Ferrum 24.01.14, 18:27
Цитата Бифуркатор @
Читайте мои сообщения внимательней. В них всё сказано

Вот мне кажется, что я на как раз на ваши сообщения и ответил. :)

Автор: Бифуркатор 27.01.14, 17:23
Flex Ferrum Нет. Я ещё спрашивал про мозаичные алгоритмы

Автор: Бифуркатор 01.03.14, 12:46
Ну всё. Видать сдох форум программистов. :'(

Автор: amk 01.03.14, 13:37
Просто народ не может понять, что тебе нужно. Попробу ещё раз описать свою проблему, на этот раз не опуская даже очевидные на твой взгляд моменты.

Автор: Бифуркатор 15.03.14, 21:06
Да нужно мне алгоритмы моделировать, визуализировать и отлаживать
В самом обобщенном виде

Автор: amk 16.03.14, 07:23
Боюсь, большинство людей это делают в каком-нибудь простом ЯП. Вообще не уверен, что кто-то для таких нужд какую-то особую тулзу писал.

Автор: Бифуркатор 16.03.14, 18:38
amk
Вы хотите что в ГИГАНТСКИХ программистских корпорациях (например в конторе, пишущей венду) не используются никакие спец. тулзы для предварительного прототипирования/моделирования алгоритмов в обобщенном виде? И код сразу лабАется на C#? :blink:

Автор: amk 16.03.14, 18:51
Лично я прототипирование делаю на питоне. Это такой же язык программирования, как и C++, на котором я пишу конечную программу, просто на нём я пишу быстрее, и иногда могу кое-что упростить при написании. Также на нём удобно делать некоторые простые расчёты. Программа позволяет получше осмыслить алгоритм, иногда поменять структуру конечной программы.

Не знаю, что мне дала бы какая-то специальная тулза для прототипирования. Алгоритм-то мне всё равно пришлось бы писать самому.

Автор: Бифуркатор 02.04.14, 16:33
Цитата amk @
Не знаю, что мне дала бы какая-то специальная тулза для прототипирования. Алгоритм-то мне всё равно пришлось бы писать самому.

Как что? Облегчила бы придумывание, разработку и обкатку алгоритма.
Это разница как разница как писать венду в нотепаде или MS Visual Studio.
Т.е. в принципе (теоретически) можно писать программы и в нотепаде, но на порядки более эффективно писать проги в IDE типа Visual Studio

Автор: amk 02.04.14, 17:19
Цитата Бифуркатор @
можно писать программы и в нотепаде, но на порядки более эффективно писать проги в IDE типа Visual Studio
Нотепад - неудачный пример. В нём даже простые заметки писать неудобно. Я когда им приходится попользоваться складывается ощущение, что он даже в Win3.1 был лучше, а теперь деградировал. Я "IDE типа Visual Studio" обычно не пользуюсь - редактор там немногим лучше упомянутого нотепада. Единственное, что в нём хорошего, так это выскакивающие временами подсказки, какие методы объекта можно вызывать, и какие у этих методов параметры. Но я эти методы и сам помню, тем более одного знания параметров для правильного вызова всё равно недостаточно.

Автор: Бифуркатор 05.04.14, 08:35
Вообщем, никто не знает таких программ.
Так и запишем :victory:

Автор: deil 07.04.14, 14:57
На предыдущей странице по-моему уже был дан полный и верный ответ на поставленный вопрос.

Автор: Бифуркатор 08.04.14, 17:43
deil Вы имеете в виду питон? :scratch:

Автор: amk 09.04.14, 18:48
Да что угодно.
Я например долгое время, пока не обнаружил питона, пользовался для этих целей AWK.
Годится любой язык, на котором можно быстро написать программу и который имеет достаточно хорошую диагностику.

Автор: liss 10.04.14, 12:43
Цитата Бифуркатор @
Я ещё спрашивал про мозаичные алгоритмы

у вас дикая смесь разных уровней: одновременно спрашиваете про концептуальное прототипирование и низкоуровневую оптимизацию.
Ссылки вам таки правильно дали

Цитата Бифуркатор @
Да нужно мне алгоритмы моделировать, визуализировать и отлаживать
В самом обобщенном виде

http://ideone.com
С визуализацией суть сложнее, но на этапе "самого общего вида" она не требуется. Либо вы под словом "алгоритм" понимаете не то, что участники этого форума.

Цитата Бифуркатор @
в ГИГАНТСКИХ программистских корпорациях (например в конторе, пишущей венду) не используются никакие спец. тулзы для предварительного прототипирования/моделирования алгоритмов в обобщенном виде

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

Цитата Бифуркатор @
И код сразу лабАется на C#?

сразу видно специалиста.

Цитата Бифуркатор @
придумывание, разработку и обкатку алгоритма

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

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

Автор: Бифуркатор 11.04.14, 12:05
Цитата liss @
вас и спрашивают о конкретике

Просто я искал шкаду в которой можно было решать ТАКОГО ПЛАНА ЗАДАЧИ(по ссылке мной созданная тема).
И не нашёл. Поэтому сам решил написать. А для этого мне нужен инструмент для моделирования/прототипирования

Автор: liss 11.04.14, 13:35
а, Доктор ТуамОсес, велкам...
Цитата
Задача состоит в том, чтобы написать программу, которая бы отслеживала текущее состояние лабиринта/трубопровода и включая или выключая вентили динамически формировала бы и поддерживала путь протока воды от узла/точки А к узлу/точке Б. Причем не абы какой, а такой, чтобы этот путь обязательно содержал как минимум 3(4, 5 или сколько Вам нужно) точки из заданного множества точек.

тут не программа моделирования нужна, а учиться, учиться, как дедушка завещал

Автор: Бифуркатор 11.04.14, 21:52
Учиться всегда нужно. И никогда не поздно. И хоть мне уже 51 стукнуло я не прекращаю учиться. Как говорится "век живи - век учись. ... Всё равно дураком помрёшь
А по тему есть что сказать?

Автор: liss 12.04.14, 17:33
Цитата Бифуркатор @
А по тему есть что сказать?

ага. тут нечего моделировать.

Автор: Flex Ferrum 13.04.14, 07:45
Цитата liss @
Цитата Бифуркатор @
А по тему есть что сказать?

ага. тут нечего моделировать.

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

Автор: liss 13.04.14, 16:21
Flex Ferrum, вы считаете задачу поиска пути объектом моделирования?
я еще понимаю прототипирование системы управления, но это другая задача

Автор: Бифуркатор 13.04.14, 18:38
Дык я и говорил о протипировании/моделировании системы управления лабиринтным автоматом.
Причем с динамической анимацией.

Автор: amk 14.04.14, 16:40
Цитата Бифуркатор @
Дык я и говорил о протипировании/моделировании системы управления лабиринтным автоматом.Причем с динамической анимацией.
Так систему для такого прототипирования/моделирования можно найти у тех, кто занимается разработкой лабиринтных автоматов. Другим она попросту не нужна.
Много известно таких разработчиков?

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)