10 research outputs found

    Semantic Embedding of Petri Nets into Event-B

    Full text link
    We present an embedding of Petri nets into B abstract systems. The embedding is achieved by translating both the static structure (modelling aspect) and the evolution semantics of Petri nets. The static structure of a Petri-net is captured within a B abstract system through a graph structure. This abstract system is then included in another abstract system which captures the evolution semantics of Petri-nets. The evolution semantics results in some B events depending on the chosen policies: basic nets or high level Petri nets. The current embedding enables one to use conjointly Petri nets and Event-B in the same system development, but at different steps and for various analysis.Comment: 16 pages, 3 figure

    Z Logic and its Consequences

    Get PDF
    This paper provides an introduction to the specification language Z from a logical perspective. The possibility of presenting Z in this way is a consequence of a number of joint publications on Z logic that Henson and Reeves have co-written since 1997. We provide an informal as well as formal introduction to Z logic and show how it may be used, and extended, to investigate issues such as equational logic, the logic of preconditions, the issue of monotonicity and both operation and data refinement

    The z notation: Whence the cause and whither the course?

    Get PDF
    © Springer International Publishing Switzerland 2016.The Z notation for the formal specification of computer based systems has been in existence since the early 1980s. Since then, an international Z community has emerged, academic and industrial courses have been developed, an ISO standard has been adopted, and Z has been used on a number of significant software development projects, especially where safety and security have been important. This chapter traces the history of the Z notation and presents issues in teaching Z, with examples. A specific example of an industrial course is presented. Although subsequent notations have been developed, with better tool support, Z is still an excellent choice for general purpose specification and is especially useful in directing software testing to ensure good coverage

    Verifiable resilience in architectural reconfiguration

    Get PDF
    This thesis addresses the formal veri cation of a support infrastructure for resilient dynami- cally recon gurable systems. A component-based system, whose architectural con guration may change at runtime, is classed as dynamically recon gurable. Such systems require a support infrastructure for the control of recon gurations to provide resilience. The veri cation of such recon guration support increases the trust that developers and stakeholders may place on the system. The thesis de nes an architectural model of an infrastructure of services for the support of dynamic recon guration and takes a formal approach to the de nition and veri cation of one aspect of the infrastructure. The execution of recon guration policies in a recon guration infrastructure provides guidance to the architectural change to be enacted on a recon gurable system. These recon guration policies are often produced using a language with informal syntax and no formal semantics. Predicting properties of these policies governing recon guring systems has yet to be attempted. In this thesis, we de ne RPL { a recon guration policy language with a formal syntax and semantics. With the use of a case study, theories of RPL and an example policy are developed and the veri cation of key proof obligations and validation conjectures of policies expressed in RPL is demonstrated. The contribution of the thesis is two-fold. Firstly, the architectural de nition of a support infrastructure provides a lasting contribution in that it suggests a clear direction for future work in dynamic recon guration. Secondly, through the formal de nition of RPL and the veri cation of properties of policies, the thesis provides a basis for the use of formal veri cation in dynamic recon guration and, more speci cally, in policies for dynamic recon guration.EThOS - Electronic Theses Online ServiceEPSRC DIRC ProjectGBUnited Kingdo

    An editor and transformation system for a Z animation case tool.

    Get PDF
    In order to remain competitive, modem systems developers are increasingly under pressure to produce software solutions to complex problems faster and cheaper, whilst at the same time maintaining a high level of quality in the delivered product. One of the key quality measures is the delivery of a system that meets the customer's requirements. Failure to meet the customer's requirements may engender significant re-design, which in turn will cost money, delay product introduction and may seriously damage the developer's credibility. For these reasons, the problem of developing a precise and unambiguous statement of requirements for a proposed system is perhaps one of the most challenging problems within software engineering today. Formal, model-based specification languages such as the Z notation have been widely adopted within the context of requirements engineering, to provide a vehicle for the development of precise and unambiguous specifications. However, the mathematical foundation upon which these notations are based often makes them unapproachable and difficult to assimilate by a non-specialist reader. The problem then faced is that if the customer cannot understand the semantics of the specification, how can the customer agree that the specification is indeed a true reflection of the requirements for the desired system? Several researchers have proposed that rapid prototyping and animation of specifications can be used to increase the customer's understanding of the formal specification. This is achieved by executing specification components on candidate data and observing that the behaviour is as expected. However this requires that the original formal specification be reliably transformed into a representation capable of being executed within a computer system. To achieve this aim requires the support of computer-based tools able to assist the requirements engineer in capturing, manipulating and transforming the formal specification in an efficient and consistent manner. This thesis describes the research and development of the TranZit tool, which is a Z notation editor, checker and transformation system. TranZit supports the efficient capture and maintenance of Z notation specifications using the Windows Graphical User Interface, supported by a suite of powerful language-driven features. In addition TranZit contains a highly integrated and optimised syntax and type checker, combining traditional compiler design techniques with innovative use of object-oriented data structures and methods, to assist the requirements engineer in ensuring the internal consistency of the captured specification. Most importantly, TranZit contains a novel transformation engine, which is capable of transforming a captured Z specification into an executable representation based on extensions to LISP, suitable for direct execution in an animation environment. This process is supported by an eclectic strategy combining automated transformation with user assistance, to overcome many of the well-documented problems associated with transforming non-executable clauses in formal specifications
    corecore