Composite units provide trade-ability, interoperability and composability of models, (such as artificial intelligence) that can be implemented in various execution environments and moved from one execution environment to another. By coupling an execution model with a strictly defined interface definition, the composite unit allows multiple execution environments to implement support for the interface and for other models to fit into that interface.