
Theater - Theater Script DSL
Theater DSL is a DSL to describe scripts for theater plays. It was designed for the Beauty Contest at Dagstuhl seminar 10152 on Relationships, Objects, Roles, and Queries in Modern Programming Languages and won the first price. See the slides for the selling points of our solution.
Theater DSL uses the text.ecore syntax for Ecore models to descibe the domain concepts and relationships typically found in theater plays. Furthermore we used OCL (Object Constraint Language) constraints to specify the calculation of queries on this domain model. See for example the derived references Actor.appearsIn and Role.roleScript in theater.text.ecore. The OCL constrains were annotated to the domain model specification and woven into the generated implementation classes using the Jet-Templates designed by Christian W. Damus (cf. Implementing Model Integrity in EMF with MDT OCL).
Finally, we implemented a textual concrete syntax for the theater domain model. Using this syntax we parsed the Macbeth script provided by Project Gutenberg and used it as input for various test-cases.
Contents |
org.emftext.language.theater.resource.theater