Repository and Testbed Project
Fall 2005
Software Studio
Revised: 11/17/2011
CSE784 - Repository Testbed Project Team at Specification Review
Project Manager - Gulru Ustundag (6th from right)
Architect - Vijay Appadurai (9th from left)
Test Manager - Sriram Ramamurthy (8th from left)
Teams and Team Leaders listed below
Repository Testbed System Project
The Repository Testbed System (RTBS) is a distributed system, composed of a Repository server, a
Testbed Server, and one or more RTClients. The system provides smart storage of software products,
a production test facility, and clients that use the servers to support development of large complex software systems.
The Repository server uses XML-based meta-data to describe items and components and their relationships.
An item refers to a single source code file and its documentation. A component consists of a root item
and all the items on which it depends. Using a single component name, all of the source and/or documentation
necessary to build or describe an entire component, at any level, may be extracted from the repository. The repository
also has an innovative versioning scheme, designed to smoothly support the collaboration of many teams
across a large project.
The Testbed server provides a test harness that loads test configurations and executes each configuration
on its own thread. The test run may be paused, stopped, or have its output adjusted between verbose and
quiet modes of operation. Each test configuration consists of a series of test and tested code libraries
which are dynamically loaded and executed in a private Application Domain. When the test completes the
Application Domain is unloaded, freeing server memory for additional testing.
The servers and clients are tied together with a Web-Service based message-passing communication system.
The receiving end of a communication channel provides delegates, allowing any part of the receiver to
register for messages it may wish to process. This Observer Pattern based design has proven to be very
effective for building this system.
The RTClients are the operational centers for the RTBS. They provide both developer and administrator
services, using a design that delegates all computation to surogate modules except very light weight
processing associated with presenting data to the user and collecting the user's responses.
The Developers of this system are the students enrolled in CSE784 - Software Studio, during the Fall of 2005.
This system was specified, designed, implemented, tested, integrated, and qualified in a period of 9 weeks.
The qualification test consisted of the verification of approximately 160 requirements via scores of
carefully written test procedures. The system was qualified, in eight hours, on December 9th, 2005.
Instructor's Comments
This project, like its predecessor, was an outstanding success, due not only to diligent and effective
management, but also to the dedicated efforts of all the individual teams, listed below.
I am proud of this class and have enjoyed being part of their experience with the RTB system.
-
Project Manager - Gulru Ustundag
-
Software Architect - Vijay Appadurai
-
Test Team
Sriram Ramamurthy - Team Leader
Kevin Alden
Pooja Desai
Atanu Panda
Pushkar Pathak
Nikhil Sane
-
Component Management and Communication Team
Pushkar Pathak - Team Leader
Ravi Bhargava
Gautam Murti
-
Repository Team
Jeetendra Kukreja - Team Leader
Farshid Ghods
Kapil Kumar
Vineet Kulkarni
-
Testbed Server Team
Jiaqi Yu - Team Leader
Vijay Appadurai
Subhodh Shivapuja
-
RTClient Team
Pooja Desai - Team Leader
Dan McClung
Avinash Prasad
Comments from the Project Manager, Gulru Ustundag:
From the beginning I thought Repository Testbed System was a great project. Especially for people who write code intensively
with a group of people and keep updating and testing it. Our team had incredible members; all excited about this project.
From the very beginning, we started working hard, held meetings, once, twice, sometime thrice a week,
with constant communication to make this project a success and to make our customer proud.
Our architect gave us a great backbone to work on; and our teams, with the help of their team leaders,
built on it as if it was their own work of art. Our life revolved around MadLab, with everyone encouraging others,
to make this product a success.
Prof Fawcett gave us useful insights about how things could be done, but always left the door open
for our designs, and left the final decision to me. He gave me full control of the project,
and I must say, I am proud to be the Project Manager of this group and this project.
He was a great customer who wanted his requirements satisfied but he was open to adjustments to make
this product usable and worthwhile. (I wish every customer would be just like Prof Fawcett.)
All our reviews went very well, and managing those reviews was a challenging experience for me;
In the end, each of the team members developed and presented their specifications and designs effectively.
We worked extremely hard, before showing the final product to our customer, with the help of the Test Team,
and kept fixing bugs and adding new functionalities till the last minute.
Our Qualification Test was a great success and we kept applauding all the members of the team who made this
interesting product possible. We passed 100% of our tests, and we were still so hyped up even 3:30 am when our Qual Test ended.
I must say I am proud to be the Project Manager of this project which is "actually" usable, fast,
and is a work of 17 skillful people who put their heart in it.
I have learned so much from this experience, having had many roles including the management,
which was so like a real life professional experience. I am sure that everyone will remember this course as one of
the life-altering experiences of their lives.
Repository Testbed Project Teams at Qualification Test
Test Team - lead by Sriram Ramamurthy (2nd from left)
and other project members who helped a lot with testing
Repository Server Team - Lead by Jeetendra Kukreja (top right)
Testbed Server Team - Lead by Jaiqi Yu (middle)
RT Client Team - lead by Pooja Desai (2nd from left)
Communication Team - lead by Pushkar Pathak (3rd from left)
Qualification Test
CSE784 - Most of Project Team after finishing Qualification