Operating system scenarios as Use Case Maps

Edward A. Billard
2004 Software engineering notes  
This paper summarizes the analysis, design, implementation, and performance analysis of an object-oriented operating system. The analysis applies Use Case Maps (UCMs) to provide a high-level abstraction of the behavior scenarios for state transition, character output, network access, and disk access. The UCM for state transitions is converted into a queueing network for simulation study of I/O-bound versus CPU-bound systems. An overview of the later stages emphasizes UML for architecture and
more » ... ailed collaboration, as well as Java examples. The performance of the disk subsystem is analyzed by instrumenting the Java code, and the results show that design choices can affect the throughput. This allows the developer to investigate issues and problems with performance at an early stage of development [3], [13], an important consideration for performance-sensitive software such as an operating system. Other performance studies examine concurrency and real-time issues [19], [20] state machines [25], and predictive modeling [23], [24]. This study summarizes the life cycle of the development of an operating system. The system is object-oriented but is similar to the function-oriented XINU system [ll], which is, itself, similar to UNIX. Previously, this author implemented a graphical user interface to a XINU-like operating system [5], intended to display the high-degree of concurrency and state transitions present in an operating system. The goal of the current study is to apply modern techniques such as UCMs, UML, object-oriented programming (Java) to the classic domain of operating system software. Also, simulation and instrumentation provide for performance analysis of such systems.
doi:10.1145/974044.974087 dblp:conf/wosp/Billard04 fatcat:vmmwrdmg3jagpkqojqbmoc7eie