Jonathan D'Andries gte498e@prism.gatech.edu April 28, 2002 CS 4903-G03 with Dr. Mark Guzdial, Dr. Spencer Rugaber, and Kathy Gray Ectropic Research Semester Report From the beginning, my goals for this semester were to learn more about software engineering, gain research experience, and have an excuse to work with Kathy Gray and Dr. Guzdial. These goals narrowed as the semester progressed and as I began to take a more active role in my own education. In fact, my semester can be divided into three distinct phases of progress and vision: 1. release the ECoDE prototype and documentation 2. explore Ectrospace concepts 3. develop a model for the Ectrospace server. In this report, I will analyze each of these phases to point out my role and what I have learned from each experience. I will then discuss a "wish list" of things I could have accomplished and what I could do to improve in the future. 1. ECoDE Release During the first five weeks of the semester, we scrambled to release ECoDE and the corresponding documentation. Kathy did a great job of finishing the user interface and implementing key functionality including logging, color coding, and improved responsibility management. I spent a few weeks working with Kathy until I felt comfortable enough to begin work on the saving and loading mechanism. Three iterations later, we settled on a system that allows users to save their work either as a squeek project (.prj) or as an ectropic design (.ect) file. I then completed the following documents to support the release of ECoDE: The users manual can be found at http://swiki.cc.gatech.edu:8080/ectropic/55. The alarmclock example in PowerPoint can be found at http://coweb.cc.gatech.edu:8888/cs2340/uploads/Ecode-AlarmClock-Example.ppt. The success of our early work can be measured by the number of patches released (one), the number of coweb questions regarding how to use ECoDE (zero), and the usability responses from the students (mixed). With only one patch and the apparent ease of learning the system, ECoDE seems to validate itself well. Through discussions online and with me personally, however, students expressed difficulty with the interface. They found the multiple window interface cumbersome and wished ECoDE could import the work they had already completed on the project. This feedback is valuable and can be used to create a better product in the future. I am proud of my work on ECoDE and believe it will provide interesting results that will help to build a truly Ectropic environment. 2. Ectrospace Exploration We hit a lull after the patch was released and students had submitted their first ECoDE design. During this time Kathy reminded me of what I could do to contribute more to the Ectropic project. She looked for me to ask questions, perform product research, and document our discussions and findings. This was the turning point in my semester. I began by researching other design programs that were built for open source environments. These products included ArguUML - http://argouml.tigris.org/servlets/ProjectHome Poseiden - http://www.gentleware.com/ Both the products and processes used to develop them were influential in my analysis of Ectrospace. I documented all our correspondence, and our meetings became more focused as we set real goals and made design decisions about Ectrospace. This led into the third stage of research - developing the model. 3. Model Development My final step was to create a well-defined description of Ectrospace. Along these lines, I made three attempts at a task breakdown chart. The first turned into a graph of basic navigation, the second a chart of system functionality, and the third a rough draft of user tasks. My hope is to pass on a vision of the Ectrospace model to those students who will continue to build the Ectropic project. A finished product may be several years and a few graduate students down the road. My contribution to the Ectropic vision is to reduce the amount of research that must be repeated by the next person in line. "Wish List" - Room for Improvement If life were perfect, I would like to have documented the model of Ectrospace with a goal tree, implemented a limited prototype built off the Swiki, and presented a list of future research questions. As it stands, I have documented much information to contribute to these artifacts, but have not created a finished product. Looking back at this semester, I could have started researching earlier, produced diagrams earlier, and worked more with the Swiki group. These may be limits on the usefulness of my semester of work, but they also serve as lessons for future research. I am better off for my experience and hope to continue to grow as I look toward the future and graduate school at Georgia Tech.