Turnable formalism in object-oriented systems analysis: meeting the needs of both theoreticians and practitioners

† This work has been partially supported by HewlettPackard through graduate fellowships and equipment grants. Object-oriented Systems Analysis (OSA) [7] meets the needs of both theoreticians and practitioners by providing tunable formalism. In this paper, we show how an OSA user’s use of formalism can be tuned from completely informal to completely formal. We give OSA’s underlying formal definition that makes this possible as a two-step process involving a temporal, first-order logic language, and a mathematical interpretation. We also show how the formal definition provides answers to fundamental, practical questions related to object-oriented software development. Finally, we show how OSA allows varying levels of abstraction and completion so that engineers, tool builders, and researchers can tune the formalism to suit their needs.