LINUX.ORG.RU

Помогите понять. Разработка софта под ОС Эльбрус

 , ,


1

1

Доброго дня!

На данный момент в наличии имеется ПК с ОС Эльбрус и их камнем. Нам необходимо набрать команду, которая будет заниматься разработкой по это, но мы даже не знаем «что писать в вакансии». Поскольку не понимаем, какие нужно использовать инструменты. Разработчиков под Linux у нас нет.

Со слов поддержки Эльбруса - используйте QT, а больше у нас ничего и нет. Но есть Python 3.7.

Наш софт больше похож на SCADA систему. Опрос различных устройств / датчиков и оперативно управление насосами и клапанами (все это по большей части Modbus). Куча графиков и отчётов. Основную часть программы занимает гидравлическая схема с индикацией оперативных параметров.

Основной вопрос - что использовать? Биться с QT или пробовать Python. У Python есть вопросы по производительности на этом процессоре, так же не понятно на чем делать GUI.

Я гуглил темы по GUI, но предложенные решения не портированы в ОС Эльбрус. Так же читал про QT как про ужасного монстра. Так появился Python, но никто из нас не делал GUI на Python. Так же у нас есть техзрение, как его реализовать на QT вообще не представляю. Боюсь утечек памяти - софт может работать до 90 суток без остановки.

Прошу помощи в силу своей безграмотности в данном вопросе.

UPD. Всем огромное спасибо, очень помогли. Ситуация прояснилась, готовим вакансию.



Последнее исправление: piorun (всего исправлений: 1)
Ответ на: комментарий от anonymous

стр.53 глава 7:

7. Реализация логики управления

«Ну и что? Созданы алгоритмы, пускай компактные, пускай якобы понятные и легко анализируемые. Теперь их необходимо реализовать  — создать программу. А это уже другой уровень и может быть даже другие люди? И, в конце концов, — ведь мы используем LabVIEW — графическое программирование, где не очень удобно реализовывать сложную логику! Где же обещанная эффективность?» — могут спросить у автора.

Маленькая история по созданию логической части программы.

Летом 2003 года (в самый разгар работы), из группы АСУ ушел один из двух специалистов, занимавшихся разработкой алгоритмов (автор статьи был вторым специалистом и руководителем программной части всего проекта). На его место пришёл молодой человек, только что окончивший институт. Выяснилось, что он если и программировал что-то в своей жизни, то только в институте для сдачи зачётов, явно не фанат этого дела и больше тяготеет к схемотехнике. Более того, новый сотрудник ничего не знал o LabVIEW... Пара дней ушло на ознакомление с проектом. После этого автор статьи предложил ему заняться программированием (благо к этому времени практически все алгоритмы были готовы и не терпелось посмотреть, что получится, когда они будут реализованы программно).

Так вот этот молодой человек ЗА ОДНУ РАБОЧУЮ НЕДЕЛЮ (пять дней) освоил LabVIEW (пускай поверхностно, и только те моменты, которые были необходимы) и запрограммировал ВСЕ ТЕХНОЛОГИЧЕСКИЕ АВТОМАТИ и АВТОМАТЫ УПРАВЛЕНИЯ ПИТАНИЕМ ПРИБОРОВ (25 автоматов) — практически всю логику проекта.

Как же это? Почему так просто?

Повторимся: при использовании предлагаемого подхода вся сложность заключается только в СОЗДАНИИ АЛГОРИТМОВ, а ПРОГРАММИРОВАНИЕ ЛОГИКИ — ПРОЦЕСС РУТИННЫЙ, требующий от исполнителя лишь ВНИМАТЕЛЬНОСТИ и УСЕРДИЯ.

Строя автоматы — Вы по существу создаёте программу.

Приведём основные достоинства SWITCH-технологии и LabVIEW, позволяющие быстро программировать логику алгоритмов.

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

2. Начиная с версии 6.0, в пакете LabVIEW появилась поддержка всех логических конструкций подобных языку Си в усовершенствованной функции Formula Node.

anonymous
()
Ответ на: комментарий от anonymous

3. При программировании логики применялся конвертор графа переходов, изображённого с помощью пакета Visio в текстовый код программы (кстати, конвертор также был создан на LabVIEW). Такая возможность существует именно благодаря абсолютно формальному переходу от графа переходов к коду.

4. Так как программирование логики не требует никакого участия человека (требуется только запустить конвертор и скопировать полученный код в LabVIEW), то самым «сложным» становятся системно-языко-зависимые вещи: создать (объявить) необходимые глобальные и локальные переменные, корректно передать значения параметров в подпрограмму автомата и корректно реализовать выходные воздействия из автомата.

Возникает вопрос по пункту 4: «Ну, хотя бы здесь требуются знания и умения квалифицированного программиста?» Требуются, но только для создания шаблона или примера (в крайнем случае, потом можно немного доработать практически готовую программу).

А почему автор статьи не мог сделать всё сам? Да конечно мог! Но я остался один, а хватало других проблем (об одной из них ниже). Хотелось рутинную работу сбросить на кого-нибудь, тем более что вся подготовка была уже проведена (созданы и опробованы примерные вызовы автоматов). Да и потом, дело было новое, необычное для всех, особенно для начальства, и даже для автора методики, ведь до этого хотя и было опыт применения автоматов в LabVIEW, но не так всеобъемлюще. Хотелось показать, что выбран не просто некий метод алгоритмизации, но и эффективная ТЕХНОЛОГИЯ, охватывающая все процессы: проектирование, реализацию и тестирование.

...

- с точки зрения программной реализации ВСЕ АВТОМАТЫ ИДЕНТИЧНЫ

anonymous
()
Ответ на: комментарий от piorun

Есть ПО написанное на Labview под Windows. Портировать невозможно, писать придется с нуля.

ну то есть, вот вам пример технологии, подхода, метода – когда не нужно писать с нуля.

вся логика управления задаётся автоматами, а проектирование автоматов происходит вообще в Visio (хотя есть и UniMod, например).

anonymous
()
Ответ на: комментарий от den73

den73

кстати, вот дочитал всё-таки недавно статью про A2 и ActiveCells.

я правильно понимаю суть идеи Active Cells в том, что делается некоторый метапрог способ конструирования графов вычислений в Dataflow CASE-среде, который затем транслируется в cells aka «активные объекты» из A2 и cellnets – глубоко обученные сети активных объектов, из которых потом генерируется HDL в духе Lola из Project Objeron и получается по сути

параллелизм уровня ActiveCells = софтового уровня активных объектов который затем невозбранно конпелируется в хардверный параллелизм на каком-нибудь FPGA?

то есть, подобным образом можно и сам A2 сделать частично аппаратным. и типичные процессы ОС активные объекты – откомпелировать на железку?

в Torch например эти CFG графы полностью динамические, в TensorFlow – статические.

а здесь получается примерно как в Modelica: входы и выходы соединяются статически, для чего конпелятор должен уметь частичный рантайм и рефлексию чтобы частично применять выражения для ядер, но при этом имеем полный статический контроль, то есть, максимальные накладные расходы отводим на стадию конпеляции – а не в runtime?

тоже интересный подход для АСУчивания.

anonymous
()
Ответ на: комментарий от alysnix

в этом и смысл сертификации - отпердолить разрабов до такого состояния, что они сами будут гарантировать, что внутри все ОК.

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

Xintrea ★★★★★
()
Ответ на: комментарий от den73

Давайте, наконец, применим уже ЯОС.

кстати, на Эльбрус и E2K кто-нибудь его уже портировал ли?

anonymous
()
Ответ на: комментарий от Aceler

не изобретайте велосипед, возьмите OpenSCADA и сделайте для неё модуль.

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

OpenSCADA есть в Эльбрус ОС? Я знаю что она есть точно в AltLinux P9 под Эльбрус:

p9 Branch
openscada-0.9.0-alt6
Sisyphus
openscada-0.9.2-alt1

Xintrea ★★★★★
()
Ответ на: комментарий от Xintrea
Qt for Application Development is dual-licensed under commercial and open source licenses. The commercial Qt license gives you the full rights to create and distribute software on your own terms without any open source license obligations. With the commercial license you also have access to the official Qt Support and close strategic relationship with The Qt Company to make sure your development goals are met.

Qt for Application Development is also available under GPL and LGPLv3 open source licenses. Qt tools and some libraries are only available under GPL. See the comparison chart for details. The Qt open source licensing is ideal for use cases such as open source projects with open source distribution, student/academic purposes, hobby projects, internal research projects without external distribution, or other projects where all (L)GPL obligations can be met.

For more information, please see the FAQ.

А вот Qt Company с тобой не согласна. Не по поводу «внесения изменения в сам Qt/PyQt», а по поводу «разработки и распространения софта на своих условиях».

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от tz4678

Не знаю кто такой вован, я в R использую интерфейс на тикле или shiny. У тикля замечательная способность работать на древних ОС и кроссплатформенность.

einhander ★★★★★
()
Ответ на: комментарий от bhfq

Qt Company славится своими, уличными, трактовками GPL. Они и Open Source сборку специально называют Qt for Open Source Development. Типа на ней вы можете только опенсорчные программы разрабатывать, иначе платите нам денежку. Но одно дело хотеть подстричь пользователей, а другое дело соблюдать букву закона. Так вот по букве закона пока ты пишешь без модификации Qt, ты волен использовать любую лицензию и никто тебе не имеет права диктовать условия.

Как только Qt попробует привлечь кого-то за использование Qt не в Opensource проекте, типа вы пользуетесь нашими хидерами, айяйяй, им быстро объяснят что тогда они должны полностью свернуть свой проект, потому что они при написании Qt используют хидеры языка Си++ от gcc, распространяемого под GPL. А сами пишут проприетарные расширения к Qt под несвободной лицензией.

Xintrea ★★★★★
()
Последнее исправление: Xintrea (всего исправлений: 1)

Помогите понять. Разработка софта под ОС Эльбрус

Раз ОС называется Эльбрус, то программисты в ней

АЛЬПИНИСТЫ!
anonymous
()
Ответ на: комментарий от Xintrea

Кандидат: 0.9.0-alt6

Я думал, это вполне очевидно :-)

К тому же, если под альт собрано, не должно быть проблемы собрать под э-ос или астру.

Aceler ★★★★★
()

Опрос различных устройств / датчиков и оперативно управление насосами и клапанами (все это по большей части Modbus).

А OpenScada уже предлагали (которая от Романа Савоченко и К.) ?

Оно на Qt и как бы особо писать самим ничего не надо, все мнемосхемы и тренды есть уже в самой SCADA, как и модбас.

kuzulis ★★
()
Последнее исправление: kuzulis (всего исправлений: 3)
Ответ на: комментарий от tz4678

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

einhander ★★★★★
()
Ответ на: комментарий от anonymous

Я ничего не понимаю в Active Cells, кроме того, что это что-то для FGPA, там на Обероне программируется «софт», а «железо» делается как обычно. Я не осилил по FPGA даже «hello, world», и не в A2, а даже в Petalinux. У меня нет ресурсов заниматься всем. То, что выкладывают в публичный репозиторий A2, зачастую не работает без напильника, а я таковым в случае FPGA не владею. Есть телеграм-чат про A2, там есть их автор, он, думаю, сможет ответить на вопросы.

«Аппаратный» A2 уже есть, но не общедоступен. Насколько там есть Active Cells - я не в курсе.

http://www.radiar.ch/c/index.html

den73 ★★★★★
()

Так появился Python, но никто из нас не делал GUI на Python. Так же у нас есть техзрение, как его реализовать на QT вообще не представляю. Боюсь утечек памяти в силу своей безграмотности в данном вопросе

и вот эти программисты пишут софт… кто вам платит деньги? или это #работаза доширак?

anonymous
()
Ответ на: комментарий от anonymous

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

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

AntonI ★★★★★
()
Ответ на: комментарий от anonymous

Но ничего, нерукопожатый усердный I-Love-Microsoft поможет качественно влиять на швабрирование, и, самое главное, много за свои услуги не возьмёт

Часовню тоже я развалил? )))

Как же у клоунов подгорает из за того что я просто использую отечественное оборудование в соответствии с техническим заданием заказчика и честно сообщаю что с таким оборудованием работать вполне реально

I-Love-Microsoft ★★★★★
()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от AntonI

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

в рамку и на стену каждому джуну, пердунов уже не переделать :)

Morin ★★★★
()
Ответ на: комментарий от Aceler

в том, что рукожопы родили какой-то бессмысленный код, который с одной стороны «типа независим», а с другой стороны работает только под какую-то всратую винду?

max_lapshin ★★★★★
()

К сожалению ныне развитие микро технологий похоже на

Мы разработали ЛОПАТУ, а производить ее будем в Австралии ...
anonymous
()
Ответ на: комментарий от AntonI

манометр это такая фиговина которая меряет давление а не ману

А реактор это такая фигня с ураном и там еще лампочки. Бред несешь. Программист должен получить документ в котором четко написано «получить 1024 отчета из прибора и провести фитирование по мнк, например, результат и ско передать туда-то по протоколу такому-то». И ему похрену, что там манометр, спидометр или радиометр.

Djanik
()
Ответ на: комментарий от Djanik

В Вашей альтернативной вселенной, где розовые пони какают бабочками а любой парикмахер может стать программистом так и есть. Но реальность несколько более сурова… Вам это пытались объяснить тут неоднократно разные люди - Вы как обычно не поняли.

Лиза, мне прямо страшно за Вас - что с Вами будет когда Вы выпуститесь и пойдете работать по специальности написанной в дипломе? Это ж такие жуткие психологические травмы будут… ;-(

AntonI ★★★★★
()
Ответ на: комментарий от AntonI

@AntonI, это же ЖЕНЩИНЫ.
У них стиль общения

ХаХаХаХаХа ...
anonymous
()
Ответ на: комментарий от AntonI

Что ты мне пытаешься объяснить? Что я должна знать детали того как работает манометр? А завтра будет термометр, а потом гироскоп в ртути на поверхности Юпитера. Я не инженер, а программист, у меня другая экспертиза, нейронные сети например.

Djanik
()
Ответ на: комментарий от AntonI

Лиза, мне прямо страшно за Вас …

Судя по ее сообщениям у нее какая-то внутренняя духовная неустроенность.
Не в том смысле что она глупая, …

anonymous
()
Ответ на: комментарий от AntonI

Лиза, мне прямо страшно за Вас

Эта Лиза успела сменить пол (гендер) за полгода, возможно несколько раз

В школе теперь не пошалишь (комментарий)

Когда я учился ​в школ

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

anonymous
()
Ответ на: комментарий от AntonI

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

AKonia ★★
()
Ответ на: комментарий от anonymous

Тяжело общаться с поколением родителей: «Лиза мне страшно за тебя, как ты себя ведешь, ты вырастешь и станешь проституткой», «Лиза мне страшно за тебя, ты не знаешь как устроен манометр и взорвешь водокачку».

Djanik
()
Ответ на: комментарий от Djanik

Тяжело общаться с поколением родителей:

РАЗБОРКИ

НЕ МОЁ!
anonymous
()
Ответ на: комментарий от Djanik

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

Keltir
()
Ответ на: комментарий от Djanik

@Djanik, я родился в 1812 году /месяц и день уж позабыл/.

С неадекватными людьми не общаюсь.
Не потому, что считаю их хуже себя, …, а потому что неадекватное общение это как общение с Наполеоном с 6-й палаты города МухиСъедены.

У меня так ...
anonymous
()
Ответ на: комментарий от AKonia

Ты реально думаешь, что программисты SAP разбираются в работе свинофермы или лесопилки? Для этого есть аналитики, которые переводят отрузки говна или досок в Business Rule Management System.

Djanik
()
Ответ на: комментарий от Keltir

студенты априори уступают преподам в знаниях и опыте, отсюда и комплекс бога

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

Djanik
()
Ответ на: комментарий от anonymous

Неадекватными

Например такие люди не понимают, что такое диалог и что такое спор, …
Они зачастую умные, профессионалы, но от них просто хлещет НЕГАТИВ …

anonymous
()
Ответ на: комментарий от anonymous

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

Djanik
()
Ответ на: комментарий от Djanik

Слышь, певица Максимка, пиши лучше новости - хоть какое-то оправдание, почему тебя не банят.

anonymous
()
Ответ на: комментарий от Djanik

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

Лиза, лучше в себе «ошибки» исправлять …

БОЛЬШЕ ТОЛКУ БУДЕТ!
anonymous
()
Ответ на: комментарий от AKonia

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

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.