Commit 46b95183 authored by ASN.1 Documenter's avatar ASN.1 Documenter
Browse files

initial commit

parent fe0c1fae
Loading
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100755
+19 −0
Original line number Diff line number Diff line
include:
  - project: 'forge-tools/asn2md'
    file: '/gitlab-ci/base.yml'

variables:
  ASN1_SRC: 'cdd/*.asn *.asn'
  
validate:
  extends: .validate
  only:
    changes:
      - '*.asn'


documentation:
  extends: .documentation
  only:
    changes:
      - '*.asn'

.gitmodules

0 → 100644
+4 −0
Original line number Diff line number Diff line
[submodule "cdd"]
	path = cdd
	url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git
	branch = WI_001961

LICENSE

0 → 100755
+23 −0
Original line number Diff line number Diff line
Copyright 2023 ETSI

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, 
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 
   this list of conditions and the following disclaimer in the documentation 
   and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors 
   may be used to endorse or promote products derived from this software without 
   specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
OF THE POSSIBILITY OF SUCH DAMAGE.
 No newline at end of file
+143 −0
Original line number Diff line number Diff line
--Draft 03.05.2023

POIM-PDU-Description {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) poim(0) major-version-1 (1) minor-version-1 (1)} 

DEFINITIONS AUTOMATIC TAGS ::= BEGIN

IMPORTS 

ActionIdList, Identifier2B, ItsPduHeader, IvimReferences, MapReference, MapReferences, Provider, TimestampIts
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)}
WITH SUCCESSORS

ParkingAvailabilityBlock
FROM POIM-ParkingAvailability {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) parkingAvailability(1) major-version-1 (1) minor-version-1 (1)} 
WITH SUCCESSORS

-- other block imports from separate standards to be added here when needed.
;

/** 
 * This type represents the POIM PDU.
 *
 * It shall include the following components: 
 *
 * @field header: the header of the POIM PDU.
 *
 * @field payload: the payload of the POIM PDU.
*/

POIM ::= SEQUENCE { 
    header  	ItsPduHeader (WITH COMPONENTS {... , protocolVersion (1), messageId(poi)}),        
    payload     WrappedPoiInformationBlocks
} 

/**
 * This DF represents a list of POI information blocks, each with their type identifier. 
*/
WrappedPoiInformationBlocks::= SEQUENCE (SIZE (1..8,...)) OF WrappedPoiInformationBlock

/**
 * This information object class is an abstract template to instantiate POI Information Blocks.
 *
 * It shall include the following components: 
 *
 * @field &id: the identifier of the block type.
 *
 * @field &Type: the block content.
 *
*/
BLOCK-TYPE ::= CLASS {
    &id        PoiType,
    &Content
} WITH SYNTAX {&Content IDENTIFIED BY &id} 

/**
 * This DE represents the identifier of the container type. 
 *
*/
PoiType::= INTEGER(1..128,...)

/**
 * These value assignements represent specific values of the block type identifier. 
*/
parkingAvailability    PoiType ::= 1

/**
 * This information object set represents the association between the block type and the block content.
*/

PoiInformationSet BLOCK-TYPE ::= {
   {ParkingAvailabilityBlock    IDENTIFIED BY parkingAvailability}, ...
}

/**
 * This DF represents a POI Information Block preceded by its type identifier and a lenght indicator.
 *
 * It shall include the following components: 
 *
 * @field poiType: the identifier of the POI Information Block type.
 *
 * @field poiBlock: the POI Information Block.
 *
*/
WrappedPoiInformationBlock ::= SEQUENCE {
    poiType      BLOCK-TYPE.&id({PoiInformationSet}),
    poiBlock     BLOCK-TYPE.&Content({PoiInformationSet}{@poiType})
}

/**
 * This type represents the common management container of the POI Information Blocks. 
 *
 * It shall include the following components: 
 *
 * @field serviceProviderId: identifier of the organization that provided the POI Information Block.
 *
 * @field blockIdentificationNumber: identifier of the POI Information Block, as assigned by the organization identified in serviceProviderId.
 *
 * @field timestamp: timestamp of the generation or last change of the POI Information Block
 *
 * @field linkedIvims: the optional list of references to IVIMs that are semantically connected because providing signage information applying to the POI.
 *
 * @field linkedMapem: the optional list of references to MAPEMs that are semantically connected because providing information applying to the POI.
 *
*/
PoiBlockManagementContainer::= SEQUENCE {
	serviceProviderId			Provider, 
	blockIdentificationNumber	Identifier2B,
	timestamp					TimestampIts,
	linkedIvims                 IvimReferences OPTIONAL,
    linkedMapems                MapReferences OPTIONAL,
    ...  
}

/**
 * This type can be used to reference to other related POI Information Blocks. 
 *
 * It shall include the following components: 
 *
 * @field poiInfoBlockType: the type of related POI Information Blocks
 *
 * @field serviceProviderId: identifier of the organization that provided the related POI Information Block.
 *
 * @field blockIdentificationNumber: identifier of the related POI Information Block, as assigned by the organization identified in serviceProviderId.
 *
 * @field timestamp: optional timestamp of the generation or last change of the related POI Information Block
 *
*/	

RelatedPoiInfoBlock::= SEQUENCE{
   poiInfoBlockType             PoiType,
   serviceProviderId			Provider, 
   blockIdentificationNumber	Identifier2B, 
   timestamp					TimestampIts OPTIONAL,
    ...
}

/** 
 * This DF shall contain a list of @ref RelatedPoiInfoBlock and represents a commmon container to refer to other POI Information Blocks.
 *
*/
RelatedPoiInfoBlockContainer::= SEQUENCE OF RelatedPoiInfoBlock

END
+688 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading