1. A computing device including a processing unit, the computing device also including: a software transformation element comprising instructions executed by the processing unit, the software transformation element causing transformation of data conforming to a first data model into data conforming to a second data model, wherein the instructions in said software transformation element are obtained from a set of programming language instructions that are semantically defined by mapping algebra for executing a bi-directional and compositional mapping between the first and the second data models, wherein the bi-directional mapping comprises: a read operation that transforms a value of a source type to a value of a mapped target type, in accordance with a floor function of an algebraic expression; and an update operation that takes the value of the source type and the value of the mapped target type and reconstructs therefrom, a modified value of the source type, in accordance with a ceiling function of the algebraic expression; and the compositional mapping comprises at least one of an associative read operation using a pair of algebraic expressions, or an associative write operation using the pair of algebraic expressions.