1. General Guidelines
This is the first of two assignments.
The content of all assignment submissions must be essentially your own work.
2. ASSIGNMENT 1
Due date: Refer to Course Description.
Marks: Refer to Course Description.
You have been retained as a Software Engineering consultant to the Muddy Springs Bottled Water Company. The company runs a water bottling plant which is currently undergoing dramatic improvements in equipment and capacity. As part of these improvements an Automated Monitoring and Control System (AMAC) is being developed as specified below. Your job is to oversee development of the real-time software required for the AMAC.
AMAC will allow a single plant operator to oversee and control all aspects of the plant's operations from a central control room. To achieve this AMAC requires new leading-edge telemetry and control facilities.
Below is schematic diagram of the plant.
The bottling plant consists of two integrated systems: the water supply system and the bottle washing, storing and filling system. The water supply system pumps the spring water from the holding reservoir to a special header tank which supplies water to both the bottle washing and filling plants. The header tank must operate within a narrow band to supply the correct pressure to the filling plant. New bottles arrive at the washing plant and are cleaned and rinsed to ensure strict quality controls are met. After cleaning the bottles are transported via conveyor belt (C1 on the schematic) to the bottle storage facility. The bottles are then supplied to the filling plant by the conveyor C2 as required.
The AMAC system will be the hub of the overall system with all data, control and display functions directed through AMAC to the appropriate external devices. The operator's console consists of a mimic board and control panel which exist within the operators room. You can consider the mimic board and control panel as external entities for your analysis. All information displayed
on the mimic board and all operators control panel inputs are channelled through AMAC.
A more comprehensive description of the system is presented in section 3. This includes all the data measured and stored in the system along with all control functions required.
2.1 Submission Task
Your task is to do a Real-Time Structured Analysis for the AMAC. You are to present your analysis including the following information:
1. An External Entity-Relationship Diagram (ERD) indicating relationships of the AMAC and the other external entities in the system. Note you do not need to include attributes of the entities on the ERD. Just the relationships and their cardinality and modality.
2. Data and Control Flow Diagrams (DFD/CFDs) - to sufficient detail that only a single task is carried out by each process at the lowest level. You should show the control events that occur on the same diagrams. Use the real-time extensions for control flows etc shown in the lecture notes on slide 17 from week 3. You need to determine when and where events will occur. For example, whenever a piece of data becomes available it may need a control event to let the system know that it is available. These events must be clearly shown in these DFD/CFD diagrams and then handled in the CSPEC.
3. Process specifications (Pspecs) - a psuedo-code or similar design language specification is required for each process at the lowest level. Note a
narrative description alone will not be considered sufficient.
4. Control Specifications (Cspec) - use combinational or sequential FSMs as required, presented in an appropriate format. The idea is that the Cspec will completely describe how each and every event or control flow is handled in the system. Note you need to provide both -Process Activation Table- and -State Machine Diagram-.
5. A Data Dictionary is required to adequately describe each name or special term used in the analysis, note this includes process names, data flow names, control flow names etc.
You should include sufficient detail to allow the system to handle all the monitoring and control aspects specified in section 3 (and any further aspects you consider essential). If you think further information is required make reasonable assumptions and clearly state these in the submission.
3. Detailed Description
As you could imagine this system would be quite complicated in reality however we will simplify it significantly due to time constraints:
The pumping station (PS) contains two pumps. The pumps are controlled by the header tank water level via the AMAC system ie the pumps are normally automatically turned on and off by the AMAC system (a manual override should be built into AMAC to allow the pumps to be run at operator request at any time). As the water level in the header tank drops, AMAC will start one of the pumps when the level drops below a specified level. If the water level continues to drop the second pump will be started at the next cutin level. As the water level rises both pumps will be turned off when the level reaches Full Supply Level (FSL). The levels initially specified in the system will be: FSL 3.0 m
First Cutin Level 2.2 m
Second Cutin Level 1.5 m
To ensure that both pumps are used equally, the AMAC system should alternatively start pump A at the first cutin level and then pump B.
Page 2 of 2
The system will record and store the times of all pump start and pump stop operations, and additionally the flow rate through the pump station at 30 second intervals. If either pump does not start when instructed to by the system an alarm should be raised on the operator's console.
The AMAC system will receive tank depth readings via telemetry every 30 seconds, these values should be stored in the database. An alarm should be initiated if the water level rises above the tank overflow level of 3.1 m, or the level drops below the top of the outlet pipe at 0.25 m. Either of these is considered an emergency situation and the whole plant should be brought to a standstill and the operator notified.
If the tank needs to be emptied for cleaning or maintenance then all other plant should be stopped and the water directed to the drain by closing valves A, C and E and opening valves B, D and F. This should be done at scheduled tank maintenance periods at least once every 7 days, or at the operators command. The refilling procedure should only occur when the command is received from the operator's panel. Bottle Washing Plant
Bottle washing is done under batch-like conditions, that is a quantity of dirty bottles are delivered to the plant and these are washed in one operation. The demands on the water supply are intermittent but significant when washing is actually occurring. When a batch of dirty bottles is ready the operator starts the washing operation from the control panel. AMAC must ensure that valves B, C, E and F are open and valve D is closed. When completed valve C is closed to await the next batch of dirty bottles.
The dirty bottles are transferred to conveyor C1 for transport to the bottle store. If the bottle store is full then the conveyor is stopped until sufficient room is available for the batch of newly clean bottles.
Bottle Filling Plant
Conveyor C2 delivers clean empty bottles to the filling plant from the bottle store. AMAC has overall control of the filling plant, starting and stopping the plant as required. The filling plant is fully automatic internally so AMAC does not need to control the actual filling process. AMAC does have control of conveyor C2 and valve A. The conveyor must be running and valve A must be open when filling bottles.
The filling plant will be stopped for the following reasons:
• the header tank water level is too low or high,
• the bottle store is empty,
• for routine maintenance periods every 48 hours. This maintenance usually takes 20 to 30 minutes.
• operator command
The filling plant currently has a maximum filling and capping rate of 50 bottles per minute.
The start and stop times, the reason for actions and the bottle filling rate (one value per minute) are stored in the database.
The AMAC must be able to receive and store all the data information received as detailed from each of the units above. In addition your DFD/CFDs, PSPEC and CSPEC should indicate how the system reacts to the control events and data from each of these external entities.
4. 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 forum, note these should not in anyway give solutions or parts thereof.
Week 3 study materials including lecture notes and up to Section 3 of study Guide 3
Hatley and Pirbhai Extensions from http://www.embedded.com/design/prototyping-and-development/4397706/The-Hatley-Pirbhai-Methods---Eight-Years-of-
Chapter 7 of Pressman, 7th edition
Data Dictionary from http://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CFEQFjAB&url=http%3A%2F%
Concepts of Real Time Systems (http://www.youtube.com/watch?v=rYeqygKAZoM)
6. Submission Requirements
The assignment must be submitted electronically through Moodle in Word document, rtf or pdf format. If you are unable to provide this format please contact me by email prior to submission to ensure that I will be able to handle the alternative format. If you choose to use Visio (which is OK) you must use another format for submission (eg pdf or copy and paste into Word with picture/bitmap format not native Visio format).
Please ensure that you put your name and student ID on the title page of the document submitted via Moodle.
Muddy Springs Bottled Water Co