Assignment title: Information
`
CRICOS Provider No. 00103D ITECH7410 Software Methodologies - Assignment 2 Page 1 of 4
ITECH7410 Software Methodologies
Assignment 2 Wheat Truck Control System (WTC)
Due Date & Weighting: Refer Course Description
Group of 2- 3 (strictly)
As a Software Engineering consultant, your task is to develop a formal specification in Z for the
following proposed system:
Wheat Truck Control System (WTC)
A new computerized system is to be developed for the storage and handling of accounts for wheat farmers and
truck deliveries to Mahsroh Wheat Board silos. Detailed below are the major objects to be considered in the
system: silos, ships, trucks and farmers.
This system could be quite complicated. However, to simplify the system for this assignment we will be content
to include the following in our proposed system:
Silos
The Board currently has ten (10) wheat silos around the country but the system must be written to seamlessly
handle at least twice that number. Each silo has a unique name and storage capacity (in tonnes) that must be
stored in the proposed system. In addition the system must maintain the current amount of wheat stored in the
silo. Obviously when the silo is full no further deliveries of wheat can be made to that silo before some is offloaded onto a ship for export overseas. Similarly a silo cannot off-load more wheat onto a ship than is currently
stored. We will assume that when off-loading to a ship, no trucks can unload due to operational and safety
considerations. Only one ship can be handled at a time at each silo.
We will assume that only one truck can unload into a particular silo at any one time. Therefore during busy
times each silo also maintains a queue of trucks waiting to unload. Trucks should only be entered into the
waiting queue when there is sufficient room for the wheat that the truck holds, i.e. you need to know that the
current storage plus all the loads currently in the queue will not exceed the silos capacity.
Ships
The system will keep a record of all ships that have been registered to transport wheat overseas for the Wheat
Board. The ships name, nationality and capacity (in tonnes) will be stored. The ship's captain can specify the
amount of wheat to be off-loaded into the ship as long as it is less than the ships capacity and also the silosCRICOS Provider No. 00103D ITECH7410 Software Methodologies - Assignment 2 Page 2 of 4
current amount in storage. The system will keep a record of the amount of wheat off-loaded to the ship and
adjust the current storage appropriately.
Trucks
As each loaded truck arrives at the silo, it is weighed to ascertain the amount of wheat in the truck. The system
maintains a list of registered trucks and their empty weight (in tonnes). Therefore, a single weighing is
sufficient to determine the wheat load. If there is sufficient room in the silo then the wheat is off-loaded into the
silo and a record is kept of the amount off-loaded against both the truck registration number and the farmer
providing the wheat.
Date and Time
Normally we would maintain the date and time of each operation (truck delivery or ship off-loading) however
to simplify this assignment we will ignore those aspects. Instead, we will keep a sequential count of each
operation for each silo. Therefore, we will have a history of the order of truck unloading and ship off-loading
operations that take place for each silo.
The system would be able to say for example, that silo HORSHAM_1, operation number 999 involved 25 tonne
of wheat delivered by the truck registered TONKA owned by Jack Black from farmer Bob Smith. Then
operation 1000 was an off-loading operation of 125,000 tonnes to the ship "Southern Aurora".
There is also a need to keep track of the operation order between silos, therefore we will keep a global
sequential count of the operations at silos as well. See the following table for an example:
Global No Silo Count Operation Vehicle Name Tonnes Farmer
...
12336 HORSHAM_1 999 Load TONKA 25 Smith, Bob
12337 MELBOURNE 555 Load DUPLO 20 Jones, Mark
12338 HORSHAM_1 1000 Off-Load Southern Aurora 125,000
12339 MELBOURNE 556 Load LEGGO 50 Simons, Jill
12340 HORSHAM_1 1001 Load TONKA 25 Jones, Mark
...
Farmers
The system will maintain a record of each farmer supplying wheat to the silo. Details to be kept include the
farmer's name, address and phone number.CRICOS Provider No. 00103D ITECH7410 Software Methodologies - Assignment 2 Page 3 of 4
Z Schema Operations
You are to create a Z schema that adequately describes the WTC system. It should include at least one state
space and the following operations:
• An initialization operation called Init.
• An operation Enter_new_silo that an operator uses to enter the details of a new silo into the system.
Assume the new silo is currently empty.
• An operation Accept_delivery that an operator uses to signal the system to begin off-loading x tonne of
wheat from a truck. Note that the system must do a check to see if that storage capacity is available in
the silo, if not then an error message must be output and no truck unloading done. Additional
information needed by this routine is the truck registration and the farmer's name. If successful this
operation stores all necessary details into the system for that delivery. If a truck is already unloading
then this new truck will be placed in a queue waiting for its turn to unload.
• An operation Leave_queue. This operation is run by the system operator each time there is a queue for
a silo and the driver of a specified truck decides that the anticipated waiting time is too long and leaves
the queue. The operation outputs to the operator the list of trucks in the queue after the specified truck is
removed or if none in the queue a reasonable error message.
• An operation Silo_account that outputs the total amount of wheat in tonnes delivered to a particular silo
by ALL farmers in a specified time period (note that means between two global operations numbers in
our simplified system). In other words between global operations 10000 and 10500 for example.
• An operation Ships_total_account that outputs the total amount of wheat that a particular ship has
taken from ALL silos in the total history of the system.
• An operation Farmers_account that outputs the total amount of wheat delivered to ALL silos in
between two specified global operation numbers (e.g. 10000 and 10500).
You should provide robust versions of each operation that are capable of handling any possible error
conditions. For example, if the ship or truck is not correctly registered in the system an appropriate error
message must be given.
3. Marking Criteria
The submissions will be considered for presentation, conciseness and correctness (both logically and
notationally). Versions of the operations that are developed using the Z Schema Calculus will be more highly
considered than monolithic versions that account for all conditions within a single schema. You should also
add a narrative to explain any schemas or logic that you have used. Authorship should be made clear.
You might be asked to explain and answer questions about your work.
You are required to produce an abstract formal specification of the system.CRICOS Provider No. 00103D ITECH7410 Software Methodologies - Assignment 2 Page 4 of 4
4. Reading Materials
Weeks 4 and 5 study materials and Section 4 of study Guide 3
Up to Section 1.3 of Chapter 1 from http://www.rose-hulman.edu/class/cs/cs415/zrm.pdf
Sections 21.5, 21.6 and 21.7 from Pressman 7th Ed.
Solutions for Problem 2 of Week 6 tutorial problems
Introduction to Z Notation - http://www.youtube.com/watch?v=qfEe9luJmVE
5. General Comments
The submission must be presented in a professional, clear and concise manner. If you need further system
information please use your initiative and make reasonable and logical assumptions. Questions of a general
nature (for example to clarify some part of the assignment requirements) can also be sent to the discussion
forums, note these should not in any way give solutions or parts thereof. Similarly you are encouraged to ask
questions about the Z specification language, it is not simple and no students will have encountered it before.
6. Submission Requirements
The assignment must be submitted electronically through the Moodle assignment system in Microsoft Word
document format, rtf format or as a pdf document. If you are unable to provide one of these formats please
contact your lecturer/tutor by email prior to submission to ensure that they will be able to handle the alternative
format.
To alleviate any problems with fonts and symbols for the Z specification all students must use the Zed truetype
font that is available on Moodle. Note this zip file has both truetype and Adobe Type Manager files for both
Windows and Macintosh machines. Please make sure you use the truetype font. The archive contains a
Readme.txt file that explains how to install the font.
Your report should adhere to the guidelines provided:
http://federation.edu.au/current-students/learning-and-study/online-help-with/study-skills-and-writing-guides