@startuml
skinparam componentStyle uml2

title Simple Test Bed Architecture

package "User Interface" {
	[Android UI] as androidui
	[Java UI] as javaui
	[JNI] as jni
	androidui .down.> jni
	javaui .down.> jni
}

package "Traffic Tester" as traffic {
	() "Traffic Interface" as ti
/'	Control component will be required later on
	() "Control interface" as ci
	[Control] as ctrl
	ctrl -up- ci
'/
	[Source] as source
	[Sink] as sink
	[Protocol] as proto

/'	Relay component will be required later on
	[Relay] as relay
	relay -up- ti
	relay -down-> proto
'/

	source -up- ti
	sink -up- ti
	source -down-> proto
	sink -down-> proto
}

package "Platform Abstraction Layer" as pal {
	() "PAL Interface" as pali
	[Windows PAL] as wpal
	[Linux PAL] as lpal
	[Android PAL] as apal
	wpal -up- pali
	lpal -up- pali
	apal -up- pali
}

jni .down.> ti
/'	Control component will be required later on
jni .down.> ci
'/
traffic .right.> pali

@enduml