Vehicle
# position: float
# curVelocity: float
# maxVelocity: float
# brakeProb: float
# id: int
# trackLength: float
+ timeElapse(): void
- getPosition(): float
- getCurVelocity(): float
- getMaxVelocity(): float
- updateVelocity(distanceForerunner: float): void
- timeElapse(): void
- Vehicle(id: id, position: int, maxVelocity: float, brakeProb: float, trackLength: float)
Track
# vehicles: List<Vehicle>
# vtrList: List<List<VehicleTimeRecord>>
# trackLength: float
# sumAvgMemory: float
# lastAvg: float
+ timeElapse(timestep: float): void
# createVehiclesList(numberVehicles: int): List<Vehicle>
- getVtrList(): List<List<VehicleTimeRecord>>
- getTrackLength(): float
- avg_step(step: int): float
# update_avg(): void
- Track(numberVehicles: int, trackLength: float)
VehicleTimeRecord
# id: int
# position: float
# velocity: float
# maxVelocity: float
- getMaxVelocity(): float
- getPosition(): float
- getVelocity(): float
- VehicleTimeRecord(id: int, position: int, velocity: float, maxVelocity: float)
TimeRecordView
# paint: Paint
# track: Track
# pixelPerVehicle: int
# getColor(curVelocity: float, maxVelocity: float): int
# onMeasure(widthMeasureSpec: int, heightMeasureSpec: int): void
# onSizeChanged(w: int, h: int, oldw: int, oldh: int): void
# onDraw(canvas: Canvas): void
View
MainActivity
# track: Track
# trackView: TimeRecordView
# worker: Worker
# viewStack: LinearLayout
# onCreate(savedInstanceState:Bundle): void
- update(observable: Observable, o: Object): void
- onStepButtonClick(view: View): void
- onPlayButtonClick(view: View): void
- onStopButtonClick(view: View): void
Worker
Thread
Actor
Blaaaaaa
# forerunner
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="41"
height="68.997391"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.45.1"
sodipodi:docbase="C:\Daten\alberts\projects\yfx"
sodipodi:docname="uml_actor.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
version="1.0">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.934351"
inkscape:cx="144.21983"
inkscape:cy="28.533711"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1280"
inkscape:window-height="968"
inkscape:window-x="-4"
inkscape:window-y="-4"
width="48px"
height="48px"
showborder="false"
inkscape:showpageshadow="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-29.5,-42.959476)">
<a
id="a3142"
transform="matrix(1.0873906,0,0,1,-4.4741999,0)">
<path
transform="translate(11.586889,5.2908993)"
d="M 47.02914 47.36993 A 8.5197716 9.2013531 0 1 1 29.989597,47.36993 A 8.5197716 9.2013531 0 1 1 47.02914 47.36993 z"
sodipodi:ry="9.2013531"
sodipodi:rx="8.5197716"
sodipodi:cy="47.36993"
sodipodi:cx="38.509369"
id="path2160"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:type="arc" />
</a>
<path
sodipodi:type="arc"
style="fill:none"
id="path3134"
sodipodi:cx="43.962021"
sodipodi:cy="48.392303"
sodipodi:rx="3.7486994"
sodipodi:ry="0"
d="M 47.71072 48.392303 A 3.7486994 0 0 1 1 40.213321,48.392303 A 3.7486994 0 0 1 1 47.71072 48.392303 z" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.24319649px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 50,61.33709 C 50,91.363211 50,92.247838 50,92.247838"
id="path3136" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 69.760668,72.362183 C 69.760668,72.362183 69.760668,72.362183 50.239332,72.362183 C 30.239332,72.362183 30.239332,72.362183 30.239332,72.362183 L 30.239332,72.362183"
id="path3138" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30,111.45687 C 30,111.45687 30,111.45687 50,92.013532 C 70,111.45687 70,111.45687 70,111.45687"
id="path3140" />
</g>
</svg>