Release v1.3.0 is in preparation, expected in January
2009. It will include many new developments and marks the transition to a
new build system and usage of subversion.
The main goals for the v1.3 branch are:
- Standard configuration, building and install procedure.
- Port to MacOSX and Windows.
- Support
Greed
prototype development.
Current version of Gled is v1.2.5,
released on 10th of June 2005.
The first public release of Gled (v1.2.0)
has been announced on 3rd of June 2003.
Gled as an OO framework/toolki is a
functional base upon which higher-level functionality can be built.
Some changes in the core implementation are still expected, in
particular, the persistent data-format will be finalized sometime
in 2009 - backward compatibility is not planned.
It can be used for development of object-system prototypes,
visualization systems and for distributed computing. VR scenes can be
set-up and several users can modify them cooperatively. Authentication
and access control system is fully functional and allows the usage of
Gled across untrusted networks.
Compilation and run-time environment:
Libsets:
- GledCore
contains the implementation of all central features
- RootGeo
interface to ROOT's detector-geometry description package
- Geom1
some geometrical shapes
- Numerica
some numerical algorithms
- GTS
interface to GNU Triangulated Surface Library - GTS
- Audio1
minimal interface to Open Audio Library - OpenAL
- EHS
minimal interface Embedded HTTP Server - EHS
Server-client protocol:
- Handling of buffer fill-ups, network timeouts and disconnects.
- Queen transport protocol (currently beta); must handle queen
dependencies; possibly use
rootd as transport layer.
Handling of files:
- Implementation of
IceQueens and FileQueens.
- Manage catalog of opened (ROOT) files, preferably as lenses
in fire-space.
- Extend ROOT to allow different threads to read/write from
different files simultaneously (agreed with ROOT developers); add
support on Gled level.
User authentication and access control: DONE
- User authentication is needed for operation over unsafe networks
and for implementation of access control. Add glasses representing
users, groups and virtual organizations; decide where user/group data
is stored and how it accessible to clients.
- Extend MIR & thread infrastructure to contain UID information;
extend MIR handling elements (Saturn, Queens).
- Glasses for representing access lists. For now assume read-only
access is always granted.
Implement write (method execution) control on ZGlass (per object) and
ZQueen (for whole object-space) level. Access control would naturally
be implemented in ZQueen::BlessMIR(): MIRs which do not comply with
queen/glass access permissions will be denied.
Base glasses: DONE
- Generalize container classes, make them bullet-proof against massive
additions/removals of elements.