Kfrog
Download
1 / 14

KFrog - PowerPoint PPT Presentation


  • 229 Views
  • Updated On :

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

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

PowerPoint Slideshow about 'KFrog' - sandra_john


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
Kfrog l.jpg

KFrog

  • Rami Habas           - Project Manager

  • Kyoho Satsumi       - System Architect

  • Hidemitsu Izawa     - Tools Guru

  • Murat Dogru           - System Integrator

  • Gaurav Pandey      - Tester

Graphics Language for Kids


Introduction l.jpg
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


Example olympic flag l.jpg

Source Program    

Output

Example - Olympic Flag


Syntactic constructs l.jpg

  • Syntactic basic blocks: expressions, statements, declarations, and function definitions

Syntactic constructs

  • 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.


Syntactic constructs5 l.jpg
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


Syntactic constructs6 l.jpg

 creates a frog object

sets up frog's color and its drawing

calls the circle function

/*Olympic Parallel*/

main () {

            pondsize 720,480

            new frog {

                    frogcolor bule

                    goto 160,200

                    startdraw 

                    circle(80)

                    stopdraw

             }

...

}

void circle (decimal radius) {

        leftcurve radius,360

}

Syntactic constructs

  positions the frog

receives radius of decimal type

directs the frog to move to the left along a circular arc



Frontend l.jpg
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


Backend l.jpg
Backend

  • Java Swing Animation

  • Concurrent Frog Animation = Multithreaded program

  • Each frog = Thread

  • State

    • color

    • speed

    • location (x,y) ...etc

  • Action

    • forward

    • turnleft ...etc


Development environment and support tools used l.jpg

Software

Purpose

Java SDK ver6

Development Environment + Target Lang

Development environment and support tools used

Windows XP, Vista, Linux

Operating System

Eclipse + ANT

IDE

ANTLR

Frontend

Subversion + Google Code

Version Control + Issue Tracking

Google Docs, Presentation

Document / Presentation sharing


Validation l.jpg
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

<pond xsize="720" ysize="480" color="WHITE">   <frog id="1" speed="5" color="blue">        </center>        </goto xvalue="160" yvalue="200">        </startdraw>        </curve type="leftcurve" radius="80" degree="360">        </stopdraw>   </frog> ......

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 }......


Validation12 l.jpg
Validation

Testing Algorithm

4) Compare both data structures and suggest the final outcome={PASS,FAIL}

3) Load the content of both the files into two data structures

Debug

1 new Frog#{#1 frogcolor blue#1 speed 5#1 center#1 goto 160,200#1 startdraw#1 leftcurve 80,360#1 stopdraw#1 }#

Gold

1 new frog#{#1 frogcolor blue#1 speed 5#1 center#1 goto 160,200#1 startdraw#1 leftcurve 80,360#1 stopdraw#1 }#

Gold File: T13OlympicParallel.gold & Debug File: T13OlympicParallel.debug >> Result: PASS


Conclusions l.jpg
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


Why kfrog l.jpg
Why KFrog?

http://www.youtube.com/watch?v=nZef5s5PlsEhttp://www.youtube.com/watch?v=jN2lk1LjLR4


ad