GNU EDMA is the Entorno de Desarrollo Modular y Abierto, or in English the Modular and Open Development Environment (named MODE by Russel Reed in the first GNU/EDMA documentation translations). The name is in Spanish because GNU EDMA has been developed by GPI (Grupo de Procesado de Imagen or Image Processing Group) at Vigo University, Spain.
GNU EDMA provides an Object Oriented Component-Based development environment to build modular and evolving applications as well as highly reusable components. To achieve this, GNU EDMA shares features of OO programming languages and component based systems in a loosely coupled environment.
Seamlessly mixes component-based and Object Oriented programming models. Components can be managed as classes (the same way that in any OO programming languages), or on an interface basis, as other component systems do.
All common OO features (inheritance, virtual method override,...) that you can find in any programming language can be done dynamically. Object's inheritance hierarchy can be changed dynamically making it easier to build dynamically reconfigurable and evolvable applications.
You can choose between your preferred OO flavor for developing your application.
GNU/EDMA OOP features are implemented on a loosely-coupled basis which provides a clear separation between the analysis/design and implementation stages.
This approach allows the implementation of OO models even using non-OO programming languages and to use features not supported by the underlying environment (e.g. you can use multiple implementation inheritance in Java when working with GNU/EDMA components).
Full reflection API. Dynamically extract any information about your classes and objects.
The reflection API along with the string-based object access interface makes Object Automation and the development of Visual tools trivial.
Developed in C. Built-in sub-systems to extend internal functionalities.
Deep testing of the system on different environments is required ...
Basic class hierarchy to deal with common tasks. OS interface, data structs,...
Classes to allow development of GNU/EDMA components and
applications using other languages than C.
Main target is Guile. Perl (in progress), Python
(in progress), Ruby and Java are other desired
targets.
These classes will also allow to access GNU/EDMA core from those programming language as well as use them as scripting language on any GNU/EDMA application.
One of the most important objectives of GNU/EDMA is to provide a common reuse framework, so integration of other technologies is one of the pursued targets.
Integration with other GNU projects.
Project documentation requires review by native english speakers.
Development version is Beta 0.15.7 Rev. 7. Donwload
Latest Sources available at Savannah CVS.
There are three mailing lists about GNU EDMA. Visit Savannah for information about them.
Acknowledgements
Danny Yee helped me with the first version of this page.
Laura Rodríguez González made some other comments.
Richard Stallman for pointing me to Danny Yee
Russel Reed for the first translations of the GNU/EDMA documentation.
Bev Corwin, Randal Shepard, Sabrina Mix for translating the old Installation
Guide to English.
David Currie helped me with this current page.
Return to the GNU home page.
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
Please send comments on these web pages to webmasters@www.gnu.org, send other questions to gnu@gnu.org.
Copyright © 1998, 2001,2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: $Date: 2010/02/11 06:00:33 $ $Author: dmartin $