Deriving Use Cases for Distributed Systems from Knowledge Requirements Xiao Jun Chen School of Computer Science University of Windsor Windsor ON Canada xjchen@cs.uwindsor.ca Luigi Logrippo School of Information Technology and Engineering University of Ottawa Ottawa, ON Canada luigi@site.uottawa.ca Abstract Knowledge requirements for distributed systems express desired states of affairs concerning initial and final knowledge of the components of a system. It is shown how use cases (i.e. sets of scenarios) can be obtained from knowledge requirements. The technique involves the use of event structures that specify use cases capable of achieving the requirements, and logical postconditions for events. The technique allows design refinement, both in the form of architectural refinement and in the form of event refinement. The correctness of refinements can be checked by checking logical implications. As an example, use cases and scenarios for a simple mobile telephony protocol, based on GPRS (the data extension of GSM) are derived, on the basis of the corresponding knowledge requirements. Scenarios are given in the form of Message Sequence Charts. Keywords: Use cases, scenarios, logic specifications, knowledge requirements, event structures, distributed system design, protocol design.