Current version of Gled
is
v1.3.1
, released on 31st of January 2010. It adds OSX as the
second supported platform and includes many new developments for
the Greed
prototype.
The main goals for the v1.3
release series are:
- Support
Greed
prototype development.
- Port to MacOSX (done), the BSDs and Windows.
- Standard configuration, build and install procedure.
Previous version of Gled
was v1.3.0
,
released on 1st of April 2009.
The first public release of Gled
(v1.2.0
) has been announced on 3rd of June 2003.
Gled
as an OO framework/toolkit is a functional
base upon which higher-level functionality can be built. Some changes in the
core implementation are planned for
Gled-2
.
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
- Var1
terrain and solar system simulation - used for the Greed-world prototype demo.
- 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.