The Buoy problem was originated by Parnas, et al, as an example for a course in Software Engineering Principles in 1981. They used it as an architecture example to illustrate the principles of real-time system design by comparing two different possible designs, one of which was maintainable and one of which was not.
Booch used the sea buoy example to illustrate object-oriented development [Booch86]. He adapted his version from a study by Boehm-Davis and Ross [Boehm84].
From an architectural standpoint, the interesting problem lies in the different levels from which it can be analyzed. As the next section illustrates, maintainability, real-time factors, and hardware questions are all important considerations.
Updated Halloween 95 by
Mary Shaw
Comments to maintainer