<?xml version="1.0"?>
<FunctionBusLibrary Version="0">
	<Namespaces>
		<Namespace IsHidden="False" Name="DataTypes">
			<DataTypes>
				<Class Name="Passenger_Information_Interface" Type="CTInterface">
					<Properties>
						<DataTypeProperty HasSetter="True" Name="Collision_Info_Front">
							<DataType DataType="DataTypes::Collision_Info"/>
						</DataTypeProperty>
						<DataTypeProperty HasSetter="True" Name="Collision_Info_Rear">
							<DataType DataType="DataTypes::Collision_Info"/>
						</DataTypeProperty>
						<DataTypeProperty HasSetter="True" Name="Navigation_Info">
							<DataType DataType="DataTypes::Navigation_Info"/>
						</DataTypeProperty>
						<DataTypeProperty HasSetter="True" Name="Velocity_Info">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeProperty>
					</Properties>
				</Class>
				<Class Name="Object_Recognition_Interface" Type="CTInterface">
					<Fields>
						<DataTypeField Name="Object">
							<DataType DataType="DataTypes::Object_Struct"/>
						</DataTypeField>
					</Fields>
				</Class>
				<Class Name="Navigation_Interface" Type="CTInterface">
					<Methods>
						<Method Prototype="DataTypes::Get_Navigation_Info_prototype" Name="Get_Navigation_Info"/>
					</Methods>
				</Class>
				<Class Name="Mirror_Interface" Type="CTInterface">
					<Methods>
						<Method Prototype="DataTypes::AdjustMirror_prototype" Name="AdjustMirror"/>
					</Methods>
				</Class>
				<FunctionPrototype IsOneWay="False" Name="Get_Navigation_Info_prototype">
					<Result DataType="_SystemDataTypes::Void"/>
					<Parameters>
						<Parameter IsOptional="False" Direction="In" Name="destination">
							<DataType DataType="DataTypes::String"/>
						</Parameter>
						<Parameter IsOptional="False" Direction="In" Name="longitude">
							<DataType DataType="DataTypes::Double"/>
						</Parameter>
						<Parameter IsOptional="False" Direction="In" Name="latitude">
							<DataType DataType="DataTypes::Double"/>
						</Parameter>
						<Parameter IsOptional="False" Direction="Out" Name="navigation_info">
							<DataType DataType="DataTypes::Navigation_Info"/>
						</Parameter>
					</Parameters>
				</FunctionPrototype>
				<StringDataType Encoding="UTF8" MaxLength="-1" HasFixedBinaryLayout="false" HasMotorolaByteOrder="false" Name="VariableString"/> 
				<StructDataType Name="MirrorParametersStruct" HasFixedBinaryLayout="false" Comment="">
					<Fields>
						<DataTypeField Name="Mirror_Folded" IsProperty="false" Comment="">
							<DataType DataType="DataTypes::UInt8" />
						</DataTypeField>
						<DataTypeField Name="Direction" IsProperty="false" Comment="">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="Heat_OnOff" IsProperty="false" Comment="">
							<DataType DataType="DataTypes::UInt8"/>
						</DataTypeField>
					</Fields>
				</StructDataType>
				<FunctionPrototype IsOneWay="False" Name="AdjustMirror_prototype">
					<Result DataType="DataTypes::VariableString"/>
					<Parameters>				
						<Parameter Name="MirrorParameters" Direction="In">
							<DataType DataType="DataTypes::MirrorParametersStruct">	
							</DataType>
						</Parameter>						
					</Parameters>
				</FunctionPrototype>
				<StructDataType Name="Object_Struct">
					<Fields>
						<DataTypeField Name="Classification">
							<DataType DataType="DataTypes::UInt32">
								<NumericProperties MinValue="0" MinValueType="Int32" MaxValue="0" MaxValueType="Int32" IsBoolean="False">
									<ImplToPhysEncodings TextualEncodings="DataTypes::Object_Classifiction_Enum"/>
								</NumericProperties>
							</DataType>
						</DataTypeField>
						<DataTypeField Name="Distance">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
					</Fields>
				</StructDataType>
				<StructDataType Name="Navigation_Info">
					<Fields>
						<DataTypeField Name="Destination">
							<DataType DataType="DataTypes::String"/>
						</DataTypeField>
						<DataTypeField Name="Distance">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="Time">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="POIs">
							<DataType DataType="DataTypes::POI_vector"/>
						</DataTypeField>
					</Fields>
				</StructDataType>
				<StructDataType Name="POI">
					<Fields>
						<DataTypeField Name="Category">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="Message">
							<DataType DataType="DataTypes::String"/>
						</DataTypeField>
						<DataTypeField Name="Distance">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
					</Fields>
				</StructDataType>
				<StructDataType Name="Collision_Info">
					<Fields>
						<DataTypeField Name="Warn_Level">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="Distance">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="Lamp">
							<DataType DataType="DataTypes::UInt32"/>
						</DataTypeField>
						<DataTypeField Name="Message">
							<DataType DataType="DataTypes::String"/>
						</DataTypeField>
					</Fields>
				</StructDataType>
				<ArrayDataType MaxLength="3" MinLength="0" Name="POI_vector">
					<BaseType DataType="DataTypes::POI"/>
				</ArrayDataType>
				<StringDataType Name="String" Encoding="ISO88591" MaxLength="-1"/>
				<IntegerDataType BitCount="8" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="True" Name="Boolean"/>
				<IntegerDataType BitCount="8" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="True" Name="Int8"/>
				<FloatDataType BitCount="32" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" Name="Float"/>
				<IntegerDataType BitCount="16" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="False" Name="UInt16"/>
				<IntegerDataType BitCount="32" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="False" Name="UInt32"/>
				<IntegerDataType BitCount="16" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="True" Name="Int16"/>
				<FloatDataType BitCount="64" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" Name="Double"/>
				<IntegerDataType BitCount="8" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="False" Name="UInt8"/>
				<IntegerDataType BitCount="32" HasFixedBinaryLayout="True" HasMotorolaByteOrder="False" IsSigned="True" Name="Int32"/>
			</DataTypes>
			<TextualEncodings>
				<TextualEncodings Name="Object_Classifiction_Enum">
					<TextualEncoding TextualValue="NO_OBJECT" LowerBound="0" LowerBoundType="UInt32" UpperBound="0" UpperBoundType="UInt32"/>
					<TextualEncoding TextualValue="VEHICLE" LowerBound="1" LowerBoundType="UInt32" UpperBound="1" UpperBoundType="UInt32"/>
					<TextualEncoding TextualValue="OBSTACLE" LowerBound="2" LowerBoundType="UInt32" UpperBound="2" UpperBoundType="UInt32"/>
					<TextualEncoding TextualValue="PEDESTRIAN" LowerBound="3" LowerBoundType="UInt32" UpperBound="3" UpperBoundType="UInt32"/>
				</TextualEncodings>
			</TextualEncodings>
		</Namespace>
		<Namespace IsHidden="False" Name="Services">
			<CommunicationObjects>
				<Service Interface="DataTypes::Passenger_Information_Interface" Name="Passenger_Information" Provider="Manual" SDClientServerModelsActive="True" SDClientServerModelsRequestServiceAtMeasurementStart="True" SDServerModelsActive="True" SDServerModelsProvideServiceAtMeasurementStart="True">
					<SourceFEPs>
						<ServiceFEP Name="Drive_Master" Provider="Manual" State="Simulated"/>
					</SourceFEPs>
					<TargetFEPs>
						<ServiceFEP Name="Dashboard" Provider="Manual" State="Simulated"/>
					</TargetFEPs>
					<Fields>
						<COField Name="Collision_Info_Front" Provider="Manual"/>
						<COField Name="Collision_Info_Rear" Provider="Manual"/>
						<COField Name="Navigation_Info" Provider="Manual"/>
						<COField Name="Velocity_Info" Provider="Manual"/>
					</Fields>
					<AdditionalInfo>
						<ABClientServerEventSubscription IsActive="true" Provider="Abstract">
							<SubscribedEvents>
								<SubscribedEvent Signal="Services::Object_Recognition.Object"/>
							</SubscribedEvents>
						</ABClientServerEventSubscription>
					</AdditionalInfo>
					<Bindings>
						<Binding Provider="Abstract" SourceFEP="Drive_Master" TargetFEP="Dashboard" Type="Abstract" IsActive="True">
							<AbstractBinding Name="Immediate" Delay="200"/>
						</Binding>
					</Bindings>
				</Service>
				<Service Interface="DataTypes::Navigation_Interface" Name="Navigation" Provider="Manual" SDClientServerModelsActive="True" SDClientServerModelsRequestServiceAtMeasurementStart="True" SDServerModelsActive="True" SDServerModelsProvideServiceAtMeasurementStart="True">
					<SourceFEPs>
						<ServiceFEP Name="Drive_Master" Provider="Manual" State="Simulated"/>
					</SourceFEPs>
					<TargetFEPs>
						<ServiceFEP Name="Backend" Provider="Manual" State="Simulated"/>
					</TargetFEPs>
					<Methods>
						<Function Name="Get_Navigation_Info" Provider="Manual" Prototype="DataTypes::Get_Navigation_Info_prototype"/>
					</Methods>
					<Bindings>
						<Binding Provider="Abstract" SourceFEP="Drive_Master" TargetFEP="Backend" Type="Abstract" IsActive="True">
							<AbstractBinding Name="Immediate" Delay="200"/>
						</Binding>
					</Bindings>
				</Service>
				<Service Interface="DataTypes::Object_Recognition_Interface" Name="Object_Recognition" Provider="Manual" SDClientServerModelsActive="True" SDClientServerModelsRequestServiceAtMeasurementStart="True" SDServerModelsActive="True" SDServerModelsProvideServiceAtMeasurementStart="True">
					<SourceFEPs>
						<ServiceFEP Name="Drive_Master" Provider="Manual" State="Simulated"/>
					</SourceFEPs>
					<TargetFEPs>
						<ServiceFEP Name="LIDAR_Front" Provider="Manual" State="Simulated"/>
						<ServiceFEP Name="LIDAR_Rear" Provider="Manual" State="Simulated"/>
					</TargetFEPs>
					<Events>
						<Signal Name="Object" Provider="Manual">
							<DataType DataType="DataTypes::Object_Struct"/>
						</Signal>
					</Events>
					<AdditionalInfo>
						<ABClientServerEventSubscription IsActive="true" Provider="Abstract">
							<SubscribedEvents>
								<SubscribedEvent Signal="Services::Object_Recognition.Object"/>
							</SubscribedEvents>
						</ABClientServerEventSubscription>
					</AdditionalInfo>
					<Bindings>
						<Binding Provider="Abstract" SourceFEP="Drive_Master" TargetFEP="LIDAR_Front" Type="Abstract" IsActive="True">
							<AbstractBinding Name="Immediate" Delay="200"/>
						</Binding>
						<Binding Provider="Abstract" SourceFEP="Drive_Master" TargetFEP="LIDAR_Rear" Type="Abstract" IsActive="True">
							<AbstractBinding Name="Immediate" Delay="200"/>
						</Binding>
					</Bindings>
				</Service>
				<Service Interface="DataTypes::Mirror_Interface" Name="Mirror" Provider="Manual" SDClientServerModelsActive="True" SDClientServerModelsRequestServiceAtMeasurementStart="True" SDServerModelsActive="True" SDServerModelsProvideServiceAtMeasurementStart="True">
					<SourceFEPs>
						<ServiceFEP Name="Console" Provider="Manual" State="Simulated"/>
					</SourceFEPs>
					<TargetFEPs>
						<ServiceFEP Name="Mirror_Driver" Provider="Manual" State="Simulated"/>
						<ServiceFEP Name="Mirror_Passenger" Provider="Manual" State="Simulated"/>
					</TargetFEPs>
					<Methods>
						<Function Name="AdjustMirror" Provider="Manual" Prototype="DataTypes::AdjustMirror_prototype"/>
					</Methods>
					<Bindings>
						<Binding Provider="Abstract" SourceFEP="Console" TargetFEP="Mirror_Driver" Type="Abstract" IsActive="True">
							<AbstractBinding Name="Immediate" Delay="200"/>
						</Binding>
						<Binding Provider="Abstract" SourceFEP="Console" TargetFEP="Mirror_Passenger" Type="Abstract" IsActive="True">
							<AbstractBinding Name="Immediate" Delay="200"/>
						</Binding>
					</Bindings>
				</Service>
			</CommunicationObjects>
		</Namespace>
		<Namespace IsHidden="False" Name="Participants">
			<Participants>
				<Participant Provider="SUTConfiguration" Name="Backend">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Navigation[Backend]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="Dashboard">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Passenger_Information[Dashboard]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="LIDAR_Front">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Object_Recognition[LIDAR_Front]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="LIDAR_Rear">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Object_Recognition[LIDAR_Rear]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="Drive_Master">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Navigation[Drive_Master]"/>
						<AssignedFEP FunctionalEndPoint="Services::Object_Recognition[Drive_Master]"/>
						<AssignedFEP FunctionalEndPoint="Services::Passenger_Information[Drive_Master]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="Console">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Mirror[Console]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="Mirror_Driver">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Mirror[Mirror_Driver]"/>
					</AssignedFEPs>
				</Participant>
				<Participant Provider="SUTConfiguration" Name="Mirror_Passenger">
					<AssignedFEPs>
						<AssignedFEP FunctionalEndPoint="Services::Mirror[Mirror_Passenger]"/>
					</AssignedFEPs>
				</Participant>
			</Participants>
		</Namespace>
	</Namespaces>
	<Bindings>
		<Binding Provider="Abstract" Type="Abstract" IsActive="True" CommunicationObject="Services::Navigation" IsCallReturnBinding="False">
			<AbstractBinding Name="Immediate" Delay="2000" UsePDUMapping="False" Provider="Abstract" Creator="Undefined"/>
		</Binding>
		<Binding Provider="Abstract" Type="Abstract" IsActive="True" CommunicationObject="Services::Object_Recognition" IsCallReturnBinding="False">
			<AbstractBinding Name="Immediate" Delay="2000" UsePDUMapping="False" Provider="Abstract" Creator="Undefined"/>
		</Binding>
		<Binding Provider="Abstract" Type="Abstract" IsActive="True" CommunicationObject="Services::Passenger_Information" IsCallReturnBinding="False">
			<AbstractBinding Name="Immediate" Delay="2000" UsePDUMapping="False" Provider="Abstract" Creator="Undefined"/>
		</Binding>
		<Binding Provider="Abstract" Type="Abstract" IsActive="True" CommunicationObject="Services::Mirror" IsCallReturnBinding="False">
			<AbstractBinding Name="Immediate" Delay="2000" UsePDUMapping="False" Provider="Abstract" Creator="Undefined"/>
		</Binding>		
	</Bindings>
	<ProviderInfo>
 </ProviderInfo>
</FunctionBusLibrary>
