XPS is currently a young software project. There is much work that needs to
be done between its current state and the first production-ready release,
1.0. The table below describes the high level goals of each minor release on
the road to 1.0. Refer to this page often as it is updated whenever the plans
change and provides the master document for release planning.
| Release |
Status |
Description and Deliverables |
| xps-0.1.1 |
100% (2002-07-27) |
XPL. This release provides a basis for discussion about the XPL
language. The XPL Schema, and associated documentation, will be published
for review. The build environment will also be set up so that we can start
placing files into revision control and configuring XPS.
|
| xps-0.1.9 |
100% (2003-04-22) |
XPL Revisions. This release was provided in preparation for
0.2.0. It contains a number of architectural changes, the most
significant of which is the removal of the dependence on ACE. You no
longer need ACE to build XPS. You do still need Xerces and ICU. XPS now
contains its own operating system abstraction layer. This will allow XPS
to shrink its foot print, be more easily configured, and allow
optimization not otherwise available with ACE. This release passes
"distcheck" and all programs link, however they don't do much. xplc can
still be used as a syntax checker for XPL programs as in release 0.1.8.
|
| xps-0.2.0 |
100% (2005-05-24) |
Framework. This release will prove the build environment by
committing the framework software of the system. The framework will compile
correctly to an XVM and XPLC that have little functionality. Additionally,
architectural changes to further minimize the XPS footprint will be
made. This release will provide a minimal version of xplc that will be
able to correctly parse, validate and recreate XPL core programs. |
| xps-0.3.0 |
5% |
XPL Core. To get us started with compiling and
running XPL programs, we will implement only "XPL Core" which is only a
slight abstraction over the low-level, SSA based procedural capabilities of
LLVM. Other aspects of the language may be parsed but ignored. There will
be no extensibility of the compiler at this time. No object or concurrency
constructs will be implemented at this stage. The goal is to get through a
complete pass at compiling an XPL program and running it in such a way thati
it actually does something useful. This release is expected to be the firsti
release in which you can do something useful with XPS.
|
| xps-0.4.0 |
0% |
OOP. Following on the procedural programming experience of the
last release, the object-oriented programming (OOP) extension will be made
so that XPL based language can include features like interfaces, classes,
messages, methods, invariants, inheritance, polymorphism, abstraction,
encapsulation, and etc. This release of XPS will be robust enough for
general programming using modern techniques.
|
| xps-0.5.0 |
0% |
XVM. This is the virtual machine release. Previous releases
did not provide any memory management, synchronization, tasking, or advanced
I/O features in the XVM. This release provides all those features and makes
the virtual machine extensible through the use of plugin modules.
Extensions to the XVM will permit tracing and remote debugging interfaces.
The programming model for XPL and its extensions remains the same with only
slight code generation changes in the compiler to adjust to the new virtual
machine.
|
| xps-0.6.0 |
0% |
Tools. At this point, attention will divert to providing tool
support for users of XPS. The system will provide a complete distributed
programming environment to support development, build, execute, and
deployment services. Features such as configuration management, code
versioning, build execution, promotion, execution environment support, and
workspaces will all be completely flushed out. A "build server" daemon
(XPSD) will implement a variety of services to permit remote XPS development
and system control. A basic system monitor will be implemented to provide
realtime status of the execution of XPL programs. At the end of the
release, we have a programming system that can be used to build, execute,
deploy, and manage large software systems.
|
| xps-0.7.0 |
0% |
Security. The entire focus of this release will be the
incorporation of security features into the system. All authentication,
authorization, encryption, non-repudiation, and system-survival features
will be implemented in this release.
|
| xps-0.8.0 |
0% |
Quality. In the previous releases, we will have undoubtedly left
things out, put some things off, and generally taken short cuts. This
release will focus on the quality of the XPS software, filling in those
holes. Coding standards will be enforced, test suites will be upgraded,
documentation will be written, APIs will be explained, the structure will
be simplified, redundancies will be eliminated, newer technologies and
releases of foundation software will be incorporated, etc. In short, we
won't be adding any features in this release, but we will be focusing on
making XPS maintainable, extensible, usable, and understandable.
|
| xps-0.9.0 |
0% |
Beta. This release will be the first feature complete and
generally distributed release of XPS. No new features will be added before
the 1.0 release. Instead we will focus on performance, scalability,
portability, and correctness of function. This release will be widely
publicized and we will work with early adopters to assist them in their
deployments of XPS. There may be several point releases after 0.9 (i.e.
0.9.1, 0.9.2, etc.) that incorporate fixes discovered as users begin to
use XPS more heavily.
|
| xps-1.0.0 |
0% |
Production. This release contains no new functionality other
than what was provided in the 0.9 release and subsequent bug fixes. Not
until quality is deemed high enough, bug reports have slowed down, and beta
users have dubbed the system stable will 1.0.0 be released.
|
| xps-1.f.p |
0% |
Subsequent. Releases subsequent to the 1.0 release will
follow the Linux numbering scheme. Odd release numbers (e.g. 1.1.x) will
be where developers work. Even release numbers (e.g. 1.2.x) will be
stable for users and only contain bug fix patches. All releases after 1.0
will be feature driven by popular request of both developers and users.
|