Phelma Formation 2022

SEOC Project Networks - 5PMIPRE2

  • Number of hours

    • Lectures 0
    • Projects 48.0
    • Tutorials 0
    • Internship 0
    • Laboratory works 0
    • Written tests 0

    ECTS

    ECTS 4.0

Goal(s)

Development of a Java network application from scratch or from existing libraries in order to make students aware of the implementation and integration of network protocols within a successful prototype.
It will be necessary to specify the software architecture, to implement it, to check the conformity of the implemented prototype by interacting with existing applications and to highlight the performances.
The application to be made is a bittorrent client.

Contact Olivier ALPHAND

Content(s)

The interest of this project is that the students must organize their work themselves, search for documentation or existing code online and gradually set up an operational prototype covering the different scenarios that they will define as they go.
The programming language is Java.
In addition to team management, this project will be an opportunity to design an object-oriented software architecture, to approach advanced concepts of network programming (non-blocking socket, peer-to-peer paradigm (client / server), parser ...) and programming itself (thread, clean code, design pattern: state machine, observer, reactor, ...).

You will use an integrated development environment (Eclipse / Netbeans), a version control system (Git)
and you will test the compatibility of your network traffic as you go through network tools (Wireshark, ...) or by interacting directly with existing applications.

Finally, you will analyze the performance of your application (Jprofiler, network speed, ...) within an easily reproducible (automated) scenario involving the downloading of a large file between your client and several existing bittorrent clients scattered over several machines of the Ensimag network.
A comparison of the performances of the customers of the different groups can fuel a discussion on the effectiveness of the download strategies implemented.



Prerequisites

Networks 2A course (TP included), object oriented programming Java, Wireshark

Test

Intermediate sprint reviews + code + report + prototype demonstration at the end of the project



Session 1 : soutenances intermédiaires (30%) et rapport + soutenance finale (70%)
Si confinement : idem, mais soutenances via Zoom
Pas de rattrapage

Additional Information

Course list
Curriculum->Engineering degree->Semester 9