...-1990: Группа Кронос
Кронос - так назывался компьютер, разработанный в начале 80-х группой студентов ММФ и ФФ НГУ. Его разработка началась по партизански, ночами в общежитиях и вечерами в лабораториях институтов СО АН. Потом группа получила официальную поддержку в ВЦ СО АН СССР, а с 1985 г. влилась со своей разработкой в финансируемый правительством СССР проект "СТАРТ". Кронос стал базовым процессором для создаваемой СТАРТом вычислительной системы МАРС. В СТАРТЕ Кронос был доведен до промышленного образца (на фото - его последнее поколение), выпускался мелкими сериями. Был разработан микропроцессор.
Внутри коллектива СТАРТ группа разработчиков Кроноса стала неформально называть себя группой Кронос, или Kronos Research Group (KRG). За несколько лет группа Кронос с нуля разработала архитектуру и аппаратуру процессора, систему разработки на языке Модула-2, и многопользовательскую и многозадачную операционную систему с поддержкой динамического связывания и другими интересными решениями. А также САПР печатных плат, чертежный САПР, графическую оконную систему, даже несколько игр.
Операционная система Кроноса называлась Эксельсиор (Excelsior). Наша компания названа этим именем в память того боевого духа, что наполнял всю группу во время работы над Кроносом. Это состояние невозможно забыть. И очень трудно описать словами.
Немного подробнее о группе Кронос - на странице Kronos Research Group.
1991-1994: Создание среды XDS
В разваливающемся Советском Союзе правительственное финансирование исследовательских проектов прекратилось. К 1991 году проект СТАРТ был практически полностью свернут. В то же самое время в России был разрешен частный бизнес, фактически запрещенный в предыдущие 70 лет. Участники Группы Кронос создали несколько предприятий. Прикладные программисты собрались в компании ПроПро Группа (ProPro Group) и стали работать над созданием чертежного и конструкторского САПР bCAD. Системщики создали компанию ИксТех (xTech) и решили сконцентрироваться на создании инструментов программирования, в основном на языках Модула-2 и Оберон-2 и для этих зыков.
Проф. Вирт и проф. Поттосин на фоне команды XDS
(снято во время 2-й Мемориальной Ершовской Конференции
"Перспективы Систем Информатики", проходившей
в Новосибирске в 25-28 июня 1996 г.)
Модула-2 - это язык программирования с сильной типизацией, подходящий как для системного так и для прикладного программирования. В то время он был довольно популярен. Его наследник, Оберон-2, был выбран за поддержку объектно-ориентированного программирования. Оба языка созданы профессором Никлаусом Виртом, автором Паскаля.
Первым продуктом ИксТех, выпущенным в середине 1992 г., был транслятор Модула-2/Оберон-2 в Си, так называемый "via-C-компайлер". Он выдавал Си-текст, который можно было скомпилировать любым подходящим Си-компилятором для практически любой платформы.
Два других тесно связанных между собой продукта были выпущены осенью 1993 г.:
- Компилятор Modula-2/Oberon-2 для MS-DOS
- Mithril - Оберон-2 система для MS-DOS
В начале 1994 г. компиляторная команда ИксТех начала работу над совершенно новой редакцией компилятора, основываясь на опыте предыдущих разработок. Oberon-2 был выбран как основной язык реализации. Новая редакция "via-C"-компилятора была выпущена на рынок в Октябре 1994 под названием XDS (xTech Development System). Среди усовершенствований была уникальная переносимая среда исполнения (RTS - Run-Time System), которая включала себя сборщик мусора и мета-языковые функции для Оберона-2.
В результате оригинальный "via C"-компайлер превратился в компонентную объектно-ориентированную среду разработки компиляторов, которая сейчас так же называется XDS (eXtensible Development System - расширяемая система разработки).
1994-Сентябрь 1997: Работа с Northern Telecom
В 1994 г. начались дизайн и реализация перенацеливаемого высокооптимизирующего бэк-енда для XDS. Главной задачей было добиться высокого качества выходного кода, и в то же время упростить перенос и перенацеливание компилятора. Первый продукт был выпущен в Декабре 1995 г. и назывался "Native XDS".
В настоящий момент, семейство систем разработки для языков Модула-2/Оберон-2 под общим названием XDS продолжает сопровождаться нашей компанией. Доступные продукты этого семейства смотрите на нашей странице Продукты.
В 1994 году команда разработчиков XDS впервые приняла участие в проекте по заказу Западной компании. Заказчиком была компания Nortel (Northern Telecom), сейчас переименованная в Nortel Networks. Целью того проекта была разработка транслятора с внутреннего языка Nortel в C++, чтобы сделать возможным использование стандартных инструментов разработки для процесса разработки встроенных систем в продуктах Nortel.
С того момента для Nortel был выполнен целый ряд успешных проектов:
- трансляторы с нескольких внутренних языков в Си/Си++.
- оптимизирующие компиляторы с тех же языков на несколько целевых платформ (x86, m68k, PowerPC, SPARC)
- патчер для исправления бинарного кода в изделиях компании "на лету"
- инструменты и техники для решения проблемы смены порядка байт в слове (endian reversal problem)
С 1995 г. ИксТех принимает участие в Российской космической программе. Первой задачей стала разработка кросс-системы разработки бортового программного обеспечения для нового поколения Российских спутников связи.
Первый спутник, для разработки которого была применена эта система полетел только в 2003 году - намного позже чем ожидалось.
Октябрь 1997 - Сентябрь 1999: Компания XDS
Вторым направлением деятельности ИксТех была разработка приложений (клиент-сервер, Интернет/Интранет и т.п.). Отдел средств разработки работал практически полностью независимо от остальной компании, поэтому его выделение в отдельную компанию в конце 1997 г. было довольно естественным шагом. Новая компания получила название XDS. Она продолжила работу с Nortel и разработку компиляторов XDS.
Задача поддержать дополнительные современные языки программирования тогда была очевидной, что привело к старту нового проекта - создание оптимизирующего компилятора для Java в непосредственно исполняемый код для процессоров Пентиум.
Октябрь 1999: Начало истории Эксельсиор
В Октябре 1999 XDS разделился на 2 компании, одна из которых стала называться Эксельсиор, куда перешла команда разработчиков XDS, и технология построения компиляторов. Мы продолжили работать в качестве субподрядчиков в большом проекте со сроком окончания в Апреле 2000 года....
Февраль 2000: Почти конец истории Эксельсиор
БАБАХ! Большой Заказчик, который задерживал платежи по проекту еще с Ноября, наконец официально объявил, что причиной этой задержки являлось на самом деле официальное закрытие проекта три месяца назад. Февральскую зарплату платить было нечем...
С большими трудностями Главному Подрядчику этого проекта удалось отстоять платежи за последние три месяца работы.
(Это был самый тяжелый момент в нашей истории и мы надеемся, что он и останется таким.)
2000: Первый контракт, первый продукт
Немецкой компании потребовалось перенести свою Модула-2 программу на новую аппаратную платформу. Мы подписали контракт и разработали компилятор с Модула-2 для процессора PowerPC. Этот первый контракт случился как раз вовремя (Февраль 2000 г.) и сыграл ключевую роль в восстановлении нашей компании.
Затем один из бета-тестеров проекта XDS Native Java показал нам страшно дорогую библиотеку, которая облегчала программирование вызовов из Java функций "реальных" программ. Через 2 месяца мы выпустили xFunction, и 2 Августа продали первую копию этого продукта.
В то же время мы продолжали работу над "native" - компилятором для Java. тогда мы решили придумать новое название для этого продукта, так чтобы в него входило слово Эксельсиор и его было легче запомнить. Мы остановились на названии "Excelsior JET". Слово JET мы решили оставить акронимом, который мы расшифруем потом, когда придумаем как. (С тех пор не придумалось ничего лучше чем "Just-Enough-Time" в противовес "Just-In-Time" - JIT.)
Чем больше мы работали над проектом, тем больше возникало проблем, которые превращались в задачи, решались, но возникали новые и новые. Процесс казался бесконечным (через 6 лет он продолжает казаться бесконечным - но уже на новом уровне). В какой-то момент мы решили выпустить коммерческий релиз этого продукта несмотря на то, что по нашему мнению он был еще далек от совершенства.
8 Декабря 2000 г. вышел Excelsior JET 1.0 для Windows — первый в серии наших решений проблемы производительности Java, основанных на технологии оптимизирующей компиляции байт-кода в прямо исполняемый код процессоров Пентиум. В течение первых нескольких часов была продана первая копия, что, как мы понимаем сейчас, совершенно невероятно для версии 1.0. Команда немедленно отправилась в бар и отпраздновала это событие. Слегка перебрав пива, однако.
2001: Работаем
В 2001 году не случилось ничего особенно выдающегося. На фронте услуг мы получили несколько новых клиентов, хотя в основном проекты были далеки от средств разработки. Продажи продукта неуклонно росли, хотя и не так быстро, как нам бы этого хотелось. Сам продукт совершенствовался.
Апрель 2002: Первая статья про Excelsior JET
Клод Дугуэй (Claude Duguay) написал статью размером в одну страницу об Excelsior JET 2.1, которая вышла в Апрельском номере журнала JavaPro.
Сентябрь-Декабрь 2002: Excelsior JET на японском
Компания XLsoft KK, эксклюзивный дистрибутор Эксельсиор в Японии, принял участие в выставке, проходящей в рамках конференции JavaOne в Йокогаме, Япония. Стенд XLsoft был посвящен в основном Excelsior JET. Также во время выставки было организовано интервью нашего представителя с японским журналом Java Developer.
К концу года XLsoft завершает японскую локализацию панели управления JET и начинаются продажи Японской редакции Excelsior JET 3.0.
Июль-Декабрь 2003: Контракт с Самсунгом
Эксельсиор по контракту с Самсунг Электроникс разработал пригодный к патентованию сборщик мусора для собственной реализации виртуальной Java-машины Самсунг. Снова работаем с большой компанией, как в старые добрые времена (1994-1997)...
Февраль 2004: Первая награда Excelsior JET
Excelsior JET вышел в финал конкурса "Выбор читателей" 2003 г., проводимом журналом Java Developers Journal в категории "Лучшая виртуальная Java-машина"!
Июнь 2004: JavaOne
Впервые за свою историю Эксельсиор приняла участие в выставке. Команда из семи человек провела более 30 часов в самолете для того, чтобы с удовольствием провести три дня в Сан-Франциско. Они отсканировали более 200 бэйджей, раздали 400 демо-CD, 700 буклетов и 500 сувениров, поговорили с сотнями потенциальных клиентов, партнеров и конкурентов.
Июль 2004: Дебют Excelsior JET на Linux
С момента выхода первой публичной бета-версии нашего Java-компайлера в 2000 году, нас неоднократно спрашивали, будет ли Эксельсиор поддерживать ту или иную платформу. Linux на процессорах Pentium лидировал по частоте таких вопросов. Поддержать эту платформу к тому же было проще остальных, потому что кодогенератор для компилятора (самая сложная часть продукта) был уже готов и хорошо отлажен.
И вот, вернувшись с JavaOne, мы выпустили Excelsior JET 3.6 для Windows и Linux (e).
Сентябрь 2004: Первый прямой контракт с НПО ПМ
НПО ПМ, лидер в разработке и производстве Российских телекоммуникационных спутников, заключил с Эксельсиор 15-месячный контракт. Мы создаем новое поколение инструментов для программирования на Модуле-2, предназначенных для разработки бортового программного обеспечения спутников.
Октябрь 2004: Нам пять лет
Июнь 2005: Соглашение о лицензировании Java
Переговоры, начавшиеся еще в Мае 2004 г., продолжившиеся во время встречи с руководством Sun Microsystes во время JavaOne 2004, а затем по телефону и электронной почте, успешно завершились. Мы подписали договор о лицензировании технологии Java SE у Sun. Сейчас у нас есть всего четыре месяца для прохождения теста на совместимость со стандартом Java (JCK - Java Compatibility Kit). Если не успеем, продажи JET придется приостановить...
Сентябрь 2005: Авторизованный Лицензиат Java
Excelsior JET 4.0 прошел JCK и мы стали Авторизованным Лицензиатом Java (e). Эксельсиор включен в список, в котором уже присутствуют BEA, Fujitsu, Oracle, SAP, Unisys, и другие известные компании.
Май 2006: На JavaOne в новом статусе
Нашего стенда в Павильоне JavaOne 2006 в этом году не было, но наш логотип красовался в нескольких местах Москон-центра в Сан-Франциско и в ежедневной газете конференции JavaOne TODAY благодаря кампании Sun по продвижению лицензиатов Java.
Наши представители (на фото) приняли участие в Дне Лицензиатов Java и провели несколько деловых встреч с потенциальными клиентами и партнерами.
2007: Sun Microsystems - теперь наш клиент
Мы подписали долгосрочный контракт с Sun Microsystems на предоставление инженерных услуг, и успешно выполнили наш первый проект в рамках этого соглашения. Детали соглашения и проекта здесь сообщить не можем, но потенциальным клиентам после подписания Соглашения о не разглашении готовы рассказать...
Июль 2008: Вступаем в Eclipse Foundation
Компания Эксельсиор вступила в Eclipse Foundation в статусе Add-in Provider Member
2011: История одной JVM в картинках
Выступление на JavaDay в Новосибирске.