350 likes | 519 Views
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
E N D
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 data abstraction • Rules using downward simulation (from abstract to concrete) • Rules using upward simulation (from concrete to abstract)
YES Refinement Rules Retrieve NOT What changes? Usual Scenario Abstract Specification (AS,AI,AOps) Concrete Specification (CS,CI,COps) Data structures (state, inputs,outputs) Data domains Operations
YES Refinement Rules Retrieve What changes? Data Abstraction Scenario (Z) Abstract Specification (AS,AI,AOps) Concrete Specification (CS,CI,COps) Data structures (state, inputs,outputs) Data domains Operations
Systematic Calculation Retrieve PZA PZ[[Ren]] FD Data Abstraction Scenario (CSP) Abstract Specification (AS,AI,AOps) YES Refinement Rules Retrieve Concrete Specification (CS,CI,COps) Abstract Specification (AS,AI,AOps) Concrete Specification (CS,CI,COps)
Abstraction relations Retrieve A C v1 v1 v2 ... vn v1A v2A ... vnA vn
Abstraction relations R A C R? A? C? R! A! C!
Casting to CSP (no IO) PZA PZ
Casting to CSP (with IO) PZA PZ
Abstraction of Declarations • Replacement of concrete types with abstract ones
Abstraction of Predicates • Denoted by the semantic function [[.]] • Only specific predicates are really interpreted
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