Data Abstraction and Data Refinement

Post on 22-Jan-2016

42 views 0 download

Tags:

description

Data Abstraction and Data Refinement. Adalberto Farias Alexandre Mota Augusto Sampaio. Foundations. Abstract Interpretation Data Refinement. Data Refinement. Relations between global states via concrete operations must be more restrict than via abstract operations - PowerPoint PPT Presentation

Transcript of Data Abstraction and Data Refinement

Data Abstraction and Data Refinement

Adalberto Farias

Alexandre Mota

Augusto Sampaio

Foundations

Abstract Interpretation

Data Refinement

Data Refinement

Relations between global states via concrete operations must be more restrict than via abstract operations

Concrete initialisations, operations and finalisations must be subsets of the corresponding abstract ones.

Data Refinement

Rules using downward simulation (from abstract to concrete)

Rules using upward simulation (from concrete to abstract)

Data Refinement

Rules using downward simulation (from abstract to concrete)

Rules using upward simulation (from concrete to abstract)

data abstraction

Usual ScenarioAbstract

Specification(AS,AI,AOps)

ConcreteSpecification(CS,CI,COps)

Retrieve RefinementRules

YES

NOT

What changes?

Data structures (state, inputs,outputs)Data domainsOperations

Data Abstraction Scenario (Z)Abstract

Specification(AS,AI,AOps)

ConcreteSpecification(CS,CI,COps)

RefinementRules

Retrieve

YES

What changes?

Data structures (state, inputs,outputs)Data domainsOperations

Data Abstraction Scenario (CSP)

AbstractSpecification(AS,AI,AOps)

Retrieve RefinementRules

ConcreteSpecification(CS,CI,COps)

YES

ConcreteSpecification(CS,CI,COps)

AbstractSpecification(AS,AI,AOps) Retrieve

PZA PZ[[Ren]]

FD

Systematic Calculation

Relational Semantics

Casting to Z (no IO)

Abstraction relations

v1

v2

...vn

v1A

v2A

...vn

A

C A

v1

vn

Retrieve

Abstract State and Retrieve

Abstract Schemas (meta schemas)

Casting to Z (with IO)

Abstraction relations C AR

C? A?R?

C! A!R!

Retrieve and Abstract Schemas

Relational Refinement and Process Refinement

Casting to CSP (no IO)

PZ

PZA

Casting to CSP (with IO)

PZ

PZA

Casting to CSP (with IO)

If R is relational (no IO)?

If R is functional (no IO)?

If R,R? or R! are relational (with IO)?

If R,R? or R! are relational (with IO)?

If R,R? and R! are functional (with IO)?

Construction of Abstract Schemas

Abstraction of Declarations

Replacement of concrete types with abstract ones

Abstraction of Predicates

Denoted by the semantic function [[.]]Only specific predicates are really

interpreted

Conformance with Meta Schemas

Example

Calculating Abstraction Relations

Example

Example

Conclusions

Use of Data Refinement instead of Abstract Interpretation

Systematic calculation of abstraction relations

Templates for construction of abstract schemas

Use of FD in process refinement

Future work

Deeper investigation of process equivalence under FD instead of refinement

The use of data abstraction in automatic verification of data refinements