language and tools guru s uhan canaran project manager a ndreas nilsson system architect a kshat...
TRANSCRIPT
![Page 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/1.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/2.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/3.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/4.jpg)
Program Structure
Three code sections:
INIT SECTION
TRANS SECTION
SIMULATION SECTION
![Page 5: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/5.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/6.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/7.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/8.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/9.jpg)
Development Infrastructure
![Page 10: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/10.jpg)
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: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/11.jpg)
Testing
Test cases to test productions
Test Suite – Used JUnit for testing.
![Page 12: 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](https://reader036.vdocuments.net/reader036/viewer/2022062518/56649ef35503460f94c05be1/html5/thumbnails/12.jpg)
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!