## 3 Overview of DSML4 PT Language
The graphical concrete syntax that supports modeling public transportation systems according to the DSML4 PT's metamodel was created based on the well-known Sirius open-source software (Version 11.7) project of the Eclipse Foundation [87]. Sirius allows users to easily create a graphical modeling environment using Eclipse modeling technologies, mainly Eclipse EMF and GMF. A modeling environment built with Sirius consists of Eclipse editors that allow users to create, edit, and view EMF models. Hence, DSML4 PT model instances can be created visually for each of the required viewpoints that match the DSML4 PT concrete syntax and stored as Ecore files that can be further parsed and interpreted for the model-to-text transformations. Figure 1 shows a screenshot from the integrated development environment (IDE) of DSML4 PT. Developers can drag and drop the required meta-entity instances listed in the palette on the right-hand side of the editor. The palette provides all modeling elements for each of the language's viewpoints. Modeling in this IDE is also empowered with automatic checking of model constraints and validation rules according to the DSML4 PT language semantics. Hence, wrong modeling element relations, restrictions on the number of relationships between elements in the instance models, and confirmation on the source and target of a modeling relation can be controlled. Moreover, DSML4 PT includes some editorial constraints that assist the user in the design while creating the system models, such as keeping the unity of the whole system and its components by switching between editors of different viewpoints and keeping the integrity of the elements and the relationships in case of any addition or removal. It is worth indicating that all of these constraint checks are made in real time during system modeling without any intervention from the developers, i.e., appropriate error messages are shown to the user when a constraint check fails while the developer works on modeling the system. In addition to the restrictions and features described above, more than 60 rules were defined for the model validation according to the DSML4 PT language's semantics, and execution of these rules inside the IDE indicates an \"Error\" that must be fixed or a \"Warning\" that needs attention. The complete set of all these model validation rules can be found in [5]. Figure 1: A screenshot from the DSML4 PT development environment. The translational semantics of DSML4 PT was provided by creating various model-to-text (M2T) transformation rules written in the Acceleo language. Acceleo is a pragmatic implementation of the OMG MOF M2T Language (MTL) standard. It also provides an Eclipse plugin where Acceleo transformations can be written, parsed, checked, and executed directly inside the Eclipse environment. DSML4 PT's M2T rules are applied at runtime on the public transportation system models conforming to the DSML4 PT syntax, and hence the code and/or files required for the system implementation are generated automatically. A developer does not need to know the whole generation process including the details and the execution mechanism of the transformation rules, i.e., the whole code generation process is abstract and there is no need for any human intervention.