prototype and test environment for atcs data...

6
TRANSPORTATION RESEARCH RECORD 1314 63 Prototype and Test Environment for ATCS Data Communications DOROTHY A. COLBURN Advanced Train Control Systems (ATCS) are distributed com- mand, control, and communications systems th at also provide an infrastructure usable for train control and numerous ancillary appli ca tions. A cru cial stage in ATCS devel op ment is the veri - fi cation of th e l og ic that all ows applications to acces thi s infra- structure. T he communi cation protoco ls used to co nn ect appli- cations in di ffe re nt physi ca l components are de cribed in ATCS Speci fic ati on 200 whi ch represe nt s the protocols as finite state machines using CClTT Reco mmendation Z.101 notation. Th ese state machine represe nt atio ns are converted int o a statech art representation in a computer-a id ed sofr ware engin ee ring (CASE) tool. This tool si mul ates th e protocol operations and generat es an ADA prototype of the protocols. The communications be- tween appli cat ion · within a physi cal ATCS compone nt are not standardized. Fo r prototyping purpose , however, th ese co m- muni ca tio ns have been modeled as a software bus. The software bus allows appli ca ti on to communica te with th e proto type of the proto co l stack , prov iding an integrated e nvironmen t in which the int eracti ons of appli ca 1ions, the protocols, and the bu may all be examin ed and monito red. Th e prototype code ge nerated by the CASE tool is suppl emen ted by ADA code devel oped to sim- ulate even ts that would occur within the in teractions of the com- muni ca ti on protoco l. Th e interdependency of the software bus, th e CASE-generated ADA code and the progra mmer-developed ADA code provide an environme nt for meaningfu l prototyping and tes ting of th e access logic, as well as th e co mmun ica ti ons protocols. ln stance of thi s prototype may be connected through a network e mul ator fo r use in further tes ting and prototyping th e ATCS communications architecture. Advanced Train Control Systems (ATCS) are a joint U.S.- Canadian endeavor focused on increasing railroad efficiency and service performance. ATCS computers will automatically monitor and control train traffic, allowing railroads to im- prove service while reducing costs through more precise man- agement of resources (i.e., people, capital equipment, and fuel). During the last decade, the ATCS program has evolved from the determination of requirements through the identi- fication of required components and the writing of perfor- mance specifications, to the development of procedures for testing components and complete systems. The A TCS data communications system structure is based on the International Standards Organization's Open Systems Interconnect (OSI) Reference Model (1). This seven-layer protocol model was selected to define the points of intercon- nection between systems. Figure 1 shows the relationship be- tween the OSI model and the ATCS communications archi- tecture for communications between a dispatch center and a locomotive computer. ARINC Research Corporat i on, 2551 Riva Road, Ann apolis , Md . 21401. The ATCS seven-layer architecture can be divided into two subsystems: the lower layer protocols (LLP) and the upper layer protocols (ULP). The LLP provide for the switching and routing of information, media access control, synchro- nization, framing, error detection and recovery, and the actual movement of the bits across a transmission medium. The ULP provide data formatting and identification, interaction be- tween applications, and end-to-end data integrity and quality of service. TESTING THE ATCS DATA COMMUNICATIONS SYSTEM The communications components of ATCS provide function- ality within the lower three layers of the data communications system protocol. These are the mobile communications pack- age, base communications package, front-end processor, and cluster controller. All seven layers of the protocol are imple- mented within the end-user computer system. To test the functionalities of the lower layer communica- tions components, a communications interoperability tester (CIT) was developed. This test system, written in the ADA programming language, allows for a stimulus-response, script- based-type testing of the four A TCS communications com- ponents in a simulation environment. According to ATCS Specification 210, "A central objective of A TCS is to ensure safe train movements and track occu- pancies which avoid physical conflict, and other operational hazards of similar magnitude." To ensure that the imple- mented ATCS will meet this objective, development of a simulation model of an ATCS is imperative. As a subset of simulating an entire ATCS, a working prototype of the com- munications protocols is being developed. SELECTION OF A PROTOTYPE MODEL Some of the advantages of building a prototype are discov- ering design problems early, spotting system interface prob- lems from the start, and using the prototype to experiment with how proposed enhancements and modifications will af- fect the system (2). Fundamental to the success of a prototype is the ability to develop a good model of the system. As Hoover and Perry have pointed out, "Models are not true or false, but rather they are useful and appropriate for the analysis at hand" (3). The type of model required for the simulation of the ULP must have the following characteristics: descriptive , discrete,

Upload: others

Post on 13-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prototype and Test Environment for ATCS Data Communicationsonlinepubs.trb.org/Onlinepubs/trr/1991/1314/1314-011.pdf · Prototype and Test Environment for ATCS Data Communications

TRANSPORTATION RESEARCH RECORD 1314 63

Prototype and Test Environment for ATCS Data Communications

DOROTHY A. COLBURN

Advanced Train Control Systems (ATCS) are distributed com­mand, control, and communications systems that also provide an infrastructure usable for train control and numerous ancillary applications. A crucial stage in ATCS development is the veri­fication of the logic that allows applications to acces this infra­structure. The communication protocols used to connect appli­cations in different physical components are de cribed in ATCS Specification 200 which represents the protocols as finite state machines using CClTT Recommendation Z.101 notation. These state machine representations are converted into a statechart representation in a computer-aided sofrware enginee ring (CASE) tool. This tool simulates the protocol operations and generates an ADA prototype of the protocols. The communications be­tween application · within a physical ATCS component are not standardized. For prototyping purpose , however, these com­munications have been modeled as a software bus. The software bus allows application to communicate with the prototype of the protocol stack, providing an integrated environment in which the interactions of applica1ions, the protocols, and the bu may all be examined and monitored. The prototype code generated by the CASE tool is supplemented by ADA code developed to sim­ulate events that would occur within the interactions of the com­munication protocol. The interdependency of the software bus, the CASE-generated ADA code and the programmer-developed ADA code provide an environment for meaningful prototyping and testing of the access logic, as well as the communications protocols. lnstance of this prototype may be connected through a network emulator for use in further testing and prototyping the ATCS communications architecture.

Advanced Train Control Systems (ATCS) are a joint U.S.­Canadian endeavor focused on increasing railroad efficiency and service performance . ATCS computers will automatically monitor and control train traffic, allowing railroads to im­prove service while reducing costs through more precise man­agement of resources (i.e., people, capital equipment, and fuel). During the last decade, the ATCS program has evolved from the determination of requirements through the identi­fication of required components and the writing of perfor­mance specifications, to the development of procedures for testing components and complete systems.

The A TCS data communications system structure is based on the International Standards Organization's Open Systems Interconnect (OSI) Reference Model (1). This seven-layer protocol model was selected to define the points of intercon­nection between systems . Figure 1 shows the relationship be­tween the OSI model and the ATCS communications archi­tecture for communications between a dispatch center and a locomotive computer.

ARINC Research Corporation, 2551 Riva Road, Annapolis , Md. 21401.

The ATCS seven-layer architecture can be divided into two subsystems: the lower layer protocols (LLP) and the upper layer protocols (ULP). The LLP provide for the switching and routing of information, media access control, synchro­nization, framing, error detection and recovery, and the actual movement of the bits across a transmission medium. The ULP provide data formatting and identification, interaction be­tween applications, and end-to-end data integrity and quality of service.

TESTING THE ATCS DATA COMMUNICATIONS SYSTEM

The communications components of A TCS provide function­ality within the lower three layers of the data communications system protocol. These are the mobile communications pack­age, base communications package, front-end processor, and cluster controller. All seven layers of the protocol are imple­mented within the end-user computer system.

To test the functionalities of the lower layer communica­tions components , a communications interoperability tester (CIT) was developed. This test system, written in the ADA programming language, allows for a stimulus-response, script­based-type testing of the four A TCS communications com­ponents in a simulation environment.

According to ATCS Specification 210, "A central objective of A TCS is to ensure safe train movements and track occu­pancies which avoid physical conflict, and other operational hazards of similar magnitude." To ensure that the imple­mented ATCS will meet this objective, development of a simulation model of an ATCS is imperative. As a subset of simulating an entire ATCS, a working prototype of the com­munications protocols is being developed.

SELECTION OF A PROTOTYPE MODEL

Some of the advantages of building a prototype are discov­ering design problems early, spotting system interface prob­lems from the start , and using the prototype to experiment with how proposed enhancements and modifications will af­fect the system (2) .

Fundamental to the success of a prototype is the ability to develop a good model of the system. As Hoover and Perry have pointed out, "Models are not true or false, but rather they are useful and appropriate for the analysis at hand" (3). The type of model required for the simulation of the ULP must have the following characteristics : descriptive , discrete,

Page 2: Prototype and Test Environment for ATCS Data Communicationsonlinepubs.trb.org/Onlinepubs/trr/1991/1314/1314-011.pdf · Prototype and Test Environment for ATCS Data Communications

64 TRANSPORTATION RESEARCH RECORD 1314

ATCI OPERATIOMI

APPLICATION!------------------------------------------; APPLICATION

D~ LA•ELINQ PRUE N TATI ONi-------------------------------------------1' REIEN TAT ION

HANDOffl/TMAN•P.~R• OF CONTROL OF TAAINI a1aa10N

END TO END DEL IVE RY YER If I CAT I 0 N AND ME llACI E Al IE M I LY TRAN IP ORT TRANIPORT

ATC a ATCI ATCI ATCI

DA.TAG RAM DATACIAAM DA.TAO RAM DATAGRAM

NETWORIC NETWORK NETWORK .. ~- ·-- · - -- ·-. -- ................. ·- .......... .. . .. -- -- NITWORI( NETWORK

H DLC

H DLC POLL I NO OR FEC H DLC

LAP a 8ALANCED 8ALANCED BROADCAIT IALANCEI

DATAL INK --·- .... .... --- DATA.LINK ----- -- --· --- DATA LINK

Rl282 Rllll PHY81CAL PHYllCAL , H VII CAL

DllPATCH FRONT END CLUITEA

COMPUTER PROCEeeoR CONTROLLER

FIGURE 1 ATCS data network by OSI layer.

probabilistic, dynamic, and open-loop. The purpose of this prototype is to describe the system behavior rather than to optimize the system; therefore, a descriptive model of the system is required. Data packets, and messages, arrive at discrete points in time; hence, the system model must be discrete. The arrival times of these packets and messages cannot be predicted, requiring that the model be probabilistic. All communications networks are dynamic, with the number of messages/packets in queue at any given time being variable . Finally, a communications network is an open loop; the sys­tem output is not fed back into the network to modify sub­sequent outputs, but is consumed by the environment with which it interacts.

With the required model classified as a discrete event model, and the objective to simulate the model, the next step is to select a technique for developing and simulating the system model. The major tasks in model construction have been defined as (a) develop a computer program flow chart for the

A 12 3 2

DATA.LINK DATA.LINK --··----- - DATALIMK

·1uav BIT•

CHANNEL ACCEll R8421

PH VII CAL PHYllCAL PHYllCAL

~

IAIE RADIO MOalLE LOCOMOTIVE

COMMUHtCATIOWI COMMUMICATIONI COM P'UTEA/

PAC KAQ E PACKAGE Dlll'LAY

NOTE 1 ------------ --• ACl<NOWLIDOED/fLOW CONTROLLED LINK

model; (b) select a programming language; (c) provide for generation of random numbers and collection of performance measure values in the program; and (d) write and debug the program code (3).

Two approaches for developing model charts of the system were identified: the physical flow and the state transition flow. The pJ1ysical flow approach identifies and diagrams the phys­ical entities of the system. For the communications network, this would be the receive and transmit queues, processing queues, and any internal queues between layers of the pro­tocol (see Figure 2). The state transition approach uses state transition diagrams ( 4) to represent a system. This is an event­driven approach that u e state variable to describe the sys­tem (see Figure 3). Both of these approaches are helpful in understanding and diagramming the intricacies of a system.

The ATCS communications protocols are described in ATCS Specification 200 as finite tate machines (FSMs) (see Figure 4) using CCITI' Recommendation Z.101 notation (5) .

Proo••• P•okat

I Race Iva I I Tranamlt I Queue I I Pecket

RHd RHnemble Tranamll

Packet Packet Packet

FIGURE 2 Physical flow chart example.

Page 3: Prototype and Test Environment for ATCS Data Communicationsonlinepubs.trb.org/Onlinepubs/trr/1991/1314/1314-011.pdf · Prototype and Test Environment for ATCS Data Communications

Colburn

Walt lor Next Packet

Walt lor Next Packet

Addreuee

Paoket lor Thia Addreu

FIGURE 3 State transition diagram example.

To/From Routing

Outbound

Odd Out

-Even

Out

I I

Odd

Sorter

I

Even

65

Statecharts, extensions to FSMs, have been developed and implemented in ST ATEMATE, a set of tools intended for the specification , analysis, and design of reactive systems. ST A TEMA TE was selected for the development of the pro­totype model for the simulation of the ULP.

ST A TEMA TE allows for the development of the model from three separate, but related, points of view: structural, functional, and behavioral (6) . Figure 5 illustrates how these views are linked together to create a logical model of the system. The structural view of the model is decomposed into modules. These modules may describe the actual hardware components of the system, or they may define the software components of a system: the subroutines, packages, or tasks. This view of the system is modeled using module-charts (see Figure 6).

The conceptual view of the model is decomposed into its functions and controls. The functional view of the system is described using activity charts. The system's functions are described as activities (see Figure 7). An activity typically accepts inputs and produces outputs. Activities that reside at the lowest level of the system may also be described as code in a high-level programming language. Activity charts may also contain data stores and control activities. Data stores portray a temporary or permanent storage area for data . Con-

-1--

Odd In

,...___ Even

In

--

CC-AF Protocol

Inbound

To/From

Bue

Slallon

Queue•

To/From

Track Ing

Suboyolem

Note: Inbound mean• from

the bue 1tallon1 ,

outbound meant towerd

the baa• 1tallon1.

FIGURE 4 Specification 200 finite state machine example.

Page 4: Prototype and Test Environment for ATCS Data Communicationsonlinepubs.trb.org/Onlinepubs/trr/1991/1314/1314-011.pdf · Prototype and Test Environment for ATCS Data Communications

66

Conceptual Model

Phyelcal Modal

FIGURES Structure of a STATEMATE model.

trol activities, the behavioral view of the system, are described as statecharts (see Figure 8).

The ST A TEMATE simuiation tool can be used to simulate the dynamic behavior of the system at any stage during and after its development. The simulation tool may also be used to debug and verify that the system works as expected. It can also be used to demonstrate the behavior of the system or to run it through various scenarios and observe the system's interactions.

TRANSPORTATION RESEARCH RECORD 1314

PROGRAMMING THE MODEL

After a model has been developed and analyzed, STATE­MA TE can then translate the developed system into code in one of two available high-level programming languages, ADA or C. This prototype code represents the executable concep­tual model of the system. This code may be compiled and linked as is, or it may be enhanced to call other code devel­oped by programmers.

For implementing the ULP, ADA was selected as the pro­gramming language for code development. One of the main reasons for the selection of ADA is that the CIT, which was built to test the lower three layers of the protocol, was de­veloped in ADA. Should the ULP model and any of the CIT software need to interface, the process would be expedited because they were both developed in the same language.

Although there are arguments that the overhead associated with the use of ADA in OSI-style communications systems is significant (7), the intent is not to develop an efficient model of the system as much as it is to develop an accurate model of the system. Therefore, any overhead introduced by the language would be moot.

There are also arguments that code generated by CASE tools is cumbersome, poorly structured, and inefficient. The ST ATEMATE developers admit that the code may be inef­ficient (7) . However, the advantages of having the CASE tool generate the code outweigh the disadvantages. Having the system generate the code that can then be compiled and linked to form the executable program ensures that the final program accurately and precisely correlates to the diagrammed model. The only potential areas of deviation from the communica­tions specification are (a) incorrectly entered diagrams or (b) incorrect implementation of the manually produced primitive event code.

:~~:=~====·=~=-~ ~~~~o!=~~·~~-~u_s~=~-~~= ==~==~===~=====] US_TOJ.6 us_TOJ.5

ULP _JiTACK

L6_TOJIUS

LAYER...6

L5_TOj.6

' TIMER ~:--t..o..~~~~"'-..~~~~~~ ......... ~~~T"'""_J

I

' I

• - ,.. .. •• I

LAYER_4

L3_TO_L4

NETHORK_TO_L3

FIGURE 6 ULP module chart example.

L4_TO_L3

LAYER_3

L3_TO ETHORK

Page 5: Prototype and Test Environment for ATCS Data Communicationsonlinepubs.trb.org/Onlinepubs/trr/1991/1314/1314-011.pdf · Prototype and Test Environment for ATCS Data Communications

SOFT WAREJlUS

RCV MSG 6 TO US

@LAYER_6__RECEIVE Cl LAYEA_6_.PROC..}lCV.J4SG

L5_L6_ClUEUE

LAYER_5

FIGURE 7 ULP activity chart example.

LAYER_6_CTL ~LOAOJ.6..PA TA

L6_J..5_!lUEUE

llLAYER_6_CTL

L6J_5 IGN LS

L5J.6 IG LS

(L6 J.IESSAGE TO SENO) /st! (LAYER 6J'ROC_5ENO.J4SG)

l

(L6_GET ACC CALL) /st! (LAYER_J)J' ROC_,ACC_CALL)

J

(L6_GET __REJ CALLI /st! (LAYER 6J' ROC_REJ_CALLI

,. J LAYER_6_WAI TING

[L6_J;ET _fl.CY MESSAGE) /s t! (LAYER 6_.PROC_RCV _MSGI )

[L6 GE T INC CALLI /st! (LAYER 6 J'ROC_INC_CALLI

l

(L6 GET 5UCC MSG} /St l (LAYER 6 PROC _succ _MSGI

J

(L6 GET J AIL MSG) /st! (LAYER_6 P ROC_FAIL_MSG)

J

FIGURE 8 ULP statechart example.

Page 6: Prototype and Test Environment for ATCS Data Communicationsonlinepubs.trb.org/Onlinepubs/trr/1991/1314/1314-011.pdf · Prototype and Test Environment for ATCS Data Communications

68

Using the code-generation tool also reduces the number of hours required to develop the simulation model. For example , the STATEMATE-generated code handles the ADA tasking development and synchronization, a function that can take a programmer weeks to refine .

Because the purpose of this project is to develop a fully functional model uf the system, the prototype code produced by ST A TEMA TE is edited to call modules written by the programmer-referred to as primitive events. These primi­tive events are called to perform such things as storing a message header in a queue or retrieving a message header from a queue.

MODEL IMPLEMENTATION

At the current writing, Layers 5 and 6 of the ULP have been diagrammed in ST ATEMATE, verified using the testing tools of STATEMATE, and the ADA code generated for these two layers . The code has been edited to call the programmer­developed primitive events. After being compiled and linked together, the code was debugged by stepping through the logic of the model.

Many uses of the final product of this model have been suggested. One plan calls for further development of a limited version of the entire ATCS. This would require a simulation model that could simulate ATCS behavior in the command and control of trains. To pass messages from the ULP model to the planned models of ATCS components , a "software bus" has been developed. This software will pass simulated ATCS communications between the ULP model and the com­ponent models during simulation of the system.

Plans have also been made to use the model to test a ULP stack developed by other organizations. In this manner, the peer-to-peer relationships of the ULP under test could be verified.

MODEL VERIFICATION AND VALIDATION

The ULP model is being developed using modularity and stepwise refinement. The first segment of the model devel­oped was Layer 6 of the protocol. This module was then interfaced with the software bus and a stub of Layer 5, de­bugged, and tested. Layer 5 was then developed, debugged, and tested in the same manner. Layers 3 and 4 will follow this same development method.

At completion of the entire model, the model will be val­idated. Verification and validation of a model is at best an inexact science , yet the credibility of the model must be es­tablished. Many formalized methods for model validation have been developed , such as the Delphi Method, the Turing Test, and the Structured Walk-Through. Although all of these methods have something to offer, and the exercise of any of them will , no doubt, turn up errors in the model's logic, each has its own drawbacks .

Plans are to test the ULP model by first stepping through it with the debugging tools available in the VAX implemen­tation of ADA and the debugging tool in STATEMATE. This process will validate the layer-to-layer services of the model. The next test will be to perform communications be-

TRANSPORTATION RESEARCH RECORD 1314

tween two executing copies of the model to validate peer-to­peer functionalities of the model. A third validation of the model will be its execution with the software bus at the upper end of the ULP stack and an A TCS network emulator at the lower end of the ULP stack. This process will validate the end-to-end functionality of the protocol model between the user application and the network emulator.

At each of these validation stages, the model should be tested not only to ensure that it functions properly under normal conditions but also to observe its behavior under ex­tremes.

CONCLUSION

Prototyping is based on building a model of the system under development and then simulating the system's behavior using the model. The use of ST A TEMA TE to visually formalize and then generate code to develop the ULP simulation model takes advantage of the benefits of prototyping. The use of ADA as the programming language exploits the tasking ca­pabilities of the language and provides for future interfaces to the CIT. This approach maximizes the capabilities of the available technologies and the computer system. The result should be the development of a model that accurately repre­sents the real system, its functionalities, and its behavior.

ACKNOWLEDGMENT

The author would like to thank Robert Ayers, Jack Bailey, and Denny Lengyel of ARINC Research Corporation, with­out whom this project never would have begun. Robert Ayers deserves special thanks for his technical support , assurances, and constructive criticism during the development of the model thus far and for his design and development of the software bus. Thanks also to Jennifer Miller for keeping the devel­opment computer system and software up and running during this project .

REFERENCES

1. The International Telegraph and Telephone Consulta1ive Com­mittee. Daia Com11111 11icatio11 Ne1111orks Open Sy$tems lnterco11-11ec/io11 (OSI) System Description Techniques, Recomme11datio11$ X.200- X.250, Vol. vm, 1985.

2. K. E. Lantz. The Prototyping Methodology. Prentice Hall , En­glewood Cliffs , N.J.

3. S. V. Hoover and R. F. Perry. Sim11la1io11 : A Problem-Solving Approach. Addison-We Icy, New York 1989.

4. A. M. Davis. A Comparison of Techniques for the Specifica tion of External System Behavior. Com1111111icatio11s of rlre A CM, Vol. 31, No. 9, Sept . 1988, pp. 1,098- 1, l tS.

5. The ln re rnational Telegraph and Telephone Consultarivc Com­mittee . Functional Specification a11d Description Language (SDL), Recommendations Z. JOO-Z.104. Vol VI, Fascicle Vl.10, 1984.

6. D . Harel, H. Lachover. A. Naamad, A. Pneuli , M. Politi , R. Sherman, A. Shtull-Trauring, and M. T rakhtenbrot. STATE­MATE : A Work ing Envi ronmenl fo r the Development of Com­plex Reactive Systems. lEEE Trum·11t·tiu11s 0 11 Software Engineer· ing, Vol. 16, No. 4, April 1990 pp. 403-413.

7. N. R. Howe and A. C. Weaver. Mcasuremenls of ADA Over­head in OSI-Style Communications Systems. IEEE Tra11$actio11s of Software E11gi11eeri11g, Vol. 15, No . 12, Dec. 1989, pp. 1,507-1,517.