gwapl n.
Skip this Video
Loading SlideShow in 5 Seconds..
GWAPL PowerPoint Presentation
Download Presentation

Loading in 2 Seconds...

play fullscreen
1 / 11

GWAPL - PowerPoint PPT Presentation

  • Uploaded on

GWAPL. Samina Rahman Ilia Vovsha Mehmet Yonac. What is GWAPL?. GWAP is a slang term for money (and other vulgar words if you believe ) Actually, GWAP is an acronym for ‘Game With a Purpose’ Introduced by Luis von Ahn of CMU in 2005

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'GWAPL' - payton

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript





what is gwapl
What is GWAPL?
  • GWAP isa slang term for money (and other vulgar words if you believe
  • Actually, GWAP is an acronym for ‘Game With a Purpose’
  • Introduced by Luis von Ahn of CMU in 2005
  • Idea: humans spend billions of hours playing (useless) computer games such as solitaire and minesweeper. Can we get them to do something useful instead?
what is gwapl1
What is GWAPL?
  • Problem: No! people will always find ways to waste their time
  • Solution: design computer games that encourage users to produce useful computation as a side effect (e.g. training datasets for computer systems)
  • Hence the GWAP
  • And hence the GWAPL, a high-level, scripting language that enables users to design and test GWAPs with relative ease
why gwapl
  • Most GWAPs have several common components
  • GWAPL supports these basic components as built-in types:
    • Avatar (player)
    • World (game)
    • Ruleset (game rules)
    • Pool (player matching mechanism)
    • Dataset (input/output data)
  • Essentially a convenient platform to develop GWAP prototypes
  • Datasets are unique to GWAPs
gwapl syntax
GWAPL Syntax
  • Derived from C and Java
    • Primitives and control statements are similar
  • Definition & Action Syntax
    • Definition: memory allocated instantly
    • Example

avatar a1; //initialize with default attribute values

avatar a2 { //user-specified attribute values

name = "Mary";

score = 0;

skill = MASTER;


pool p1; //define default game pool



    • Act on “objects,” such as avatars
    • Enable communication among objects
  • Example

GWAPL Syntax Cont’d

p1.add(a1); //add players to pool

p1.add(a2); //enables players to play one another //play a round according to game rules

a2.updateScore(); //update score according to game rules

compiler layout
Compiler Layout


Checking /


Code Translation Libraries (C)

Lexical Analysis:


Syntactic / Code Gen. Yacc



GWAPL Token IR Mach.

Source Stream ( in C ) Lang.

Symbol Table

code generation
Code Generation
  • Pre-order tree walk
  • CFG is important
    • Language could be expressed in LR(1)!
    • So far, only 1 shift/reduce conflict
    • Rules may need to be rewritten and tested as features expand
gwapl libraries
GWAPL Libraries
  • Included by default in the IR
  • C libraries can also be used
  • Programmer can also include own C libraries
  • High scalability by modifying GWAPL libraries
  • Phase 1: Lexer
  • Phase 2: Dummy Grammar
  • Phase 3: Symbol Table Data Structure
  • Phase 4: C-like Code Generation
  • Phase 5: Fundamental GWAPL Features
  • Phase 6: Intermediate GWAPL Features
  • Changes to Grammar & Libraries at Each Phase
  • Before you decide to create your own language, ascertain that it isn’t easier to add libraries to an existing one
  • Be modest. Start small.
  • Human computation is a young but fast growing field, you’ll hear more about it in the near future
  • No more solitaire! We now play ESP and Verbosity on