Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "KFrog Graphics Language for Kids Rami Habas - Project Manager Kyoho Satsumi - System Architect Hidemitsu Izawa - Tools Guru Murat Dogru - System Integrator."— Presentation transcript:

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 o To solve a real-world problem as presented in "Human computing skills: rethinking the K-12 experience" o To segue kids and adolescents into a computational way of thinking KFrog language features o Simplicity o Randomness o Concurrency o Portability

3 Example - Olympic Flag Source Program Output

4 Syntactic constructs Syntactic basic blocks: expressions, statements, declarations, and function definitions Syntactically simple and intuitive 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 voidbreakrepeatspeedleftcurve decimalcontinueclearscreenstartdrawrightcurve realreturnresetstopdrawcenter logicalifpondsizeforwardgoto trueelsepondcolorturnrightrandom falsewhilefrogcolorturnleft Syntactic constructs Key Words

6 /*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 calls the circle function receives radius of decimal type directs the frog to move to the left along a circular arc Syntactic constructs sets up frog's color and its drawing creates a frog object

7 Interpreter Architecture

8 Frontend Olympic.kfrog program Syntax Tree Lexer Parser Walker Interpreter Lexer Parser Frog action list Backend Concurrency support The Frontend defers the execution of all the actions for later The Backend executes the actions concurrently using threads

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 SoftwarePurpose Java SDK ver6Development Environment + Target Lang Windows XP, Vista, LinuxOperating System Eclipse + ANTIDE ANTLRFrontend Subversion + Google CodeVersion Control + Issue Tracking Google Docs, PresentationDocument / Presentation sharing Development environment and support tools used

11 Validation 1. Save the output of debug message from Console into a.debug file 2. Design the Test File on the basis of Gold Standard representation and save as.gold file Testing Algorithm 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 3) Load the content of both the files into two data structures 4) Compare both data structures and suggest the final outcome={PASS,FAIL} 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

13 Conclusions Lessons learned o tangibles  ANTLR  Java Swing  Java Concurrent Programming o intangibles  Optimizing everyone's contribution under the given constraints  Team dynamics could be NP-hard Highlights o Parallelism can be visualized by the use of multiple frogs Future work o Add a language keyword that allows the user to choose between parallel and sequential execution

14 Why KFrog? http://www.youtube.com/watch?v=nZef5s5PlsE http://www.youtube.com/watch?v=jN2lk1LjLR4


Download ppt "KFrog Graphics Language for Kids Rami Habas - Project Manager Kyoho Satsumi - System Architect Hidemitsu Izawa - Tools Guru Murat Dogru - System Integrator."

Similar presentations


Ads by Google