[great-users] Transforming data between non-equivalent
applications
Aditya Agrawal
Aditya at isis.vanderbilt.edu
Thu Apr 8 18:51:10 CDT 2004
> I want to be able to do a round-trip lossless data exchange with them.
> The user must be able to import the project CADML <---- ESML, do
> modifications into CADML, then re-export to ESML and continue working
> there, and data should not be lost, e.g. the user should not need to
> re-enter the modes into the components when he goes back into ESML.
>
> I believe this is a common problem, isn't it? Often when you
> interoperate two applications, they don't capture exactly the same
> properties.
[Adi]
There are two different scenarios.
1. Both languages have the same expressive power, while both also have
some extra high-level concept. In this case you can map these extra
concepts into equivalent concepts in the other language. In textual
languages the example is say C++ and Java.
2. One language is a subset and/or captures less information. E.g. C++
and assembly. In this case if you transform C++ to assembly code you
cannot transform back assembly to get the same C++ code. There are other
cases where you only transform part of the information.
In these cases the reverse transformation usually works as follows: Say
you have a starting model M1 and you transform a part to a different
language and the model is called A1. Now you have modified A1 and made
it A2. The reverse process will use A2 and M1 together to produce M2.
I hope this answers your question.
Thanks,
Adi
More information about the great-users
mailing list