Projects


Simulation of Pac-Man Game (D. J. Sanghvi CoE,1/99 to 3/99)

The intention behind doing this project was to get my hands dirty with C programming. This was the first time that my friends and I undertook the task of writing a fairly large C application. This project motivated us to learn about the Turbo C graphics library and also some elementary data structures. This project served as the precursor for the BE project which was undertaken at IIT and gave us an idea of what real life programming is all about.Three tasks were identified while writing the code. They were:

  1. Building the graphical framework.
  2. Making the Pac-Man move.
  3. Add intelligence to the program.

The first two tasks were approaching completion while the third task was incomplete due to examination schedule.

Instruction Set Simulator for Intel i960MC (IIT Bombay, 8/99 to 7/00)

The project was done on behalf of the Vikram Sarabhai Space Center, Trivandrum which uses the i960MC for its critical systems.i960 MC is a military version of the i960 series of processors and is used in embedded applications. The simulator will be used for cold testing of the software which will be used as firmware. Various features of the simulator include :

  1. Facility for user defined variables.
  2. Good grammar checking.
  3. Intermediate code generation according to a standard specified by Intel.

Major parts of the simulator are :

  1. A Lexical Analyser which checks the source files for errors in the grammar if any.
  2. A Symbol Table which is used to hold information about the user defined variables like name of the symbol, its address and its size. The symbol table elements are instances of a class "Symbol Table".
  3. A Lookup Table which cross-checks the mnemonics in the source file with those specified by Intel and which are stored in a file which serves as a lookup table and uses Binary Search for its operation.The number of searches for a successful one in this case is log2n where n is the number of elements in the table.
  4. A Label Checking routine.
  5. Intermediate Code Generation which give us the binary equivalent of the source file according to various information formats like "Register", "Control and Branch", "Memory" etc.
  6. Architecturally Defined Data Structures are simulated to account for various parts of the i960MC. This section of the project will be taken as continuing work at IIT by future research groups.
  7. Functions corresponding to various instructions. Each function is referenced by a pointer which is the intermediate 32 bit word. Therefore an array of pointers to functions is used. The continuing development of this module is taken up by other groups at IIT.

Multitasking Shell on Unix (NCST Bombay, 9/00 to 11/00)

This project was performed as part of the coursework prescribed by NCST for the Post Graduate Diploma in Software Technology course.The aim of the project was to build the subset of the Unix shell functionality and to show all the major features of the shell like piping, I/O redirection, background processed and job control.The software demonstrated the execution of all the UNIX commands and one level of piping and redirection. The working of background processes was theorized. Processes can be made to run on their own if they are made leaders of their own process groups. That way the parent and child processes become independent of each other. The parent doesnt have to wait for the child process to terminate before it gets terminated.

SQL Interpreter for Brahma Parallel Database System on Anupam (IIT Bombay, Current)

The project is sponsored by the Board of Nuclear Research and Sciences.Anupam is a machine with shared-disk architecture. Brahma is the database server which will be used to process scientific data and has been developed by previous research groups at IIT Bombay. The parallelism is achieved by implementing the Volcano Query Optimizer Framework proposed by Graefe and McKenna. We have to make use of the modules of the DBMS to build the SQL Interpreter.The SQL data manipulation statements that have been implemented are CREATE, INSERT, SELECT and DELETE. Work is in progress to implement UPDATE. Other tasks to be implemented are executing the program on multiple machines and resolving the problems of the "Cache Manager" module of the DBMS.

Articles

I have made an objective analysis Data Mining and Data Warehousing as part of a presentation I made during the IEEE 360 Degrees Paper Contest. The document is presently available as Microsoft Word 97 format.I will convert it to HTML as and when I get time. Sorry for the incovenience. The co-author of this article was Mr. Rahul Desai (Patni Consultancy Services, Bombay).

I have formally treated the popular MPEG 2 Layer 3 (popularly known MP3) digital audio format. The document is currently unavailable. I will post it as soon as I locate it on my friend's hard drive if present. The co-author of this article was Mihir Mhatre (D. J. Sanghvi College of Engineering).


Valid HTML3.2!