+ All Categories
Home > Documents > EXGOL (EX tended G ame O f L ife )

EXGOL (EX tended G ame O f L ife )

Date post: 06-Jan-2016
Category:
Upload: teagan
View: 31 times
Download: 0 times
Share this document with a friend
Description:
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: - PowerPoint PPT Presentation
12
LANGUAGE AND TOOLS GURU SUHAN CANARAN PROJECT MANAGER ANDREAS NILSSON SYSTEM ARCHITECT AKSHAT SIKARWAR SYSTEM INTEGRATOR ERIC SCHMIDT TESTER AND VALIDATOR AARADHI TILVA EXGOL (EXtended Game Of Life)
Transcript
Page 1: EXGOL (EX tended  G ame  O f  L ife )

LANGUAGE AND TOOLS GURU SUHAN CANARAN

PROJECT MANAGER ANDREAS NILSSON

SYSTEM ARCHITECT AKSHAT SIKARWAR

SYSTEM INTEGRATOR ERIC SCHMIDT

TESTER AND VALIDATOR AARADHI TILVA

EXGOL(EXtended Game Of Life)

Page 2: EXGOL (EX tended  G ame  O f  L ife )

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

Page 3: EXGOL (EX tended  G ame  O f  L ife )

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

Page 4: EXGOL (EX tended  G ame  O f  L ife )

Program Structure

Three code sections:

INIT SECTION

TRANS SECTION

SIMULATION SECTION

Page 5: EXGOL (EX tended  G ame  O f  L ife )

Game of Life in EXGOL

class := {cell}state := {alive}gridsize := {10,10}gridtype := bounded

%%

trans BREED := empty -> alive trans DIE := alive -> emptytransrule BIRTH {

type:= BREEDcondition := peer[1] = 3

} transrule LONELY {

type := DIEcondition := peer[1] < 2

}

transrule OVERPOPULATION{type := DIEcondition := peer[1] > 3

}%%

populate(cell, alive, poisson(0.1))sim CONWAY := {BIRTH, LONELY, OVERPOPULATION}start(100, CONWAY)

Page 6: EXGOL (EX tended  G ame  O f  L ife )

Translator Structure

Simulation Object

Simulation Object

Source ProgramSource Program

Lexical AnalyzerLexical Analyzer

Syntax AnalyzerSyntax Analyzer

Semantic AnalyzerSemantic Analyzer

BackendBackend

Simulation/Output

Simulation/Output

Page 7: EXGOL (EX tended  G ame  O f  L ife )

Simulation Object

Ties front end and back end of EXGOL compilerPlays role of symbol table and intermediate codeIn-memory representation of the program logicDifferent compiler phases fill information hereAlso used for error checking and semantic analysisThis object then passed to the backendLooked up for computing every successive

generation

Page 8: EXGOL (EX tended  G ame  O f  L ife )

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

Page 9: EXGOL (EX tended  G ame  O f  L ife )

Development Infrastructure

Page 10: EXGOL (EX tended  G ame  O f  L ife )

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

Page 11: EXGOL (EX tended  G ame  O f  L ife )

Testing

Test cases to test productions

Test Suite – Used JUnit for testing.

Page 12: EXGOL (EX tended  G ame  O f  L ife )

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!


Recommended