Commit 275d86b2 authored by garciay's avatar garciay
Browse files

Refine SREM templates

parent a94f77e2
......@@ -228,7 +228,7 @@ module LibItsSremSsem_Templates {
}
group mapSpatPduTemplates {
group sremSsemPduTemplates {
/**
* @desc Send template for SREM PDU
......@@ -274,7 +274,7 @@ module LibItsSremSsem_Templates {
ssm := p_ssm
}
} // End of group mapSpatPduTemplates
} // End of group sremSsemPduTemplates
group headerTemplates {
......@@ -351,81 +351,129 @@ module LibItsSremSsem_Templates {
group sremSsemTemplates {
template (omit) IntersectionReferenceID m_intersectionReferenceID(
in template (value) IntersectionID p_intersectionID := 0,
in template (omit) RoadRegulatorID p_roadRegulatorID := omit
) := {
region := p_roadRegulatorID, // a globally unique regional assignment value typical assigned to a regional DOT authority the value zero shall be used for testing needs
id := p_intersectionID // a unique mapping to the intersection in question within the above region of use
}
group sremTemplates {
/**
* @desc Send template for SREM Message
*/
template (value) SignalRequestMessage m_defaultSrem := {
timeStamp := omit,
second := PX_SECOND,
sequenceNumber := omit,
requests := omit,
requestor := m_requestorDescription(m_vehicleID(f_getIutStationId())),
regional := omit
}
template (omit) RequestorDescription m_requestorDescription(
in template (value) VehicleID p_id,
in template (omit) RequestorType p_type := omit,
in template (omit) RequestorPositionVector p_position := omit,
in template (omit) TransitVehicleStatus p_transitStatus := omit,
in template (omit) TransitVehicleOccupancy p_transitOccupancy := omit
) := {
id := p_id, // The ID used in the BSM or CAM of the requestor
type_ := p_type, // Information regarding all type and class data about the requesting vehicle
position := p_position, // The location of the requesting vehicle
name := omit, // A human readable name for debugging use
routeName := omit, // A string for transit operations use
transitStatus := p_transitStatus, // current vehicle state (loading, etc.)
transitOccupancy := p_transitOccupancy, // current vehicle occupancy
transitSchedule := omit, // current vehicle schedule adherence
regional := omit
}
template (value) VehicleID m_vehicleID(
in template (value) StationID p_stationID
) := {
stationID := p_stationID
}
template (omit) RequestorType m_requestorType(
in template (value) BasicVehicleRole p_role,
in template (omit) RequestSubRole p_subrole := omit,
in template (omit) RequestImportanceLevel p_request := omit
) := {
role := p_role, // Basic role of this user at this time
subrole := p_subrole, // A local list with role based items
request := p_request, // A local list with request items
iso3883 := omit,
hpmsType := omit, // HPMS classification types
regional := omit
}
/**
* @desc Receive template for SREM Message
*/
template (present) SignalRequestMessage mw_defaultSrem := {
timeStamp := *,
second := ?,
sequenceNumber := *,
requests := *,
requestor := ?,
regional := *
}
/**
* @desc Receive template for SREM Message with no LayerType
*/
template (present) SignalRequestMessage mw_sremWellFormatted modifies mw_defaultSrem := {
}
group sremTemplatesSend {
/**
* @desc Send template for SREM Message
*/
template (value) SignalRequestMessage m_defaultSrem := {
timeStamp := omit,
second := PX_SECOND,
sequenceNumber := omit,
requests := {
m_signalRequestPackage(
m_signalRequest(
m_intersectionReferenceID,
1,
PriorityRequestType.priorityRequestTypeReserved,
{ lane := 1 }
)) },
requestor := m_requestorDescription(m_vehicleID(f_getIutStationId())),
regional := omit
}
template (value) SignalRequestPackage m_signalRequestPackage(
in template (value) SignalRequest p_request
) := {
request := p_request,
minute := omit,
second := omit,
duration_ := omit,
regional := omit
}
template (omit) SignalRequest m_signalRequest(
in template (value) IntersectionReferenceID p_id,
in template (value) RequestID p_requestID,
in template (value) PriorityRequestType p_requestType,
in template (value) IntersectionAccessPoint p_inBoundLane,
in template (omit) IntersectionAccessPoint p_outBoundLane := omit
) := {
id := p_id,
requestID := p_requestID,
requestType := p_requestType,
inBoundLane := p_inBoundLane,
outBoundLane := p_outBoundLane,
regional := omit
}
template (omit) RequestorDescription m_requestorDescription(
in template (value) VehicleID p_id,
in template (omit) RequestorType p_type := omit,
in template (omit) RequestorPositionVector p_position := omit,
in template (omit) TransitVehicleStatus p_transitStatus := omit,
in template (omit) TransitVehicleOccupancy p_transitOccupancy := omit
) := {
id := p_id, // The ID used in the BSM or CAM of the requestor
type_ := p_type, // Information regarding all type and class data about the requesting vehicle
position := p_position, // The location of the requesting vehicle
name := omit, // A human readable name for debugging use
routeName := omit, // A string for transit operations use
transitStatus := p_transitStatus, // current vehicle state (loading, etc.)
transitOccupancy := p_transitOccupancy, // current vehicle occupancy
transitSchedule := omit, // current vehicle schedule adherence
regional := omit
}
template (value) VehicleID m_vehicleID(
in template (value) StationID p_stationID
) := {
stationID := p_stationID
}
template (omit) RequestorType m_requestorType(
in template (value) BasicVehicleRole p_role,
in template (omit) RequestSubRole p_subrole := omit,
in template (omit) RequestImportanceLevel p_request := omit
) := {
role := p_role, // Basic role of this user at this time
subrole := p_subrole, // A local list with role based items
request := p_request, // A local list with request items
iso3883 := omit,
hpmsType := omit, // HPMS classification types
regional := omit
}
} // End of group sremTemplatesSend
template (present) SignalRequestMessage mw_srem_sequenceNumber(
in MsgCount p_sequenceNumber
)
modifies mw_sremWellFormatted := {
sequenceNumber := p_sequenceNumber
}
group sremTemplatesRecv {
/**
* @desc Receive template for SREM Message
*/
template (present) SignalRequestMessage mw_defaultSrem := {
timeStamp := *,
second := ?,
sequenceNumber := *,
requests := *,
requestor := ?,
regional := *
}
/**
* @desc Receive template for SREM Message with no LayerType
*/
template (present) SignalRequestMessage mw_sremWellFormatted modifies mw_defaultSrem := {
}
template (present) SignalRequestMessage mw_srem_sequenceNumber(
in MsgCount p_sequenceNumber
)
modifies mw_sremWellFormatted := {
sequenceNumber := p_sequenceNumber
}
} // End of group sremTemplatesRecv
} // End of group sremTemplates
......
Supports Markdown
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