1 / 12

EXGOL (EX tended G ame O f L ife )

EXGOL (EX tended G ame O f L ife ). 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. What is Game of Life. John Conway’s Game of Life:

teagan
Télécharger la présentation

EXGOL (EX tended G ame O f L ife )

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EXGOL(EXtended Game Of Life) LANGUAGE AND TOOLS GURU SUHAN CANARAN PROJECT MANAGER ANDREAS NILSSON SYSTEM ARCHITECT AKSHAT SIKARWAR SYSTEM INTEGRATOR ERIC SCHMIDT TESTER AND VALIDATOR AARADHI TILVA

  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 populate(cell, alive, poisson(0.1)) sim CONWAY := {BIRTH, LONELY, OVERPOPULATION} start(100, CONWAY) 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 } %%

  6. Translator Structure Source Program Lexical Analyzer Syntax Analyzer Simulation Object 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!

More Related