ВИРТУАЛЬНЫЕ МАШИНЫ И КОМПИЛЯТОРЫ
Это наши базовые специализации
Мы тестировали платформу Java Virtual Machine (JVM), разрабатывали программные инструменты, выпустили 14 релизов сертификационной сюиты JCK в многолетнем партнерстве с ее автором, компанией Sun Microsystems. Этот опыт успешно применяется нами для других проектов по разработке системного ПО.
Мы много лет разрабатываем системное ПО для российской платформы «Эльбрус» и осуществляем техническую поддержку.
Реализована российская Джава-машина под архитектуру российских процессоров "Эльбрус". Это полностью отечественная безопасная система, свободная от закладок в “железе” и ПО, а также поддерживающая все встроенные средства безопасности языка программирования Джава. Cейчас идет работа над увеличением производительности виртуальной машины, портируются новые приложения и технологические решения.
Свойства:
- Реализована на основе виртуальной Джава-машины OpenJDK с открытым исходным кодом
- Разработано 3 варианта собственного динамического компилятора “на лету” (JIT), оптимизированного под платформу Эльбрус
- Разработан новый шаблонный интерпретатор
- Реализована поддержка набора инструкций нескольких поколений процессоров Эльбрус
- Портированы под архитектуру Эльбрус специализированные библиотеки (OpenGL, OpenCV и др.), ряд широко известных приложений и библиотек с открытым кодом (Apache Tomcat, Apache Derby, Eclipse, Apache Jmetter и др.)
Технологии:
J2SE class libraries (OpenJDK), Java virtual machines, Just-In-Time compilers, interpreters, C, C++, Assembler
Разработка идет по двум направлениям: 1) виртуальная машина для языка JavaScript V8 от браузера Chrome и платформы Node.js с открытым исходным кодом, уже реализовано 3 версии, с последовательным улучшением качества 2) виртуальная машина SpiderMonkey из браузера FireFox, реализованы 2 последовательные версии. Разработка включает в себя:
- Портирование и доработку существующих компиляторов и интерпретаторов
- Проверку правильности исполнения всех функций
- Оптимизацию кода, генерируемого компиляторами
- Увеличение производительности
Технологии: JavaScript, Firefox, C/C++, node.js, Assembler
Основой проекта служит новая серверная технология виртуализации для промышленных приложений, работающих на платформе x86. Эта технология отличается высокими показателями надежности, производительности, экономичности и управляемости. Первой платформой реализуемой на данной технологической основе стала Java, что позволило любым Java приложениям автоматически и прозрачно функционировать в новой технологической среде.
Технологии:
J2SE class libraries (Apache Harmony, OpenJDK), Java virtual machines, Just-In-Time compilers, C, C++, Mercurial
- внешние и внутренние интерфейсы
- новые и недостающие свойства
- оптимизация производительности
Тестирование Java стандарта была сделано для широкого набора библиотек:
Core Java packages (java.lang and subpackages)
Basic mathematics API
Java Management Extension API (javax.management)
Sound API (javax.sound)
Printing API (javax.print)
XML processing (DOM, SAX) API
Image I/O API (javax.imageio)
Java utility API (java.util)
Networking API (java.net)
Java I/O API (java.io, java.nio)
Implementation of CJK and other character encodings
Java security API (JAAS, JCE, JSSE)
Проекты по сертификационному тестированию платформы Java описаны здесь.