Preliminary System Design

 

 

        To develop a preliminary design, the functions contained in the system behavior

must be identified and mapped onto the system structure alternatives.  To begin the

design process the activity diagrams for the three use cases, and the tag behavior

statechart are analyzed and lists of functions are generated for each subsystem.  The

lists include inputs, outputs, and tasks for each subsystem.  The list items are defined

as follows:

 

Input:             External event that a subsystem must receive and process in order to satisfy the needs of a scenario and/or a requirement.

 

Task:              The action taken by a subsystem, in response to input events, in order to satisfy the needs of a scenario and/or a requirement.

 

Output:          The observable result that is produced by a subsystem task.

 

 

Preliminary designs are developed for two alternative system structures, both having

the following subsystems:

 

Subsystems:

 

1.          Tag

2.          Manual Tag Programmer

3.          Logistics Processor

4.          Logistics Database

5.          Logistics Software

 

 

Mapping Behavior Onto Structure

 

The activity diagrams and the Tag behavior statechart contain inputs, outputs, and tasks for each subsystem involved in a respective use case.  These functions can be mapped to the system structure by verifying that each input, output, and task behavior can be carried out using the given structure.  The subsystem functions are listed in the following tables:

 


 

SUBSYSTEM

INPUT

TASKS

OUTPUT

Tag

Materials Data from

MtagPro

Store Data

 

LogProc Update Request

Transmit Data

Tag Data

Download Request

from MtagPro

Transmit Data

Tag Data

Manual Tag

Programmer

Tag Data from LogProc

Store Tag Data

Tag Data to LogProc

Tag Data from Tag

Store Tag Data

Tag Data to Tag

LogProc

“As programmed” Tag data from MtagPro

Process and Store Data, Check for Errors

Results to GUI:

Shipping Report

Corrective Action

“As received” Tag

data from MtagPro

Process and Store Data, Check for Errors, Generate

Data file for LogDB

Results to GUI:

Incoming Shipment

Report, Corrective Action Alarms

Update request from Tag

Process and Store Tag Data

 

Tag Data From Tag

Periodic Tag Update

Transmit Tag Update Request

 

                              Table 4: Subsystem Functions for Track Movement

 


 

SUBSYSTEM

INPUT

TASKS

OUTPUT

Tag

LogProc Update Request

Transmit Data

Tag Data

Alarm Received by

LogProc

Monitor Battery

Low Battery Alarm to LogProc

LogProc

 

Process and Store Tag Data, Check for Errors, Gener-ate Data File for LogDB

Data File to LogDB

(synchronous)

Tag Data from Tags

Periodic Tag Update, Internal Timer (synchronous)

Transmit Tag Status Request

(synchronous)

Low Battery Alarm

from Tag

Log Alarm in Alarm History

Display Alarm on GUI and Output “Alarm Received” Signal toTag

LogDB

Updated Tag Data

from m LogProc’s

Process and Store Data

 

 

                              Table 5: Subsystem Functions for Update Database

 


 

SUBSYSTEM

INPUT

TASKS

OUTPUT

LogProc

Update Request From LogDB

(asynchronous)

Process Request,

Scan Current Tag

Data, Update if needed

Data File to LogDB

(asynchronous)

Data Request From

GUI

Process Data Request

Data File to RAM

Display on GUI

Tag Data from Tags

Respond to LogDB

Data Request

(asynchronous)

Transmit Tag Status Request

(asynchronous)

LogDB

Data Request From LogSoft

(asynchronous)

Process Request,  Check for Historical/Current Data

Data File to RAM

Memory

Tag Data from Tags

Periodic Tag Update, Internal Timer (synchronous)

Transmit Tag Status Request

Low Battery Alarm

from Tag

Log Alarm in Alarm History

Display Alarm on GUI, Output “Alarm

Received” Signal to

Tag

LogSoft

Historical Data Request from

LogOfcr

Scan LogDB

Data for Manipulation

LogProc

Generate Update

Request to Retrieve

Current Data From

m LogProc’s

Update Request to m

LogProc’s

 

                              Table 6: Subsystem Functions for Database Query

 


 

SUBSYSTEM

INPUT

TASKS

OUTPUT

Tag

Switch “ON”

Self Diagnostics

Fail = “Fault” LED On, Flashing

Pass = “Prog” LED

On

Interrupt Request

from MtagPro

Receive Input Data

Done Receiving = “Prog” LED Off

 

Monitor Interrupts,

No Interrupts For 5 min. = Power Saver Mode

 

 

                  Table 7: Additional Subsystem Functions for Tag Behavior Statechart

 

 

Subsystem Architecture Diagrams

 

        Taking the above information and combining it with a detailed subsystem structure diagram provides a modular view of the system architecture.  Each subsystem architecture diagram shows the relevant inputs, outputs, and tasks that must occur for the subsystem to function as expected.  Future iterations of the architecture diagrams can include:

  • More detailed mappings of inputs and outputs to individual subsystem components.
  • Detailed interactions among components within the subsystem.
  • A clearer view subsystem task elicitation.

 

 

Alternative Designs

 

The following subsystem architecture diagrams are for two alternatives.  Alternative #1 & #2 are taken from the Section “System Structure.”  They share the same tag design, but the logistics processors are different.  Alternative #1 uses an industrial computer with a GUI for the warehouse operator to access the system.  Alternative #2 is a full-blown PC workstation that has increased memory to accommodate the distributed logistics database, and it runs a copy of the distributed logistics software.  See Figures 13, 14 and 15 for alternative designs.

 

 

 


 

 

 


Figure 13: Tag Sub-System Architecture – Alternatives #1 & #2

 


 


 

Figure 14: LogProc Sub-System Architecture – Alternate #1

 


 


 

 

Figure 15: LogProc Sub-System Architecture – Alternate #2