Commit a2ff4f7c authored by garciay's avatar garciay
Browse files

Implement FSAP TSS&TPs, Clause 9.1.2

parent ec63de57
Loading
Loading
Loading
Loading
+32 −15
Original line number Diff line number Diff line
@@ -38,6 +38,9 @@ module LibItsFsap_Functions {
    import from LibItsFsap_Templates all;
    import from LibItsFsap_Pixits all;
    import from LibItsFsap_Pics all;
    import from LibItsIicp_Functions {
        altstep a_iicpDefault
    };
    import from LibItsCommon_Functions {
        function
            f_utInitializeIut, f_utCommandRequestConfirm
@@ -69,7 +72,7 @@ module LibItsFsap_Functions {
            map(self:mgtMFSapPort, system:mgtMFSapPort);
            
            // Connect
            f_connect4SelfOrClientSync(); // FIXME Check if we have to use f_connectNSelfOrClientSync(3, xxx)
            f_connect4SelfOrClientSync(); 
            
            // Set processing on shutdown
            activate(a_cf01Down());
@@ -165,7 +168,9 @@ module LibItsFsap_Functions {
            // Set defaults
            activate(a_mgtMFSapPortDefault()); // Default for MGT module / MF-SAP port
            activate(a_fsapDefault()); 
            
            if (p_componentName == "cf02Up") {
                activate(a_iicpDefault());
            }
        } // end f_initialiseComponent
        
    } // End of group fsapConfigurationFunctions
@@ -259,50 +264,62 @@ module LibItsFsap_Functions {
        }
        
        /**
         * @desc    TODO
         * @return  TODO
         * @verdict TODO
         * @desc    Get the client identifier value
         * @return  The client identifier value
         * @see     PX_CLIENT_ID
         */
        function f_getIutClientID() return StationID {
            return PX_CLIENT_ID;
        }
        
        /**
         * @desc    TODO
         * @return  TODO
         * @verdict TODO
         * @desc    Get the scheduling information with a specific access technology
         * @return  The scheduling information
         * @see     PX_GSCHED_ACCESS_TECH_NONIP
         */
        function f_getIutGCscheduleWithAccessTechAndNonIP() return GCschedule {
            return { PX_GSCHED_ACCESS_TECH_NONIP };
        }
        
        /**
         * @desc    Get the scheduling information with an unknown access technology
         * @return  The scheduling information
         * @see     PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP
         */
        function f_getIutGCscheduleWithUnknownAccessTechAndNonIP() return GCschedule {
            return { PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP };
        }
        
                
        /**
         * @desc    TODO
         * @return  TODO
         * @verdict TODO
         * @desc    Get the scheduling information with no access technology
         * @return  The scheduling information
         * @see     PX_GSCHED_NONIP
         */
        function f_getIutGCscheduleWithNonIP() return GCschedule {
            return { PX_GSCHED_NONIP };
        }
        
        /**
         * @desc    TODO
         * @desc    TODO  and without request to change communication channel for session phase and without request to change communication channel for session phase
         * @return  TODO
         * @verdict TODO
         */
        function f_getIutServiceDataRegWithNoSession() return ServiceDataReg {
            return PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE;
        }
        
        /**
         * @desc    TODO
         * @desc    TODO and with a specific access technology and with request to change communication channel for session phase
         * @return  TODO
         * @see     PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANGE_CHANNEL
         */
        function f_getIutServiceDataRegWithNoSessionAndChannelChange() return ServiceDataReg {
            return PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANGE_CHANNEL;
        }
        
        /**
         * @desc    TODO  and without request to change communication channel for session phase and without request to change communication channel for session phase
         * @return  TODO
         * @verdict TODO
         */
        function f_getIutServiceDataRegWithSession() return ServiceDataReg {
            return PX_SERVICE_DATA_REG_WITH_SESSION_PHASE;
+30 −6
Original line number Diff line number Diff line
@@ -75,8 +75,9 @@ module LibItsFsap_Pixits {
        }
        
        /**
         * @desc TODO
         * 'medium' field indicates the required access technology
         * @desc    Scheduling information for registration / registration request in order to select the proper VCI in the ITS-station for communication
         * 'medium' field indicates a request of specific access technology
         * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management
         */
        modulepar GCsched PX_GSCHED_ACCESS_TECH_NONIP := {
            medium := 128, // FIXME TTwb does not generate MedType_iso15628_
@@ -90,8 +91,9 @@ module LibItsFsap_Pixits {
        } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP
        
        /**
         * @desc TODO
         * 'medium' field indicates the required access technology
         * @desc    Scheduling information for registration / registration request in order to select the proper VCI in the ITS-station for communication
         * 'medium' field indicates a request of an unknown access technology
         * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management
         */
        modulepar GCsched PX_GSCHED_ACCESS_UNKNOWN_TECH_NONIP := {
            medium := 254, // FIXME TTwb does not generate MedType_can_
@@ -105,8 +107,9 @@ module LibItsFsap_Pixits {
        } // End of modulepar PX_GSCHED_ACCESS_TECH_NONIP
        
        /**
         * @desc TODO
         * 'medium' field indicates no required access technology selected
         * @desc    Scheduling information for registration / registration request in order to select the proper VCI in the ITS-station for communication
         * 'medium' field indicates no request of specific access technology
         * @see ISO/CD 24102-5 Clause 8.2.4 Groupcast communication management
         */
        modulepar GCsched PX_GSCHED_NONIP := {
            medium := 1, // FIXME TTwb does not generate MedType_any_
@@ -119,6 +122,9 @@ module LibItsFsap_Pixits {
            gcInterval := 1
        } // End of modulepar PX_GSCHED_NONIP
        
        /**
         * @desc    TODO
         */
        modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE := {
            fill := '0000000'B, 
            datareg := {
@@ -131,6 +137,9 @@ module LibItsFsap_Pixits {
            } // End of field 'datareg'
        } // End of modulepar PX_SERVICE_DATA_REG_WITH_NO_SESSION_PHASE
        
        /**
         * @desc    TODO
         */
        modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_SESSION_PHASE := {
            fill := '0000000'B, 
            datareg := {
@@ -143,6 +152,21 @@ module LibItsFsap_Pixits {
            } // End of field 'datareg'
        } // End of modulepar PX_SERVICE_DATA_REG_WITH_SESSION_PHASE
        
        /**
         * @desc    TODO
         */
        modulepar ServiceDataReg PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANGE_CHANNEL := {
            fill := '0000000'B, 
            datareg := {
                nonipData := {
                    serviceID := PX_ITS_AID, 
                    timeout_ := 100,
                    serviceData := ''O,
                    providerPort := PX_SESSION_PORT
                } // End of field 'nonipData'
            } // End of field 'datareg'
        } // End of modulepar PX_SERVICE_DATA_REG_WITH_SESSION_PHASE_AND_CHANGE_CHANNEL
        
    } // End of group CRegServer
    
    /**
+6 −10
Original line number Diff line number Diff line
@@ -60,8 +60,8 @@ module LibItsFsap_Templates {
            } // End of template m_fsapInitialize
            
            /**
             * @desc    TODO
             * @param   p_mfRequestReq TODO
             * @desc    Send template to generate a COMMAND.request primitive
             * @param   p_mfRequestReq Command issued by the ITS-S facilities layer and sent to the ITS-S management entity via the MF-SAP
             */
            template (value) UtCommandRequest m_generateMFRequestReq( 
                in template (value) MF_Request_request p_mfRequestReq 
@@ -315,16 +315,12 @@ module LibItsFsap_Templates {
                    } // End of header 'mfCmd'
                } // End of template mw_mfCommand_gCctx 
                
                template (present) SAMserviceData mw_samDataServercice_any := { 
                    fill := ?, 
                    servData := ? 
                } // End of template mw_samDataServercice_any 
                
                template (present) SAMserviceData mdw_samDataServerciceWithAccessTechAndNonIP( 
                template (present) SAMserviceData mw_samDataServerciceWithAccessTechAndNonIP( 
                    in template (present) ITSaid p_serviceID, 
                    in template (present) ServiceData p_serviceData, 
                    in template (present) PortNumber p_providerPort 
                ) modifies mw_samDataServercice_any := { 
                ) := { 
                    fill := ?, 
                    servData := { 
                        nonipService := { 
                            serviceID := p_serviceID, 
@@ -332,7 +328,7 @@ module LibItsFsap_Templates {
                            providerPort := p_providerPort 
                        } // End of field 'nonipService'
                    } // End of field 'servData'
                } // End of template mdw_samDataServerciceWithAccessTechAndNonIP
                } // End of template mw_samDataServerciceWithAccessTechAndNonIP
                
                template (present) CTXserviceData mw_ctxDataServercice_any := {
                    fill := ?,
+0 −4
Original line number Diff line number Diff line
@@ -7,10 +7,6 @@
module LibItsFsap_TypesAndValues {
    
    // LibIts
//    import from CALMiitsscu language "ASN.1:1997" { 
//        type 
//            IIC_Request, IIC_Response 
//    }; 
    import from CALMmsap language "ASN.1:1997" {
        type
            MF_Request_request 
+5 −6
Original line number Diff line number Diff line
@@ -211,12 +211,11 @@ module LibItsIicp_Functions {
         * @verdict Set to fail on unknown message
         */
        altstep a_iicpDefault() runs on ItsMgt {
            // FIXME To be removed if we have not to check remote command request
//            [] iicpPort.receive(mw_iicpReq(mw_iicpRequest_any)) { // Receive any IIC-Request message
//                log("*** a_iicpDefault: INFO: Remote IIC-Request command service primitive received in default ***");
//                repeat;
//            }
            [] iicpPort.receive(mw_iicpResp(mw_iicpResponse_any)) { // Receive any IIC-Response message
            [] iicpPort.receive(mw_iicpRequest(mw_iicpRequest_any)) { // Receive any IIC-Request message
                log("*** a_iicpDefault: INFO: Remote IIC-Request command service primitive received in default ***");
                repeat;
            }
            [] iicpPort.receive(mw_iicpResponse(mw_iicpResponse_any)) { // Receive any IIC-Response message
                log("*** a_iicpDefault: INFO: Remote IIC-Response command service primitive received in default ***");
                repeat;
            }
Loading