5 research outputs found

    Support for Model Checking Z Specifications

    Get PDF
    One of the deficiencies of Z tools is that there is limited support for model checking Z specifications. Building a model checker directly for a Z specification will take considerable amount of effort and time due to the abstraction of the language. Translating a Z specification input into a specification in a language that an existing model checker tool accepts is an alternative method. Researchers at the University of Sheffield implemented a translation tool, which they called Z2SAL that takes a Z specification and translates it into the input for Symbolic Analysis Laboratory (SAL), which is a framework for combining different tools for abstraction, program analysis, theorem proving and model checking. This paper discusses support for model checking Z specifications, in which the capability of Z2SAL is extended. This support includes a translation of a generic constant and a schema calculus definition. Instead of translating these aspects of the Z language into the SAL language as Z2SAL does, a Z specification containing these two notations will be pre-processed, in which a generic constant definition is redefined to an equivalent axiomatic definition and a schema calculus definition is expanded to a new schema definition. As a result of a successful redefinition or expansion, a redefined or expanded Z specification is generated, otherwise the Z specification input is returned

    Support for Model Checking Z Specifications

    Get PDF
    One of deficiencies in the Z tools is that there is limited support for model checking Z specifications. To build a model checker directly for a Z specification would take considerable effort and time due to the abstraction of the language. Translating inputs of a Z specification into a language that an existing model checker tool accepts is an alternative method. Researchers at the University of Sheffield implemented a translation tool which took a Z specification and translated it into the input for the Symbolic Analysis Laboratory (SAL) tool, a framework for combining different tools for abstraction, program analysis, theorem proving and model checking, which they called Z2SAL. In this paper, support for model checking Z specifications is discussed, in which the ability of the existing Z2SAL is extended. This support includes a translation for generic constant and schema calculus. Instead of translating these aspects of the Z language into the SAL language as Z2SAL does, a Z specification containing these two notations will be pre-processed,in which a generic constant definition will be redefined to its equivalent axiomatic definition, and schema calculus will be expanded to a new schema definition. This paper discusses the implementation of these types of support, and illustration of some working examples. The discussion also includes other several issues related to a new approach in translating Z functions and constants in SAL language, which originates from the type incompatibility obtained during execution by the SAL tool, an approach to a SAL translation of embedded theorems on Z specifications, and a manual experiment on applying an abstraction on Z specifications. Results have been gathered during our experiments with the implemented support. Several of these results could be translated by Z2SAL and be executed by the SAL tool

    A Pre-processing Tool for Z2SAL to Broaden Support for Model Checking Z Specifications

    Get PDF
    One of the deficiencies of Z tools is that there is limited support for model checking Z specifications. Building a model checker directly for a Z specification will take considerable amount of effort and time due to the abstraction of the language. Translating a Z specification input into a specification in a language that an existing model checker tool accepts is an alternative method. Researchers at the University of Sheffield implemented a translation tool, Z2SAL, that takes a Z specification and translates it into the input for Symbolic Analysis Laboratory (SAL), a framework for combining different tools for abstraction, program analysis, theorem proving and model checking. This paper discusses support for model checking Z specifications, in which the capability of Z2SAL is extended. This support includes a translation of a generic constant and a schema calculus definition. Instead of translating these aspects of the Z language into the SAL language as Z2SAL does, a Z specification containing these two notations will be pre-processed, in which a generic constant definition is redefined to an equivalent axiomatic definition and a schema calculus definition is expanded to a new schema definition. As a result of a successful redefinition or expansion, a redefined or expanded Z specification is generated, otherwise the original Z specification is returned. Results show that the large number of our examples can be run successfully by our system. The redefined or expanded Z specification can be translated later by Z2SAL and the generated SAL file can be model checked or simulated by the SAL tool. Results also show that Z2SAL can translate outputs of our system to some extent. The majority of generated SAL files can be run by the SAL tool

    Using Abstraction in Model Checking Z Specifications

    Get PDF
    The Z notation is a language used for writing formal specifications of a system. However, tool support for this language is lacking. One such tool that is not generally available is a model checker. Model checking is a method used to verify that a system has certain properties, this is important since it can provide full verification of a finite state system without the user having sophisticated knowledge. Originally applied in hardware systems, it is now commonly available for application in software systems. One of the drawbacks of model checking is that it applies to finite state systems, since it works by performing a complete state space exploration. However, the size of the systems that model checkers can now cope with has increased rapidly. In this paper, the use of abstraction as a means to make model checking feasible for arbitrary Z specifications is investigated. Several experiments have shown that the abstract models have fewer states than the concrete ones or have the same number of states as the concrete one

    Verification of a Rule-Based Expert System by Using SAL Model Checker

    Get PDF
    Verification of a rule-based expert system ensures that the knowledge base of the expert system is logically correct and consistent. Application of verification into a rule-based expert system is one approach to integrate software engineering methodology and knowledge base system. The expert system, which we has built, is a rule-based system developed by using forward chaining method and Dempster-Shafer theory of belief functions or evidence. We use Z language as the modelling language for this expert system and SAL model checker as the verification tool. To be able to use SAL model checker, Z2SAL will translate the Z specification, which models the system. In this paper, we present some parts of our Z specification that represent some parts of our rule-based expert system. We also present some parts of our SAL specification and theorems that we added to this SAL specification. At the last, we present the usage of SAL model checker over these theorems. Based on these model-checking processes, we argue that the results are expected. This means that each of theorems can be model checked and the outputs of those model checking are the same as the outputs that we obtain from manual investigation; either it is VALID or INVALID. Other interpretation of the model check’s results is some parts of our rule-based expert system have been verified
    corecore