Software Engineering Project (2013-2014)


This project should be realized by teams of 2 students.

ALERT! The starting point of the project is the lab 5 simulator with plugins (a correction for lab 5 is provided)

Deadline : postponed to monday 6th january 2014, 11:59pm

A mail must be sent to Philippe POINT Collet AT unice POINT fr, with the names of people in the team and a link to the project to be downloaded.

Expected Features

You have to implement the following features:

  • add a new kind of elements in the simulation: energy point. Energy points are randomly spread over the environment at fixed locations. When a creature passes over a energy points, it regains life, but a creature cannot stay over one point, it must move not to be burned.
  • add at least one new kind of behavior for the creature, to look for energy point and pass on them.
  • change the emerging behavior so that when creatures are enough in a group, they lose very little energy, while a creature alone will lost a lot of energy.
  • add something (it's up to you to find what...) to be able to compose the different behaviors, so that one could experiment different trade-offs (creature could favour grouping or looking for energy depending on their energy level...).
  • change the architecture to be able to plug in new algorithms for the behavior of Creature (how to compute new direction, actions, etc.). Think of the right patterns that should be implemented.
  • change the architecture to be able to plug in new algorithms for moving a creature (bouncing, appearing on opposite border like in the current SmartCreature, getting the opposite direction when seeing the border, etc.)
  • change the main application to be able to load/reload each parts (behavior, movement, etc.) and configure the simulation.

You have to provide the following test cases:

  • at least two test cases (one for the right behavior, one for a boundary test) for each new class;
  • at least one test case per composition of behaviors.

TIP It's up to you to choose the appropriate parameters (energy levels, threshold to make decision in creature behaviors, etc.) so to make the simulation consistent. You have also the option of making these parameters available to the user through text fields or sliders.

Content of the Deliverable

  1. A src directory with source code
  2. A test directory with unit testing code
  3. A jar file of the simulator application.
  4. A plugin directory with plugin classes inside (or outside in specific dir so that one can follow scenarios to experiment (re-)loading.
  5. A README file to explain your main design choices, your scenarios that can be followed to experiment different plugin implementations.


  • Panagiotidis Alexandros, Godeni Dardan
  • Cristian Munteanu, Damaschin Rares
  • Muhammad Raheel, Mourjo Sen
  • Yared Zerihon Bekele, Mahammed Oumer
  • Evgeny Morozov

-- PhilippeCollet - 26 Nov 2013

Revision: r1.4 - 26 Nov 2013 - 15:54 - PhilippeCollet
Minfo > SePrj1314
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback