SLIDE 1
Rules for project development
A project can be assigned to one or two students and must be developed in C language under the Linux operating system, using the gcc compiler, the pthread library for tasks management, and the Allegro library for graphics. Project assignment: To request a project, please send an email to Giorgio Buttazzo, specifying your full name, student ID number (matricola), email, and project title (among those available listed on the course website). If there is no conflict with other similar requests, you will receive a confirmation email and you can start working on the project. Project discussion: When the program is working, it must be discussed in person at least three weeks before the exam. Working demos have to be executed on your own laptop. After the discussion, possible changes or additions may be requested to complete the project. Please send an Email to the professor to fix the date of the first discussion. The final discussion has to be agreed with the professor before the exam. Project report: A report must be produced (8-10 pages) to explain the project details. In particular, the title page must contain the name of the course under which the project has been done, the project title, an
- ptional picture related to the project, the delivery date, and the author(s) name(s) with contact
information (student ID number and Email). The report must include a general description of the project, the design choices, the user interface, the shared data structures, the tasks involved, their timing constraints (and how they were defined), and experimental results, if required. The report must include a diagram illustrating the interactions between tasks and resources. Figures and screen shots are welcome. Task code must not be included in the report. Project delivery: The final project must be delivered via Email before the exam. It must be sent as a single compressed file (.zip o .rar) containing the report in pdf and a folder with the source code. Please name the compressed file and the internal folder with your last name followed with a short project name (for example: Rossi_birds.zip).
List of projects
Further details and clarifications for specific projects are to be discussed directly with the professor.
- 1. Lights. Simulate the control of N rotating spotlights (each having 2 degrees of freedom) for a
concert stage setting. Each spotlight reads its trajectory from a file (described through the DMX language) and executes it by interpolating the various points.
- 2. Asteroids. Simulate a set of asteroids (also dynamically created) that are attracted by a black
hole in the center of the screen. Also simulate a spaceship with rotation and power engines controllable by the keyboard.
- 3. Harbor. Simulate a harbor with a number of ships that enter and exit the harbor and need be
driven by the operator (you) in predefined locations. A radar must track the position of the ships and represent their position on a display.
- 4. Elevators. Simulate N elevators in a building with M floors. People using the elevators are
randomly generated. Elevators must allow clients to book the requests and stop to floors in the desired sequence.
- 5. DC Motors. Simulate N dc motors controlled in position or velocity by a PID regulator. Design a