Реализация
Перечислю возможные варианты программного или программно-аппаратного представления разрабатываемых под заказ прогнозно-решающих модулей и комплексов. Отмечу, что нет особых проблем по согласованию альтернатив с учетом пожеланий Ваших программистов-разработчиков и/или по самостоятельному освоению иных технологий.
Вид готового продукта
- Формат передаваемой заказчику программы: исполняемый (.exe) файл либо динамическая (.dll) библиотека, модуль или набор модулей с исходными текстами программ на языке C/C++.
- Поддержка Borland Delphi: возможно написание pascal-модуля, задающего процедурный интерфейс к dll-библиотеке.
Основные используемые технологии и платформы
- Операционные системы: современное Windows-семейство.
- Языки программирования: C/C++, Ассемблер. Тексты программ на языках C/C++, в принципе, могут быть перенесены и на другую операционную систему.
- Инструменты программирования при разработке интерфейсов программ и организации доступа к базам данных: Borland C++ Builder.
- Низкоуровневое системное программирование: Win32 API отдельно либо внутри Borland C++ Builder.
- Построение объектно-ориентированных модульных и распределенных систем: COM- и DCOM-технологии.
- Многопоточная (параллельная) работа программы: без проблем, если алгоритмы позволяют распараллеливание. Реализация - через Win32 API, т.е. без MPI и OpenMP (поэтому для линуксовых операционок или кластерных вычислений не подходит - ну так я выше и отметил, что за ОС взята MS Windows).
Построение программно-аппаратных комплексов сбора данных, принятия решения и выдачи управляющих воздействий в реальном времени
- Ввод-вывод информации: использование одной или нескольких многоканальных АЦП/ЦАП/ТТЛ-плат фирмы LCard, вставляемых в PCI-разъем компьютера.
- Распределение модулей по процессорам компьютера и интерфейсных плат. В простейшем варианте вся обработка информации ведется центральным процессором компьютера, платы используются только для ввода-вывода сигналов. При необходимости повышения скорости реагирования возможно перенесение прогнозной модели и правил формирования управляющих воздействий на процессор интерфейсной платы, при этом процессор компьютера будет использоваться для начальной загрузки управляющей программы в память платы и, при необходимости, для накопления и визуализации данных.
- Программирование плат фирмы LCard: язык C и Ассемблер для семейства 16-разрядных сигнальных процессоров ADSP21xx от Analog Devices.