Refinement of Object-Z Specifications Using Morgan-s Refinement Calculus
ثبت نشده
چکیده
Morgan’s refinement calculus (MRC) is one of the well-known methods allowing the formality presented in the program specification to be continued all the way to code. On the other hand, Object-Z (OZ) is an extension of Z adding support for classes and objects. There are a number of methods for obtaining code from OZ specifications that can be categorized into refinement and animation methods. As far as we know, only one refinement method exists which refines OZ specifications into code. However, this method does not have fine-grained refinement rules and thus cannot be automated. On the other hand, existing animation methods do not present mapping rules formally and do not support the mapping of several important constructs of OZ, such as all cases of operation expressions and most of constructs in global paragraph. In this paper, with the aim of providing an automatic path from OZ specifications to code, we propose an approach to map OZ specifications into their counterparts in MRC in order to use fine-grained refinement rules of MRC. In this way, having counterparts of our specifications in MRC, we can refine them into code automatically using MRC tools such as RED. Other advantages of our work pertain to proposing mapping rules formally, supporting the mapping of all important constructs of Object-Z, and considering dynamic instantiation of objects while OZ itself does not cover this facility. Keywords—Formal method, Formal specification, Formal program development, Morgan’s Refinement Calculus, Object-Z
منابع مشابه
Refinement of Object-Z Specifications Using Morgan-s Refinement Calculus
Morgan’s refinement calculus (MRC) is one of the well-known methods allowing the formality presented in the program specification to be continued all the way to code. On the other hand, Object-Z (OZ) is an extension of Z adding support for classes and objects. There are a number of methods for obtaining code from OZ specifications that can be categorized into refinement and animation methods. A...
متن کاملThe Timed Predicative Calculus as a Framework for Comparative Semantics
Predicates are used in a variety of formal specification languages, though a predicate does not always mean the same thing in each approach. For example, the predicate false in Z means the same thing as true in the predicative calculus of Hehner. In this paper, we compare the specification languages Z, Morgan’s Refinement Calculus, and Parnas’s Limited Domain relations, using the timed predicat...
متن کاملA refinement calculus for Z
The lack of a method for developing programs from Z specifications is a difficulty that is now widely recognised. As a contribution to solving this problem, we present ZRC, a refinement calculus based on Morgan's work that incorporates the Z notation and follows its style and con ventions. Other refinement techniques have been proposed fOr Z; ZRC builds upon some of them, but distiuguishes its...
متن کاملA Case-Study in Timed Refinement: A Mine Pump
A specification and top-level refinement of a simple mine pump control system, as well as a proof of correctness of the refinement, are presented as an example of the application of a formal method for the development of time-based systems. The overall approach makes use of a refinement calculus for timed systems, similar to the refinement calculi for sequential programs. The specification make...
متن کاملSpecification statements and refinement by Carroll
We discuss the development of executable programs from state-based specifications written in the language of first-order predicate calculus. Notable examples of such specifications are those written using the techniques 2 and VDM; but our interest is in the rigorous derivation of the algorithms from which they deliberately abstract. This is, of course, the role of a development method. Here we ...
متن کامل