Henshin's Java2StateMachine example is an exogenous transformation solving the Reengineering case of the Transformation Tool Contest (TTC) 2011. This example primarily shows the use of transformation unit and parameter passing. Some of the details could be modeled differently and more efficiently using nested rules.
A detailed description of the transformation can be found in Stefan Jurack, Johannes Tietje: Solving the TTC 2011 Reengineering Case with Henshin. Proceedings of TTC'11, Electronic Proceedings in Theoretical Computer Science (EPTCS), 2011, Volume 74.
The whole transformation is depicted in the following screenshot. The models, transformation, source code and example input / output models can be found here.
We ran the transformation for three input models of different sizes. These input models were provided by the TTC organizers. We measured the time needed for transforming the Java models into state machines. The benchmark was conducted on a Intel(R) Xeon(R) CPU @ 2.50GHz with 8GB of main memory using Henshin 0.9.2. All times do not include the loading of the models and the initialization of the transformation engine. The correctness of the transformation was automatically checked by comparing the generated result with the reference model provided by the TTC organizers.
|Input model||Number of objects||Transformation time|
contributed by Stefan Jurack, Johannes Tietje and Christian Krause