A view is a partial specification of a program, consisting of a state space and a set of operations. A full specification is obtained by composing several views, linking them through their states (by asserting invariants across views) and through their operations (by defining external operations as combinations of operations from different views). By encouraging multiple representations of the program''s state, view structuring lends clarity and terseness to the specification of operations. And by separating different aspects of functionality, it brings modularity at the grossest level of organization, so that specifications can accommodate change more gracefully. View structuring in Z is demonstrated with a few small examples. The features of Z that make it especially well suited to composing views are discussed, along with some hints for adapting other languages to the purpose.
Cited By
- Reineke J, Stergiou C and Tripakis S (2019). Basic problems in multi-view modeling, Software and Systems Modeling (SoSyM), 18:3, (1577-1611), Online publication date: 1-Jun-2019.
- Boiten E, Bowman H, Derrick J and Steen M Issues in multiparadigm viewpoint specification Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints '96) on SIGSOFT '96 workshops, (162-166)
Recommendations
Structuring Z specifications with views
A view is a partial specification of a program, consisting of a state space and a set of operations. A full specification is obtained by composing several views, linking them through their states (by asserting invariants across views) and through their ...
Modular structuring of VDM specifications in VVSL
AbstractVVSL is a language for writing modularly structured VDM specifications. Its modularisation mechanism permits two modules to have parts of their state in common, including hidden parts. Firstly, this paper gives an overview of the structuring ...