Presentation is loading. Please wait.

Presentation is loading. Please wait.

LANGUAGE AND TOOLS GURU S UHAN CANARAN PROJECT MANAGER A NDREAS NILSSON SYSTEM ARCHITECT A KSHAT SIKARWAR SYSTEM INTEGRATOR E RIC SCHMIDT TESTER AND VALIDATOR.

Similar presentations


Presentation on theme: "LANGUAGE AND TOOLS GURU S UHAN CANARAN PROJECT MANAGER A NDREAS NILSSON SYSTEM ARCHITECT A KSHAT SIKARWAR SYSTEM INTEGRATOR E RIC SCHMIDT TESTER AND VALIDATOR."— Presentation transcript:

1 LANGUAGE AND TOOLS GURU S UHAN CANARAN PROJECT MANAGER A NDREAS NILSSON SYSTEM ARCHITECT A KSHAT SIKARWAR SYSTEM INTEGRATOR E RIC SCHMIDT TESTER AND VALIDATOR A ARADHI TILVA EXGOL (EX tended G ame O f L ife )

2 What is Game of Life John Conway’s Game of Life:  Cellular Automaton on a 2D grid  The state transitions of each cell on the grid is computed using four transition rules.  It is possible to construct logic gates such as AND, OR and NOT using Game of Life constructions  Turing machine can be implemented using Game of Life

3 What is EXGOL Extended Game of Life:  is a scripting language to simulate cellular automatons  gives the user option to have their own transition rule set  Game of Life can easily be implemented using EXGOL  supports several different cell classes and states concurrently  is designed to support n-dimensional grids

4 Program Structure Three code sections:  INIT SECTION  TRANS SECTION  SIMULATION SECTION

5 Game of Life in EXGOL class := {cell} state := {alive} gridsize := {10,10} gridtype := bounded % trans BREED := empty -> alive trans DIE := alive -> empty transrule BIRTH { type:= BREED condition := peer[1] = 3 } transrule LONELY { type := DIE condition := peer[1] < 2 } transrule OVERPOPULATION{ type := DIE condition := peer[1] > 3 } % populate(cell, alive, poisson(0.1)) sim CONWAY := {BIRTH, LONELY, OVERPOPULATION} start(100, CONWAY)

6 Translator Structure Simulation Object Source Program Lexical Analyzer Syntax Analyzer Semantic Analyzer Backend Simulation/Output

7 Simulation Object Ties front end and back end of EXGOL compiler Plays role of symbol table and intermediate code In-memory representation of the program logic Different compiler phases fill information here Also used for error checking and semantic analysis This object then passed to the backend Looked up for computing every successive generation

8 Backend Written in Java The graphical engine is written in Swing Runs a graphical simulation of the automata Can output the state of the grid at every generation

9 Development Infrastructure

10 Development Conclusion The compiler building tools (JFlex/BYacc) worked very well with Java. Dynamic group with different personalities and specialties. Difficult to coordinate five person team in terms of schedules

11 Testing Test cases to test productions Test Suite – Used JUnit for testing.

12 Conclusion EXGOL is a language for cellular Automaton. Our effort in extending the of Game of Life brings up applications which can be more complex and also with better visual capabilities. Applications can range from study of two or more competing microorganisms for ‘N’ number of generations or for fun to compute competing species of two different cultures! So try EXGOL!


Download ppt "LANGUAGE AND TOOLS GURU S UHAN CANARAN PROJECT MANAGER A NDREAS NILSSON SYSTEM ARCHITECT A KSHAT SIKARWAR SYSTEM INTEGRATOR E RIC SCHMIDT TESTER AND VALIDATOR."

Similar presentations


Ads by Google