DevBooststLogotudLogorewerseLogo modelplexLogo
crimsonBG
EMFText
The fastest way to refinable, durable and evolution-resistant textual syntaxes for EMF models!

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

Screenshot

Image:EMFText_Language_Theater.png

CS Specification

theater.cs

Metamodel

theater.text.ecore

theater.genmodel

Plugins

org.emftext.language.theater

org.emftext.language.theater.resource.theater

SK

Retrieved from "http://www.reuseware.org/index.php/EMFText_Concrete_Syntax_Theater"

This page has been accessed 5,629 times. This page was last modified 17:23, 20 April 2010.