Tool Interoperability in the Maude Formal Environment e M. an 1 - - PowerPoint PPT Presentation

tool interoperability in the maude formal environment
SMART_READER_LITE
LIVE PREVIEW

Tool Interoperability in the Maude Formal Environment e M. an 1 - - PowerPoint PPT Presentation

Tool Interoperability in the Maude Formal Environment e M. an 1 Camilo Rocha 2 Alvarez 1 Francisco Dur Jos 1 Universidad de M alaga 2 University of Illinois at Urbana-Champaign 4th Conference on Algebra and Coalgebra in Computer


slide-1
SLIDE 1

Tool Interoperability in the Maude Formal Environment

Francisco Dur´ an1 Camilo Rocha2 Jos´ e M. ´ Alvarez1

1Universidad de M´

alaga

2University of Illinois at Urbana-Champaign

4th Conference on Algebra and Coalgebra in Computer Science August 31, 2011 Winchester, UK

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 1 / 17

slide-2
SLIDE 2

Main Contribution

The Maude Formal Environment (MFE) is an executable formal specification in Maude within which a user can interact with tools to mechanically verify properties of Maude specifications

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 2 / 17

slide-3
SLIDE 3

Main Contribution

The Maude Formal Environment (MFE) is an executable formal specification in Maude within which a user can interact with tools to mechanically verify properties of Maude specifications it has been designed to be easily extended with tools having heterogeneous designs

it currently offers five tools

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 2 / 17

slide-4
SLIDE 4

Main Contribution

The Maude Formal Environment (MFE) is an executable formal specification in Maude within which a user can interact with tools to mechanically verify properties of Maude specifications it has been designed to be easily extended with tools having heterogeneous designs

it currently offers five tools

it implements a mechanism to keep track of pending proof obligations

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 2 / 17

slide-5
SLIDE 5

Main Contribution

The Maude Formal Environment (MFE) is an executable formal specification in Maude within which a user can interact with tools to mechanically verify properties of Maude specifications it has been designed to be easily extended with tools having heterogeneous designs

it currently offers five tools

it implements a mechanism to keep track of pending proof obligations its tool interoperability allows for discharging proof obligations of different nature without switching between different tool environments and presents the user with a consistent user interface

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 2 / 17

slide-6
SLIDE 6

Main Contribution

The Maude Formal Environment (MFE) is an executable formal specification in Maude within which a user can interact with tools to mechanically verify properties of Maude specifications it has been designed to be easily extended with tools having heterogeneous designs

it currently offers five tools

it implements a mechanism to keep track of pending proof obligations its tool interoperability allows for discharging proof obligations of different nature without switching between different tool environments and presents the user with a consistent user interface it allows the execution of several instances of each tool

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 2 / 17

slide-7
SLIDE 7

Motivation

The Example of Readers and Writers

We want to check in the R+W system that it is never the case that more than (i) one writer or (ii) writers and readers share a critical resource at the same time. A state is represented by a term r, w where r and w are the number of readers and writers accessing the critical resource.

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 3 / 17

slide-8
SLIDE 8

Motivation

The Example of Readers and Writers

We want to check in the R+W system that it is never the case that more than (i) one writer or (ii) writers and readers share a critical resource at the same time. A state is represented by a term r, w where r and w are the number of readers and writers accessing the critical resource. R+W needs to be executable, i.e., its equations ground Church-Rosser and terminating, and its rewrite rules ground coherent with respect the equations

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 3 / 17

slide-9
SLIDE 9

Motivation

The Example of Readers and Writers

We want to check in the R+W system that it is never the case that more than (i) one writer or (ii) writers and readers share a critical resource at the same time. A state is represented by a term r, w where r and w are the number of readers and writers accessing the critical resource. R+W needs to be executable, i.e., its equations ground Church-Rosser and terminating, and its rewrite rules ground coherent with respect the equations for initial state 0, 0, the set of initial states is infinite, so we apply a state abstraction in R+W-ABS which needs to be checked executable

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 3 / 17

slide-10
SLIDE 10

Outline

1 Tools in the Environment 2 Design and Main Features 3 Demo

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 4 / 17

slide-11
SLIDE 11

Outline

1 Tools in the Environment 2 Design and Main Features 3 Demo

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 5 / 17

slide-12
SLIDE 12

Tool Overview

In the current version of MFE one can interact with the following tools:

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 6 / 17

slide-13
SLIDE 13

Tool Overview

In the current version of MFE one can interact with the following tools: MTT Maude Termination Tool termination of equational and rewrite specifications

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 6 / 17

slide-14
SLIDE 14

Tool Overview

In the current version of MFE one can interact with the following tools: MTT Maude Termination Tool termination of equational and rewrite specifications SCC Sufficient Completeness Checker sufficient completeness and freeness of equational specifications, and deadlock of rewrite specifications

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 6 / 17

slide-15
SLIDE 15

Tool Overview

In the current version of MFE one can interact with the following tools: MTT Maude Termination Tool termination of equational and rewrite specifications SCC Sufficient Completeness Checker sufficient completeness and freeness of equational specifications, and deadlock of rewrite specifications CRC Church-Rosser Checker ground confluence and sort-decreasingness of equational specifications

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 6 / 17

slide-16
SLIDE 16

Tool Overview

In the current version of MFE one can interact with the following tools: MTT Maude Termination Tool termination of equational and rewrite specifications SCC Sufficient Completeness Checker sufficient completeness and freeness of equational specifications, and deadlock of rewrite specifications CRC Church-Rosser Checker ground confluence and sort-decreasingness of equational specifications ChC Maude Coherence Checker ground coherence of rewrite specifications

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 6 / 17

slide-17
SLIDE 17

Tool Overview

In the current version of MFE one can interact with the following tools: MTT Maude Termination Tool termination of equational and rewrite specifications SCC Sufficient Completeness Checker sufficient completeness and freeness of equational specifications, and deadlock of rewrite specifications CRC Church-Rosser Checker ground confluence and sort-decreasingness of equational specifications ChC Maude Coherence Checker ground coherence of rewrite specifications ITP Inductive Theorem Prover inductive properties of equational specifications

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 6 / 17

slide-18
SLIDE 18

Tool-dependency Graph in MFE

One important aspect in the integration task is the interaction complexity due to the nontrivial dependencies among tools

MTT ITP CRC SCC ChC

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 7 / 17

slide-19
SLIDE 19

Outline

1 Tools in the Environment 2 Design and Main Features 3 Demo

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 8 / 17

slide-20
SLIDE 20

MFE Design Overview

MFE is modeled in Maude as an interactive object-based system where tools are objects, the communication mechanism is message passing, and user interaction is available through Full Maude

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 9 / 17

slide-21
SLIDE 21

MFE Design Overview

MFE is modeled in Maude as an interactive object-based system where tools are objects, the communication mechanism is message passing, and user interaction is available through Full Maude integration and interoperation of tools within MFE is module-centric given that its main purpose is to support formal analysis of Maude modules

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 9 / 17

slide-22
SLIDE 22

MFE Design Overview

MFE is modeled in Maude as an interactive object-based system where tools are objects, the communication mechanism is message passing, and user interaction is available through Full Maude integration and interoperation of tools within MFE is module-centric given that its main purpose is to support formal analysis of Maude modules although some classes and functionality are provided in MFE, it imposes no constraint on how each tool should model its particular domain or maintains its internal state

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 9 / 17

slide-23
SLIDE 23

Main Classes

The object-oriented model of MFE consists of three main classes

Proof class of proof objects that keep the state of specific proof

requests

Tool class of tool objects that keep the life-cycle of proof objects Controller inherits from Full Maude’s DatabaseClass and provides a

centralized entry point for handling user request

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 10 / 17

slide-24
SLIDE 24

User Interaction

The user interacts with the environment via commands

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 11 / 17

slide-25
SLIDE 25

User Interaction

The user interacts with the environment via commands each command is encapsulated as a message in the object configuration

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 11 / 17

slide-26
SLIDE 26

User Interaction

The user interacts with the environment via commands each command is encapsulated as a message in the object configuration each tool object and the controller object have a module defining the signature of commands it can handle

the controller handles any command it can parse if the controller receives a command it cannot parse, then it delegates the message to the active tool if the tool can parse the delegated command, then it notifies the controller and handles the command

  • therwise, it will notify the failure to the controller, which in turn will
  • utput an error message to the user

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 11 / 17

slide-27
SLIDE 27

Commands in MFE

MFE provides the following user commands:

(select tool <tool-name> .) sets <tool-name> as the active tool (MFE help .) shows MFE’s help information (show global state .) shows the state of the environment

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 12 / 17

slide-28
SLIDE 28

Commands in MFE

MFE provides the following user commands:

(select tool <tool-name> .) sets <tool-name> as the active tool (MFE help .) shows MFE’s help information (show global state .) shows the state of the environment

The tools available in MFE’s current release provide at least the following commands:

(<tool-name> help .) shows the help information of tool <tool-name> (show state .) shows the state of the tool

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 12 / 17

slide-29
SLIDE 29

Proof Obligations

A tool in MFE keeps track of both its pending and discharged proof

  • bligations

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 13 / 17

slide-30
SLIDE 30

Proof Obligations

A tool in MFE keeps track of both its pending and discharged proof

  • bligations

a user can submit proof obligations to other tools by means of the following command and then be notified when these are discharged (submit .)

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 13 / 17

slide-31
SLIDE 31

Proof Obligations

A tool in MFE keeps track of both its pending and discharged proof

  • bligations

a user can submit proof obligations to other tools by means of the following command and then be notified when these are discharged (submit .) when all proof obligations in the verification task of a module’s property are discharged, the corresponding tool notifies the success result to the user or to the tool originating the verification task

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 13 / 17

slide-32
SLIDE 32

Trusting Proof Obligations

Tools in general can impose constraints on its inputs

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 14 / 17

slide-33
SLIDE 33

Trusting Proof Obligations

Tools in general can impose constraints on its inputs for instance, SCC does not support parametric modules but proofs for such modules could be obtained by hand or using another tool

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 14 / 17

slide-34
SLIDE 34

Trusting Proof Obligations

Tools in general can impose constraints on its inputs for instance, SCC does not support parametric modules but proofs for such modules could be obtained by hand or using another tool MFE offers the following command for keeping track of proofs

  • btained outside the environment

(trust .)

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 14 / 17

slide-35
SLIDE 35

External Utilities

For tools which depend on external utilities not directly available from Maude such as MTT and SCC, we have extended the latest release of the Maude system with built-in operators associated with appropriate C++ code that interacts with the external tools

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 15 / 17

slide-36
SLIDE 36

Outline

1 Tools in the Environment 2 Design and Main Features 3 Demo

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 16 / 17

slide-37
SLIDE 37

Obtaining and Using MFE

The tool, the pimped version of Maude, and more examples are available at http://maude.lcc.uma.es/MFE Thank you!

Dur´ an, Rocha, ´ Alvarez (UMA, U of I) Tool Interoperability in MFE Calco-Tools 2011 17 / 17