|
|
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У друга имеется хороший задел для одной инжерерно-научной технологии ... Нужно реализовать это в виде программы для пользователя. Это будет некое десктоп приложение, которое должно упровлять оборудованием в реальном времени, получать данные, сохранять их, отображать в удобном виде. В общем, классика. Встал вопрос о выборе технологии. Я сейсас пишу на .Net Поэтому мне ближе всего и понятнее было бы написать приложение на WPF. Я бы с удовольствием писал под современный Windows и не парился. Но у меня есть сомнения, подходит ли .Net для написания подобного рода программ... Ведь там есть сборщик мусора, который иногда прерывает работу. Знаю, что часто научные программы пишут под Юникс. Может быть кто-то скажет, что нужно использовать Java ... Кросс-платформенность не нужна, т.к. даже если мы выберем Юникс, то значит он и будет. Буду рад за любые высказанные мысли. Спасибо. Модератор: Тема перенесена из форума "Разработка информационных систем". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 15:40 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
jupiterВедь там есть сборщик мусора, который иногда прерывает работу Сборщик мусора работает в другом потоке, каким образом он прерывает работу основного потока?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:31 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:39 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
jupiter, Если есть необходимость в параллельных вычислениях/кластерах - то используют соотв технологии. При том, часто "интерфейс" пишут на .Net , а вот расчетную часть на С с пакетом для "кластеров". Если же у вас расчетная мощность не критична, все будет работать на ПК - то смысла изголяться не вижу. Пишите, на чем знаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:41 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
jupiterЗдравствуйте. У друга имеется хороший задел для одной инжерерно-научной технологии ... Нужно реализовать это в виде программы для пользователя. Это будет некое десктоп приложение, которое должно упровлять оборудованием в реальном времени, получать данные, сохранять их, отображать в удобном виде. В общем, классика. Встал вопрос о выборе технологии. Я сейсас пишу на .Net Поэтому мне ближе всего и понятнее было бы написать приложение на WPF. Я бы с удовольствием писал под современный Windows и не парился. Но у меня есть сомнения, подходит ли .Net для написания подобного рода программ... Ведь там есть сборщик мусора, который иногда прерывает работу. Знаю, что часто научные программы пишут под Юникс. Может быть кто-то скажет, что нужно использовать Java ... Кросс-платформенность не нужна, т.к. даже если мы выберем Юникс, то значит он и будет. Буду рад за любые высказанные мысли. Спасибо. Модератор: Тема перенесена из форума "Разработка информационных систем".1) Сборщик мусора есть и в Java. 2) Под "системой реального времени" могут пониматься в том числе очень жёсткие требования. Полагаю (по описанию), в Вашем случае их нет, так что .NET вполне сойдёт. Возможно, для управления оборудованием может понадобиться писать драйвер и включать какую-то часть логики туда, это C. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 16:44 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
sanBezSCADAСкада- дороговато для нас и очень громозско. dvimрасчетную часть на С с пакетом для "кластеров". А можно поподробнее, что за пакеты и кластеры? Abstraction.NET вполне сойдёт. Возможно, для управления оборудованием может понадобиться писать драйвер и включать какую-то часть логики туда, это C. Вполне похоже на рабочее решение для нашего случая. Надо будет занаться изучением технологлии написания драйверов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 17:08 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
labview попробуйте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 18:29 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
jupiterВполне похоже на рабочее решение для нашего случая. Надо будет занаться изучением технологлии написания драйверов. что то вы очень быстро оценили AbstractionПод "системой реального времени" могут пониматься в том числе очень жёсткие требования ....... Общался я как то со старым знакомый ушедшим в науку, которому оутсорсеры на НЕТе нарисовали софт и драйвер из 100 строк , по съему информации из несколькоих десятков датчиков деформации жд рельса при прохождении поезда. Его предварительный анализ реально измеренных данных показал, что результаты измерений противоречат теории сопромата. Он на листике в клеточку со всеми условными допусками точнее считает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 20:12 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
jupiter которое должно упровлять оборудованием в реальном времени, получать данные, сохранять их, отображать в удобном виде. В общем, классика. Начните с частоты шины управления оборудованием. прикиньте сможете ли вы обеспечить гарантированную сихронную или асинхронную ( выберете нужную) реакцию вашего ПО на события в шине. В предыдущем примере система просто пропускала события в шине, потому как опрос датчиков происходил не по событиям на шине , а тогда когда этого хотела программа на НЕТ. Архитектор аутсорсеров посчитал , что запас по тактовй частоте в 50 раз между шиной датчиков системной шины компьютера достаточен , что бы незаморачиваться с синхронизацией событий в ПО и в шине управления датчиками . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 20:32 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
ДохтаРjupiter которое должно упровлять оборудованием в реальном времени, получать данные, сохранять их, отображать в удобном виде. В общем, классика. Начните с частоты шины управления оборудованием. прикиньте сможете ли вы обеспечить гарантированную сихронную или асинхронную ( выберете нужную) реакцию вашего ПО на события в шине. В предыдущем примере система просто пропускала события в шине, потому как опрос датчиков происходил не по событиям на шине , а тогда когда этого хотела программа на НЕТ. Архитектор аутсорсеров посчитал , что запас по тактовй частоте в 50 раз между шиной датчиков системной шины компьютера достаточен , что бы незаморачиваться с синхронизацией событий в ПО и в шине управления датчиками .Насколько я понимаю, там "реальное время" в том смысле, что GUI отображает состояние дел на устройстве с неразличимой для человека задержкой. Если понимаю неверно, всё может стать намного интереснее, вплоть до вывода о непригодности не только .NET, но и MS Windows, а то и процессора Intel. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 21:33 |
|
||
|
Программирование научно-инженерного приложения -- Выбор платформы
|
|||
|---|---|---|---|
|
#18+
AbstractionДохтаРпропущено... Начните с частоты шины управления оборудованием. прикиньте сможете ли вы обеспечить гарантированную сихронную или асинхронную ( выберете нужную) реакцию вашего ПО на события в шине. В предыдущем примере система просто пропускала события в шине, потому как опрос датчиков происходил не по событиям на шине , а тогда когда этого хотела программа на НЕТ. Архитектор аутсорсеров посчитал , что запас по тактовй частоте в 50 раз между шиной датчиков системной шины компьютера достаточен , что бы незаморачиваться с синхронизацией событий в ПО и в шине управления датчиками .Насколько я понимаю, там "реальное время" в том смысле, что GUI отображает состояние дел на устройстве с неразличимой для человека задержкой. Если понимаю неверно, всё может стать намного интереснее, вплоть до вывода о непригодности не только .NET, но и MS Windows, а то и процессора Intel. Гуй если и при делах то коственно , ничего лишнего он вроде не отображать не должен. А если отражает , то вобще тормоз будет. РТ управление шиной должно происходить по маршруту ПиСиАй- Процессор - Память- Процессор - ПиСиАй-Накопитель Или ПиСиАй - ДМА - память -ДМА - накопитель. Все что при этом будут ганяться по каналу ДМА-ПиСиАй -видеокарта потенциально может стать тормозом реалтайма , даже невинное тягание мышей по экрану. Какую временную непредсказуемость может внести гарбарж коллектор я даже боюсь себе представить. Я бы делал систему из 2 частей, одна машина только на реалтайме на каком нубудь КуЭниКсе или РТЛ , с минимальным количестов устройств на шинах. другая под чем угодно с гуем. Для супер быстрой реакции ВэиКсВоркс , там ИМХО самую быструю реакцию можно получить, но там многозадачность невытесняющая и результат зависит от прямизны рук больше чем где бы то нибыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2012, 23:11 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38002905&tid=1342085]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 435ms |

| 0 / 0 |
