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
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 |
Low |
|
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 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 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
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:
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