Excelsior Team History
1984-1990: Kronos Research Group
A group of researchers in the Computing Center of the Siberian Branch of USSR
Academy of Sciences played a leading role in the government-funded START project
(also known as MARS), which involved design and implementation of hardware
and software support for high level languages. The name of the designed CPU was
Kronos and the group informally called itself Kronos Research Group (KRG).
The group designed and implemented a multi-user, multi-tasking operating
system called Excelsior, Modula-2, C, and FORTRAN compilers,
and various application software.
See the Kronos Research Group page for details.
1991-1994:The creation of the XDS framework
In the collapsing Soviet Union, government financing of hi-tech research was steadily
decreasing. By the year 1991, the project START was mostly dead. At the same time,
private business was permitted in Russia after the seventy years ban.
Application software programmers founded ProPro Group with intention to target
the CAD software market.
Hardware engineers and system programmers have established xTech Ltd. and decided
to concentrate their efforts on development tools, mainly for Modula-2
and Oberon-2 languages.
XDS Team serving as a background for Prof. Wirth and Prof. Pottosin
at the A.P.Ershov 2nd International Memorial Conference "Perspectives of
System Informatics", which was held in Novosibirsk on June 25-28, 1996.)
Modula-2, rather popular at that time, is a safe
language suitable for both application programming and embedded systems.
Its successor, Oberon-2, was selected for its object-oriented features.
Both languages were created by Prof. Niklaus Wirth, the author of Pascal.
The first xTech's product, released in the middle of 1992, was a Modula-2
and Oberon-2 "via C" compiler -- its output was C text, which had
to be compiled by a third-party C compiler.
Two other tightly integrated products were released autumn 1993:
- Modula-2/Oberon-2 native code compilers for MS-DOS
- Mithril - Oberon-2 system for MS-DOS
In the beginning of 1994, xTech's compiler team started work on a completely
new compiler edition based on gained experience in portable compiler construction.
Oberon-2 had been chosen as the main implementation language.
The new edition of the "via C" compiler appeared on the market in October
1994 under the name XDS (xTech Development System). Among the improvements was
the unique portable run-time system, which included garbage collector and
meta-language facilities for Oberon-2.
As a result of the above activities, the original "via C" compiler evolved
component object-oriented compiler construction framework
now known as XDS (eXtensible Development System).
1994-Sep 1997: Working for Northern Telecom
In 1994, design and implementation of a retargetable optimizing
native code back-end for the XDS framework was started. The top priorities were
to achieve very high quality of generated code and, at the same time,
simplify compiler porting and retargeting. The first product version was
ready in December 1995 and was released under the name "Native XDS".
At the moment, the XDS family of Modula-2 and Oberon-2 development systems
is being developed, maintained and supported by Excelsior. Check out the
products page for the list of all available XDS
In 1994 the XDS team got involved, for the first time, into a software
development project for a Western company. The customer was Nortel
(Northern Telecom), known as Nortel Networks these days.
The main objective of that project was to implement a converter from a
proprietary language to C++, in order to enable industry standard tools
to be used in Nortel's embedded software development process.
Since that time, a number of contract jobs had been successfully done
for Nortel here in Novosibirsk, including:
- proprietary languages converters to ANSI C/C++ for legacy code conversion.
- optimizing proprietary language compilers for several
target platforms (x86, m68k, PowerPC, SPARC)
- on-the-fly binary code patching utilities
- tools and techniques for solution of the endian reversal problem
In 1995 xTech had got involved into the Russian space program. xTech was to develop
a Windows NT-hosted cross programming environment for the embedded computers
which had to be used in the next generation of telecommunication satellites.
Due to the financial difficulties experienced by the Russian space industry,
the first satellite using the new technology was launched into orbit in 2003,
much later than anticipated.
Oct 1997 - Sep 1999: XDS Ltd.
The other direction of xTech's business was custom application software
development (client-server, Internet/Intranet, etc.). The
development tools division operated independently from the rest of the company.
So the decision to spin it off in the end of 1997 was quite natural.
The new company, XDS Ltd., continued working on Nortel's contracts and
developing the XDS compilers.
The need to support more popular languages was obvious, and the XDS Native Java
project aimed at creation of optimizing Java to native code compilation technology
Oct 1999: Excelsior history begins
In October 1999, owners of XDS Ltd. split and form two new companies, one of
them being Excelsior, each getting its own share of XDS's engineering team,
customer base and intellectual property rights. Specifically, Excelsior gets ownership
on the compiler technologies including the XDS product line,
and employs most of XDS compiler engineers, but gets no
direct access to existent customer base. We however continue working
as subcontractors on a big project, scheduled to complete in April 2000...
Feb 2000: Excelsior history ends (almost)
KABOOM! The Big Customer, which has been delaying payments since last November, finally
cares to inform us about the cause of such delay. It turns out that the whole
product line was cancelled three months ago and the outsourcing contract had to
be terminated as well. We realize that we have no money to pay our February expenses.
With a lot of effort, the company which subcontracted us manages to obtain
payment for the last three months of work.
(This is the most critical and scary moment in our history so far and we hope it
will remain so.)
2000: First contract, first product
A German company in need to migrate a large piece of Modula-2 code
to a new hardware platform
to develop a Modula-2 compiler
for OS9000 for PowerPC. This first contract occurs just in time (in February)
and plays a critical role in our recovery.
Then a beta tester of XDS Native Java points us to an overpriced
third-party product that makes calling native code functions from Java less painful.
In about 2 months, we make xFunction, and on August 2nd sell the first copy
to a customer in Austria.
In the meantime, we continue working on the native Java compiler. At some point,
we decide to rebrand it so that its name includes the name of the company and
is easy to remember. After much argument, we choose the name "Excelsior JET",
JET being an acronym we decide to decipher later (since then, nobody could come up
with anything better than "Just-Enough-Time", as opposed to "Just-In-Time"
The more we work on Excelsior JET, the more problems arise and turn into tasks,
and the process seems to be infinite.
At some point we decide to make the first commercial release,
even though the product is far from perfection.
On Dec 8th, Excelsior releases Excelsior JET 1.0 for Windows --
the first in the series of Java
performance solutions based on ahead-of-time, highly optimising compilation
of Java applications to native code. In a few hours, an extremely early adopter
purchases a copy at the price of $799 - incredible for version 1.0, as we now
understand. Core team members immediately go to a local bar and have a little bit
way too much beer.
2001: Working hard
Nothing special happens in 2001. On the service front,
we get some more customers, though certain projects have nothing to do with
development tools. Product sales grow steadily but slower that we would want them to.
Apr 2002: First review of Excelsior JET
Claude Duguay writes a one-page
review of Excelsior JET 2.1
which appears in the April issue of JavaPro magazine.
Sep-Dec 2002: Excelsior JET goes Japanese
XLsoft KK, Excelsior's exclusive reseller in Japan, runs a booth at JavaOne 2002
Japan in Yokohama, focused mostly on Excelsior JET, and arranges for Excelsior's
rep to give an interview to a Japanese magazine Java Developer.
By the end of the year, XLsoft localizes JET Control Panel UI and
Excelsior JET 3.0 Japanese goes on sale.
Jul-Dec 2003: Samsung contract
awards an outsourcing contract to Excelsior,
under which we create a patent-pending garbage collector
for Samsung's proprietary Java VM. Working again for a large
company is reminiscent of the "good old days" (1994-1997)...
Feb 2004: Excelsior JET wins its first award
Excelsior JET makes into the finalists of 2003 JDJ Reader's Choice Award
in the Best Java Virtual Machine Category!
June 2004: JavaOne
For the first time ever, Excelsior
gets a booth at a trade show. A team of seven people
spends the total of over 30 hours on the plane to have three days of fun
in the Moscone Center in San Francisco. They scan over 200 badges, give away
400 CDs, 700 product booklets and 500 promo items, and, most importantly,
talk to hundreds of potential customers, colleagues and competitors.
July 2004: Excelsior JET Debuts on Linux
Users have been asking us whether we plan to support platforms X and Y since
XDS Native Java went into the public beta back in 2000. Linux on Pentium
was the number one in terms of frequency, and it was also the easiest to do,
as we already had the code generator implemented and well-tested.
Upon returning from JavaOne, we
release Excelsior JET 3.6 for Windows and Linux.
Sep 2004: Direct deal with NPO PM
NPO PM, a Russian leader in the design and manufacture of communication and
broadcasting satellite systems,
signs a direct 15-month outsourcing deal
We have to create the new generation of Modula-2 tools
tailored for on-board spacecraft software development.
Oct 2004: Excelsior turns five
Jun 2005: The Java Licensing Deal
The negotiations that started by email in May 2004, followed by a meeting with
Sun Microsystems executives at JavaOne 2004, and continued by email and phone
for almost a year, come to an end.
We sign a contract to license the Java SE technology from Sun.
Now we have four months to make our product pass the Java Compatibility Kit
test suite, if we do not want to interrupt sales...
Sep 2005: Java Authorized Licensee
Excelsior JET 4.0 passes the JCK and
we become a Java Authorized Licensee.
Excelsior LLC proudly joins the
already including BEA, Fujitsu, Oracle, SAP, Unisys, and other companies.
You would not be able to find our booth in the JavaOne 2006 Pavilion
in San Francisco, but you could spot the Excelsior logo at several locations inside
the Moscone Center
and in the JavaOne TODAY newspaper, thanks to the Sun Microsystems'
Java Compatible campaign.
Our representatives have also attended the Java Licensee Day and held a few
business meetings with potential clients and partners.
2007: Signing Up Sun Microsystems As a Client
We have signed a long-term agreement to provide engineering services to
Sun Microsystems and successfully completed our first project.
(Details may be disclosed to prospective customers under an NDA.)
July 2008: Joining the Eclipse Foundation
Excelsior has joined the Eclipse Foundation as an Add-In Provider
(category later renamed to Solution Members)
2013: Rolling out the second generation of our core tech
During the preliminary stages of our work on the 64‑bit version
of Excelsior JET, we realized that we must get rid of the
technical debt that accrued for ten years, otherwise further development and
maintenance of the product would have become problematic, and its stability and
robustness would be at risk. So we had to make a tough decision…
For over two years, we have been thoroughly reviewing and rewriting the
Excelsior JET core using new technologies. The new optimizing compiler,
for instance, is written in Scala.
In April 2013, we released 64‑bit Excelsior JET for Windows
featuring the all-new AOT compiler and reworked runtime.
The the 64‑bit Linux version followed in December.
July 2014: Better late than never
Support for Apple's OS X desktop operating system has been occupying the #1
spot in the list of Excelsior JET feature requests for many years.
Excelsior JET 10
has fulfilled that request.
Now our Java solution is available for all major desktop platforms.
To be continued... (we promise)