Large-scale software systems, distributed or otherwise, are generally complex to describe, construct, manage, understand, and maintain. Current research approaches to reducing this complexity separate software structural and behavioral descriptions. It is important to study and analyze the behavioral as well as structural aspects of software systems. Much research continues on software structures and their patterns, characterizations, and classifications. Currently, research on the behavioral aspect of software systems includes using formal notations for specifying software behaviors and possibly refining the specifications to design and implementation. Large formal specifications, however, can be difficult to create and to understand; more research is needed into methods for assisting software requirements engineers in reducing these difficulties.
This dissertation introduces the idea of a software "behavioral view": intuitively, this is a complete description of the behavior of the system observable from a specific point of view. We believe that a fully-developed methodology based on views would significantly reduce the complexity of creating and understanding software requirements. In this dissertation we take the first steps towards such a methodology. We define a formal notation, Viewcharts, with a well-defined semantics based on Statecharts. Viewcharts gives a means for precisely describing views and their compositions. We show that Viewcharts reasonably capture the informal idea of a view by giving two examples: a manufacturing control system, and a plain old telephone system. We show that Viewcharts have some advantages over Statecharts; in particular, Viewcharts adds name space control to limit the scope of broadcast communication, solving a problem with Statecharts presented by Harel.
|Back to Homepage|