Remote Software Assistant
Fall 2006

Software Engineering Studio

Revised: 27 February 2007
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  Contents

CSE681-SWMAA  CSE686-IP  CSE687-OOD  CSE775-DO  CSE776-DP  CSE778-AWP  CSE784-SWS

Project Topics Master's Projects Master's Theses Research References



Remote Software Assistant - before starting the Qualification
Project Manager - Rahul Chandrasekaran (8th from left)
Architect - Tilak Patel (12th from right - behind)
Test Manager - Nandita Chakraborti (4th from right)
Client - Dr. Jim Fawcett (2nd from right)
Teams and Team Leaders listed below

Shoot for the moon, even if you miss, you'll land among the stars
- Les Brown
Never give up until you reach the moon, once your there, shoot for the next big thing
- Our Team

Remote Software Assistant Project

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:

Team Assignment

  1. Software Project Manager - Rahul Chandrasekaran
  2. Software Architect - Tilak Patel
  3. Test Team and Tool set
    Nandita Chakraborti - Test Manager
    Sandeep Divekar (Secretary)
    Garima Dixit
    Aditya Kota
    Samir Patel
    Milind Raut
  4. Model Builder
    Matthew Vanderhoof - Team Leader
    Ajay Challa
    Avinash Gupta
    Mario Tayah
  5. SA Client and Executors
    Rahul Taing - Team Leader
    Chandresh Karira
    Kester Marrain
  6. SA Repository and Data Mgmt
    Avinash Suresh - Team Leader
    Rahul Chandrasekaran
    Simin Zhao
    Francisco Zurita
  7. SA Testbed
    Jay Vora - Team Leader
    Nandita Chakraborti
    Akshay Menon
    Deepak Sindagi
  8. Communication
    Manas Kelshikar - Team Leader
    Naitik Dani
    Tilak Patel
    Shreya Vyas

Some Flashing Moments

From the Instructor, Dr. Jim Fawcett

The RSA team did an outstanding job! The architecture for the Remote Software Assistant was interesting, composed of a set of message handling components that all communicate by passing XML messages. None of the team had implemented a system using fine-grained message passing like this before, but they developed a good set of working relationships with each other, got to work immediately, and handled a series of technical issues and problems, as a team. The result is a system that met all of its many requirements, did an excellent job of supporting user activities, and incorporated a lot of inspired design.

I'm proud of the work of the RSA team, its managers, and all the participants. You did a great job designing and implementing a system that incorporated some new ideas, that was quite complex in its overall functionality, and ambitious in each of its participating parts. This is a remarkable achievement considering that this was a class project that had to complete within a single semester. I'm impressed with your abilities and enjoyed working with every one of you. Cheers!

From the Project Manager, Rahul Chandrasekaran:

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.

From the Software Architect, Tilak Patel:

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 !!

From the Test Manager, Nandita Chakraborti:

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.

Few Snapshots from the Qual Test

image not found
And the Quals Begins...
Rahul Chandrasekaran(right), Nandita Chakraborti(left)


image not found
Dr. Fawcett signing off the Last Test Procedure


 
image not found
Can't believe we had a successful Quals
from left: nandita, tilak(behind), akshay, shreya, sandeep, avinash bhatt(spectator),
deepak, samir, milind(behind), rahul, avinash suresh, manas, garima