Based partially on the research “Software Matrix” under Dr. Fawcett, the Remote Software Assistant (RSA2006 alias ADAM) is a peer-2-peer distributed system designed to support creation of software in a collaborative environment. The goal of the Remote Software Assistant is to support automation of software development tasks, where that is feasible, and otherwise to support efficient, human-guided, software development tasks.
The product was shipped with an initial set of tools which composed of Model Builder, Repository, Testbed, Requirement database manager, Change logger, Bug tracker and Anal. The extensible architecture of RSA2006 supports the client to add or delete any tools and thereby customize the product based on their necessity. The executor and the communication are installed as a part of the basic setup giving the user the flexibility to add any tool he requires from the initial set of shipped tool or implement his own tool and add it with the system. Each tool has a client part (User Interface) and a server part (Library). Each tool server can service multiple clients concurrently. Every tool (Server and Client) derives from the abstract class AWrapper which serves as the protocol for interaction between the tools.
The executor developed based on the mediator design pattern serves as the initial framework of the system which assists in communication between different tools either within the same system or different systems (using the communication system). The communication is implemented using message passing using sockets and web services. Web Services to support communication across internet and sockets to speed up communication within the same intranet. The tools communication with each other using xml messages. There exists a registry system which serves as the entry point for all other systems working together in a collaborative network. The registry system authenticates the user and sends information about the location of the tool servers to his system. The executor in the local system will assist the tool clients to contact the appropriate server based on this information.Brief explanation of each tool:
We were sure that Dr. Fawcett would be the best client we will ever have and throughout the semester we strived hard so that we would become the best team he ever had and I am proud to say that we were one of the best. I could like to quote two reasons for our success. One is coordination between the team members and the next is obviously the support from Dr. Fawcett. The good part about him is that he gives us lot of help and the bad part about him is that he gives us lot of help. I always wanted Dr. Fawcett to stick to the customer seat, it didn’t happen for the first few weeks since most of us were relatively new to this kind of work environment but later I got tremendous help from the team members to make that happen. I can guarantee that we were one the best team; it doesn’t mean we didn’t have any issue. There were quite some issues but we always sticked together and resolved those issues under cover.
We held team meetings twice every week and on an average spent about 10 hours/day in madlab. We did have a few drop backs but the pacy schedule we followed made us hit the target right on time. The first schedule released denoted that our Quals is scheduled for 8th December and there was no postponement to it. There were 215 requirements in total and our quals got over by 2:30am with a success rate of 100%. I would like to thank the other management personnel, Team leads and Team members for making this project a big success. This was a course were we didn’t learn anything in theory and applied everything in practice.
People who know about Dr. Fawcett can skip this section, for others nothing could have been possible without his guidance and encouragement. He is the finest software professional and mentor we have ever met.
Software Studio-Remote Software Assistant aka ADAM was really a great experience. Life was HECTIC and busy with responsibilities but that is how I collected some life long memories to cherish with such a great group. Apart from fun part, we had chance to see a complete product growing from bottom to top. As a architect I was independent enough to take important design decisions and I was given enough directions by Dr. Fawcett so that we always take a step towards success. We used ideas of "software matrix" and implementing such a huge system with those ideas was definitely very unconventional but we proved that it is possible and trust me, integration was never this easy. The most important thing of project was review meetings and just because of that all knew what is going on in each team and each module. So even if someone is not part of some team, one had idea about design, implementation and had chance to discuss possible bugs. It was fun working in team of 24 and we succeeded as worked as a team. I don't think that I will feel alien when I will start working in any company about work culture or anything and I will pray that I get customer like Dr. Fawcett !!
Remote Software Assistant, a big project consisting of 5 subsystems with a big team to add to its success on 8th December,2006. This course has been one of the best courses I have taken so far. The course taught you the spirit of teamwork and ofcourse the various processes involved in software development. The 4 months of teamwork & hardwork finally paid off during the Qualification test. Fortunately our Qual Test broke all records of the previous few years . It just lasted till 2:30AM even with almost 65 test procedures to be tested. The last days were the best days.We literally burnt the midnight oil during these days and the results could be seen on the D-day. All in all, the hardwork and sincerity of everybody in the team made the course a funfilled and awesome exprience.