Aspect-Oriented Software Development 2023/24

Project


The project realization constitutes a substantial part of the course. This is an opportunity to actually understand aspect-oriented software development and advanced modularization in general by applying it in the area you're familiar with. It is not sufficient just to develop something in an aspect-oriented way. It is important that you achieve a methodological contribution in your project, i.e., propose or modify (and express and discuss) a method/approach or its modification/adaptation. A research contribution is very welcome.

The project archive is available (accessible from your STU Google accounts). You may use the lists of the seminars in previous course realizations as an index to the project archive. These projects are not publicly available, but constitute a body of knowledge which can help you in forming your own project idea. However, some of the past projects grown out into international publications, which is a possibility available to you, too.

Within the range of your project objective in a broader sense, you are required to develop a small part of it using Theme, patterns, and AspectJ.

Your project topic is also your seminar topic.

What You Need to Submit

Within the project realization, you submit:

  1. Project objective (200-300 words; less is more)
  2. Part on aspect-oriented software development using Theme, patterns, and AspectJ
  3. Report (PDF)
  4. Resulting artifacts (whatever you produced during your project realization: code, models, spreadsheets, figures, etc.)

The project objective actually represents your assignment. Be as specific as you can and don't forget to give your project a working title. You can change it later, but it's important to name what you wont to achieve. Make references to relevant sources. Don't be afraid to promise more: this can be narrowed during the project realization.

It is recommended to use the report template. Some 8 pages of the standard LaTeX article document class are expected. You are not required to use LaTeX, but please consider it as it spares you of many problems.

When and How to Submit

We'll be using AIS for all submissions:

Aspect-Oriented Software Development Using Theme, Patterns, and AspectJ

Within the range of your project objective in a broader sense, develop a small part of it fulfilling the following requirements:

Provide your answer within one PDF file together with the code. Submit the code also separately in a compilable form.

To draw the diagrams, you may use any tool you like (consider UMLet or UMLetino). You can even draw them by hand, but take care they are readable.

The tests realized during past years represent good examples of what is expected from you.

Report

Write you report in a form common for the papers at scientific journals or conferences. Here are some recommendations:

  1. Choose the title of your report to reflect the main contribution of your project. You may need to adjust the title as you progress in writing your report and you are free to do this.
  2. Write an abstract first. Just a few sentences. You'll probably need to rewrite it in the end, but it will help you understand your objective more clearly.
  3. Express the top-level structure of your report: name your sections. Do not go into subsections at this point, as that will distract you from paying attention to name your topmost sections appropriately. Remember that section titles are the second most exposed part of your report. You want them to sound good.
  4. The report starts with an obligatory section commonly (practically always) named Introduction. It ends with another obligatory section typically called Conclusion, Conclusions, Conclusions and Future Work, or Conclusions and Further Work.
  5. It may come as a surprise, but it's best to write the introduction in the end. The introduction should present some motivation, mention some state of the art (which may be further elaborated in one or several sections following the introduction). At the end of the introduction, you want your readers to know what they may expect from the rest of the paper. Consequently, you should explicitly and by section describe the structure of your report (usually a short sentence per section is sufficient).
  6. Right after the introduction, you may need to address the motivation and the state of the art in one or several sections. Avoid generic titles such as Motivation as much as possible.
  7. Present what you've achieved separately from the state of the art. Typically, several sections are needed for this. Again, avoid generic titles such as Results or Approach as much as possible.
  8. You should address how's what you've done related to others have done in that area, either similarly, or differently. It's best to this in a separate section. Typically, this section is called Related Work and it occurs just before the concluding section.
  9. The conclusion is a recapitulation of your report, but don't do this sequentially. Put your main contributions ahead. Also, despite you're probably not going to continue with your project, indicate possible directions of further work.
  10. The concluding section may be followed by one or several appendices.
  11. What comes at the very end are references (bibliography). Only such references you actually refer to in the text should be included in this list (hence the name). Take care of providing sufficient data on your references using a consistent style (here's where LaTeX and BibTeX help a lot).
  12. Figures and tables are typically introduced as floating objects: they float somewhere in the text (where they fit). They should have captions which include some kind of numbering. You must refer to figures and tables from the text using their numbers.

Avoiding Plagiarism

In this course, no plagiarism will be tolerated. In any case and extent of plagiarism, the assessment will automatically be FX and the standard faculty disciplinary procedure will be initiated.

When writing your report, beware that adopted, adapted, paraphrased, or translated parts despite being accompanied by references to the sources represent plagiarism. Avoiding plagiarism requires an active approach. You may find some tips in Avoiding Plagiarism (UC Davis).

Presenting the Results

Present your project results regularly, even the preliminary ones. By this, you'll be able to redirect your project not to miss the point. Also, you will decrease chances of failing to submit your project.

The final presentations take place at the last two exercises and lectures. These are not plenary like seminar presentations, but only student to teacher presentations. However, the presentations are open and you may freely attend other students' presentations. Again, don't rely just on the final presentation: present your results regularly.

Assessment

In total, you may gain up to 50 points for your project within the following structure:


fiit.sk/~vranic/aosd