Type Expressiveness and Its Application in Separation of Behavior   Programming and Data Management Programming
  A new behavior descriptive entity type called spec is proposed, which combines the traditional interface with test rules and test cases, to completely specify the desired behavior of each method, and to enforce the behavior-wise correctness of all compiled units. Using spec, a new programming paradigm is proposed, which allows the separation programming space into 1) a behavior domain to aggregate all behavior programming in the format of specs, 2) a object domain to bind each concrete spec to its data representation in a particular address space, and 3) a realization domain to connect the behavior domain and the object domain. Such separation guarantees the strictness of behavior satisfaction at compile time, while allows flexibility of dynamical binding of actual implementation at runtime. A new convention call type expressiveness to allow data exchange between different programming languages and between different software environments is also proposed. 
Chengpu Wang
cs.PL