- Java-технологии во встроенных приложениях
- Web-технология во встроенных клиент-серверных приложениях
- Встроенные устройства доступа в Internet
- Программно- аппаратные платформы
- Программные платформы
- Особенности реализации стека протоколов Internet
Шторм журнальных публикаций, посвященный приложениям Java продолжает бушевать - статьи содержат попытки подвести первые предварительные итоги использования данной технологии для различных приложений. Хотелось бы внести небольшой вклад в осмысление перспектив применения Java-технологии во встроенных приложениях вообще и во встроенных приложениях реального времени в частности.
В исходной постановке задачи создания языка Java объектом разработки была среда, которая должна была быть небольшой, простой и компактной, и работать на множестве различных устройств, которые обычно не называют компьютерными. Эта среда должна быть переносимой, выполняться на разных устройствах от множества производителей и, как следствие, быть архитектурно нейтральной, чтобы не ограничивать конструкцию устройств использованием определенной архитектуры. Область применения новой среды - бытовая электроника и контроллер для домашнего хозяйства. Контроллер должен управлять распределенным и пестрым по составу набором домашних бытовых приборов, вести учет потребляемых ресурсов, планировать их использование в соответствии с указаниями хозяев и т.д. Этот контроллер мог быть оснащен интуитивным пользовательским интерфейсом, применяющим анимацию для показа подключенных устройств и пользовательских возможностей. В расчете на такую область применения в 1990 г. был создан новый язык, названный Oak (дуб).
От "дуба" до кофе
С середины 1995 г. данная программная среда была реализована как "Java" для программирования в среде Internet (рис. 1).
В последней редакции Java представляет собой объектно-ориентированный язык с сильной типизацией и Си-образным синтаксисом, однако он значительно проще, чем С++. Программная среда разработки состоит из стандартизованной спецификации для Java Virtual Machine (JVM), а также стандартного набора библиотек классов поддержки многопоточной обработки, стандартного файлового и сетевого ввода-вывода, пользовательского интерфейса. В апреле 1997 г. была анонсирована программная спецификация "Java One" с тремя разновидностями: EnterpriseJava API, PersonalJava API и EmbeddedJava API. Эти прикладные интерфейсы были специально спроектированы для рынка встроенных приложений, где имеющиеся в распоряжении системы ресурсы значительно менее объемны чем в системах офисного класса.
Что это даст ?
Вероятнее всего, Java станет, как и Си/С++, одним из самых широко используемых программных инструментов (Таблица 1).
Таблица 1. Позиционирование Java | |
Проблемы приложений | Решение на Java |
Переносимость приложения | "Написано однажды, исполняется везде, обновление производится только в одном месте" |
Объем кода | Компактный код |
Сложность программы | Простота, объектно -ориентированная структура, поддержка исполнения параллельных нитей и т.д. |
Надежность | Контроль, строгая типизация, только автоматическое (скрытое от пользователя) распределение памяти, отсутствие операций с указателями |
Удобство манипуляции приложениями | Динамическая загрузка и сборка, которая означает, что приложения модифицируют сами себя |
Представление сетевого уровня | Расширенная библиотека протоколов, простой удаленный доступ |
Поддержка | Количество пользователей стремительно растет, в сферу Java втянуты все основные производители программной и аппаратной продукции |
Java-технологии во встроенных приложениях
Основное преимущество Java - "нейтральность" по отношению к любой архитектуре. Язык требует наличия интерпретатора написанного в кодах специфического процессора и/или ОС и набора интерфейсных библиотек для того, чтобы функционировать независимо от аппаратной платформы и операционной системы.
Сейчас пользовательское ПО ориентировано на относительно узкий круг процессоров и операционных систем. Если бы этот язык стал общепринятым в среде разработчиков прикладных систем, то вопрос выбора процессора и операционной системы не стоял бы так остро. Это было бы революционное изменение. Все оборудование и ОС спрятаны именно под JVM. Единственное, что должны сделать прикладные программисты - это изучить язык Java и соответствующие библиотеки классов Java. Если они пишут коммерческие программы, то могут быть уверены в исполнении программы везде, где есть виртуальная Java-машина. Некоторая часть ПО рабочих станций и ПК, таких как Corel Office и Business Lotus Java для OS-9 Java постепенно становится доступной на тех машинах, где функционирует виртуальная Java-машина (рис.2). Однако говорить о массовости этого явления пока не приходится.
Дополнительное, не столь очевидное, преимущество "нейтральности" Java - это второе дыхание для вычислительных устройств, ориентированных на Internet, и это должно обрадовать производителей ПК, отдачу от которых получать с каждым годом становится все трудней. Сегодня же подавляющее большинство производителей аппаратуры и программного обеспечения технологически "питаются" только у стола Intel и Microsoft. Первая "кормит" производителей комплексно: от микропроцессоров до материнских плат, и даже систем. Между тем вторая господствует в разработке ПО с монолитной и загадочной ОС Windows и офисными приложениями.
Назрела необходимость в новом старте без багажа прошлого для разработки программного обеспечения, лучше подходящего для недорогих, требующих минимальных ресурсов сетевых устройств.
Web-технология во встроенных клиент-серверных приложениях
Новейшие технологические программные решения в области промышленной автоматизации держат в фокусе, прежде всего, приложения "plug-and-play", архитектура которых отвечает требованиям гибкости, открытости, и простоты интеграции. Новая технология должна предложить корпоративное средство, которое:
- масштабируется;
- не зависит от программно-аппаратной платформы;
- базируется на объектно-ориентированной графической среде разработки;
- работает в распределенной клиент-серверной архитектуре.
По крайней мере две технологии, ActiveX и Java, в совокупности с Internet/intranet обеспечивают открытость и итероперабельность.
Рисунок 2.
Программная среда разработки и исполнения Java / OS9
Первым приложением в области встроенных систем стало использование Java в качестве недорогого сетевого графического пользовательского интерфейса для распределенных устройств, которые не имеют собственных устройств отображения. Для встроенных приложений, где данные должны быть собраны с некоторого количества удаленных узлов на центральный компьютер, полная реализация стандартной клиент-серверной спецификации функций может оказаться излишне сложной и обременительной. Более простым решением могут быть существующие web-браузеры на платформе ПК с одной стороны и с другой встроенные web-серверы на удаленном узле, конвертирующие поток данных в HTML-страницы без необходимости какого-либо специального ПО для клиента и сервера. К типичным приложениям такого рода относятся:
- охранные системы;
- сбор данных технологического процесса;
- удаленная диагностика и поиск неисправностей;
- распределенные торговые терминалы;
- медицинское оборудование;
- системы погодного, сейсмического и экологического мониторинга;
- офисные системы - факс/печать/сканнер/копировальный аппарат;
- контроль и управление транспортными системами.
Практически речь идет о SCADA-системах, базирующихся на Internet/Intranet технологиях браузеров в области промышленной автоматизации и систем сбора данных.
Встроенные устройства доступа в Internet
Так как WWW стала фактически механизмом распространения коммерческой и некоммерческой информации, Java позиционируется как дальнейший этап Internet-эволюции. Наметившееся ветвление концепции Java в сторону встроенных технологий обусловлено возрастающим спросом потребителей на новые классы устройств (Врезка 2): PDA, интеллектуальные пейджеры, мобильные телефоны с функциональностью Internet, приставки Web-TV и т.д.
Учитывая, что встроенные устройства доступа в Сеть являются специализированными изделиями, нет необходимости, например, поддерживать на них офисную операционную систему для создания ПО. Такого рода разработки требуют наличия программной среды специально спроектированной для недорогих конечных (целевых) систем с ограниченными вычислительными ресурсами: малая мощность процессора, минимальная память, малоформатное устройство отображения и т.п. Но, несмотря на это, конечное изделие должно остаться приемлемым для потребителя по функциональности. Например, функциональность браузера встроенного в PDA/PIM должна, по-возможности, остаться на уровне знакомого пользователю браузера его офисной рабочей станции, а не ограничиваться обработкой специальных web-страниц.
Для одновременного исполнения приложений web-браузера, электронной почты и других новомодных коммерческих "штучек", таких, например, как менеджер информационных каналов для приставок Web-TV необходима многозадачная среда. Управлять приложениями, делать всю среду понятной и простой должен компактный графический интерфейс.
Одним из вариантов решения данной проблемы является использование универсальной ОС, специально оптимизированной и сконфигурированной для потребительских приложений в Internet-устройствах. Требования к выдерживанию точных временных характеристик для управления потоками видео- и аудиоинформации определяют необходимость применения операционной системы реального времени (ОСРВ). В таблице 3 приведены сведения по наиболее известным встраиваемым ОСРВ, поддерживающим Java.
Таблица 3. Встраиваемые коммерческие ОСРВ поддерживающие Java. | |||
Встраиваемая ОСРВ | Фирма производитель | Поддержка Java | Продукт |
Nucleus RTX/Plus | Accelerated Technology | апплеты , байтовый код | |
OS-9 | Microware Systems Co. | апплеты ,байтовый код, компилятор JIT (Metrowerks Co.), EnterpriseJava, PersonalJava, EmbeddedJava HotJava, Spyglass WTK, Unwired Planet HDML-браузер, Diba Information App. Suite v 2.0 | Internet OS-9, Java Extention for Wireless OS-9, Java Extention for DAVID OS-9 |
OSE | Enea OSE Systems | html web-cервер (совместно с Epilogue Technology Co,), http сервер, апплеты, байтовый код | OSE Web Server |
pSOS, pSOSystem | Integrated Systems | браузер,апплеты, байтовый код | N/A |
RTXDOS | Technosoftware | web-сервер | Embedded WEB-server |
Tornado/VxWorks | Wind River Systems | браузер, апплеты, байтовый код PersonalJava EmbeddedJava | Tornado for Java, Tornado for Embedded Internet |
VRTX | Microtec Research | апплеты, байтовый код | N/A |
Проблемы реализации
В Таблицах 1 и 4 перечислены достоинства и недостатки Java. Его отличительной чертой является переносимость. Да, Java достаточно медленный язык - его скорость составляет всего 1/40 от Си/С++, а создаваемый код довольно велик - Windows-станции должны иметь хотя бы 20 Мбайт ОЗУ.
Достоинства Java очевидны. Однако можно ли разрешить все его проблемы? Ответ зависит от того, насколько полным должно быть решение. Например, Java-окружение может быть либо большим, либо медленным, либо неполным. Остается только надеяться, что среда Java в каждый момент времени будет обладать не более, чем одним из этих недостатков.
Разработанные Java-компиляторы генерируют байтовый Java-код, представляющий собой набор компактных инструкций для виртуальной машины ориентированной на применение стека. Байтовый Java-код - машинно-независим. Виртуальная Java-машина проверяет каждый байт кода на допустимость, а затем интерпретирует его. Java-программа состоит из набора независимых программных единиц (апплеты, методы и классы), которые могут загружаться динамически. Апплеты складываются в программы, методы представляют собой выполняемые над объектами действия, а библиотеки классов объединяют в себе, например, такой сервис, как MPEG или управление посудомоечной машиной. После компилирования c модулями графического пользовательского интерфейса и слияния всех объектных кодов Java в один файл, Java занимает около 2 Мбайт. Необходимо использовать около 1 Мбайт ОЗУ для запуска самых простых тестов. Однако это далеко не минимум. После выделения графического интерфейса и некоторых других компонентов из базового модуля виртуальной Java-машины общий объем кода составляет приблизительно 200 Кбайт.
Прямое использование Java во встроенных приложениях реального времени имеет свои недостатки - большой объем кода, относительно низкая производительность, недетерминированность, сложности работы с оборудованием. И решение этих проблем "в лоб" лишает Java самых привлекательных черт - переносимости и защищенности.
Сохранить максимум преимуществ Java позволяет так называемая "гибридная технология", которая заключается в использовании Java в контексте современных переносимых встраиваемых ОСРВ, оптимизированных для применения во встроенных приложениях. В архитектуре Java/ОСРВ разработчик сохраняет все возможности доступа к средствам операционной системы и может создавать встроенные в Java классы, пользующиеся этими ресурсами. В рамках "гибридной" архитектуры Java/ОСРВ разработчик получает возможность написать любую секцию кода на Си/С++, использующую средства ОСРВ и взаимодействующую с Java-классом. Например, с помощью семафоров или событий. Именно поэтому практически все производители коммерческих ОС реального времени вкладывают средства в технологию Java. Этот процесс у разных фирм начинался неодновременно и протекает неравномерно, вследствие чего спектр предоставляемых Java-возможностей в разных ОСРВ весьма различается (Таблица 3).
Производительность
Существует несколько путей решения проблемы низкой производительности системы исполнения Java.
Первый и самый распространенный метод - применение компилятора "Just In Time" (JIT), обеспечивающего подключение прикладного Java-кода только тогда, когда в нем есть необходимость, и конвертирующего большую часть байтового Java-кода в машинный код. При этом скорость исполнения будет очень близка к скорости исполнения простого скомпилированного кода. Трудность заключается в том, что, хотя такой компилятор и будет генерировать коды гораздо более эффективные, он, по всей видимости, будет использовать куда больше памяти, чем существующая виртуальная Java-машина.
Иначе можно решить проблему путем создания обычного Java-компилятора. В этом случае вместо байтового Java-кода будет генерироваться обычный машинный код. Естественно, полученная программа не будет переносимой, однако скорость ее выполнения будет достаточно высокой и компилятор типа JIT не потребуется.
В сети с хорошим обеспечением безопасности данных байтовый Java-код может быть скомпилирован на надежном сервере в обычный машинный код. Такой сервер может иметь несколько компиляторов, рассчитанных на каждый тип эксплуатируемых в сети машин. При этом серверы выполняют работу, отличную от простого хранения файлов, которые могут содержать участки Java-кода. Однако возросшие на обслуживающий персонал нагрузки должны быть компенсированы использованием более простых, дешевых и быстрых клиентов, например сетевых компьютеров.
Еще одна небольшая вариация последнего метода состоит в том, что компилятор ("flash") Java располагается в системе исполнения и компилирует Java-код один раз после первого вызова.
И наконец, способ, о котором стоит упомянуть, заключается в применении специализированного Java-процессора подобного picoJava от Sun Mycrosystems. Оптимизированный для работы со стеком RISC-процессор picoJava поддерживает 200 машинных инструкций, максимально приближенных к байтовым кодам Java, и реализует на микропрограммном уровне "уборку мусора". Серия аналогичных процессоров компании Sun является продолжением линии развития программно-аппаратных вычислительных архитектур языков высокого уровня, таких как LISP-машина или APL-машина, кстати, ни одна из подобных разработок не поднималась ранее до приемлемого коммерческого уровня). На сегодня лицензию на архитектуру picoJava приобрели компании LG Semicon, Mitsubishi Electronics America, NEC и Samsung Electronics.
Предсказуемость
Одной из причин изменения временных характеристик исполнения Java-кода является "уборка мусора". Если система использует память очень большого объема и много свободного процессорного времени, то "уборка мусора" может выполняться в фоновом режиме. Если этот фоновый процесс не справляется с задачей освобождения доступной памяти, то очистка памяти начинает осуществляться как часть процесса распределения памяти. Это превращает и так довольно неторопливый процесс распределения памяти в чрезвычайно медленный. Такое поведение существенно ухудшает характеристики Java, когда программа исполняется в системах с малым объемом памяти либо в системах с загруженным процессором.
Самая легко достижимая цель - это, вероятно, возможность приоритетного прерывания фонового процесса "уборки мусора". Поскольку это чревато неприятными последствиями, Java противится запуску процесса в асинхронном режиме пока система не будет находиться в состоянии ожидания довольно длительное время. Лишь после этого запускается процесс "уборки мусора", поскольку предполагается, что система будет пребывать в этом же состоянии еще некоторое время. Воплощение данной схемы можно найти в программной PLC-среде SoftPLC, которая программируется на языках Allen-Bradley PLC-5, C/C++ и Java (JavaBeans).
Требования к памяти
Требования к памяти очень тесно связаны с процессом "уборки мусора". Java необходим очень большой объем дополнительной памяти, чтобы не вызывать данный процесс в неустановленное время. Отказ от процесса очистки памяти путем отказа от "засоряемой" памяти - не самый лучший выход из положения. Однако Среда Java без "уборки мусора" становится совсем неудобной.
Снижение объема оперативной памяти зависит и от использования обычной техники: тщательного продумывания ее эксплуатации, сжатие контрольных, но довольно редко используемых данных, виртуализации памяти ОЗУ на внешних носителях (например, с загрузкой страниц) и т.д.
К услугам производителей
Учитывая требования к функциональности и динамичность рынка недорогих встроенных устройств доступа к Сети, крупнейшие производители электроники выпускают инженерные (стартовые) комплекты, ориетированные специально на потребности данного рынка. Эти комплекты могут использоваться для создания прототипа будущего изделия с многочисленными вариациями, для разработки средств системного уровня, и в некоторых случаях, для производства ограниченных серий продукции. Среди подобных плат можно упомянуть AMD ElanSC310, Intel EXPLR2, инженерный набор Odin для web-приложения фирмы National Semiconductor. Диапазон микропроцессорных платформ - от 8-разрядных CISC до 32-разрядных RISC-микропроцессоров.
- Philips Semiconductor и фирма emWare заключили партнерское соглашение, в соответствии с которым последняя разработала Web-сервер с объемом памяти не более 1Кбайт для встроенных устройств и систем на данной микроконтроллерной базе. Теперь подобные устройства могут подключаться к Internet/intranet и доступны для контроля со стороны удаленного агента через стандартный web-браузер.
- Комбинация аппаратных решений микроконтроллеров фирмы Arcom, выполненных на базе процессоров 188EB и 386EX, в комбинации с программной web-технологией компании Io Ltd. позволяет обслуживать контроллеры с виртуальной панели, которая использует Java апплеты, реализующие статусные панели с анимацией состояния контроллера (светодиоды, клавиши, LCD, таблицы и поля ввода директивной информации). Интересно, что специалисты Io Ltd. использовали новый коммуникационный протокол уровня TCP/IP, оптимизированный для промышленных приложений. Большая часть программного обеспечения верхнего уровня опирается на коммуникацию посредством UDP протокола. Для расширения функциональности выполнена оптимизация уровня UDP: добавлены средства контроля ошибок, запрос повторной передачи и стандартизованная система имен переменной длины. Данная разработка, названная SNIP - Simple Network I/O Protocol, позволяет конструировать системы базирующиеся на web-сервере и способные работать в сети, по запросам клиентской части применяющей дешевые и стандартные оболочки пользователя. Такая схема применения стандартного web-браузера обеспечивает доступ к любым данным реального времени.
- Motorola Computer Group предлагает производителям высокоинтегрированные процессорные платы формата EBX (Embedded Board eXpandable) - MBX821/860. Спроектированные с использованием коммуникационных процессоров PowerPC фирмы Motorola MPC821 и MPC860 PowerQUICC данные платы ориентированы прежде всего на рынок минимальных высокопроизводительных распределенных управляющих и коммуникационных систем, устройств доступа к Internet. Сетевые возможности, управление и интерфейс с оператором интегрированы непосредственно на кристалл микроконтроллера. Расширения Ввода/Вывода выполняются через расширения PC/104-Plus и Type III PCMCIA version 2.1. Поддерживаются интерфейсы Ethernet и синхронные последовательные каналы ISDN, ADSL, T1/E1. Встроенный LCD контроллер (MPC821) поддерживает активные и пассивные матричные дисплеи. На плате размещается 4МВ DRAM и 4MB Flasch. Фирма Microware портировала свою ОСРВ OS-9 на серию small-form-factor MBX плат для встроенных применений. Предлагаемый программный пакет OS-9 BSP MBX включает OS-9 Kernel, коммуникационный пакет SoftStax, графический пакет MAUI (Multimedia App. User Interface). Полная программная поддержка плат MBX со стороны операционной системы OS-9, позволяет максимально сократить время выхода на рынок готовых Java-устройств, нацеленных на использование в качестве информационных и торговых терминалов, а также распределенных устройств промышленной автоматики. Интересные функциональные возможности в сочетании с платами серии MBX предоставляют программные продукты подразделения Lexicus фирмы Motorola, портированные в OS-9:
- QuickPrint - программное обеспечение распознавания рукописного теста;
- СrystalTalk - программное обеспечение распознавания речи, созданное специально для работы в зашумленной обстановке.
Ситуация на рынке средств разработки
Программно- аппаратные платформы
Компания Motorola разработала аппаратную платформу WeBRef для различных классов устройств доступа к Internet. В ее основе лежит высоко интегрированный набор модулей, специально спроектированных для поддержки недорогих периферийных устройств. Платформа предлагает гибкие интерфейсы для коммуникации, видео, аудиоподсистем и подсистемы памяти. Двухшинная структура обеспечивает возможность независимой работы системных устройств (Modular System Bus) и устройств подсистемы коммуникации (Modular Communications Bus).
Инженерный набор (Development Kit) производства IBM для разработки сетевых компьютеров сочетает в одном простом, укомплектованном и готовом к использованию решении современные аппаратные и программные средства. Он может использоваться для построения различных сетевых компьютерных устройств - от Java-заменителей простых терминалов до полноценных сетевых компьютеров. Базовый пакет IBM включает процессор PowerPC 603/200+ МГц, соответствующий базовый набор периферийных микросхем, системное программное обеспечение OS-9 и приложения для бизнеса на базе Lotus Java.
Программные платформы
Сегодня OS-9 уже используются в большинстве интерактивных интеллектуальных телевизионных приставок (Set-Top Box), поскольку характеристики "реального времени" системы позволяют обрабатывать без задержек огромное количество характерной для видеосистем информации. Имея OS-9 в качестве ядра, программная система Digital Audio/Video Interactive Decoder (DAVID, цифровой интерактивный аудио/видео декодер) существенно превзошла аналогичные изделия Microsoft в интерактивном телевидении. DAVID решает сегодня целый комплекс проблем большинства крупных поставщиков интеллектуальных приставок, выполняя многие важные для интерактивного телевидения функции - обработку графики, двунаправленный поток данных и управление вводом/выводом.
Расширения OS-9 Java, HotJava и Spyglass Web Technology Kit (WTK) полностью поддерживаются и для платформы DAVID, расширяя использование телевизионной инфраструктуры, в качестве информационного канала Internet, доступного через обычный домашний телевизионный приемник. Структура программного обеспечения типового устройства Web-TV представлена на рис. 3.
Рисунок 3.
Архитектура программного обеспечения Web-TV/DAVID
Более 20 производителей, включая IBM, NEC, Sony, Philips, Zenith, Divicom, Samsung, Mitsubishi, LG применяют DAVID в своих цифровых интерактивных приставках.
Особенности реализации стека протоколов Internet
Широкое использование инфраструктуры Internet, увеличение объема проводимых коммерческих и бизнес-операций, использование мобильных устройств требует решения ряда проблем, возникающих из-за несовершенства существующей протокольной базы.
Компания Integrated Systems Inc. (ISI) представила встроенную версию протокола Internet (Ipv6), в которой значительно расширена область возможных адресов. Новый стандарт IPv6 сокращает стоимость использования и обслуживания IP-сети, упрощает конфигурацию и расширение существующей IP-инфраструктуры при поддержке новых типов встроенных и мобильных устройств, которые требуют защиты мобильных IP-абонентов. Расширенная маршрутизация и возможности адресации основываются на 128-битном адресе, тогда как текущий стандарт поддерживает 32-битную адресацию.
Подводя итоги
Благодаря снижению цен на передовую микропроцессорную технику стало возможным массовое производство новейших высокоинтеллектуальных интерактивных устройств. Такие устройства появляются в самых разных приборах, транспортных средствах, в развлекательных центрах, дома и на рабочем столе.
Использование стандартных переносимых ОСРВ в качестве программной платформы для технологии Java обеспечивает ощутимое преимущество ОЕМ-компаниям и системным интеграторам, которые занимаются проектированием и производством интеллектуальных устройств нового поколения, без которых "информационную среду" XXI века представить себе уже невозможно.
Функциональная спецификация новых классов устройств
Требования к изделию
Общие требования
- наличие средств для беспроводной связи
- поддержка разнообразных нестандартных устройств ввода/вывода
- несложный, хорошо структурированный и настраиваемый интерфейс для приложений
- поддержка множества протоколов и их комбинирования, доступ к Internet и синхронизация данных при беспроводной коммуникации с настольными ПК
- управление потреблением питания в системах с батарейным питанием и/или минимизацией потребления
- открытый API и поддержка интерпретаторов стандартных языков и интероперабельных оболочек пользователя
- оптимальные графические средства для поддержки технологии отображения с применением LCD и прочих малых дисплейных средств
- требование минимального количества ресурсов для использования в недорогих, производимых для массового потребителя, бытовых изделиях
- поддержка различных микропроцессорных платформ
- импорт/экспорт и обмен файлами
- электронная почта, доступ к WWW
- низкие требования к объему памяти ( ~ 4 Mбайт для всей системы)
- графические возможности низкого разрешения для различных телевизионных стандартов (NTSC, PAL, SECAM)
- поддержка нескольких типов сетей и протоколов (CATV, DBS/DTH...)
- набор средств шифрования / дешифрования для защищенного обмена данными
- способность поддерживать как компьютерные дисплеи высокого разрешения, так и видеоустройства низкого разрешения (ТВ-устройства) с различными стандартами, и набор графических объектов с динамической настройкой на оба типа видеоустройств
Недостатки Java
Недостатки
- Медленный большой код
- Ограничения лицензирования
- Непредсказуемые, в отношении РВ, функциональные характеристики