-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review of YAMTL #12
Comments
Thank you for the review, for the chart, and for reporting the minor issues in the Gradle build file - these will be fixed. In response to:
YAMTL is an internal DSL of Xtend, so one could argue that the whole solution is written in Xtend. One has to take into account that:
|
This solution showcases a hybrid transformation written in YAMTL. It combines declarative rules to generate the target model and imperative Xtend code to compute the BDD structure.
It demonstrates the flexibility of YAMTL, which can incorporate arbitrary Xtend code in declarative rules.
The transformation is done in two steps:
First, the truth table is transformed into DNF clauses.
Then, these clauses are used to generate the BDD.
The declarative part of the transformation is easy to understand.
The imperative Xtend part is not as simple but is explained in the paper.
Unfortunately, most of the logic of the transformation is written in Xtend (namely the conversion to clauses and the building of the tree).
The transformation both outperforms the ATL transformation (original and improved) in execution time, and in compactness of the obtained BDD.
It can process all provided models without any timeout.
After installing Java 11, and modifying the solution.ini we were able to run the solution.
The provided solution.ini does not automatically build the solution with gradle, we had to copy the lines from the provided EMFSolutionATL, and edit the build.gradle file. Apart from this minor inconvenience, the solution uses the provided benchmark structure.
PartialExecutionTimeResults.pdf
The text was updated successfully, but these errors were encountered: