DesignFest® Problem Collection
This collection currently contains 45 problems.
Used in the 1996 edition | Full Description | Results
Case Management is a business function common to government health benefit programs, and insurance and financial organizations. The problem you are here to solve today is to develop an object oriented framework for use in developing specific case management systems to support case workers in these industries. These systems must provide access to all necessary information for case workers to process work or respond to customer service needs. They may also provide workflow and business rules processing to support case workers. As the main incoming channel for cases is frequently the telephone, the system must have sub-second response times and be intuitive to use.Used in the 1998 and 2004 editions | Full Description 98, 04
Used in the 1996 edition | Full Description | Results
Financial markets are an example of an environment where sharing and maintaining large sets of complex information give the holder competitive advantage. Often queries to such databases are imprecise, producing large result sets that are visually scanned. Also, changing market conditions and positions within them demand that results be kept current while they are displayed. This problem is about designing a mechanism that allows these modestly configured machines to view and control large sets of business objects cached on several dozen large servers.Used in the 1997 and 1998 editions | Full Description 97, 98 | Results 97, 98
This design problem is to design a framework that
will allow a seamless approach to the provision of personal and group spaces for
the development of concepts. Because it is to allow concept development in a
large range of applications, it will be necessary to allow appropriate
interfaces to be plugged into the framework.
A use-case might be designers developing a large design across a network
using personal and group CASE-type tools. Another use-case might be distance
education students learning across the Internet.
It is expected that the design will be formulated from patterns and will be
presented as a "super-pattern".
A use-case might be designers developing a large design across a network using personal and group CASE-type tools. Another use-case might be distance education students learning across the Internet.
It is expected that the design will be formulated from patterns and will be presented as a "super-pattern".
Surface mining is a method of extraction for most of the minerals produced all over the world. In this method the extracted materials are loaded by loaders or mechanical shovels into the dump trucks and transported to mineral processing facilities and waste dumps. As the volume of the materials increases, management of transportation system becomes more complicated. When dump trucks are assigned to transport ore and waste from the extraction and waste removal points the problem is how to schedule the trucks in a way that during the shift work, trucks and shovels have fulfilled the maximum possible service. In other words, there is no line of trucks in front of a shovel, while the other shovel is idle. This text explains the details of the problem by using an example.Used in the 2001 edition | Full Description | Results 01/I, 01/II (doc)
A local forest technology company, Forests 'R' Us, wants to build and sell a system for gathering and analyzing weather information to predict forest fires and help with water table management. The Arbor2000 will be sold to National Forests, Environment Canada, the U.S. Forest Service, and large private land owners. It will consist of hardware and software both locally in the owner's office building and remotely in the forests.Used in the 1996, 2003 and Brazil 2004 editions | Full Description 96, 03 | Results Brazil 04/I, Brazil 04/II
The setting is a large bank with a large portfolio of consumer loans (car loans, credit card, mortgages, etc.) A certain percentage of customers are late in paying. The overall business objective is to collect as many of these payments as possible through direct telephonic interaction with delinquent borrowers. An important strategy is to prioritize calls and to assign specific collectors based on various factors, including the amount past due, the number of payments past due, the number of prior delinquent payments, the results of prior interactions, and customer demographics.Used in the 1995 edition | Full Description | Results
DVD+RW optical disc recorder is a consumer device combining features of a DVD player and a Video Cassette Recorder (VCR). To facilitate reuse and shorten the development lead-time, parts from both DVD player and VCR are joined together to form a new product. However, both original systems were developed with the assumption that they are sole agents in a "box", i.e. they have full control of the user interface including displays (TV screen menus, front panel display) and input devices (remote control unit, front panel keys). Still, the two subsystems need to be combined into one system without causing a substantial redesign to each of them.
So, here's the design challenge: What kind of mechanism can you think up so that the subsystems still think they are in control whereas they actually are cooperating?Used in the 2001 edition | Full Description | Results
Doe's Electronics was founded in the rural town of Burwell, NE and currently serves the electronics needs of the local community, ranchers, and farmers. Customers have been known to travel up to 100 miles to shop at the store. The store has very few employees and handles all operations in house. Computer information systems are currently being used for bookkeeping and inventory.
To eliminate the disadvantages (far away store, very few employees to handle all operations) and improve its business, Doe's Electronics decides to build an e-Commerce shopping system. The e-Commerce shopping system should meet several system requirements, such as Allow customers to view products and to make purchases from their home and Allow customers to view products and to make purchases from their home, and information requirements, such as Product selections, Billing information, and Shipping information.Used in the 2002 edition | Full Description | Authors' Results
Enterprise Storage Management System is an interactive and user-friendly program that will enable the Lincoln Telephone Company to efficiently manage their storage system. With this system, the Lincoln Telephone Company will be able to monitor the file system in the storage, optimally backup; both manually and automatically, recover their data while maintaining its correctness, and provide statistic information as a reference for the system administrator. The system also provides some maintenance functions such as identifying bad or full disks, assigning and redirecting available resources while keeping the integrity of the system, and compressing the inactive files.Used in the 2002 edition | Full Description | Authors' Results
Spacecraft such as Mars Pathfinder and robots like the Sojourner rover are embedded systems that operate in harsh environments far from Earth. If problems start to occur - whether due to environmental challenges or hardware faults or software defects - operators on Earth need a window into what's happening onboard. Thus it's very important for programmer to instrument the onboard software to log noteworthy events including routine telemetry, warnings, and errors. Your task is to define an object-oriented event logging facility that spacecraft programmers will use to instrument their code and that ground operators will control during mission operations. Due to the limited amount of memory onboard, events will be saved subject to an "entry policy" and discarded subject to a "retention policy", both of which will be controlled from the ground.Used in the 1999 edition | Full Description | Results
Used in the 1997 edition | Full Description
The problem is to design a Service Tier that provides a flexible and extensible collection of services for the Presentation Tier of a set of WEB applications. The services provided can be used independently, some of the services can be used together (a set of services) in a certain order. The problem is to design a Service Tier that allows the number and kinds of services as well as sets of services to be changed and/or extended easily.Used in the 2001 edition | Full Description | Results
Some of the major components of a food processing plant are machines that sort good food products from bad ones. With the advent of faster networks, object oriented techniques, and especially the notion of distributed objects, food processing plants are ready to move to the level where a set of machines, interoperates with one another to achieve a desired sorting goal for the plant, ultimately, allowing the machines to be treated and controlled as a single system, rather than a set of individual entities. This design problem deals with architecting the distributed objects that would be required for such a distributed control system, applied in particular to the process of sorting french fries.Used in the 1998 and Brazil 2004 editions | Full Description | Results Brazil 04
Used in the 1996 edition | Full Description | Results
Business requirements consist of providing user authentication and authorization based on Active Directory, LDAP and single sign on technologies. Different business units in ARC do authentication and authorization differently right now. There needs to be a common authentication and authorization model. Microsoft Active directory will act as a primary source of user data. User authentication needs to be reconciled across business units that use peoplesoft, siebel and learning management system called plateau (J2EE Application).Used in the 2005 edition | Full Description
The goal is the design of a system that manages digital images as a Webservice, specifically focused for use by larger or international organizations. The system will be used by professional photographers to deliver their photo's and by print shops, both possibly external to the organization that deploys the image system.Used in the 2005 edition | Full Description
This DesignFest problem from the insurance industry is based on an existing system to provide flexible insurance coverage packages. Insurance companies sell these packages to other companies as an economical way for them to provide insurance as an employee benefit, where the insurance is tailored to the employee’s personal circumstances. Employees only pay for the coverage they need. An employee who already has dental insurance through their spouse can spend their money on other types of insurance instead. The actual choices an employee can make depend on the specific rules their employer negotiates with the insurance company, and the system to be designed is intended to enforce these rules.Used in the 2001 edition | Full Description | Results
Digital television allows interactive content to accompany standard broadcasts. The development of bespoke interactive content is expensive. You are to design a system that will allow the non-technical producers of television programmes to build interactive content from a set of high-level building blocks.Used in the 2004 edition | Full Description
The goal is to design a general-purpose simulator for a mechanical process. This proposal addresses a specific domain within embedded systems: that where software must control the transport of physical objects through various way points where physical actions are applied to them. Some examples from this domain include manufacturing assembly lines, printing systems, railroads. Software is needed to simulate the physical system so that the software being designed to control that system can be empirically tested.proposal.Used in the 2005 edition | Full Description | Results
You are to design a massively multi-player game that takes place in a shared, 2-dimensional, virtual space. Each player is at a separate work station, and navigates one tank-like vehicle through this space. The space is made visible through a graphical window. Player vehicles appear in this window, and are updated in real time. Vehicles have the capability of shooting missiles. If enough missiles hit a vehicle, it is destroyed and the player is eliminated from play. Display is managed by the game software. The game system to be designed will manage distribution of player state among the various players. The game system must also manage player interactions such as missile hit determinations.Used in the 2000, 2003 and Brazil 2004 editions | Full Description 00, 03 | Results Brazil 04/I, Brazil 04/II
The problem is to design and implement a platform for communication for family and friends as a Web-based application and it is called MyFamilyReunion.com. The application should enable members of the family or a group to post messages, share photos, maintain group calendars a nd address books, send group emails, view latest logins of all the other members and chat with any of the members who are online. When a user goes to MyFamilyReunion.com, he is given the option of creating a new family or logging on to an existing family. A user who chooses to create a new group is then taken to the registration page and is prompted to fill out the registration form. At the end of the process, he chooses his login name, password and a family name. He then logs on to the system and is taken to his family page. Here, he can add family or group members, post messages, share photos, store events in the calendar, add common contacts to the address book and send emails.Used in the 2002 edition | Full Description | Authors' Results
The spiraling growth of Web-commerce is leading many companies to re-design how they do business to find new ways to deliver value to their customers. Loan financing companies want to be able to present the loan contract to the end consumer while the client is still looking at the product. New Web applications are being developed that gather together data about the purchase and the consumer, which is sent to a back-end service to prepare the contract. This design problem involves the Contract Generation component which must read business data from an XML data stream, choose a particular contract template, create a script to set the tag-value pairs for the template, and block itself until the merged document appears, after which it must set a return value to the calling system.Used in the 1999 edition | Full Description | Results | Implementation
Most financial markets have moved away from the traditional open out-cry mode (with people shouting at each other) towards an electronic system with participants sitting behind their computer screens. Only electronic systems are considered capable of meeting today's challenges of globalisation and rapidly increasing turn-over. This evolution is by no means limited to financial markets, but virtually applies to all commodities which can be bought and sold.
We would like you to design a program, called OrderMatcher, that can determine in real-time the current market price and combine matching orders to trades. This is challenging, because of the complex matching rules and the high number of trading parameters involved and due to the large amount of orders entered by the market participants.Used in the 1997 and 2000 editions | Full Description 97, 00 (pdf), Revised | Results 97 00 | Implementation
Peer-to-peer (P2P) architecture is a new paradigm in distributed computing technologies. Peer-to-peer computing is the sharing of computer resources and services by direct exchange between systems . The desired framework based on peer-to-peer network should provide peer discovery and interaction mechanisms. The framework also allows the peer computers to share files and exchange instant messages. It can serve as a framework for distributed file sharing and messaging systems based on P2P. The framework should be generalized enough to cater to needs of any specific P2P application.Used in the 2003 edition | Full Description
The purpose of this project is to analyze and design a bidding/quotation system for a small second-tier contractor in the telecommunications infrastructure industry. The primary goal is to provide a user-friendly, accurate and secure system for receiving quotations from customers, procuring quotations from subcontractors and material vendors, building internal labor and material fabrication pricing, and assembling all of the previous into a coherent and timely response to the request for quotation. Additional factors/problems to consider are the issues of price negotiations and quotation addendums. Bids are currently completed through a combination of MS Word® documents and MS Excel® spreadsheets, and thus a primary motivation behind this project is the fact that the current system is paper and spreadsheet-based.Used in the 2002 edition | Full Description
People that have the chance to participate in a symposium can have some optional course assigned. To get these assignments rounded up, a registrar needs to know the preferences of the candidates and the available time slots they have. This is basically the DesignFest registration problem. It has a somewhat wider application however.
On one hand this is a preliminary version, a concept. On the other hand this problem has been defined about every year a DesignFest was held at OOPSLA. The real origin of the problem definition is subject to mythology.Used in the 2004 edition | Full Description
The maintenance people of a service provider have to administer and configure devices and daemons running on server machines. This can be quite cumbersome and is a good candidate for automation.
A system for configuring and maintaining a network of devices for routing and processing and receiving ip data must be maintained. A lot of it is automated. But this is not standard of the shelf software. Big and small service providers often build their own.
The systems involved run very different hardware. Some are configurable through snmp interfaces others through html over http interfaces. Again others run commandline interfaces on proprietary operating systems.Used in the 2005 edition | Full Description
Today the Internet provides the functionality to take part in the online auctions and bid for the thousands of products sitting right in front of your PC. Imagine a system where a buyer can specify the requirements for example the potential buyer of a car can specify the specification and other details that he/she is looking in a car. And then the potential sellers sharing and using the system can respond to the buyer's desired request posted on the system and really can bid for the same
The need of this system arises in the areas of complex requirements where a buyer probably is looking for custom product that does not exist and there is a need to build it and then supply it. The example of this can be a particular new part of an automobile that is required to be manufactured according to the buyer's requirements.
The possibilities of using the system are endless and typically the system is not only specific to a particular industry, area or product. It is a concept and can be applied universally to any business need or an individual requirement. It can be applied to a variety of applications including Business-to-Customer (B2C), (C2B), and (B2B).Used in the 2001 edition | Full Description | Implementation
BifCo repairs two-dimensional structural panels using a robotic arm assembly in an environmental chamber. While there are several components to this system, your team has been hired to design the motion control subsystem (MCS) for the BifCo repair system. The MCS is responsible for managing all motion control and status requests submitted to the motion control hardware. The repair process dictates several motion constraints. First, only damaged zones of a panel require repair. Second, the repairs must be done without totally disassembling the panel - so in addition to defining the section to be repaired, exclusion zones must be observed for features that protrude from the assembled portion of the panel. Third, the robotic arms must stay within the walls of the repair chamber. These features are recorded by a separate subsystem and are inputs to MCS. You must design a system that supports all robotic motion: "Manual" moves commanded by the operator, and automatic motion that moves the tool back and forth across the repair zone a segment at a time, from the starting edge to the end of the repair zone. The MCS must support a separate graphical display subsystem by being able to draw zones of work, exclusion zones, the real-time position of the robot's arms, and the end position of robot arms on a device context provided by the graphical subsystem.Used in the 2002 and 2003 editions | Full Description 02, 03 | Results 03
Ever wonder how squash or tennis rating systems work? Are you interested in designing one? If so, this is the problem for you. We will give you the algorithm for determining the rating changes of two players after they have played a match: you have to design the system to keep the ratings up to date.
Sounds easy? It is, if match results are input in chronological order. However, the real world does not work that way! Players enter results out of order and make mistakes. The system has to maintain the ratings as if the corrected match results were input in the correct order. Not so easy.
Players also want to track the effects of each match on their rating, find challenging opponents (particularly if they are improving quickly) and see their historical performance against a particular opponent. Club pros also get into the game (pun intended) to set initial ratings, to adjust ratings, and to enter or fix match results for members of their clubs.Used in the 2006 edition | Full Description
The television broadcasting companies (or "networks") own and lease equipment for composing, transmitting and receiving shows and non-show material. The network has to use this equipment efficiently, as well as make sure that there are no conflicts between different programs in using it. Therefore, there is a need to schedule and manage the use of various network and non-network composition and distribution facilities. Participants will design an object-oriented scheduling module that provides a basic scheduling algorithm that can be extended to support these various eqiupments and services.Used in the 1998 edition | Full Description
The system that you are asked to conceive aims to automate a brokering bank's side of the government securities trading, which involves processing instructions (sending instructions to the Fed for "deliver" and matching for "receive") as well as associated bookkeeping and transaction management. Securities ("bonds") are stored at a few selected "repositories," and bond-owning customers must entrust a "broker bank" to hold and trade its securities on its behalf, although in practice end customers ask professional "brokers" to do it. Customers who want to trade their securities (say, exchange them for money) must ask their respective brokers to issue "instructions" to perform the corresponding banking transactions; see detailed scenario below. Only once these instructions are executed and acknowledged, the trade is completed. Besides stringent integrity reliability and performance requirements, the solution must satisfy the hard technical problem is "matching" of "receive and deliver instructions", to materialize exchange of government securities among third parties.Used in the 2001 edition | Full Description
A supply chain is a network of suppliers, factories, warehouses, distribution centers and retailers, through which raw materials are acquired, transformed, produced and delivered to the customer. An effective and efficient way of managing this network is called a Supply Chain Management System (SCMS). Given the fact that any local decision may have its effects widespread it is pertinent to design a system that will cater to the future challenges particularly in a volatile market scenario. The prime purpose of this project is to analyze and design a Web-based generic SCMS. As such, the project requires a thorough understanding of supply chain management practices and a melding of that understanding with Web-based software development and operation.Used in the 2002 edition | Full Description | Authors' Results
The problem is to design a system that can help a small team of physical therapists that treat children, to communicate between team members, with doctors and with parents. When treating children, continuity is very important, communication with parents plays a role, and the children themselves are often not able to participate in the planning and keeping track of treatment as an adult would do.Used in the 2005 edition | Full Description
With the impressive evolution of telecommunications in the past few years and the variety of services telecommunications operators can actually offer to users and providers, electronic devices supporting such services have registered exponential growth rates and the combination of such devices to support personalized solutions is becoming difficult to manage and support.
We would like you to design an application, called VelcoWare, to deal with the management of a warehouse of electronic devices supporting telecommunications services. Management of such warehouse includes inventory control, automatic ordering of goods and a full computer support to optimize the usage of the warehouse space, based on different parameters. It should be possible to arrange the warehouse items according to different criteria (ex. price, kind, brand, color, or others) or, more important, according to one or a combination of different rules.Used in the 2001 edition | Full Description
In this DesignFest problem, your job will be to
finish several designs that focus on various aspects of constructing a Drink
Vending Machine. Just as though you had joined a design house, you will be given
a series of relatively small design problems. They will be staggered over the
course of the day, so that you have time to learn to work with your teammates
and evolve your design process and design discussion skills.
These problems have been solved by novices, and debated by experts, so they
admit of multiple skill levels. Some DesignFest problems are large enough that a
good group of people might get them done in a day. However, people who are
trying out their design skills - and more significantly, meeting other designers
for the first time - spend most of their energy learning how to talk about what
they are doing, and may not actually finish the problem.
The problems that will be used in "Pat's Contracted Software" are simply
stated and easy to understand - but they have multiple valid solutions, from
naive to sophisticated.
These problems have been solved by novices, and debated by experts, so they admit of multiple skill levels. Some DesignFest problems are large enough that a good group of people might get them done in a day. However, people who are trying out their design skills - and more significantly, meeting other designers for the first time - spend most of their energy learning how to talk about what they are doing, and may not actually finish the problem.
The problems that will be used in "Pat's Contracted Software" are simply stated and easy to understand - but they have multiple valid solutions, from naive to sophisticated.
Veterinary medical systems are very similar to human medical systems. One of the biggest differences is that patients are animals and clients are people who own the animals. This introduces some interesting complications when it comes time to pay for the bills. The system keeps track of what procedures and medicines were used on the patient, but when it comes time to pay, the bill is sent to the client.Used in the 2006 edition | Full Description
Used in the 1997 edition | Full Description | Results
The Viking is a system that maintains information about customers and can send them letters tailored with important, relevant, and time-critical information. The Viking is the core of a direct marketing system: it will directly interact with users to configure the campaigns and will work with other system components to accomplish the mailing itself.
The functionality needed from The Viking is described through requirement stories (informal use cases). Each story describes an interaction that the system must be able to support, and the collection of stories provides a prioritization of system capabilities. The more high-priority stories your design or implementation of The Viking supports, the bigger and better a Viking you will have created and the happier your company will be with your performance.Used in the 2000 and 2001 editions | Full Description 00, 01 | Results 00/I (doc), 00/II, 01 | Implementation 00, 01/I, 01/II
In computer science education, many universities find it difficult to
have closed labs because of lack of space or scheduling
difficulties. The net makes it possible to conceive of a "virtual"
computer science lab in which students could work collaboratively over
the net on relatively small problems. Pairs of students and small
teams would work asynchronously, but over a short time frame on
problems set by the instructor and the system would make it possible
for the instructor to "look over the shoulders" of the students and
provide help. It might even be possible to provide an artificially
intelligent lab instructor that could provide advice.
The software envisioned here would provide such an
environment. Different people would have different roles within the
system. The main roles are instructor and student. Each person would
interact with an appropriate client. The system would make it possible
for a group of students to be broken into teams and for each team to
work synchronously and asynchronously on a problem set by the
instructor. The system will permit common document edit and markup by
team members. It will be modular so that different modules may be
responsible for different document types. The system will also provide
various communication facilities (bulletin board, email, chat,...) so
that teams may work effectively. The instructor must be able to
connect to any team at any time to review progress and make
In computer science education, many universities find it difficult to have closed labs because of lack of space or scheduling difficulties. The net makes it possible to conceive of a "virtual" computer science lab in which students could work collaboratively over the net on relatively small problems. Pairs of students and small teams would work asynchronously, but over a short time frame on problems set by the instructor and the system would make it possible for the instructor to "look over the shoulders" of the students and provide help. It might even be possible to provide an artificially intelligent lab instructor that could provide advice.
The software envisioned here would provide such an environment. Different people would have different roles within the system. The main roles are instructor and student. Each person would interact with an appropriate client. The system would make it possible for a group of students to be broken into teams and for each team to work synchronously and asynchronously on a problem set by the instructor. The system will permit common document edit and markup by team members. It will be modular so that different modules may be responsible for different document types. The system will also provide various communication facilities (bulletin board, email, chat,...) so that teams may work effectively. The instructor must be able to connect to any team at any time to review progress and make suggestions.
The problem is to design and implement a friendly platform for MRI visual analysis to be used by medical professionals. The application should enable doctors to see the result of MRI as three-dimensional objects. It also provides them the opportunity to access various parts of the organ and study it from different points of view. There are more features such as measurement, opacity, and coloring that make the application useful by achieving a more precise, fast, effective, and easy to understand vision of the organ's cells.Used in the 2003 edition | Full Description
In X-ray medical imaging, digital devices like CCDs are replacing traditional image acquisition devices like photographic film. These devices can be characterized by the fact that nothing goes without software: whereas film only needs some optical and electronic components to acquire images, CCD-type device do not work without software.
The X-ray Digital Device Control Framework comprises of a set of classes/components that offer services for eg. control of a digital detector and image handling. This framework will allows other to integrate the device into an X-ray machine.Used in the 2000 edition | Full Description