2 research outputs found

    Specifying and Refining Internal Operations in Z

    Get PDF
    Abstract An important aspect in the specification of distributed systems is the role of the internal (or unobservable) operation. Such operations are not part of the interface to the environment (i.e. the user cannot invoke them), however, they are essential to our understanding and correct modelling of the system. In this paper we are interested in the use of the formal specification notation Z for the description of distributed systems. Various conventions have been employed to model internal operations when specifying such systems in Z. If internal operations are distinguished in the specification notation, then refinement needs to deal with internal operations in appropriate ways. Using an example of a telecommunications protocol we show that standard Z refinement is inappropriate for refining a system when internal operations are specified explicitly. We present a generalization of Z refinement, called weak refinement, which treats internal operations differently from observable operations when refining a system. We discuss the role of internal operations in a Z specification, and in particular whether an equivalent specification not containing internal operations can be found. The nature of divergence through livelock is also discussed. Keywords: Z; Refinement; Distributed Systems; Internal Operations; Process Algebras; Concurrency

    Rapid prototyping of software specifications in Z.

    Get PDF
    by Wu Chun Pong.Thesis (M.Phil.)--Chinese University of Hong Kong, 1993.Includes bibliographical references (leaves 86-[91]).Chapter 1 --- Introduction --- p.1Chapter 1.1 --- Formal Specification Methods --- p.1Chapter 1.2 --- The Z notation --- p.2Chapter 1.3 --- Overview of Thesis --- p.3Chapter 2 --- The Specification Language Z --- p.5Chapter 2.1 --- Background --- p.5Chapter 2.2 --- Structure and Characteristics --- p.6Chapter 2.3 --- Object Orientation in Z --- p.10Chapter 2.3.1 --- Hall's style --- p.11Chapter 2.3.2 --- Schuman and Pitt's variant --- p.11Chapter 2.3.3 --- Object-Z --- p.12Chapter 2.4 --- Execution in Z --- p.13Chapter 2.5 --- Animation of Z Specifications --- p.15Chapter 2.5.1 --- Prolog --- p.15Chapter 2.5.2 --- Translation Z into Prolog --- p.18Chapter 2.5.3 --- Related Works --- p.19Chapter 3 --- Incorporating Real Numbers in Z --- p.22Chapter 3.1 --- Dedekind Cut --- p.23Chapter 3.2 --- Cantor's definition --- p.23Chapter 3.3 --- Practical approach --- p.24Chapter 4 --- Constraint Logic Programming and CLP(R) --- p.26Chapter 4.1 --- Constraint Logic Programming --- p.26Chapter 4.2 --- CLP(R) --- p.27Chapter 4.3 --- Example of CLP(R) --- p.29Chapter 5 --- The ZCLP(R) Animation System --- p.31Chapter 5.1 --- Design Philosophy --- p.31Chapter 5.2 --- Implementation Strategy --- p.34Chapter 5.3 --- Z editor (ZEDIT) --- p.36Chapter 5.4 --- Prolog Library for set operation (ZCLIB) --- p.37Chapter 5.4.1 --- Basic needs for the Library --- p.37Chapter 5.4.2 --- Rules for the library --- p.38Chapter 5.4.3 --- Limitation of the Library --- p.43Chapter 5.5 --- Z to CLP(R) Translator (ZCGEN) --- p.44Chapter 5.5.1 --- Procedure for translation --- p.45Chapter 5.5.2 --- Demonstration --- p.47Chapter 5.5.3 --- Rules for translation --- p.48Chapter 5.5.4 --- Limitations of the Translator --- p.50Chapter 5.6 --- Z to LATEX translator (ZLATEX) --- p.52Chapter 6 --- Examples --- p.54Chapter 6.1 --- A Simple Banking System --- p.54Chapter 6.1.1 --- Bags --- p.54Chapter 6.1.2 --- Specifications --- p.56Chapter 6.2 --- A Graphics Example --- p.61Chapter 6.2.1 --- Defining a Rectangle --- p.62Chapter 6.2.2 --- Drawing a Rectangle --- p.63Chapter 6.2.3 --- Defining a Circle --- p.63Chapter 6.2.4 --- Specifications --- p.64Chapter 6.3 --- Specifications Writing Experience --- p.76Chapter 7 --- Conclusion --- p.79Chapter 7.1 --- Contributions --- p.79Chapter 7.2 --- Difficulties --- p.83Chapter 7.3 --- Further Works --- p.84Bibliography --- p.8
    corecore