2 research outputs found

    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

    Issues in Validation and Executability of Formal Specifications in the Z Notation

    Get PDF
    The work considers issues in the execution of the Z notation in a logic programming language. A subset of Z which is capable of being animated is identified, together with the necessary theoretical foundations for the relationship of Z to its executable form. The thesis also addresses the transition from research results to potentially useful tools. The thesis has 4 major parts: Tools Survey: A survey of tools which support the animation of Z is presented and the advantages (and disadvantages) to be gained from an animating system which uses a logic programming language are discussed. Requirements, particularly correctness, are described and discussed and weaknesses in the current tools are identified. Correctness - Program Synthesis: If a program can be deduced directly from the specification, then it is partially correct with respect to the specification. This method of obtaining a program from a specification is one form of logic programming synthesis. We examine such formal links between a specification (in Z) and an executable form and also some translation techniques for synthesising a logic program from a Z specification. The techniques are illustrated by examples which reveal important shortcomings. Translation Rules to Godel: New techniques for the animation of Z utilising the Godel logic programming language are presented which circumvent these shortcomings. The techniques are realised via translation rules known as structure simulation . Two substantial case studies are examined as proof of concept. These indicate both the coverage of the Z notation by structure simulation and the practicality of the rules. Correctness - Abstract Approximation: Published criteria for correctness of an animation are compared and contrasted with the method of Abstract Interpretation (AI). In AI a concrete semantics is related to an approximate one that explicitly exhibits an underlying structure present in the richer concrete structure. In our case, the concrete semantics is Z associated with ZF set theory . The approximate semantics of the execution are the outputs of Z. The criteria are applied to a logic programming language (the original w as applied to a functional language). Formal arguments are presented which show that the structure simulation rules obey the criteria for correctness. Finally, areas of work which had been omitted by the original authors are presented explicitly
    corecore