Test Project - J2ee

This project received 9 bids from talented freelancers with an average bid price of $10 USD / hour.

Get free quotes for a project like this
Project Budget
$8 - $15 USD / hour
Total Bids
Project 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 place called Burrito Brothers. This very popular

establishment offers a VERY-TASTY burrito (assume the burrito ingredients are infinite.)

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


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


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. Do not turn in you final application as a package or jar. 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 WebCT as a ZIP file that

extracts to a single level directory for this problem and does not include your files as a

package or jar):

A detailed design document fully describing your work 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.

Skills Required

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online