As a Software Engineering consultant, your task is to develop a formal specification in Z for...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
As a Software Engineering consultant, your task is to develop a formal specification in Z for the proposed system described below. You will present your work to show that your system does work and answer questions about the system specification your group has developed. Timelines and Expectations Percentage Value of Task: 20% Due: Friday, September 29, 2017 - 17:00 (Week 11) Minimum time expectation: 10 hours Learning Outcomes Assessed $1. Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize in a given situation. S2. Apply professional communication skills to support and manage the engineering of a large software system. S3. Review, critically analyse and develop artefacts to define processes for quality assurance, risk management and communication in large software development projects. S4. Implement quality assurance activities in order to verify user requirements and validate design decisions. A1. Analysis of a large system development problem to decide upon the best methodological approach. A2. Development of appropriate artefacts to support and manage the software engineering process such as change control and configuration management. Assessment Details 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 silos 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. Refer to the table below as an example: Global No Silo 12336 12337 12338 12339 12340 Count Operation Vehicle Name Tonnes Farmer HORSHAM_1 999 Load MELBOURNE 555 Load HORSHAM_1 1000 Off-Load MELBOURNE 556 Load HORSHAM 1 1001 Load TONKA 25 DUPLO 20 Southern Aurora 125,000 LEGGO 50 TONKA 25 Smith, Bob Jones, Mark Simons, Jill Jones, Mark You will need to decide how to demonstrate that your system specification works and satisfies the client requirements. (You might wish to discuss your approach with your tutor.) 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. Requirements: 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. 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. As a Software Engineering consultant, your task is to develop a formal specification in Z for the proposed system described below. You will present your work to show that your system does work and answer questions about the system specification your group has developed. Timelines and Expectations Percentage Value of Task: 20% Due: Friday, September 29, 2017 - 17:00 (Week 11) Minimum time expectation: 10 hours Learning Outcomes Assessed $1. Critically analyse and use complex decision making to research and determine the appropriate Software Engineering tools and methodologies to utilize in a given situation. S2. Apply professional communication skills to support and manage the engineering of a large software system. S3. Review, critically analyse and develop artefacts to define processes for quality assurance, risk management and communication in large software development projects. S4. Implement quality assurance activities in order to verify user requirements and validate design decisions. A1. Analysis of a large system development problem to decide upon the best methodological approach. A2. Development of appropriate artefacts to support and manage the software engineering process such as change control and configuration management. Assessment Details 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 silos 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. Refer to the table below as an example: Global No Silo 12336 12337 12338 12339 12340 Count Operation Vehicle Name Tonnes Farmer HORSHAM_1 999 Load MELBOURNE 555 Load HORSHAM_1 1000 Off-Load MELBOURNE 556 Load HORSHAM 1 1001 Load TONKA 25 DUPLO 20 Southern Aurora 125,000 LEGGO 50 TONKA 25 Smith, Bob Jones, Mark Simons, Jill Jones, Mark You will need to decide how to demonstrate that your system specification works and satisfies the client requirements. (You might wish to discuss your approach with your tutor.) 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. Requirements: 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. 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.
Expert Answer:
Answer rating: 100% (QA)
To develop a formal specification in Z for the proposed system described we need to define the schema state space and operations as per the provided requirements Lets start by defining the schema and ... View the full answer
Related Book For
Posted Date:
Students also viewed these programming questions
-
Planning is one of the most important management functions in any business. A front office managers first step in planning should involve determine the departments goals. Planning also includes...
-
Managing Scope Changes Case Study Scope changes on a project can occur regardless of how well the project is planned or executed. Scope changes can be the result of something that was omitted during...
-
Case Study: Quick Fix Dental Practice Technology requirements Application must be built using Visual Studio 2019 or Visual Studio 2017, professional or enterprise. The community edition is not...
-
Hrishi is a senior executive for a large manufacturing company in Mississauga Ontario where he has been employed for the past 10 years and his annual salary is $250,000 including bonus. He is 47...
-
Gillman Co. is forecasting sales of 62,000 units of product for August. To make one unit of finished product, 5 pounds of raw materials are required. Actual beginning and desired ending inventories...
-
Find the degree 6 least squares polynomial approximation to e on the interval [- 1, 1] under the L2 norm.
-
Atlas Travel ended 2009 with Accounts Receivable of $90,000 and an Allowance for Uncollectible Accounts balance of $8,000. During 2010, Atlas Travel had the following activity: a. Service revenue...
-
After graduating from college, your friends and you start an Internet auction service called TriangCom. Business has been fantastic, with 10 million customer visitsor hitsto the site in the past...
-
Consider a model of the Hecksher-Ohlin variety. A small, open economy produces two goods, bicycles and blue-jeans, using only two inputs, labour and capital, under constant returns to scale. Bicycles...
-
isabelle sterling, the partner you work for, unexpectedly had to travel to Hong Kong. She left you the Tang Aluminum Products file for your client, Global Bank. Global will be lending Tang 1.9...
-
Over the period of the first 20 games to the start of this season the Toronto Blue Jays scored the following number of runs in each game: 9. 1, 3, 1, 1.0, 9, 7, 2, 2, 8, 1, 5, 1, 8, 3, 10, 2, 5, 10...
-
You are creating a Sales order for a customer. The customer wants to observe how prices change as quantities are adjusted. You need to provide an overview of the different price systems available for...
-
Ned needs to produce more of his two products in order to increase his net income and has found a way to increase the limited resource, machine hours. He has two products, hammers and screwdrivers.....
-
how do business organize themselves, management structures. in a supply chain world Effect of globalization on Canada. import/ export. how do they measure success between countries. Trade that reduce...
-
What leaders or leader do you think the instWhat leaders or leader do you think the instructor is talking about?ructor is talking about?
-
what extent do cultural artifacts, symbols, and rituals reflect and reinforce underlying cultural assumptions and ideologies, and how do they contribute to the maintenance or evolution of...
-
Healthcare management has evolved significantly. The marketing strategy has evolved within healthcare organizations on the basis of meeting new challenges and to link the process to strategic goals,...
-
In the series connection below, what are the respective power consumptions of R, R2, and R3? R R www 4 V=6V P1-3 W; P2=3W; and P3= 3 W OP10.5 W; P2-1 W; and P3= 1.5 W P1=1.5 W; P2=1 W; and P3= 0.5 W...
-
A closed-loop speed control system is subjected to a disturbance due to a load, as shown in Figure DP4.1. The desired speed is Ïd(t) = 100 rad/s, and the load disturbance is a unit step input...
-
A simplified model of the control system for regulating the pupillary aperture in the human eye. The gain K represents the pupillary gain, and r is the pupil time constant, which is 0.5 s. The time...
-
Consider again the wind tunnel control system of Problem P7.31. When K = 326, find T(s) and estimate the expected overshoot and settling time (with a 2% criterion). Compare your estimates with the...
-
A simplified vibration analysis of an airplane considers bounce and pitch motions (Fig. 6.24(a)). For this, a model consisting of a rigid bar (corresponding to the body of the airplane) supported on...
-
Derive the equations of motion, using Newton's second law of motion, for each of the systems shown in Figs. 6.21. Pulley, mass M, mass moment of inertia Jo 3r 3m T x(1) F(t) 2k 000 T x2(1) m T X3(1)...
-
Derive the equations of motion, using Newton's second law of motion, for each of the systems shown in Figs. 6.22. M, cos wt G 15 G3 13 ka 03 4 kn 12 G k3 16 G6 G Number of teeth on gear G, n, (i = 1...
Study smarter with the SolutionInn App