This lightweight dynamic component framework, implemented in Java in a first time uses no code generation at all but uses only contracts. Contracts are expressed using simple software mechanism as interfaces and/or reflection (from middleware to application).
A single small jar hosts the code dedicated to data, event and services management over the network, using contracts, reflection and generics.