IntroductionIn light of today's technologies, there is a new form of application unlike any other that has been tested before: the web application. My project involves the development of a control and value flow model, ultimately to be integrated with a software engineering suite. Sreedevi Sampath has been working on this research under the advisement of my mentor, Lori Pollock. The overall model has been broken down into two smaller chunks, Parts I & II. Part I involves the creation of the Frame Document Tree (FDT), which is used to map the frame structure and interactions within a Web Site. Part II includes modeling the web application and the control and data flow within the program. Part I is significantly less involved than Part II, and it was on the former that I focused my research this summer.
Although I have actively participated in research before, never have I been so deeply involved. I found the research process to be immensely gratifying, and my DMP experience has made up my mind about wanting to pursue a research-oriented career.
Early on I decided the FDT algorithm was not detailed enough for my purposes, and modified it accordingly. I prefer to think out exactly what I am implementing before I begin coding. Once I was satisfied with the algorithm and had designed what data structures I would be using in perl, I began programming. I was able to create a bare-bones implementation of Part I's three basic phases in two weeks. The second half of my summer was spent adding features and thoroughly testing the program. Through these tests I was able to not only find weaknesses in my code, but to improve details of the algorithm itself.
My work is only a very small part of a much larger project, therefore it was imperative that I provide the proper outlets to pass my knowledge onto others. For those unfamiliar with perl (and perhaps even some that are), my data structures may be a bit daunting. To alleviate this and hopefully explain the ideas behind my implementation, I included many details and thought processes in my journal. In addition, I created a detailed README file that included:
ConclusionsI found my work this summer to be deeply satisfying. Despite the fact that frames are not widely used in the Internet Community and are actually frowned upon by some developers, the experience was invaluable. I learned the process of research, how to break down a large goal into smaller tasks and to just keep working on my own. Thankfully, I never hit any roadblocks this summer and always had ideas of new things to try to solve my problems. Although Sreedevi was unavailable this summer to help me understand her project, I feel my experience was richer for it. I was able to take a sketch of an idea and run with it; fleshing out the details as I ran, without being concerned for stepping on anyone's toes. This is in huge contrast to my previous summer's experience. My past summer was spent on a research internship at the NASA Goddard Space Flight Center in Greenbelt, MD. Although experiencing a research working environment made me consider a research-oriented career for the first time, my research was not nearly as detailed or rewarding as my experience this summer. My DMP experience made up my mind about pursuing a research career, and to realize the flexibility of a career in academia. Whether I end up in industry or academia, it will be after I receive my PhD in Computer Science. Working with a great advisor this summer has also made me realize the importance of a good advisor in grad school. I hope when the time comes I will find one as nice.