The Model Driven Software Network

Raise your level of abstraction

Arguments for Declarative Transformation Development

Due to increasing use of domain specific languages (DSLs), declarative style of modeling is quetly spreading among users of MDE tools. Indeed, it is easy to find examples of declarative DSLs, e.g. at DSM Forums or this blog. There is however a group of users, among which the delarative style of modeling has not managed to spread - transformation developers.

I have been developing transformations over a decade and became a convinced supporter of declarative transformation development languages. However, all these years the availability of such technologies has been less than negligible. Needless to say this situation is extremely disappointing, especially given the large amount of research and development invested in more traditional imperative style of transformation development. I believe the only way to change the situation is by providing tool vendors and their customers with concrete examples and benefits of declarative transformation development. 

In my recent blog I provide a short argument for declarative transformation development. I am sure other members of our community have more to share. Do you have experiences with declarative TDLs and agile language development? Can you share benefits, concrete examples or provide references to declarative TDLs? Your experiences are much needed :)

Views: 126

Reply to This

Replies to This Discussion

Andriy,

your initiative is very welcome! 

Our DSLs as well a M2M in EM/OS are solely based on declarative style transformations. What can I say? They are pretty readable and maintable, we love them ;-)

In short, the basic principle is using XML instance declarations which use an underlying model for feeding. This looks like that:

<Programmer SIGNATURE="Person person">

  <Name LOCATOR="person/Name"/> <!-- read from model below -->

  <Skills>social, machine language</Skills> <!--some fixed value --> 

  <HourlyRate EXPRESSION="true">some.complicated.JavaCode(here)</HourlyRate>

</Programmer>

The technology for that is www.xocp.org, we provide it as open source. Them metamodel it uses is just Java classes. For more details please contact me directly by message here in he forum or by email.

Andreas

(I tried to add a comment to your blog but the site hangs after sending "Post this comment" :-( )

Andreas,

Thank you for your comment. I went to www.xocp.org to check the technology, but the site is in German (?). I wonder if you have some white paper or anything written in English about xocp?  

The combobox on the left saying "Deutsch" (German) is for language switching (I guess we should replace that with language flags, sorry for the inconvenience). Anyway, this is a direct link to the english tutorial.

Thanks Andreas for the link. I missed the language switch. On Safari, the switch appears as empty combo box.

RSS

Badge

Loading…

© 2017   Created by Mark Dalgarno.   Powered by

Badges  |  Report an Issue  |  Terms of Service