1. A computing device including a processing unit, the computing device also including: a software receiving element comprising instructions executed by the processing unit, the software receiving element receiving data conforming to a first data model; a software transformation element comprising instructions executed by the processing unit, the software transformation element causing transformation of the data conforming to the first data model into other data conforming to a second data model, wherein said software transformation element instructions are obtained from a set of programming language instructions that are semantically defined by a mapping algebra, said mapping algebra mathematically ensuring that the transformation conforms to at least one mapping property.