1. Trang chủ
  2. » Công Nghệ Thông Tin

REAL-TIME SYSTEMS DESIGN AND ANALYSIS phần 7 potx

53 268 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 590,75 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

3.3.6.1 Override Relationships ž Dependency link to class OverrideType ž Association link to class IntersectionController ž Generalization link from class RemoteOverride 3.3.6.2 Override

Trang 1

3.3.5 VehicleDetector This class represents the proximity detection loop located near the stop line associated with an approach The class is based on the OnOff- Sensor class.

The Vehicle Presence Detector object is responsible for managing the ing functions:

follow-1 Filtering of vehicle service requests (ACTUATED mode).

2 Generation of vehicle service request event (ACTUATED mode).

3 Maintenance of the vehicle count statistic (FIXED, ACTUATED, and TIVE modes).

ADAP-Figure 21 illustrates the attributes, methods, and events of the tor class.

VehicleDetec-OnOffSensor

− m_State: boolean

− m_IgnoreState: boolean + OnOffSensor()

+* ~OnOffSensor() + setState() : void + resetState() : void + ignoreState() : void + watchState() : void

ž Association link from class Approach

ž Generalization link to class OnOffSensor

3.3.5.2 VehicleDetector Attributes Inherited from superclass.

Trang 2

3.3.5.3 VehicleDetector Methods Inherited from superclass Overridden methods are described in Table 18.

Table 18 VehicleDetector class-attributes

Trang 4

Vehicle Has Passed Loop + Do Action / resetState(void) + Do Action / m_Approach[i].onEntryStateCleared(void)

m_Approach[i]

Updating Count + Do Action / m_Count++

Blocked

Triggering Approach + Do Action / m_IntersectionController.onVehicleEntry(int)

Clearing Count + Do Action / m_Count = 0

Name: IntersectionController- Vehicle Detector

clearCount()

Figure 23 VehicleDetector class statechart.

3.3.6 Override This is class represents the set of pushbuttons on the manual override console.

Trang 5

− m_IntersectionController: IntersectionController*

+ Override()

−* ~Override() + onActivate(OverrideType) : int + onDeactivate(OverrideType) : int + onSetPhase() : int

Figure 24 Override class.

3.3.6.1 Override Relationships

ž Dependency link to class OverrideType

ž Association link to class IntersectionController

ž Generalization link from class RemoteOverride

3.3.6.2 Override Attributes

Table 19 Override class-attributes

m IntersectionController private:

IntersectionController

Pointer to the

m IntersectionController object.

3.3.6.3 Override Methods

Table 20 Override class-methods

onActivate

(OverrideType)

Event triggered by receipt of an activation command from the local override console onDeactivate

(OverrideType)

Event triggered by receipt of an deactivation command from the local override console.

phase command from the local override console.

Trang 6

3.3.6.4 Override Behavioral Details

m_ManualOverride :Override

«singleton»

m_IntersectionController :IntersectionController

*[While Override Active]: m_Status: = 0 (OK)

{t2 = 0} dispatchCommand(command= Deactivate Manual Override)

m_Status:= 0 (OK)

*[While Override Active]:onSetPhase()

Figure 25 Override class sequence diagram.

Trang 7

3.3.7 RemoteOverride This class represents the commands available on the Remote Software console Additionally, the class provides an interface for remote access to and update of intersection traffic data and cycle parameters for coordinated intersection control (option).

The RemoteOverride class is responsible for managing the following functions:

1 Triggering the appropriate mode change.

2 Generation and handling of events required to control intersection phase.

3 Acting as a substitute for the Calculate Cycle Parameters method of the section Control object (in coordinated mode, not covered by this specification).

Inter-Figure 26 illustrates the attributes, methods, and events of the Remote ride class.

Over-Override

− m_IntersectionController: IntersectionController*

+ Override()

−* ~Override() + onActivate(OverrideType) : int + onDeactivate(OverrideType) : int + onSetPhase() : int

Figure 26 Remote override class.

3.3.7.1 Remote Override Relationships

ž Dependency link to class Status

ž Generalization link to class Override

Trang 8

ž Association link from class IntersectionController

ž Association link to class Network

3.3.7.2 RemoteOverride Attributes In addition to those inherited from the class Override, RemoteOverride attributes are as listed in Table 21.

super-Table 21 RemoteOverride class-attributes

3.3.7.3 RemoteOverride Methods In addition to those inherited from the class Override, RemoteOverride methods are as listed in Table 22.

super-Table 22 RemoteOverride class-methods

∼ RemoteOverride () private abstract: Destructor.

onSetParameters

(Parameters

public: int param: parameters [Parameters∗- in]

Event triggered under coordinated control; used

to set the intersection timing parameters under remote control.

Completes within 100 ms.

to get the intersection timing parameters under remote control.

Completes within 100 ms.

3.3.7.4 RemoteOverride Behavioral Details Behavior of the RemoteOverride class

is identical to that of the Override class for methods inherited from the superclass.

3.3.8 PreEmpt This class manages the wireless transponder interface to rized emergency vehicles and accesses the m IntersectionControl object in order to display the correct traffic signals, allowing the emergency vehicle priority access to the intersection.

autho-The PreEmpt class is responsible for managing the following functions:

1 Triggering the appropriate mode change.

2 Reception of emergency vehicle preemption requests.

3 Decryption and validation of emergency vehicle preemption requests.

4 Generation and handling of events required to control intersection phase.

Trang 9

Figure 27 illustrates the attributes, methods, and events of the PreEmpt class.

Figure 27 PreEmpt class.

3.3.8.1 PreEmpt Relationships

ž Association link from class IntersectionController

ž Association link to class IntersectionController

3.3.8.2 PreEmpt Attributes

Table 23 PreEmpt class-attributes

Table 24 PreEmpt class-methods

onActivate () public: int Event triggered by receipt of an activate signal from the

emergency vehicle transponder.

onDeactivate () public: int Event triggered by receipt of an deactivate signal from

the emergency vehicle transponder.

onTimeout () public: void Event triggered if a deactivate signal is not received

after the timeout interval has elapsed.

Trang 10

3.3.8.4 PreEmpt Behavioral Details

m_PreEmpt :PreEmpt

«singleton»

m_IntersectionController :IntersectionController

Name: IntersectionController- Emergency Preempt

{t2 = 0}

m_Mode = m_PreviousMode setPhase(phase = Default) {t2 <= 100 ms}

onPreemptRequest()

m_Status: = 0 onPreemptCleared()

m_Status: = 0

Figure 28 PreEmpt sequence diagram.

3.3.9 Network This class manages communication via the Ethernet port Figure 29 below illustrates the attributes, methods, and events of the Network Interface class.

« singleton»

Network

+ Network()

−* ~Network() + receivePacket() : void + sendPacket(void*) : int + dispatchCommand(int) : void

Figure 29 Network class.

3.3.9.1 Network Relationships

ž Association link from class IntersectionController

ž Association link from class Maintenance

ž Association link from class RemoteOverride

Trang 11

3.3.9.2 Network Methods

Table 25 Network class-methods

packets.

Method responsible for sending network SNMP packets.

Interprets the received SNMP packet and invokes the appropriate method in response.

3.3.10 Maintenance This class provides a maintenance interface to the tion controller, accessible either from the local maintenance Ethernet port or the DOT WAN.

intersec-The Maintenance class is responsible for managing the following functions:

1 Retrieval of database information.

2 Retrieval of current intersection controller status.

ž Association link to class IntersectionController

ž Association link to class Network

Trang 12

3.3.10.2 Maintenance Attributes

Table 26 Maintenance class-attributes

Table 27 Maintenance class-methods

∼ Maintenance () private abstract: Destructor.

readDatabase (int ) public: void param: database [int - in]

Method to read the contents of the database specified

by the parameter database.

3.3.11 Database (Traffic History; Incident Log) Instances of this class are used

to store the Traffic History and the Incident Log for the intersection being controlled The Traffic History object is responsible for managing the following functions:

1 Storage and retrieval of traffic history database records.

2 Clearing of traffic history in response to a command from a remote host.

Figure 31 illustrates the attributes, methods, and events of the Traffic History class.

Trang 13

−* ~Database() + goFirst() : int + goLast() : int + goNext() : int + go(int) : int + isFull() : boolean + isEOF() : boolean + read() : Record + read(int) : Record + write(Record*) : int + write(int, Record*) : int + flush() : int

Figure 31 Database class.

3.3.11.1 Database Relationships

ž Association link to class Record

ž Association link from class IntersectionController

ž Association link from class IntersectionController

3.3.11.2 Database Attributes

Table 28 Database class-attributes

permitted.

Record.

database structure.

Trang 14

Table 28 (continued )

database structure.

3.3.11.3 Database Methods

Table 29 Database class-methods

in 40 ms.

in 40 ms.

Move cursor to the specified record Completes in

40 ms.

overwrite oldest data (FIFO).

Read record at specified position; update current record to specified position Completes in 50 ms.

Add new record to end of database If isFull() is True, data will be overwritten Completes in

50 ms.

write (int, Recordpublic: int param: position [int - in]

param: record [Record∗- inout]

(continued)

Trang 15

Table 29 (continued )

Overwrite record at specified position; update current record to specified position Completes in 50 ms.

record positions to zero; move cursor to first physical record position Completes in 200 ms.

3.3.12 Record This class defines the attributes and methods used by records contained in object instances of the Database class.

Trang 17

Date and time of the incident or traffic history entry

private: datetime timestamp

Notes Type

Attribute

Figure 33 Record class-attributes.

3.3.12.3 Record Methods

public: string public: int public: datetime

public: void public: void

public: void private abstract:

public:

Accessor for m_Data attribute

Accessor for m_Source attribute

Accessor for m_Timestamp attribute

param: data [ string - inout]

Mutator for m_Data attribute

param: source [ int - in ]

param: timestamp [ datetime - inout]

Mutator for m_Timestamp attribute

Method

Figure 34 Record class-methods.

3.3.13 ErrorHandler This class handles all errors generated by the application All errors are generated by the IntersectionController class, in response either to internal errors or error returns from method calls.

3.3.13.1 ErrorHandler Relationships

ž Association link from class IntersectionController

Trang 18

3.3.13.2 ErrorHandler Methods

param: error [ int - in ] Attempts to set the intersection to the default phase If unsuccessful, attempts a reset If this fails or the error occurs again immediately after reset, the watchdog timer will override software error handling.

Logs the error and sends a network message to the DOT central office via the DOT WAN.

public: void onCriticalError (int)

param: error [ int - in ] Logs the error incident and resumes normal operation.

public: void onNonCriticalError (int)

Method

Figure 35 ErrorHandler class-methods.

3.3.13.3 ErrorHandler Behavioral Details

« singleton»

m_ErrorHandler :ErrorHandler

« singleton»

m_IntersectionController :IntersectionController

m_IncidentLog :Database

Name: IntersectionController- Non-Critical Error Handling

Trang 19

« singleton»

m_IntersectionController :IntersectionController

« singleton»

m_ErrorHandler :ErrorHandler

m_IncidentLog :Database

m_Network :Network

Name: IntersectionController- Critical Error Handling

Figure 37 Critical error sequence diagram.

3.3.14 Support Classes These comprise the structures and enumerated classes used to define attributes in the classes detailed above.

Figure 38 Split class.

Percentage of cycle time per phase Comprises the nominal phase time plus the calculated extension due to traffic volume.

The values are determined as follows:

1 In FIXED mode, the nominal times are used (i.e., the extensions are set to zero).

2 In ACTUATED mode, the extensions contain fixed values at the start of each cycle These values are modified in response to Vehicle Entry and Pedestrian Request events.

3 In ADAPTIVE mode, the extensions are updated prior to the start of each cycle as determined by the calculateParameters() method of the

m IntersectionController object.

Trang 20

Figure 39 Parameters class.

3.3.14.2.1 PARAMETERS RELATIONSHIPS

ž Association link from class Status

ž Association link to class Split

ž Association link from class IntersectionController

3.3.14.3 Status

«struct»

Status

+ mode: Mode + count: int* [4 ordered]

+ parameters: Parameters*

+ phase: Phase

Figure 40 Status class.

3.3.14.3.1 STATUS RELATIONSHIPS

ž Association link to class Parameters

ž Association link to class IntersectionController

ž Dependency link from class RemoteOverride

ž Association link to class Mode

ž Association link to class Phase

Trang 21

3.3.14.4 Phase

«enumeration»

Phase

+ Default: int + GG_GG_RR_RR: int + GY_GY_RR_RR: int + YR_YR_RR_RR: int + RR_RR_RR_RR_4: int + RR_RR_GG_GG: int + RR_RR_GY_GY: int + RR_RR_YR_YR: int + RR_RR_RR_RR_8: int

Figure 41 Phase class.

3.3.14.4.1 PHASE RELATIONSHIPS

ž Association link from class IntersectionController

ž Association link from class Status

3.3.14.5 Aspect

«enumeration»

Aspect

+ RR: int + GG: int + GY: int + YR: int

Figure 42 Aspect class.

Figure 43 Indication class.

Trang 22

Figure 44 Mode class.

3.3.14.7.1 MODE RELATIONSHIPS

ž Association link from class Status

ž Association link from class IntersectionController

3.3.14.8 OverrideType

«enumeration»

OverrideType

+ Manual: int + Remote: int

Figure 45 OverrideType class.

Trang 23

Table 30 Architectural requirements

Section Reference

for SRS

Requirement

SDD Section Demonstrating Compliance

Comments

class

class

Trang 24

Table 32 Timing requirements

Section Reference

for SRS

Requirement

SDD Section Demonstrating Compliance

Comments

3.3.1.1, Table 14 (9) 3.3.13.3, Figure 37 Critical Error – Display Defaults

3.3.1.1, Table 14 (12) 3.3.13.3, Figure 37,

Figure 36

Write Error Log

(continued)

Trang 25

Specifi-5.3 Who should you write the design specification?

5.4 What are the differences between object-oriented modeling and using data flow diagrams?

5.5 Using a data flow diagram, capture the data and functional requirements for ing the entry, exit, and traversal of planes in an airspace Planes entering the space

monitor-are sensed by the Radar input; the Comm input identifies planes that leave the space The current contents of the space are maintained in the data area AirspaceStatus.

A log or history of the space is kept in the AirspaceLog storage An air traffic

controller can request the display of the status of a particular plane through the

Controller} input.

Trang 26

5.6 Why is it that the code, even though it is a model of behavior, is insufficient in serving as either a software requirements document or a software design document

5.7 Why is it important that the code be traceable to the Software Design Specification and in turn, to the Software Requirements Specification? What happens, or should happen, if it is not?

5.8 Redraw the inertial measurement system context diagram in Figure 4.14 to take into account calibration and diagnostic modes.

5.9 For each of the following systems

(a) Inertial measurement unit

(b) Nuclear monitoring system

(c) Airline reservations system

(d) Pasta sauce bottling system

what design approach would you use?

Ngày đăng: 13/08/2014, 08:20

TỪ KHÓA LIÊN QUAN