[e-lang] Forwarded thoughts on modules from Constantine

Kevin Reid kpreid at mac.com
Wed Apr 18 12:27:45 CDT 2007


On Apr 17, 2007, at 16:31, Mark Miller forwarded from Constantine  
Plotnikov:

> An example of good high-level class loading architecture built upon  
> it is OSGi (http://www.osgi.org). Something similar will be needed  
> for E in order to be used in large systems. OSGi relies on static  
> state a lot, however this could be fixed. I'm not aware what is  
> Reid is doing now, but it would be good to point him to OSGi if he  
> has not looked at it yet.

I'll take a look at it sometime.

> Dependency injection is a way to design applications where objects  
> are not aware how to obtain references to other services (this  
> situation is very natural for capability system). The links are  
> established by container that hosts these objects. The objects just  
> declare what they require in order be created. By role, it is  
> similar to powerbox mechanism.

My module system will do this; in fact, this is one of its main goals.

The other goals, already implemented, are:

   - allowing runtime loading of modules, so that E-on-Java need not  
be restarted with a different classpath.

   - allowing internal references between components of a single  
module, unlike the existing emaker system.

The primary open question is what the proper scheme for naming  
(including versioning/variants) the other modules depended on is;  
also, *if* modules carry authority, then there must be a mechanism  
for authorization of modules requesting such dependencies. Thanks for  
pointing out the relation to powerboxes.

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list