THRLL Programming Language Aimee Sanchez Neetha Sebastion Kapil Verma Hemanth Murthy Michael Seaman
INTRODUCTRION The theme park industry generated $11.5 billion in the United States in Theme parks represent large investments for their owners Revenue is difficult to predict 1 – IAAPA,
THRLL Programming Language Easy-to-use, declarative language Simulates a theme park to predict revenue Tool for estimating the returns on investments in the park
THRLL Programming Language Hub and Spoke Layout
THRLL Programming Language Hub and Spoke Layout Industry Standard Terminology Requires only moderate programming experience
Structure of THRLL Language Let’s start our THRLL experience with a sample program. Two sections – object definitions and user code. Easy to use constructs like Park, Crowd, Land etc.
Sample Program
System Architecture Lexer / Parser Input Program Intermediate Code GUI Position File Crowd Land Park Store Attraction Restaurant Intermediate Code GUI Position File
Front-End Architecture THRLL Parser Jflex BYACC thrill_grammar.y thrill_lexer.flex SampleThrill.txt ThrillProgram.java Intermediate Code
System Architecture Lexer / Parser Input Program Intermediate Code GUI Position File Crowd Land Park Store Attraction Restaurant Intermediate Code GUI Position File
Intermediate Code
Park Our Park has:. Attraction Store Restaurant Park Land Crowd Person
Built-In Functions Calculate Revenue ◦ Parameters: Crowd, Duration result = CalculateRevenue: MyCrowdOne, days; ◦ Sum of expenses and income Simulate ◦ Simulate: MyCrowdOne; ◦ Creates position file ◦ Graphical representation of guests interactions
The GUI Lexer / Parser Input Program Intermediate Code GUI Position File Crowd Land Park Store Attraction Restaurant Intermediate Code GUI Position File
Graphical User Interface (GUI)
GUI
Development Tools Java API Eclipse BYACC JFLEX Google Code SVN Lots and lots of !
Testing Incremental Testing ◦ Unit testing ◦ Working of grammar ◦ Working of backend ◦ Integration testing Provide efficient error checking and error reporting
Conclusions What we learned ◦ Great experience working in a team ◦ Development tools ◦ Making a language is hard What worked well ◦ Weekly Meetings ◦ Update on the status of progress
Conclusions Why THRLL ◦ Ease of Use ◦ Ease in calculation of net revenue ◦ Optimal theme park experience for both investors and guests