\section{Development Plan}
Iteration 1: Create a basic DSL for MarsRover's missions to use available sensors and actuators

Iteration 2: Test the DSL and make it works in MarsRover

Iteration 3: Create a functionality to use motors for the movement. They are: drive forward, drive backward, stop, turn left, and turn right.

Iteration 4: Create a functionality to use right sensor, left sensor, and back ultrasone sensor

Iteration 5: Create a functionality to keep the MarsRover in the planet. This will combine the use of the motors for the movement and the most safety critical sensors

Iteration 6: Implement a protocol for the communication between two bricks

Iteration 7: Implement color sensor and create a functionality to find lakes by color

Iteration 8: Implement front ultrasone sensor and create a functionality to find rocks

Iteration 9: Implement functionality to avoid rocks

Iteration 10: Implement measurement motor and create a functionality to measure lakes and rocks

Iteration 11: Implement left and right touch sensors. Also, create a functionality to push rocks

Iteration 12: Implement a functionality to be able to perform multiple missions in sequence

Iteration 13: Implement Gyro sensor and create a functionality to park MarsRover in certain position

Iteration 14: Implement a functionality to remember where the lakes are after the MarsRover found them

Iteration 15: Implement a functionality to play a sound for the viewer's notification

Iteration 16: Implement SLAM functionality and make the MarsRover be able to navigate with the map