diff --git a/doc/architecture/ObjectOrientedAnalysis.tex b/doc/architecture/ObjectOrientedAnalysis.tex
index 289636880393cb63bc66749f9a4c6719beaba581..15d3c123de19d9469cfb5524d9e0c56fa55c3ee6 100644
--- a/doc/architecture/ObjectOrientedAnalysis.tex
+++ b/doc/architecture/ObjectOrientedAnalysis.tex
@@ -31,7 +31,7 @@
 					+ set($v_{new}$, $\alpha_{new}$)\\
 					+ RequestNewState(RC-State)\\
 					+ updateOwn() : (Integer, Integer)
-				} (MAVLink)
+				}
 			\umlclass[scale = 0.5, xshift = -8cm]
 				{Lane-Keeping}
 				{
@@ -40,7 +40,7 @@
 				}
 				{
 					+ Lanekeeping() : ?
-				} (LaneKeeping)
+				}
 			\umlclass[scale = 0.5, xshift = 8cm, yshift = -4cm]
 				{Cruise-Control}
 				{
@@ -116,7 +116,7 @@
 				{
 					+ $d_O$ : Integer\\
 					+ $v_O$ : Integer\\
-					+ $\alpha_O$ : Interger\\
+					+ $\alpha_O$ : Integer\\
 					+ $v_R$ : Integer\\
 					+ $v_P$ : Integer\\
 					+ Path : ?\\
diff --git a/doc/architecture/ObjectOrientedDesign.tex b/doc/architecture/ObjectOrientedDesign.tex
new file mode 100644
index 0000000000000000000000000000000000000000..9a4a62f4f168c6cf2f0b3cb4a63e0203896d3fe9
--- /dev/null
+++ b/doc/architecture/ObjectOrientedDesign.tex
@@ -0,0 +1,194 @@
+\documentclass[a4paper,12pt]{article}
+
+\usepackage{geometry}
+\geometry{scale = 0.5}
+
+\usepackage[T1]{fontenc}
+\usepackage[utf8x]{inputenc}
+\usepackage[french]{babel}
+\usepackage{fullpage}
+\usepackage{ifthen, tikz, xstring, calc, pgfopts} % required for tikz-uml
+\usepackage{../tikz-uml}
+
+\sloppy
+\hyphenpenalty 10000000
+
+\begin{document}
+\begin{tikzpicture}
+	\begin{umlpackage}{Car}
+		\begin{umlpackage}{Odroid}
+			% classes
+			\umlclass[scale = 0.5]
+				{MAV-Link}
+				{
+					- $v_{new}$ : Integer\\
+					- $\alpha_{new}$ : Integer\\
+					- $v_O$ : Interger\\
+					- $\alpha_O$ : Integer\\
+					- RC-State : Integer
+				}
+				{
+					+ set($v_{new}$, $\alpha_{new}$)\\
+					+ RequestNewState(RC-State)\\
+					+ updateOwn() : (Integer, Integer)
+				}
+			\umlclass[scale = 0.5, xshift = -8cm]
+				{Lane-Keeping}
+				{
+					- Image/Path : ?\\
+					- $\alpha_{new}$ : Integer
+				}
+				{
+					+ Lanekeeping() : ?
+				} 
+			\umlclass[scale = 0.5, xshift = 8cm, yshift = -4cm]
+				{Cruise-Control}
+				{
+					- $d_O$ : Integer\\
+					- $v_P$ : Integer\\
+					- $IPD$ : Integer\\
+					- $PS$ : Integer\\
+					- PlatoonState : Integer\\
+					- $v_s$ : Integer\\
+					- $d_s$ : Integer\\
+					+ $v_{new}$ Integer
+				}
+				{
+					- CACC($d_O, v_P, IPD, PS$) : Integer\\
+					- ACC($d_O, v_P, v_s, d_s$) : Integer\\
+					- calcNewOptimalDistance($v_s$) : Integer\\
+					+ setNewSpeed($v_{new}$)
+				} (CruiseConrol)
+			\umlclass[scale = 0.5, xshift = -5.5cm, yshift = -9cm]
+				{Egomotion}
+				{
+					- $d_O$ : Integer\\
+					- $v_O$ : Integer\\
+					- $v_R$ : Integer\\
+					- $v_P$ : Integer\\
+					- $\alpha_O$ : Integer\\
+					- Path : ?\\
+					- $\alpha_{new}$ : Integer\\
+					+ $v_{new}$ : Integer\\
+					+ WantsPlatton : Boolean\\
+					+ UpdateReady : Boolean
+				}
+				{
+					- calc\_$v_P$($v_R$) : Integer\\
+					- getEnvoirment() : (Integer, Integer)\\
+					- getMavLink() : (Integer, Integer)\\
+					- getCurseControl : Integer
+				} (EgoMotion)
+			\umlclass[scale = 0.5, xshift = 6.7cm, yshift = -14cm]
+				{PlatoonController}
+				{
+					- $IPD$ : Integer
+					- $PS$ : Integer\\
+					- PlatoonState : ENUM\\
+					- $v_s$ : Integer\\
+					- $CarID$ : Integer\\
+					- PlatoonMemberList : ?\\
+					- PlatoonPos : Integer\\
+					- PlatoonPrevID : ?\\
+					+ isUpdated : Boolean
+				}
+				{
+					- evaluate\_PlatoonState(PlatoonState : Integer) : ?\\
+					- determine\_LV\_IPD-PS() : (Integer, Integer)\\
+					- handle\_PBM() : ?\\
+					- handle\_PCM() : ?\\
+					- handle\_PHM() : ?\\
+					- send\_PBM() : ?\\
+					- send\_PCM() : ?\\
+					- send\_PHM() : ?\\
+					+ isIdle() : Boolean
+				}
+			\umlclass[scale = 0.5, xshift = -9cm, yshift = -20cm]
+				{Envoirment}
+				{
+					- USS-Data : Integer\\
+					+ $d_O$ : Interger\\
+					+ $v_R$ : Integer\\
+					+ PlatoonPrevID : ?
+				}
+				{
+					- calc\_$v_R$
+				}
+			\umlclass[scale = 0.5, xshift = -4cm, yshift = -23cm]
+				{Logging}
+				{
+					+ $d_O$ : Integer\\
+					+ $v_O$ : Integer\\
+					+ $\alpha_O$ : Integer\\
+					+ $v_R$ : Integer\\
+					+ $v_P$ : Integer\\
+					+ Path : ?\\
+					+ $\alpha_{new}$ : Integer\\
+					+ $v_{new}$ : Integer\\
+					+ WantsPlatton : Boolean\\
+					+ UpdateReady : Boolean\\
+					+ $IPD$ : Integer\\
+					+ $PS$ : Integer\\
+					+ PlatoonState : ENUM\\
+					+ $v_s$ : Integer\\
+					+ $CarID$ : Integer\\
+					+ PlatoonMemberList : ?\\
+					+ PlatoonPos : Integer\\
+					+ PlatoonPrevID : Integer\\
+					+ isUpdated : Boolean
+				}
+				{
+					- cacheDate() : ?\\
+					+ sendToPC(ALL)
+				}
+			\umlclass[scale = 0.5, xshift = -11.5cm, yshift = -25cm]
+				{Camera}
+				{}
+				{}
+			\umlclass[scale = 0.5, xshift = -11.2cm, yshift = -28cm]
+				{Ultrasonic}
+				{}
+				{}
+			\umlclass[scale = 0.5, xshift = 9.5cm, yshift = -25cm]
+				{Network}
+				{
+					+ $IPD$ : Integer\\
+					+ $PS$ : Integer
+				}
+				{
+					+ send\_PBM()\\
+					+ send\_PCM()\\
+					+ send\_PHM()\\
+					+ send\_PLM()\\
+					+ handle\_PBM()\\
+					+ handle\_PCM()\\
+					+ handle\_PHM()\\
+					+ handle\_PLM()\\
+					+ Car2PC-MSGs.
+				}
+			
+			%arrows
+			\umlinherit	[geometry=-| ,anchors=   0 and 250]	{Camera}{Envoirment}
+			\umlinherit	[geometry=|- ,anchors=  90 and 180]	{Camera}{Lane-Keeping}
+			\umlinherit	[geometry=|- ,anchors=  90 and  25]	{Cruise-Control}{MAV-Link}
+			\umlinherit	[geometry=|- ,anchors= 217 and  50]	{Cruise-Control}{Egomotion}
+			\umlinherit	[geometry=|- ,anchors=  50 and 217]	{Egomotion}{Cruise-Control}
+			\umlinherit	[geometry=|- ,anchors= -35 and 152]	{Egomotion}{PlatoonController}
+			\umlinherit	[geometry=-| ,anchors= 115 and 300]	{Egomotion}{Lane-Keeping}
+			\umlinherit	[geometry=-|]						{Egomotion}{Logging}
+			\umlinherit	[geometry=|-|,anchors=90 and 245]	{Envoirment}{Egomotion}
+			\umlinherit	[geometry=--]						{Lane-Keeping}{MAV-Link}
+			\umlinherit	[geometry=-| ,anchors= 300 and 115]	{Lane-Keeping}{Egomotion}
+			\umlinherit	[geometry=|- ,anchors= -55 and 222]	{Logging}{Network}
+			\umlinherit	[geometry=|-|,anchors= 235 and  70]	{MAV-Link}{Egomotion}
+			\umlinherit	[geometry=-| ,anchors= 180 and 270]	{Network}{MAV-Link}
+			\umlinherit	[geometry=-|]						{PlatoonController}{Cruise-Control}
+			\umlinherit	[geometry=|- ,anchors= 240 and  25]	{PlatoonController}{Logging}
+			\umlinherit	[geometry=-|, anchors= 300 and  85]	{PlatoonController}{Network}
+			\umlinherit	[geometry=-|, anchors=  85 and 300]	{Network}{PlatoonController}
+			\umlinherit	[geometry=-| ,anchors= 0 and 290]	{Ultrasonic}{Envoirment}
+		\end{umlpackage}
+	\end{umlpackage}
+\end{tikzpicture}
+
+\end{document}
\ No newline at end of file