Design and programming assignment - the design portion of


Design and Programming Assignment

Operating Systems

However, this excludes the use of any other people and all materials that are not peer reviewed.

You must cite all references.

Description

For this problem you must use Java's semaphore class. Your implementation for this problem must only use the semaphore methods to control the concurrency of your solution (IE. acquire and release).

Consider a small take-out food restaurant called Burrito Brothers. This very popular establishment offers a VERY-TASTY burrito. There are three servers that own a private beef area, a cheese area, and a tortilla area (IE. Each server has their own ingredients in an infinite supply). Additionally there are three shared counter locations, a shared cash register and a shared waiting area that can accommodate up to 15 customers. By law the shop has a maximum customer capacity of 15.

A customer cannot enter the shop if it is filled to capacity. If the there is room a customer will gain access to the shop. Each customer will enter the shop with an order of one to 20 burritos. As soon as a server is free, the customer that has the shortest order is served next.

A server is either servicing a customer or waiting. Each server will make (at most) three burritos at time for a given customer. Once a server has obtained all ingredients, a burrito can be made. When a customer's entire order is finished, the customer pays a cashier and leaves the shop. Since there is only one cash register, only one patron may pay at a time. However, in the event that a customer's entire order has not been filled by the server at the completion of the current counter visit the customer must reenter the waiting area. The waiting area is organized by the shortest order next.

Implement a solution to this problem as a Java application using the Java semaphore class for synchronization. Your zip file must expand into a single directory and your application must compile at the command prompt using javac *.java. Output must include the arrival of each customer and each state transition: leaving full shop, entering shop with an order of m burritos, customer standing, getting service from server n, paying, and leaving. Each customer is represented by a corresponding thread and each server in your implementation is also represented by a unique Java thread. All customers and servers exist within a single application.

The finished assignment must include the following (submitted to Blackboard as a ZIP file that extracts to a single level directory for this problem):

- A detailed design document fully describing your work. This must be a clear and concise document that rigorously addresses the decisions and design elements that support your solution to this concurrency and synchronization problem. See the Methodology, Design, and Writing link in My Course Content in Blackboard for design elements. You must pay close attention to maintaining a consistent flow in form. The document must be well written and should be proofread for detail and accuracy. Use double spacing throughout the document and the font should be Times Roman or a similar serif typeface. Use citation to provide evidence of your analysis. Citations and references should be in APA format. Use 12 point for the body of the text.

- The Java Burrito Brothers Implementation
o The Java Source Code
o Class files
o The system must compile using the command: javac *.java. The system must run using the command: java Burrito .
o Output from a run of your application.Methodology and Design Guidelines Introduction
This document describes a sample of the expected outcomes for methodology and design assignments. You must include your name and a description within each deliverable.

The written work is as important as the coding sections and must be handled appropriately. In the following sections of this document, a discussion on the expectations of each deliverable is presented.

Your documentation must clearly and concisely depict the solution to the assigned problem. This would include a discussion of why your solution incorporated certain features and functions. Each problem has particular issues that require a combination of discussion and implementation to solve.

Methodology

The objective of the methodology is to discuss the approach that was used to implement a solution to a given problem. In this deliverable it is necessary to use prose not just simple narratives. Your work should establish any assumptions for the assignment and explain your direction. In this section you should discuss the details of your study.

In essence, a methodology covers the steps taken to produce the resulting design document. This portion of the assignment provides the background on the solution.

Design

The design portion of the assignment must provide a detailed discussion of the components used in the system. Information contained in the design document is explicitly detailed. Once again, this document must contain sufficient detail such that a programmer can implement your design, but does not include the actual code that resulted from your design. It is necessary to include a title page and a table of contents with your design.

The following outline is potential subject matter that may be included in your design document.

Scope/Overview

The scope/overview should have introduced the problem and the design. Information contained in this section should give an overview of what is to follow, as well as stating any limitations, etc.

Data Design

In this section, the design should have discussed each of the data items that are used in the system.

Architectural Design

This section will discuss, in detail, each of the system components.

Class and Object Design/Modules

This section provides the details of the classes and objects used in the modules that were designed for the system. It is not acceptable to extract portions of the actual code and include them in this section.

Interface Design

Include any human-computer interaction, external interfaces, or internal interfaces in this section.

Test Provisions

This section would include your testing and verification designs.

Solution Preview :

Prepared by a verified Expert
Operating System: Design and programming assignment - the design portion of
Reference No:- TGS01661475

Now Priced at $50 (50% Discount)

Recommended (93%)

Rated (4.5/5)