Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.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 |
Чо не хлэпаем-то? |
Автор: 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 20.12.13, 21:52 |
В прямом. |
Автор: Бифуркатор 21.12.13, 08:42 |
korvin а как же Вы тогда пишите программу не имея работающего обкатанного алгоритма/идеологии? |
Автор: Бифуркатор 21.12.13, 13:49 |
Ну вот в к примеру есть десять тракторов, 2 камаза и один экскаватор. В какой тулзе можно создать их анимированные модели, записать в каждый свою программу/управляющий скрипт и погонять? Т.е. мне нужна тулза для моделирования и обкатки ПАРАЛЛЕЛЬНЫХ алгоритмов Потому что я хочу моделировать сложную разветвлённую СЕТЬ папаллельно работающих девайсов |
Автор: grgdvo 21.12.13, 18:44 |
Все-таки... Вам математическое моделирование надо или прототипирование программ? Это абсолютно разные, практически не связанные, понятия. Прототипирование алгоритмов - не слышл такое. С моей точки зрения эта фраза не имеет смысла. И еще я хочу сказать, что за любым алгоритмом стоит какая-то математика. И фраза "погонять управляющие алгоритмы" да еще и "параллельные" - не ясна. Так и хочется спросить: Цель какая? Что вы пытаетсь моделировать? |
Автор: Бифуркатор 21.12.13, 19:03 |
Цитата grgdvo @ Прототипирование алгоритмов - не слышл такое. С моей точки зрения эта фраза не имеет смысла. Ну так введите в яндексе Цитата прототипирование /+1 алгоритма ~~ ПЛИС Добавлено Скорей уж логика и идеология Добавлено И то и другое. И моделирование и прототипирование программы. Т.е. мне нужно сначала "обкатать" свои идеи в обобщённо-абстрактном виде. А потом по быстрому выразить эти идеи в виде на скорую руку созданных 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 |
Т.е. Вы пишите программу методом научного тыка? Не прорабатывая предварительно ОБЩУЮ идею, логику и алгоритм? Добавлено Не. ну может какие-то простейшие задачи можно так решать: т.е. не продумывая основную идею, логику и алгоритм сразу начинать кодить. Но есть и сложные задачи.Которые так сразу, наскоком, не возьмёшь Добавлено Или всякие UML и прочие тулзы моделирования придуманы для лохов? А "правильные чОткие пацаны"© сразу пишут код. И причём сразу набело и без ошибок? |
Автор: 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 |
Почитал. Это не то, что мне нужно |
Автор: 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 23.01.14, 19:37 |
Эммм... А какого рода помощь требуется то? Ключиками поделиться? На такую помощь здесь рассчитывать не надо (это я вам как администратор ресурса говорю) - варез ищется в других местах. Советом? Это можно. Но требуется конкретика. |
Автор: ElcnU 24.01.14, 07:00 |
M Бифуркатор, не отклоняемся от темы. а то прикрою быстро это попрошайничество!!!! Предупреждение |
Автор: Бифуркатор 24.01.14, 18:01 |
Читайте мои сообщения внимательней. В них всё сказано |
Автор: 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#? |
Автор: 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 |
Цитата Бифуркатор @ Нотепад - неудачный пример. В нём даже простые заметки писать неудобно. Я когда им приходится попользоваться складывается ощущение, что он даже в Win3.1 был лучше, а теперь деградировал. Я "IDE типа Visual Studio" обычно не пользуюсь - редактор там немногим лучше упомянутого нотепада. Единственное, что в нём хорошего, так это выскакивающие временами подсказки, какие методы объекта можно вызывать, и какие у этих методов параметры. Но я эти методы и сам помню, тем более одного знания параметров для правильного вызова всё равно недостаточно. можно писать программы и в нотепаде, но на порядки более эффективно писать проги в IDE типа Visual Studio |
Автор: Бифуркатор 05.04.14, 08:35 |
Вообщем, никто не знает таких программ. Так и запишем |
Автор: deil 07.04.14, 14:57 |
На предыдущей странице по-моему уже был дан полный и верный ответ на поставленный вопрос. |
Автор: Бифуркатор 08.04.14, 17:43 |
deil Вы имеете в виду питон? |
Автор: amk 09.04.14, 18:48 |
Да что угодно. Я например долгое время, пока не обнаружил питона, пользовался для этих целей AWK. Годится любой язык, на котором можно быстро написать программу и который имеет достаточно хорошую диагностику. |
Автор: liss 10.04.14, 12:43 |
у вас дикая смесь разных уровней: одновременно спрашиваете про концептуальное прототипирование и низкоуровневую оптимизацию. Ссылки вам таки правильно дали Цитата Бифуркатор @ Да нужно мне алгоритмы моделировать, визуализировать и отлаживать В самом обобщенном виде http://ideone.com С визуализацией суть сложнее, но на этапе "самого общего вида" она не требуется. Либо вы под словом "алгоритм" понимаете не то, что участники этого форума. Цитата Бифуркатор @ в ГИГАНТСКИХ программистских корпорациях (например в конторе, пишущей венду) не используются никакие спец. тулзы для предварительного прототипирования/моделирования алгоритмов в обобщенном виде не используются. инструментарий используется богатый, но для других задач. а для разработки алгоритмов ничего придумать в принципе нельзя, т.к. нет методики разработки алгоритма, есть лишь методология. сразу видно специалиста. алгоритм, как вам уже сказали, понятие математическое. и придумывание его суть бумажная работа. можно строить модели, но они просты, достаточно обычного компилятора. подозреваю, что вам требуется не разработка алгоритмов, а прототипирование систем для продумывания их функционала и структуры. поскольку системы очень разные, средства для их прототипирования тоже разные, сильно зависящие от предметной области. поэтому вас и спрашивают о конкретике. |
Автор: Бифуркатор 11.04.14, 12:05 |
Просто я искал шкаду в которой можно было решать ТАКОГО ПЛАНА ЗАДАЧИ(по ссылке мной созданная тема). И не нашёл. Поэтому сам решил написать. А для этого мне нужен инструмент для моделирования/прототипирования |
Автор: 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 13.04.14, 16:21 |
Flex Ferrum, вы считаете задачу поиска пути объектом моделирования? я еще понимаю прототипирование системы управления, но это другая задача |
Автор: Бифуркатор 13.04.14, 18:38 |
Дык я и говорил о протипировании/моделировании системы управления лабиринтным автоматом. Причем с динамической анимацией. |
Автор: amk 14.04.14, 16:40 |
Цитата Бифуркатор @ Так систему для такого прототипирования/моделирования можно найти у тех, кто занимается разработкой лабиринтных автоматов. Другим она попросту не нужна.Дык я и говорил о протипировании/моделировании системы управления лабиринтным автоматом.Причем с динамической анимацией. Много известно таких разработчиков? |