200 likes | 554 Views
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 2006 1 Theme parks represent large investments for their owners Revenue is difficult to predict.
E N D
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 20061 • Theme parks represent large investments for their owners • Revenue is difficult to predict 1 – IAAPA, http://www.iaapa.org/pressroom/Amusement_Park_Industry_Statistics.asp
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.
System Architecture Park Land Crowd Input Program Intermediate Code Lexer / Parser Restaurant Attraction Store Intermediate Code GUI GUI Position File Position File
Front-End Architecture SampleThrill.txt thrill_lexer.flex Jflex THRLL Parser ThrillProgram.java BYACC Intermediate Code thrill_grammar.y
System Architecture Park Land Crowd Input Program Intermediate Code Lexer / Parser Restaurant Attraction Store Intermediate Code GUI GUI Position File Position File
Our Park has: • . Park Park Attraction Restaurant Store Land
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 Park Land Crowd Input Program Intermediate Code Lexer / Parser Restaurant Attraction Store Intermediate Code GUI GUI Position File Position File
Development Tools • Java API • Eclipse • BYACC • JFLEX • Google Code • SVN • Lots and lots of email!
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