Skip to content
Snippets Groups Projects
Commit 032f38ec authored by Steven Lange's avatar Steven Lange
Browse files

Added OOA. Copy of whiteboard

The whiteboard drawings from software architecture were digitalized into
a .tex file.
parent 83aabb8d
No related merge requests found
\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}{STM}
% \umlclass{MAV-Link}
% {}
% {}
%\end{umlpackage}
\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)
} (MAVLink)
\umlclass[scale = 0.5, xshift = -8cm]
{Lane-Keeping}
{
- Image/Path : ?\\
- $\alpha_{new}$ : Integer
}
{
+ Lanekeeping() : ?
} (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\\
+ pushNewSpeed($v_{new}$)
} (CruiseConrol)
\umlclass[scale = 0.5, xshift = -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 : Integer\\
- $v_s$ : Integer\\
- $CarID$ : Integer\\
- PlatoonMemberList : ?\\
- PlatoonPos : Integer\\
- PlatoonPrevID : ?\\
+ isUpdated : Boolean
}
{
- PlatoonStateAuswerten(PlatoonState : Integer) : ?\\
- LV\_CACC\_IPD/PS\_festlegen() : (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\\
+ $v_R$ : Integer\\
+ $v_P$ : Integer\\
+ $\alpha_O$ : Integer\\
+ Path : ?\\
+ $\alpha_{new}$ : Integer\\
+ $v_{new}$ : Integer\\
+ WantsPlatton : Boolean\\
+ UpdateReady : Boolean\\
+ $IPD$ : Integer\\
+ $PS$ : Integer\\
+ PlatoonState : Integer\\
+ $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= 115 and 280] {Egomotion}{Lane-Keeping}
\umlinherit [geometry=-|-,anchors= 35 and 215] {Egomotion}{Cruise-Control}
\umlinherit [geometry=|-,anchors= -35 and 152] {Egomotion}{PlatoonController}
\umlinherit [geometry=-|] {Egomotion}{Logging}
\umlinherit [geometry=|-|,anchors=90 and 245] {Envoirment}{Egomotion}
\umlinherit [geometry=--] {Lane-Keeping}{MAV-Link}
\umlinherit [geometry=-| ,anchors= 280 and 115] {Lane-Keeping}{Egomotion}
\umlinherit [geometry=|- ,anchors= -55 and 222] {Logging}{Network}
\umlinherit [geometry=|-|,anchors= 235 and 70] {MAV-Link}{Egomotion}
\umlimport [geometry=-| ,anchors= 180 and 270] {Network}{MAV-Link}
\umlinherit [geometry=-|] {PlatoonController}{Cruise-Control}
\umlinherit [geometry=|- ,anchors= 240 and 25] {PlatoonController}{Logging}
\umlinherit [geometry=-|, anchors= 295 and 75] {PlatoonController}{Network}
\umlinherit [geometry=-|, anchors= 75 and 295] {Network}{PlatoonController}
\umlinherit [geometry=-| ,anchors= 0 and 290] {Ultrasonic}{Envoirment}
\end{umlpackage}
\end{umlpackage}
\end{tikzpicture}
\end{document}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment