ATL (ATLAS Transformation Language) is a fairly well known M2M model transformation languages. It's a hybrid rule-based domain-specific language (mixes declarative & imperative constructs) and is part of the Eclipse Modeling Project. It describes transformations from one metamodel to another metamodel. The transformation pattern being applied is the following: a source model Ma gets transformed into a target model Mb according to a transformation definition mma2mmb.atl which is written in the ATL language. The source and target models and the transformation definition conform to their metamodels MMA, MMb and ATL respectively.
This project will cover a basic implementation of a transformation from a modeled role-playing game into a petrinet model which can be used for analyzing purposes by the Pipe2 Tool. We will start with the RPG DSL which describes every possible feature of the defined RPG Domain. After that we will build another intermediate language (the Reduced RPG Language) which will work as a filter. It will only contain the essential entities needed to check properties related to the petrinet analysis. Since Pipe uses another format as the regular Petrinet DSL, we also create a metamodel for that. Lastly, a transformation for RPG->RRPG, RRPG->petrinet and Petrinet->Pipe will be implemented!
At the end of this project a report that summarizes my approach and implementation will be written.