<strong>CCSDS</strong> HISTORICAL DOCUMENTRECOMMENDATION FOR ADVANCED ORBITING SYSTEMStype SNSAP is Bit, Booleansorts SNSAPopns NullSNSAP : -> SNSAPAdd: Bit, SNSAP -> SNSAP_Eq_, _Ne_ : SNSAP, SNSAP -> Booleqnsforall b1, b2 : Bit, SNSAP1, SNSAP2 : SNSAPofsort BoolNullSNSAP Eq NullSNSAP = True ;NullSNSAP Eq Add(b1, SNSAP1) = False ;Add(b1, SNSAP1) Eq NullSNSAP = False ;Add(b1, SNSAP1) Eq Add(b2, SNSAP2) =(b1 Eq b2) And (SNSAP1 Eq SNSAP2) ;SNSAP1 Ne SNSAP2 = Not(SNSAP1 Eq SNSAP2) ;endtype<strong>CCSDS</strong> 705.2-B-1 Page 2-9 May 1994<strong>CCSDS</strong> HISTORICAL DOCUMENT
2.3 THE BEHAVIOURRECOMMENDATION FOR ADVANCED ORBITING SYSTEMSIn the following description, a value of all zeroes for the initial PacketSequence Count is chosenfor convenience only. An implementation may choose to initialise this count with some othervalue.behaviourPathProtocol [pkt,oct,man,snw] (packetType, dataLossFlag)where<strong>CCSDS</strong> HISTORICAL DOCUMENTprocess PathProtocol [pkt,oct,man,snw] (packetType : PacketType,dataLossFlag : Bool) : noexit :=((man ? pathID : PathId? pathServiceType : Service? maxSDULength : Nat? onwardRelayingTable : RelayingTable ;(PathOriginator [pkt, oct, snw](pathServiceType,pathID,PacketSequenceCount(0,0,0,0,0,0,0,0,0,0,0,0,0,0),packetType,maxSDULength,onwardRelayingTable)|||PathProtocol [pkt,oct,man,snw] (packetType, dataLossFlag)))[](man ? pathID : PathId? maxSDULength : Nat? subnetID : SubnetID? SNSAP : SNSAP? localTerminationFlag : Bool? terminatingPathServiceType : Service? onwardRelayingTable : RelayingTable ;(PathRelayer [pkt, oct, snw](terminatingPathServiceType,pathID,localTerminationFlag,onwardRelayingTable,subnetID,SNSAP,maxSDULength,dataLossFlag)|||PathProtocol [pkt,oct,man,snw] (packetType, dataLossFlag))))endproc PathProtocol<strong>CCSDS</strong> 705.2-B-1 Page 2-10 May 1994<strong>CCSDS</strong> HISTORICAL DOCUMENT