Code Generator
Week 1 Summary
May 29 - June 1, 2007
The main objective of the first week was to understand how to use GME to create a model-based program.
- Learned about finite state machines and domain-specific modeling languages
- Completed the Introduction to GME tutorial lessons 1-3
- Read about Turing Computability and the Halting Problem
Next week we plan to complete the assembly language code generator using C++. We are also going to study RISC-based assembly languages to better understand how assembly works.
Week 2 Summary
June 4 - 8, 2007
The main objective of the second week was to complete the assembly language code generator.
- Completed coding the assembly language code generator in C++
- Checked out Computer Organization & Design: the Hardware/Software Interface by David A. Patterson and John L. Hennessy
- Learned about RISC-based assembly languages
- Read about the architecture of BON2
Week 3 Summary
June 11 - 15, 2007
The main objective of the third week was to begin thinking about how our code generator will work.
- Began writing prototypes of methods for the code generator
- Created an outline of the possible components and models
- Determined what functions the car might possess
- Decided if the functions would be divisible or indivisible
- Built some of the car's components and models in GME
Next week we plan to work with the car and continue planning how the code generator will function.
Week 4 Summary
June 18 - 22, 2007
The main objective of the fourth week was to continue working on the code generator and learn how the car works and use its sensors.
- Our code generator can now access each of the components and follow its dataflow
- The code generator also prints out methods, parameters, and output
- Began installing drivers and software for the LEGO NXT car
Next week we plan to continue working on the code generator; specifically we plan to work on the compilable Java code that it should output.
Week 5 Summary
June 25 - 29, 2007
The main
objective of the fifth week was to complete our presentations for Friday the 29th and Tuesday the 2nd and also to work on the Java code output by our code generator.
- Created a powerpoint presentation for Friday's ISIS meeting at noon
- Read portions of the leJOS NXT API
- Began writing JAVA code for the LEGO NXT car
- Continued working on the algorithm that traverses GME to output code corresponding to the components and operators in a model
- Presented our powerpoint at ISIS
Next week we plan to continue working on our presentation and paper for Tuesday the 2nd of July. We also plan to work on the algorithm that traverses the components and operators in GME and the JAVA code used to operate the robot.
Week 6
July 2 - 6, 2007
The main objective of the sixth week was to complete our paper and powerpoint for the Tuesday presentation and work on the JAVA code for the robot. We will also continue to work on our algorithm in C++.
- Wrote our mid-term paper
- Created our mid-term powerpoint presentation
- Worked on the JAVA code that makes the robot turn in a full circle
- Presented our mid-term presentation
Next week we plan to continue working on the algorithm that traverses the components and operators in GME and the JAVA code used to operate the robot. We also hope to work with the robot's sensors.
Week 7
July 9 - 13, 2007
The main objective of the seventh week was to understand how to use the robot's sensors and complete the code generator algorithm.
- Worked on the JAVA code output by the code generator
- Worked with the function of the robot's motors
- Used the sound sensor
- Worked with the touch sensor
- Began work with the light and color sensors
Next week we plan to figure out how the color and light sensors work and continue working on the way in which the code generator outputs JAVA code.
Week 8
July 16 - 20, 2007
The main objective of the eighth week was to figure out how the code generator will handle components in the dataflow graph and complete the work with the robot's sensors.
- Worked with making the robot travel in a straight line
- Worked on the color sensor
- Added back wheels to the robot structure
- Worked on the light sensor
Next week we plan to begin working on our final presentation and paper.
Week 9
July 23 - 27, 2007
The main objective of the ninth week was to begin work on the paper and presentation, and to complete the code generator.
- Continued working on the code generator
- Tuesday trip to NASA in Huntsville
- Learned about autonomous vehicles
- Worked on the code output by the code generator
Next week we plan to complete our final presentation and paper.
Week 10
July 30 - August 3, 2007
The main objective of the tenth week was to complete the paper and presentation.
- Finished up our paper and presentation
- Presented our final powerpoint presentations to ISIS
- Gave a demonstration of our robot and code generator