FuLib is a graph transformation library, of which only one data structure, the ObjectTable is used here. Except, it is not really. Instead, a similar data structure, the FulibTable is used, basically an ArrayList of ArrayLists with a map assigning names to rows.
Consequently, the solution is a plain Java solution, using a hand-written "parser" and EMF to create and serialize the transformed BDD.
Notably, none of the included imports and libraries were actually used in the transformation except for the EMF ones.
Execution
The solution runs on my Linux machine without any problems.
Performance
Quite unsurprisingly, the solution is probably close to the lower bound of performance that is reachable by implementing the proposed algorithm in plain Java.
This solution demonstrates that (if no further requirements for the transformation exist), a Java implementation is probably preferable to fancy model transformation tools -- as long as these tools are not much more concise and easy to understand than the hand-written code of this solution.
Review Questions
Does the solution use the provided benchmark structure, i.e., is a batch execution supported?
→ Yes
Can all models be transformed within 10 minues?
→ Yes, the solution is very fast!
What kind of result is produced? BDT, BDD? fix/variable order?
→ BDT (old case variant) with fixed order
Is the transformation correct?
→ Yes, for all generated models, missing/double values are not supported
Are there computed Metrics?
→ Yes, the number of nodes in the BDT (almost (?) the maximum possible number, i.e., the full binary tree)
Description
FuLib is a graph transformation library, of which only one data structure, the
ObjectTable
is used here. Except, it is not really. Instead, a similar data structure, theFulibTable
is used, basically anArrayList
ofArrayList
s with a map assigning names to rows.Consequently, the solution is a plain Java solution, using a hand-written "parser" and EMF to create and serialize the transformed BDD.
Notably, none of the included imports and libraries were actually used in the transformation except for the EMF ones.
Execution
The solution runs on my Linux machine without any problems.
Performance
Quite unsurprisingly, the solution is probably close to the lower bound of performance that is reachable by implementing the proposed algorithm in plain Java.
This solution demonstrates that (if no further requirements for the transformation exist), a Java implementation is probably preferable to fancy model transformation tools -- as long as these tools are not much more concise and easy to understand than the hand-written code of this solution.
Review Questions