Toward a multiformalism specification environment
暂无分享,去创建一个
In a multi-formalism specification environment an application specification is written in terms of one or more domain formalisms. No one formalism is sufficient to subsume the others in such a way that the entire specification could be easily written in that one formalism. Instead, different aspects of a specified application are described in terms of narrow domain formalisms whose semantics are defined independently and linked together through interfaces.
The process of multi-formalism specification, in its purest form, is three separate activities: interface, formalism, and application design which interact only through the formalism library. Interfaces are first designed and then formalisms are designed in terms of one or more interfaces. Interface and formalism design are ongoing activities; the formalisms and associated tools are saved in a formalism library. The application designer selects formalisms from the library and composes them to specify the particular application. Once the application is specified, an implementation is automatically generated using the semantic definitions associated by the formalism designer with the respective formalisms of the specification.
There are two basic methods of composition: closed and open. Closed composition explicitly joins particular formalisms to create a new formalism. In open composition, on the other hand, no new formalism is created. Instead, formalisms are composed in the specification on the basis of the interfaces on which they are defined. Other than relying on a common interface formalisms in open composition are totally independent: they may be designed relatively independently, unlike subformalisms of a closed composition. In general, inter-formalism interaction in closed composition is arbitrary whereas interaction in open composition is restricted to the semantic concepts of the interfaces between each formalism pair.
Two methods of open composition are supported: modular and recursive composition. In modular composition, specifications are broken down into modules. Each module is expressed in a single formalism. In recursive composition, substrings in different formalisms may be intermixed. Transitions between formalisms in the text of the system specification are explicitly indicated by meta-symbols. (Copies available exclusively from Micrographics Department, Doheny Library, USC, Los Angeles, CA 90089-0182.)