This isn't a complete proposal yet, just putting some thoughts out flouthing around in my head...
- Manages a collection of configuration files (I would suggest XML) that describe the modules and how the framework should use them.
- Acts as the 'Controller' in the Model-View-Controller pattern.
- Language: Should be a language that can bind to other languages relatively easy.
- Each module has a configuration file needed by the framework (I would suggest using XML)
- Each module uses the same interface that is called by the framework
- Each module should consist of 2 parts a 'View' and a 'Model' interacting through the 'Controller (our framework)'
- View: provides user interaction
- Model: provides the functionality
NOTE: making the modules standalone tools and letting the framework spawn those processes would probably ease the language binding problem, but has this other issues? Maybe a second proposal for this... Need to think about it...
NOTE: shouldn't it be possible to create a framework that is able to deal with both embedded and standalone tools... Need to think about it...