KFrog - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

KFrog

Description:

KFrog Graphics Language for Kids Rami Habas - Project Manager Kyoho Satsumi - System Architect Hidemitsu Izawa - Tools Guru – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 15
Provided by: Goo7304
Category:
Tags: kfrog | subversion

less

Transcript and Presenter's Notes

Title: KFrog


1
KFrog
  • Graphics Language for Kids
  • Rami Habas           - Project Manager
  • Kyoho Satsumi       - System Architect
  • Hidemitsu Izawa     - Tools Guru
  • Murat Dogru           - System Integrator
  • Gaurav Pandey      - Tester

2
Introduction
  • KFrog is an imperative, interpreted language for
    generating 2D graphics
  • Motivation
  • To solve a real-world problem as presented in
    "Human  computing skills rethinking the K-12
    experience" 
  • To segue kids and adolescents into a
    computational way of thinking
  •  KFrog language features
  • Simplicity
  • Randomness
  • Concurrency
  • Portability

3
Example - Olympic Flag
  • Source Program    
  • Output

4
Syntactic constructs
  • Syntactically simple and intuitive
  • Syntactic basic blocks expressions, statements,
    declarations, and function definitions
  • Line terminator serves the purpose of a statement
    terminator.
  • Supports user-defined functions, and has some
    predefined functions.
  • Allows only local variables , i.e. each function
    has its own scope.

5
Syntactic constructs
Key Words
    void break repeat speed leftcurve   
 decimal continue clearscreen startdraw rightcurve
    real return reset stopdraw center   
 logical if pondsize forward goto   
 true else pondcolor turnright random    
 false while frogcolor turnleft
6
Syntactic constructs
/Olympic Parallel/ main ()            
pondsize 720,480             new frog       
             frogcolor bule                   
 goto 160,200                     startdraw    
                 circle(80)                   
 stopdraw                               
... void circle (decimal radius)        
leftcurve radius,360                      
  positions the frog
receives radius of decimal type
directs the frog to move to the left along a
circular arc
7
Interpreter Architecture
  •  

8
Frontend
Olympic.kfrog program
Syntax Tree
  • Concurrency support
  • The Frontend defers the execution of all the
    actions for later
  • The Backend executes the actions concurrently
    using threads

Frog action list
Lexer Parser
Lexer Parser
Walker Interpreter
Backend
9
Backend
  • Java Swing Animation
  • Concurrent Frog Animation Multithreaded program
  • Each frog Thread
  • State
  • color
  • speed
  • location (x,y) ...etc
  • Action
  • forward
  • turnleft ...etc

10
Development environment and support tools used
Software
Purpose
Java SDK ver6
Development Environment Target Lang
Windows XP, Vista, Linux
Operating System
Eclipse ANT
IDE
ANTLR
Frontend
Subversion Google Code
Version Control Issue Tracking
Google Docs, Presentation
Document / Presentation sharing
11
Validation
Testing Algorithm
2.  Design the Test File on    the basis of Gold
Standard representation and save as .gold file
  • 1. Save the output of debug message from Console
    into a .debug file
  •   

ltpond xsize"720" ysize"480" color"WHITE"gt  
ltfrog id"1" speed"5" color"blue"gt       
lt/centergt        lt/goto xvalue"160"
yvalue"200"gt        lt/startdrawgt       
lt/curve type"leftcurve" radius"80"
degree"360"gt        lt/stopdrawgt   lt/froggt
......
pondsize 720,480    pondcolor white    1 new
Frog     1 frogcolor blue    1 speed 5    1
center    1 goto 160,200      1 leftcurve
80,360    1 stopdraw    1 ......
12
Validation
Testing Algorithm
4) Compare both data structures and suggest the
final outcomePASS,FAIL  
  • 3) Load the content of both the files into two
    data structures
  •  

Debug 1 new Frog1 frogcolor blue1 speed 51
center1 goto 160,2001 startdraw1 leftcurve
80,3601 stopdraw1 Gold 1 new frog1
frogcolor blue1 speed 51 center1 goto
160,2001 startdraw1 leftcurve 80,3601
stopdraw1
Gold File T13OlympicParallel.gold Debug File
T13OlympicParallel.debug gtgt Result PASS
13
Conclusions
  • Lessons learned
  • tangibles
  • ANTLR
  • Java Swing
  • Java Concurrent Programming
  • intangibles
  • Optimizing everyone's contribution under the
    given constraints
  • Team dynamics could be NP-hard
  • Highlights
  • Parallelism can be visualized by the use of
    multiple frogs
  • Future work
  • Add a language keyword that allows the user to
    choose between parallel and sequential execution

14
Why KFrog?
http//www.youtube.com/watch?vnZef5s5PlsEhttp//
www.youtube.com/watch?vjN2lk1LjLR4
Write a Comment
User Comments (0)
About PowerShow.com