An Object-Oriented and Component-Based Development Environment
IMPORTANT NOTE:. Current version of GNU/EDMA does not work on 64bits platforms. We are working to solve this.
Description
GNU/EDMA is a component-based development environment which provides Object-Oriented programming facilities from outside the programming language domain in a loosely uncoupled way.At the same time, GNU/EDMA provides a research platform for software engineering in the sense that supports most of current mainstream programming approaches and then it can be used to research new paths in this area.
The GNU/EDMA project is part of the GNU Project and its official page is here. This page covers unofficial extensions of the system as well as its related research topics.
Features and Status
Main GNU/EDMA features are listed bellow:
- Component-based OO architecture: Real OOP is allowed at the level of components not only at the level of classes. Basically, components and classes in GNU/EDMA are the same.
- Advanced OOP: Single/Multiple/super/inner/repeated inheritance is supported. Object cloning and prototype-based programming allowed, AOP and DAOP. Dynamic virtual methods, multidispatch, etc...
- Dynamic OO features: Dynamic inheritance with delegation and consultation support. Run-time virtual method overwrite. Dynamic class creation (support for metaclass development).
- Reflection: System is fully reflective, so any feature of it can be checked at run-time.
- Run-Time Software Update: Component Multi-version support. Run-time installation of components becomes available immediately. Hotswap support (WIP) for critical applications
- Fully-Extensible: Three extension systems are provided to customise components interface and implementation as wekk as exception management at the system level. Source code available for specific modifications.
Here you can found a bit outdated HTML presentation of the main characteristics of the system
Documentation
Blog Entries:- GNU/EDMA Run-Time Class Install and Object
Hot Swap
A brief description of how the GNU/EDMA object Hotswap system works and how to write update scripts in Python to migrate objects between version at run-time.
Download the latest version
from GNU FTP
Current development verions is available from Savannah CVS:
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/edma co gnuedma
Dependencies (check your GNU/Linux distribution for these packages):
Download
GNU/EDMA-Based Projects
General Projects
Planned Tools:
Related Projects and Links
Similar Systems
Related Works:

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Please send comments to dmartin AT uvigo DOT es