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)

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

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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!