update, working bt and final schedule
[des2015.git] / marsrover / document / dev.tex
index 2cef47e..eafb75f 100644 (file)
@@ -1,32 +1,72 @@
 \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
\ No newline at end of file
+The development plan is written following the spiral software development model
+in which all requirements are divided into small iterations. Each of the
+iterations will have an implementation phase, a testing phase, an analysis
+phase, and a design phase. Furthermore, each of the iterations will have goals
+and results. The iterations and their deliverables are listed in
+\autoref{tab:devit}. The schedule for finishing iterations are listed in
+\autoref{tab:deadli}. On the 6th of January the must-have should be finished
+and if they are we try to complete as many iterations as possible.
+\begin{table}[h!]
+       \centering
+       \begin{tabu} to \linewidth{llX}
+               \toprule
+               Deadline & Iterations\\
+               \midrule
+               9 Dec 2015 & 1--2\\
+               16 Dec 2015 & 3--5\\
+               23 Dec 2015 & 6--9\\
+               6 Jan 2015 & 10--11\\
+               13 Jan 2015 & Demo\\
+               \bottomrule
+       \end{tabu}
+       \caption{Deadlines}\label{tab:deadli}
+\end{table}
+\begin{table}[h!]
+       \centering
+       \begin{tabu} to \linewidth{rlXX}
+               \toprule
+               It. & Req. & Description & Deliverables\\
+               \midrule
+               1 & NR1 & Create a DSL for MarsRover's missions to use available
+                       sensors and actuators. & \texttt{TaskDSL.xtext}\\
+               2 & ER3 & Implement diagnostic functions that print on the \emph{LCD}.
+                       & A \emph{LCD} class that prints to the \emph{LCD} screen.\\
+               3 & - & Implement functions in the code generation for basic motor the
+                       motor actions: forward, backward, measure rock, measure lake and
+                       wait. & Code
+                       generation for motors\\
+               4 & - & Implement functions in the code generation for communicating
+                       the sensors from the slave to the master. & Functions in the master
+                       program to read the slave's sensors.\\
+               5 & - & Create functionality for sensor values and determine the
+                       treshholds manually. & Code generation for sensors and threshhold
+                       constants.\\
+               6 & CR1 & Create functionality to keep the MarsRover in the planet. &
+                       A generatable behaviour to stay on the planet.\\
+               7 & MR3 & Create functionality for not bumping into rocks. & A
+                       generatable behaviour to not bump into rocks.\\
+               8 & MR1 & Create functionality to find lakes. & A generatable mission
+                       to find lakes.\\
+               9 & MR6 & Create functionality to perform missions in sequence. & A
+                       generatable main program that performs missions.\\
+               10 & MR2, MR4& Create functionality to find rocks. & A generatable
+                       mission to find rocks.\\
+               11 & MR5 & Create functionality to push rocks and detect when the
+                       robots is pushing. & A generatable behaviour for pushing.\\
+               12 & MR7 & Create functionality to find the parking space. & A
+                       generatable behaviour that can find the parking space.\\
+               13 & MR8, ER1 & Create functionality to map the environment and to
+                       localize. & A generatable behaviour that can map while
+                       performing.\\
+               14 & ER2 & Create functionality to play sounds. & Add a generatable
+                       function for playing sounds.\\
+               15 & NR3, NR4 & Create functionality to calibrate the sensor
+                       treshholds. & A generatable function to calibrate the sensors.\\
+               16 & NR5 & Create functionality that when the robot encounters bugs it
+                       can restart itself. & Functionality in the main program to do so.\\
+               17 & - & Speed up the behaviour of the robot within safety limits.\\
+               \bottomrule
+       \end{tabu}
+       \caption{Spiral model iterations}\label{tab:devit}
+\end{table}