CSI 5112 - Project



The project is worth 20% of the final grade (assuming one passes the exam). There are 2 options:
  1. An evaluation or a comparison of software engineering techniques or tools, as if this report was requested by your employer in a realistic (or even real) business context. Examples of topics are found below.
  2. The creation of a Domain Specific Language (DSL), based on a metamodel definition, and supported by an editor (graphical and/or textual syntax). Domains can be as simple as feature models, Petri Nets, state machines, network management, goal models...
The project shall be done in teams of two people (the same teams as for the assignments). The exact topic proposed by a team needs to be submitted (about 3 pages, by e-mail) to the professor for approval.

New: See examples topics from previous years.

 1. Evaluation/Comparison Project

Sample Topics

The following is a non-exhaustive list of software engineering methods and tools that could be compared. A comparison does not have to involve more than two tools or techniques.

Please select tools or techniques of real interest to you (you should see this project as an opportunity to spend some time playing with some cool tools or unknown techniques). Contact me as soon as possible if you have another suggestion (you do not have to wait until Feb. 4th to start discussing with me, in class or by e-mail).
Make sure that you can get access to the appropriate tools to do your evaluation. Many are free, are available on the EECS labs, or can be downloaded  for evaluation for several weeks. Avoid getting involved with commercial tools that you cannot easily get.

Report Content

Your report should have (at least) the following content/structure:

Sample Comparison Project Reports

Here are good reports from 2008 and 2012 (posted with permission of their respective authors). They vary a lot in terms of style and content, yet they satisfy most of the project requirements and they are certainly interesting to read! I encourage you to have a serious look at them.

 2. Domain Specific Language (DSL) with Editor


This kind of project allows the exploration of DSL creation and tool support in a Model Driven Engineering context. The DSL to be modelled and supported needs to be discussed with the professor. It could be as simple as a textual or graphical subset of UML or URN, Petri Nets, Feature Models, Activity Theory graphs, etc. In addition to the creation of the language metamodel, its graphical and/or textual syntax, and the generation of an editor, issues such as language evolution (how easy it is to change the language and its editor, what happens to backward compatibility of previous models...) and potential for code generation or model analysis will need to be discussed and illustrated.

Potential Graphical DSL Editor Technologies

Potential Textual DSL Editor Technologies

Report Content

Your report should have (at least) the following content/structure:

Sample DSL Project Reports

Here are two good reports from 2011 (posted with permission of their respective authors). They vary a lot in terms of style and content, yet they satisfy most of the project requirements and they are certainly interesting to read! I encourage you to have a serious look at them.

 3.  Deliverables

 Evaluation Criteria

The project report (20%) will be judged according to the following criteria: Make sure this report looks professional (and pay a particular attention to quality of the language) as it will influence the way your employer perceives the seriousness of your work. Length should be in the order of 25-30 pages, but this usually depends on the space taken by figures, page layout, difficulty of the topic, etc. The quality of your writing and arguments will be much more important than their quantity (bosses do not like reports that are unnecessarily long anyway...).

Resources