Testingof switch nodewith Call Generator software module
BostjanVlaovic, ZmagoBrezocnikFacultyof ElectricalEngineeringandComputerScience,Universityof Maribor
Smetanovaul. 17,SI-2000Maribor, Sloveniae-mail:
�bostjan.vlaovic,brezocnik � @uni-mb.si
Abstract
This paper introducesdevelopmentof software for theIskraTEL’s switch nodeSI2000V5 — MLB module. ASoftwareCall Generatormodule(CG) hasbeendevelopedfor easyandthoroughtestingof softwaredevelopers’pro-gramcode.Until now, developershadto useexternaltest-ing equipment.Therearenot enoughtestmachinesfor ev-erydeveloperto use,dueto theirhighcost.They arein thehandsof validationandtestingpersonnelmostof thetime.
Oneof the objectiveswasalsogeographicalindepen-denceof CG users.CG canbeusedfrom any placein theworld. Theonly requirementis Ethernetconnectivity withthe switchnodethat we want to test. This enablestestingof alreadyinstalledswitchnodesin Russia,Turkey, etc.Weare not limited to testingareasin the company. CG canbe alsosuccessfullyusedby the servicedepartment.AnyWWW browser can be usedfor the user interface. Thiswayoperatingsystemindependenceis guaranteed.Thepa-perpresentsplanninganddevelopmentof CGanda practi-cal illustrationof its use.
Key words: telecommunications,testing, SI2000, SDL,call generator, switchnode
Introduction
Bell’s invention of the telephonein 1876 had one of thegreatestimpactsonmankind.Sincethentelephonenetworkhasbeengrowingeachyear. Nowadaysnearlyabillion tele-phonesexist worldwide, reliably enablingcommunicationfrom nearlyany point on earthwith any otherpoint. In thelast decadewe arewitnessinga hugegrowth in telecom-municationsmarket, mostly dueto the deploymentof In-ternet.Verydemandingmarketsexpecttelecommunicationcompaniesto developandimplementall new technologiesin the shortestpossibletime. Thereforedevelopmentandimplementationof new technologieswereshortenedin thepastyearsconsiderably. A very importantpartof everyde-velopmentis validationandtesting.
Validation is a systematicevaluationof productfunc-tionality throughits developmentprocess[1]. Reviewsandtestsareperformedat eachphaseof thedevelopmentpro-cess.To ensurethattheproductrequirementsarecomplete
and testable,testabilityshouldbe reviewed at the earlieststagepossible.The two major typesof validationactivityare:
1. Reviews: Reviews include “walkthroughs”and areactuallya form of inspection,ratherthantesting.Re-viewsincludereviewsof documentationto makesurethatthedocumentationwill supportoperation,main-tenanceandfutureenhancements.
2. Testing: Unit testing,progressive levels of integra-tion testing,validationtestingandacceptancetestingeachserve a differentpurpose. Weaknessesin anytestingphasewill compromisethe integrity of vali-dationandacceptancetests.
We will focuson testingof a new softwarefunctional-ity in theearlieststagesof its development.Ourgoalwastoenabletestingto everydeveloper. Althoughmodernswitchnodesarebasicallycomputers,mostof the testingis stilldonewith ablackboxapproach.Testersusuallyuseexpen-siveexternaltestequipment.
CG softwaremoduleintroducesa differentapproachtotestingof switch nodes.It cannot fully replaceothertestmethods,but it providesacheap,quickandreliabletesten-vironmentfor thedeveloperof softwarecode.
First we will take a quick look at digital switchingsys-tem SI2000V5. That will give us enoughunderstandingaboutthe basicconceptsandbuilding blocksof the hard-wareandsoftware. After this introductionwe will explainhow andwhy wedecidedto implementCGthewaywedid.In thefinal sectionof thepaperwe will provide a practicalexampleof its usethrougha real-lifesituation.
Digital switching system SI2000
IskraTELd.o.o. is thecompany for development,market-ing, planning,manufacturing,installationandservicingoftelecommunicationsystems.It wasformedin 1989with thecapital from Sloveneinvestorsand the GermancompanySiemensAG [2] andis thelargestSloveniantelecommuni-cationscompany. Thenew generationof its digital switch-ing systemis calledSI2000V5. It is a digital switchingsystemwith a few hundredto severalthousandsof ports.It
SAx /SBx
12
201 3
TPx
CLB
HDD
CDx
CVx
KLB
PLB
Ubat 52 MLB
Ethernet / RS232
4
6
SBx - Basic Rate Access Subscriber Unit, version x
TPx - Symmetrical Primary Rate Access Interface, version x
MLB - Line Module, version B
PLB - Power and RC unit, version B
KLB - Measurement unit, version B
CLB - Line Module Controller, version B
SAx - Analog Subscriber Unit, version x
CVx - VME processor unit 1 - Internal communication links2 - Ringing
4 - Fan control
HDD - Hard Disk Drive
6 - Fan unit + filter5 - Power supply
CDx - Communications Controller, version x
12x2MbitA
Ethernet / RS232 - Local connection for operation and maintenance
A - Interface for 2Mb/s link in compliance with ITU-T G.703 and G.704
3 - Subscriber / trunk lines
Ubat - Battery feeding (48V)
Figure1: Line Module
is an advancedmodularsystemthat offers basicfunction-ality as well as a rich rangeof servicesincluding ISDN,signallingNo. 7, Centrex, ATM, IP, etc.SinceCGsoftwaremoduleis developedonly for analogsubscriberline1 test-ing, thepaperwill focusonMLB (Line ModuleVersionB)(Fig. 1) with SAx (AnalogSubscriberUnit Versionx).
TheMLB makesthecoreof theaccessnode(AN). Thetaskof MLB is to connectanalogsubscribers,ISDN termi-nalsandnetwork transmissionpaths[3]. The line moduleperformsthe tasksof anaccessnetwork, includingthede-tectionof calls,subscriberringingandperformanceof mea-surements.Sub-rackconfigurationof MLB consistsof me-chanicalparts,a backpanelandplug-in units (PLB, CLB,SAx andSBx)(Fig. 1). The backpanelhas24 slots. Thefirst two slotsarereservedfor CLB, thesecondtwo for PLBandtheremainingpositionsfor 20peripheralunits.All con-nectorsexcepttheCLB connectorareidentical. Thereforethe layout of the units in the systemsub-rackis optional.The CLB is the basicplug-in unit of the line module. ItincorporatesTPx, CVx, CDx, HDD (Fig. 1). Symmetri-calPrimaryRateAccessInterface(TPx)unit providescon-nectionto the digital network (ISDN primary rateaccess(PRA), V5.2i interfaces).For betterunderstandingof thispaperwe only needto understandthe functionsof CVx,
CDx andSAx. CVx is connectedto individual functionalgroupsof CLB via an adaptercontainingVME (VirtualMemoryExtender)anda local bus. CVx performsthefol-lowing accessnodefunctions:
� controlsandmonitorsMLB,
� provides2 Mb/s links for theconnectionto thecen-tral module,
� controlsthe switchingnetwork and is connectedtoperipheralunitsvia seriallinks,
� all applicationsrun in the pSOS+(Plug-in SiliconOperatingSystem)providing the correctschedulingof tasksto thevariouscalls,
� communication with local managementterminal(MT) via anRS232or Ethernetbus,
� control of harddisk via the SCSI(Small ComputerStandardInterface).
CDx is usedfor scanninganalogsubscribers,sendingtonesto theuserin theeventof congestion,V5.2i or switchnode (SN) failure, for super-frame synchronisation,pro-cessingof conferencecalls and data communicationus-ing theHigh-level DataLink Control(HDLC) protocol(32
1Thesameprinciplecanbeusedfor thedevelopmentof CGfor SBx(BasicRateAccessISDN SubscriberUnit).
��������������������
��������������������
�������� ��
��������
����
Signalization
Call Generator software module Channel AssociatedSignaling
Channel AssociatedSignaling
Drivers
Signaling
I/O module
Access module
Control module
CVx-S
CDx-S
(CVx-S part) (CVx-S part)
(CDx-S part)(CDx-S part)Call Generator software module
A B
7
8
2
639
54
11
10
1
Figure2: Softwarehierarchy of SI2000andanalogsubscribersignalpath.
Digital SubscriberSignallingSystemNo. 1 (DSS1)con-trollers).
Peripheralunitsareinsertedin theMLB sub-rackstart-ing from the left to the right after the central units. Inthemodule20 slotsareavailablefor theperipheralplug-inunits. They are connectedin a form of a star, thus min-imizing the mutual influenceamongthe plug-in units andallowing plug-in unit replacementundervoltage. The in-terfaceoneachperipheralunit usedfor theconnectionwithCLB hasthefollowing characteristics:
� 16Mb/s transmissionrate,
� bidirectional4-wire transfer(clock, frame, bus up,busdown),
� 8-bit databus,
� protocolon thebusis of master-slave type.
Theperipheralunit SAx servesfor two-wire (a/b)con-nectionof analogterminals.Thereare32analogsubscriberline circuitsontheplug-inunit. Theunit hasbeendesignedfor theapplicationin publicsystems.
SI2000 software distribution
The core of the modernswitching systemis its softwarecode.It providesthefunctionality, controlandmanagementfor thesystem.Softwareis dividedin systemandapplica-tion part.Thefollowing SI2000systemsoftwareis usedbyCG:
� pSOS+real-timeoperatingsystem,
� TCP/IPprotocolstack,
� Real-timedatabasemanagementsystem(RTDBMS)[4] thatincludes:
– mechanismsproviding the applicationssoft-ware with the possibility of accessingthedatabase,
– SQL(StructuredQueryLanguage)server.
Thesystemsoftwareis executedin realtime. Thismeansitrespondsto theeventsin theenvironmentin thepredefinedtimes. Theexecutionof softwarecodeis dividedbetweenCVx andCDx modules.Fig. 2 describessoftwarehierar-chy of SI2000switchingsystem. We decidedto put CGcodeon bothpartsof thesystem.TheCVx-S2 partwill doall themanagementandcontrol,haveaccessto thedatabaseandprovide accessto harddisk. Becausewe wantto coverasmuchapplicationsoftwarewith our testmoduleaspos-sible andwe don’t want to changeany existing software,generationof calls(generationof call signalling)shouldbedoneascloseto theusualorigin of call signallingaspossi-ble. As youcanseein Fig. 2 telephonelinesareconnectedto CDx partof switchnode.That is why partof CG natu-rally belongsin theCDx-S.Analogsubscribersignalpathfor simplecall from port A to port B is shown in MSC [5]diagramin Fig. 3.
2Softwarecodethatis in theCVx-S is actuallyprocessedwith theCVx module.TheCDx-Sincludescodethatis processedwith CDx module.
T
T
A B
Calling B
drivers CDA/CAS CVA/CAS A&C
Bus/Channel/Calling B
Grouped requestsCall information
Bus/Channel seizureBus/Channel Ring
Bus/Channel RingRing tone
AnswerBus/Channel Answer
Grouped requests
Call information
Figure3: SimplifiedMSCdiagramof telephonecall from portA to portB.
If we wantedCG to work, we had to sendall signalsfrom low level driver to it (signalroute10 — Fig. 2). Ad-ditionally wehadto copy all signalsthatwerecomingfromtheControl&Accessmodules(signalroute5 to signalroute10— Fig. 2). Thiswasaccomplishedwith a minorchangein thedriver code.With all neededinformationat our dis-posalwewereableto write CGthatcansimulateincomingcalls, interceptall outgoingactionsandconnectthetwo ormore,in thecaseof conferencecall, portsthatwe want totest. Codeis written in SpecificationandDescriptionLan-guage(SDL) [6, 7, 8, 9].
Call Generator software module
CG consistsof two mainparts:themanagementpart(CG-man)andthe call generationpart (CGcg). Our chosenar-chitecturehadto provide:
� controlof CGthroughTCP/IPnetwork,
� testscenarioin thedatabase,
� SQLdatabasecontroloverTCP/IPnetwork,
� minorchangesin existingsoftwarecode,
� a low microprocessorload.
If wewantedto useTCP/IPfunctionalityanddatabasecon-nectivity, we hadto put managementpartof CG (CGman)on CVx-S, sinceCDx-S doesnot have accessto the harddisk. CGmanis one SDL process. It can readtest sce-nario from the database,packageandsendall the neededinformation to the CGcg, receive call statusinformationfrom every test telephoneprocess(TT) and manageCG.CGcgpart is locatedon CDx-S sideand includesa man-agementprocess(TTman)andany numberof testtelephoneprocesses(TT). TTmanreceivessignalsfrom CGmanandswitch nodedriver. It checksthe received packet header,
findsthedestinationTT andforwardsreceivedinformation.Groupingof call signallingfor TTs is alsoits job. TTs areindividual and independententities,just like regular tele-phonesthatareconnectedto theswitchnode.TT cansim-ulateall analogtelephonesignalsthat would normally begeneratedby thedriver. TTmanforwardsall TT’ssignalstotheCAS (CVx-S part)every 4 ms(T in Fig. 4). Groupingof signalsminimizesthesystemload. It is usuallydoneinCAS (CDx-Spart). We wantedto keepmodificationof theexisting softwareto theminimum. Hencewe decidedthatCGwill dogroupingof signalsfor thevirtual telephones.Itdoesit in thesamewayasCAS(CDx-Spart).CAS(CVx-Spart) that receivesgroupedsignalsdoesnot noticethedif-ferencebetweenthetwo. Fig. 4 shows a signalpathin thecaseof call generationwith theCG. If you compareFig. 3and4, you will notice the describeddifferences.CG testscenariois locatedin thedatabase.CG usesthreedatabasetables.Thefirst tableis usedfor theCGmanagementinfor-mation,thesecondholdsdatathatdefinesTTsandthethirdincludesactionsfor every TT. Most of databaserecordswill be explainedthroughthe practicalexamplebasedontwo virtual telephones.TT-A will be calling TT-B. Let usassumethat telephonenumberof TT-B is 2354. CG userfirst hasto prepareSQL3 entriesthat describethe generalbehaviour of CG. This informationis storedin thefirst ta-ble. Theusercansetstartandstopdate/timefor thegiventestscenario. If the userchoosesto repeatthe samesce-narioany numberof times,he/shecansettherestartperiod.For eachrestartof scenariowe canwrite traffic datato theharddisk. At this point we canalsoresettraffic data.Thatway we canrepeatthe sameactionsany numberof timesandcomparethe storedresultsduring the analysisphase.For greaterflexibility of testscenariowedecidedto useourown time unit (action pause unit). Thatway we canchangetimings of scenariovery quickly. The remainingtwo recordskeepinformation aboutthe numberof startsof CG and the date/timeof the last start. We needthis
3For communicationoverTCP/IPweuseirtsql thatis partof theSI2000systemsoftware.
Test telephoneprocess instance
Test telephoneprocess instance
T
T
Create
Create
CG/CDA
Bus/Channel/Calling B
A
B
Grouped requests
drivers
Bus/Channel RingBus/Channel Ring
Ring tone
CDA/CAS CVA/CAS A&C
Bus/Channel Ring
Grouped requests
Bus/Channel Answer
Call information
Bus/Channel seizure
Call information
Figure4: SimplifiedMSCdiagramof telephonecall from portA to portB whenusingCall Generator.
information for the easierproblemlocation if somethinggoeswrongandswitchnodehasto bereset.If we want tocontrolCG in real time, we canuseTCP/IPnetwork, too.Switchnode’ssystemsoftwaresupportsCommonGatewayInterface (CGI). Through CGI we can control the start-ing/stoppingof CG, resettraffic dataandrefreshCG datafrom thedatabase.
Figure5: WWW browserinterfaceto CGcontrol.
The next step is setup of virtual telephones. EachTT is identified by its (bus, channel) number pair.Call duration is usedfor arbitrary interruptsof callin progress(i.e. betweenthe group of signalsthat rep-resentsdialled zero). To simulaterandombehaviour ofTTs, we introducedadditional variables. The first pair(call duration h, call duration l) representstheupperandlowerlimit for thedurationof call. To beableto definecallswith randombehaviour in moredetailwe in-troducedanothertwo pairs. The first representsthe upperandlowerlimit for therandomgenerationof pausebetweendialling (short pause h, short pause l). The
secondoneis usedfor thegenerationof randomtimelengthfor “conversation” (long pause h, long pause l).For every TT we keep track of all outgoing and in-coming calls (num out calls, num succ dials,num in calls, num acc calls). EachTT canactasthesourceof acall — it candial otherTTs— or answeranincomingcall. In thelastdatabasetableausercandescribebehaviour of eachTT for the outgoing (out action,out pause) and incoming (in action, in pause)calls. Eachsetof actionsis identifiedby tt id. For thenormaloperationof TTsweneed21actions(Table1).
Table1: Actionsfor TT control.
No. Code Action1-10 0-9 numbersfrom 1 to 1011 11 *12 12 #13 33 RR14 20 off-hook15 30 on-hook16 40 GNDon17 50 GNDoff18 66 endof selection19 99 endof scenario20 80 nooperation(NOP)21 100 wait for ring
We will focuson thetablethatdescribesTT’s actions.Ta-ble 2 shows the neededentriesin actionstable to placeacall from TT-A (tt id=1) to TT-B (tt id=2).
As you probablynoticedTT-A won’t acceptincomingcalls, sinceits first in action is 99 (end of scenario).Its missionis to call TT-B, “talks” with it for 1500units
Figure6: Traffic resultsof individualTTs in theWWW browserwindow.
(action pause unit4) and repeatthe procedureafter200 units of pause.Action endof selectionhelpsus withthecall statustracing.Theothertesttelephone(TT-B) willbeonly acceptingincomingcalls. Its first actiontells it toacceptevery incomingcall aftertwo rings.
Table2: Scenariofor call from TT-A to TT-B.
tt id No. in action in pause out action out pause1 1 99 NULL 20 3001 2 NULL NULL 2 1001 3 NULL NULL 3 1001 4 NULL NULL 5 1001 5 NULL NULL 4 1001 6 NULL NULL 66 15001 7 NULL NULL 30 1001 8 NULL NULL 99 1002 1 100 2 99 NULL2 2 20 500 NULL NULL2 3 30 100 NULL NULL2 4 99 300 NULL NULL
In this commandwe madean exceptionandin pausedoesnot representtime units. Thereis alsoanothersimi-lar exception.If a userchoosesto userandomlygeneratedcalls, he/shecanusereserved numbersto tell that to CG.Number0 will generatea pausein the limits definedbyshort pause pair andnumber1 will chooserandomlygeneratednumberin the limits of long pause pair. Wewill notbeusingrandomlygeneratednumbersin ourexam-ple. After TT-B “picks up” thephone,it waitsor “talk” totheTT-A for 500time units. It is ableto receive new calls400unitsaftercall termination.This is thesimplestexam-pleavailable.With thisdesigntheuseris not limited by CGin any way. He/shecandescribeany realsituation.With themid-call termination(call duration) he/shecansimu-lateother, unexpectedproblemsandtesttheswitchnode’sresponse.
Whentheswitchnodeis resetor databasetablesarere-freshed,CGmanreadsthe informationfrom the database,packagesit in smallpacketsandtransmitsit to theTTmanwith a simple handshake protocol. TTman evaluatesre-ceived dataandcreatesdescribedTTs. In our exampleitwouldcreatetwo TTs(TT-A andTT-B). EachTT storesitsown actionsandbecomesan independentfunctionalunit.Every TT statuschangeis reportedto CGman. It stores
all statisticalinformationaboutevery TT’s action. A usercanview the resultson-line with his/herfavourite WWWbrowser(Fig. 6) or checkrecordsin thedatabase.On-lineuserinterfacealsokeepstrackof cumulativestatistics(Fig.7), sousercanquickly noticeunexpectedbehaviour.
Every TT’s actionis forwardedto TTman. It storesallactionsfor theperiodof 4 ms.This is alsothesmallesttimeunit for any actionto be performedin the real time envi-ronment.TTmanpacksall receivedactionsin a predefinedpacketwhich is in 4 mstime intervalssentto CAS(CVA-Spart).At thispointwewould like to emphasisethatnoneofthe portsthatarenot partof the testscenarioareeffected.Driver andTTmanperformtheir packagingindependentlyand in parallel. All otherports canbe usedwhile CG isworking. Even the testedportscanbe used,sinceswitchnodeis not awareof CGsexistence. If you connecttele-phonesto thesameportsasin thetestscenario(TT-A, TT-B), the telephoneconnectedto thesameport asTT-B willbe actuallyringing. Whenthe scenariodefinesthat TT-AandTT-B arein “conversation”,userscanpick up therealtelephonesandtalk to eachother— thereforetheconnec-tion is notvirtual, it is trueconnectionandall switchnode’ssoftwareandhardwareis involvedin thesameway aswithexternaltestingdevices.Theonly hardwarepartof SN thatcannot betestedis thetelephone-SNconnectionsincethecallsaregeneratedinsidetheSN.Anotherpitfall comparedto external testingdevices is line statuschecking. Exter-nal testingdevicescancheckif thecorrectportshave beenconnected.Usually they usea setof fixed frequenciestodo that. Themodularorganisationof SI2000V5 providesuswith meansto do line checkingtoo,but sincethiswouldrequireadditionalchangesof theexisting software,we de-cided to implementthis functionality at a later time if itproofsto benecessary.
When Control&Access modules seize the requiredchannelsandsendring signal to TT-B throughCAS pro-cessesanddriver, all signalsarecopiedto TTman.It filtersthereceivedsignalsandchecksif they aredestinedfor anyof the TTs. If the signal is found to belongto oneof theTTs, TTmanforwardsit to the TT in question. All othersignalsaredischarged.This is how CG works.Most of thecodeis written in SDL. Whenfeatures(CGI, databaseac-cess,etc.) werenot possibleto realizein SDL, we wroteC
4Usercandefineaction pause unit in 1 msincrements.
Figure7: CGsetupinformationandcumulative traffic results.
programsandincludedthemasADT (AbstractDataType)[10] operators.
Conclusion
Basicallytherearetwo accessionsto theCG use.Thefirstoneenablesthe userto programtheCG to startits testingsometime in the future. CG canbe setto starttheexecu-tion of scenarioany date/timein the future. It canwork,for example,from 10 pm to 5 amwhenmostof thepeoplearenot working. A usercanchecktestresultswhenhe/shecomesto work. This kind of testsis preferredwhenuserhasto repeatthe samescenariomany times to verify thecorrectnessandconsistency of its code.But thereis alsoaneedfor a quick testto beperformed.This is usuallyverypracticaland useful in the earlieststagesof the softwaredevelopmentcycle. Quick changesin thedatabaseandon-line restartof CG througha favouriteWWW browsercov-ers this kind of tests. The first commentsfrom CG usersareverypositive. They saidthatit is verypracticalandeas-ier to learncomparedto externaltestingequipment.Theydon’t have to setupcomplicatedconfigurationswith a lotof externalcablesto connectthe unit, sinceCG is part ofSN. A developerdoesnot have to leave its office, becauseall workstationsandtestSN areconnectedwith Ethernet.That saveshim/hera lot of time andinconveniences.Be-fore CG implementationhe/shehadto go on theothersideof thebuilding, log to thelocal terminal,setuptheSN andexternaltestequipmentandperformtestsin noisyenviron-ment(SNscanbereallynoisybecauseof thelargenumberof fans). We canassumethat this approachwill thereforestimulatedevelopersto testtheirdevelopingproductsmoreoften. Hopefully testingin earlieststageswill becometheusualpractice.If theresultof CGusewill beabetterprod-uctandshorterdevelopmenttime,ourgoalwill beachievedentirely.
References
[1] Softwarevalidationprocess.URL: � http://www.bpr9000.com/validation.html/� .
[2] IskraTEL1998.Iskratelannualreport,1998.
[3] IskraTEL1997. SI2000Digital Switching System—User manual, Systemdescription. IskraTEL d.o.o,Kranj, Slovenija.
[4] Mirko Saranovic and Tomaz Mohoric. Real timedatabase(Only in Slovene). IskraTEL d.o.o,Kranj,Slovenija.
[5] ITU-T RecommendationZ.120. CCITT MessageSe-quenceChart(MSC), 1996. SeriesZ: ProgrammingLanguages.
[6] JanEllsberger, DieterHogrefe,andAmardeoSarma.SDLFormalObject-orientedLanguagefor Communi-catingSystems. PrenticeHall Europe,1997.
[7] ITU-T RecommendationZ.100. CCITT specificationanddescriptionlanguage(SDL), 1993.SeriesZ: Pro-grammingLanguages.
[8] ITU-T RecommendationZ.100AnnexesCandD. Ini-tial algebramodel and SDL predefineddata, 1993.SeriesZ: ProgrammingLanguages,SpecificationandDescriptionLanguage(SDL).
[9] ITU-T RecommendationZ.100 AppendicesI andII. SDL methodologyguidelines,SDL bibliography,1993. SeriesZ: ProgrammingLanguages,Specifica-tion andDescriptionLanguage(SDL).
[10] FerencBelina,DieterHogrefe,andAmardeoSarma.SDL with Applicationsfrom Protocol Specification.PrenticeHall International(UK) Ltd., 1991.