Взаимодействие Java в реальном времени - PullRequest
5 голосов
/ 04 февраля 2009

Мне интересно, как это совместимость между JRE6 и JVM от rtsj . Кажется, что я должен использовать только их реализацию (так как код будет интерпретироваться с использованием их JVM), поэтому я не могу использовать многие функции, которые предлагает Java 6. Может ли он поддерживать графический интерфейс? (скажем, например, чтобы изменить параметры производственного процесса).

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

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

Ответы [ 3 ]

3 голосов
/ 16 февраля 2009

Для обеспечения поведения в реальном времени JVM должна быть специально разработана. Это включает в себя интеграцию на уровне операционной системы для получения доступа к функциям планирования в реальном времени хост-ОС.

Например, Sun Rea-Time JVM совместима с J2SE5. http://java.sun.com/javase/technologies/realtime/faq.jsp#4

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

Что касается использования графического интерфейса пользователя в режиме реального времени, вы должны исследовать использование двухуровневого клиент-серверного управления процессом в реальном времени с использованием чего-то вроде JMX, RMI или веб-сервисов (в зависимости от того, что является самым легким). Использование графического интерфейса непосредственно в коде в реальном времени может создать много потенциальных проблем для приложения, так как оно пытается выполняться без ограничений в реальном времени.

3 голосов
/ 10 апреля 2009

См. мой ответ на другой вопрос , где приведены еще несколько примеров реализации RTSJ коммерческого уровня. Последняя версия (2.1) совместима с JDK1.5, поэтому у вас должен быть доступен Swing / AWT.

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

В принципе, вы должны иметь возможность писать код RTSJ таким образом, чтобы он выполнялся в одной и той же JVM с потоками не в реальном времени (и я сделал это много), но это может быть сложно для правильной синхронизации ,

0 голосов
/ 04 февраля 2009

Как описывает эта книга, между JRE Sun Java и реализацией rtsj может быть взаимодействие.

...