CS518 2010


General Information





Term project



Term project

1. Goals

The main goal of the term project is to develop an adaptive system using appropriate middleware. Students will learn how to (1) specify conditions under which adaptations must occur and) what adaptations must occur, and (2) implement components for monitoring state, analyzing the information, and executing the adaptations. Each team will also gain expertise in a particular technology area.

The term project will be done in a team of one or two students. The application to be developed will be based on the one developed in the individual assignments. The term project is worth 40% of the final grade.

2. Technologies

Teams will choose one of the following technologies (first come, first served):

  • Web services
  • Enterprise Java Beans
  • Spring framework
  • OSGi
  • ... TBD ...

3. Deliverables and Grading

  • Project proposal: 2 points
  • Implementation and demonstration of application: 20 points
  • Project report: 13 points
  • Class presentation: 5 points

3.1. Project proposal

Use the time after the midterm exam to think about the project - what application you will build, what adaptive features it will have, and what technology it will use. You will need to get hands-on experience on one of the technologies listed above. Install them on your machines and run sample applications or go through the tutorials.

On March 25, submit a proposal stating the following:

  • Title of the project
  • Names of the team members
  • Goal of the project
  • Brief description

The proposal must make it clear what system will be developed and what technology will be used. A preliminary list of adaptive features is required.

3.2. Implementation and demonstration of application

Each team must install the technology platform on machines of the students' choice. The students are responsible for reading the literature and documentation to learn about the platform.

To make sure that teams start working on their project on time and don't leave things until the last moment, I will require periodic demonstrations or submissions as follows. Note that points are assigned to each demo and submission.

  • April 1 (3 points): Document describing use cases and high level design
  • April 8-9 (2 points): Schedule demos of sample application (not necessarily the one you are developing) that uses the technology you will incorporate in your project. This is to make sure you know how to use the technology. Schedule a demo in the lab/office.
  • April 15-16 (3 points): Iteration 1. First implementation of application (need not include adaptive features). Schedule a demo in the lab/office.
  • April 22-23 (4 points): Iteration 2. Second implementation of application (must include at least two adaptive features). Schedule a demo in the lab/office.
Final demo (8 points): A polished demonstration from each team to the instructor during the first week of May. You must demonstrate four adaptive features. We may be able to arrange demos so that all students can attend. However, the demos will most likely not be performed during class.

3.3. Project report

The report will be between 10 and 15 pages, 11pt size, single spaced. Each team will submit one report. The sections will be as follows:

  • Unnumbered components:
    • Title, authors, affiliation, date
    • Abstract (100 words)
    • Keywords (5-6)
  • The following must be numbered sections:
    1. Introduction
      • Problem description and significance
      • Objectives and contributions of your work
    2. Background information on the technology platform: Describe the key features of the platform.
    3. Requirements summary for the adaptive application: This can be written up as features and/or use cases. Make sure you describe the adaptive features.
    4. Design of the adaptive application: A UML diagram showing the components and architecture of the application must be included. An English description of the design, design decisions, and the rationale must be provided.
    5. Implementation details: Describe how the technology platform was used to support the adaptations. Discuss the capabilities and limitations of the platform in this regard.
    6. Conclusions
    7. References: Don't pad references. List a publication only if it is cited somewhere in the text. Give complete information about the citations.

Be careful about plagiarism, i.e., do not present other people's words as your own. Do not reproduce other's work verbatim without quotation marks and citiing the source. Do not paraphrase or summarize other's work or ideas without attributing the source.

For more details on quoting, paraphrasing and summarizing other people's work, please refer to the CSU writing center's teaching guide on understanding and addressing plagiarism.

Feel free to use the resources at CSU's writing center to improve your writing skills.

3.4. Class presentation

Each team will be allocated 75 minutes to present slides that cover the following:

  • Relevant features of the technology used
  • Design of the adaptive application and its features
  • Lessons learned about the technology and its ability to support adaptation

Last updated: October 15, 2009