This project is a flight simulator Application, connected to the Flight-Gear program as a projector. The project is written in Java, and divided into three parts:
The Frontend - written using the MVVM Design Pattern.
The Agent - written using the MVC Design Pattern.
The Backend - written using the MVC Design Pattern.
Flight Simulator System.
https://drive.google.com/file/d/1Rv-BWzxCGTPIfXAUaNxjriX3O1Q1PYTS/view
https://drive.google.com/file/d/1Ayugwrb1mmkJ8icxii-hT0Vb4NZk5yaL/view
This part of the project devided into four tabs: Fleet Overview, Monitoring, Teleoperation, Time Capsule.
This tab presents all of the planes presented live on the map with graphs containing the fleet information below. It includes a single plane information feature, double click feature, zooming the map and graphs refresh button.
In this tab you can easly pick a plane, select a feature and see the graph for the desired feature you picked. This tab also includes
the pilot joystick (in disabled mode), Correlated graph (to the selected feature) and the Cockpit Clock Table.
Through this tab you can control the plane.
Automatically - you can upload or manually enter a code to the text box.
Manually - you can control the joystick by yourself!
Also here, you have the Clock Table view below.
In this tab you can watch previous flights. Enter a flight index and choose desired plane feature. The joystick feature is in disabled mode.
You can also play, pause and change the video speed.
The Agent application integrates with the Flight Gear Simulator application and communicates with our Backend application.
We used MVC architecture and Observer, Command design patterns. The Agent application is divided into three main parts:
- Receives information from the Network Manager and sends it to the Model.
- Receives execution results from the Model and sends them to the Network Manager.
- Receives information from the Controller and executes the relevant task.
- Saves analytics about the current flight.
Network Manager – responsible for the communication between the Controller, Backend, and the Flight Gear Simulator.
-
Communicate with the Flight Gear Simulator and the Backend using sockets with TCP.
-
Receives instructions from the Backend and sends them to the Controller.
-
Receives data from the Controller and sends it to the Backend/Flight Gear Simulator.
-
Receives data from the Flight Gear Simulator and sends it to the Controller.
We used MVC architecture and Observer, Command design patterns. The Agent application is divided into three main parts:
- Receives information from the Network Manager and sends it to the Model.
- Receives execution results from the Model and sends them to the Network Manager.
- Receives information from the Controller and executes the relevant task.
- Saves analytics about the current flight.
Network Manager – responsible for the communication between the Controller, Backend, and the Flight Gear Simulator.
-
Communicate with the Flight Gear Simulator and the Backend using sockets with TCP.
-
Receives instructions from the Backend and sends them to the Controller.
-
Receives data from the Controller and sends it to the Backend/Flight Gear Simulator.
-
Receives data from the Flight Gear Simulator and sends it to the Controller.
The Backend supports server-side application. It is built with MVC architecture and divided into two parts:
In Inside aspect, the application and the information flow created by Observer Design Pattern.
The Outside aspect divided into two parts:
-
communicating with the agent and using sockets with TCP.
-
comuunicating with the Frontend, by using HTTP server.
-
Interperter - Recives code block from the Frontend and deploys interpretation, by using "lexer", "parser" and commands pattern. It sends commands by the following flow: Interpreter -> Model -> Controller -> Agent.
-
DB - In oreder to store our data, we used Mongo DB API. It stores information about the airplane fleet and enables information withdraw to the front side.
- Java | XML | CSS
- Intellij - Java IDE
- Scene Builder
- Mongo DB
- Maven
- Postman
Shahar Kozenyuk | Ofir Gur Cohen | Inon Angel | Guy Barzily | Roey Rachmany | Roy Ambar | Gal Levy | Yuval Kopelman | Or Ben Nun