## Strategic term rewriting and its application to a VDM-SL to SQL conversion (2005)

Venue: | In Proceedings of the Formal Methods Symposium (FM’05 |

Citations: | 5 - 5 self |

### BibTeX

@INPROCEEDINGS{Alves05strategicterm,

author = {T. L. Alves and P. F. Silva and J. Visser and J. N. Oliveira},

title = {Strategic term rewriting and its application to a VDM-SL to SQL conversion},

booktitle = {In Proceedings of the Formal Methods Symposium (FM’05},

year = {2005},

pages = {399--414},

publisher = {Springer}

}

### Years of Citing Articles

### OpenURL

### Abstract

Abstract. We constructed a tool, called VooDooM, which converts datatypes in VDM-SL into SQL relational data models. The conversion involves transformation of algebraic types to maps and products, and pointer introduction. The conversion is specified as a theory of refinement by calculation. The implementation technology is strategic term rewriting in Haskell, as supported by the Strafunski bundle. Due to these choices of theory and technology, the road from theory to practise is straightforward. Keywords: Strategic term rewriting, program calculation, VDM, SQL. 1

### Citations

838 |
A Relational Model of Data for Large Shared Data Banks
- Codd
- 1970
(Show Context)
Citation Context ...s: Strategic term rewriting, program calculation, VDM, SQL. 1 Introduction The information system community is indebted to Codd for his pioneering work on the foundations of the relational data model =-=[9]-=-. Since then, relational database theory has been thoroughly studied [24, 34, 12]. At the heart of this we find normalization, a theory whereby efficient collections of (relational) files are derived ... |

230 |
Database Systems: The Complete Book
- Garcia-Molina, Ullman, et al.
- 2008
(Show Context)
Citation Context ...on The information system community is indebted to Codd for his pioneering work on the foundations of the relational data model [9]. Since then, relational database theory has been thoroughly studied =-=[24, 34, 12]-=-. At the heart of this we find normalization, a theory whereby efficient collections of (relational) files are derived from the original design, which can be encoded in a data-processing language such... |

35 |
Modelling Systems: Practical Tools and Techniques for Software Development
- Fitzgerald, Larsen
- 1998
(Show Context)
Citation Context ...hich can be encoded in a data-processing language such as SQL [16]. Functional dependency theory and normalization deviate from standard model-oriented formal specification and reification techniques =-=[17, 10]-=-. In the latter, designs start from abstract models which are abstract enough to dispense with normalization. Does one arrive at similar database designs by using data reification techniques? Referenc... |

31 | The Rho Cube
- Cirstea, Kirchner, et al.
- 2001
(Show Context)
Citation Context ...aking rewriting strategies programmable, just as the equations are. Among the first rewriting environments to offer such programmable rewriting strategies are Stratego [35] and the Rewriting Calculus =-=[7]-=-. Such environments offer a small set of basic strategy combinators, which can be combined with each other and with rewriting equations to construct term rewriting systems with arbitrarily complex str... |

27 |
der Woude. Polynomial relators
- Backhouse, Bruin, et al.
- 1992
(Show Context)
Citation Context ...all parametric datatype by structural data refinement: A �� R �� ≤ B F ⇒ F A F R �� F ·G �� ≤ F B where F is such a parametric type, e.g.setof A in VDM-SL notation. (Technically, F is named a relator =-=[3]-=-.) This is valid also for parametric types of higher arity, such as those of standard VDM-SL: – binary product types A × B and n-ary ones �n i=0 Ai, which can be specified in VDM-SL as (nested) tuples... |

26 |
Modularizing the formal description of a database system
- Fitzgerald, Jones
- 1990
(Show Context)
Citation Context ...cification and design of a program implementing simple update operations on a binary relational database called NDB is described in [38]. This single level description of NDB is the starting point of =-=[11]-=-, where a case study in the modular structuring of this “flat” specification is presented. The authors present a second specification which makes use of an n-ary relation module, and a third one which... |

17 |
A Generic Theory of Data Types
- Hoogendijk
- 1997
(Show Context)
Citation Context ...sets and partial finite mappings, 2 A �� set2fm �� ∼= A ⇀ 1 dom which expresses the equivalence between data models set of A and map A to nil. (The inhabitants of A ⇀ 1, often called right-conditions =-=[13]-=-, obey a number of interesting properties.) Another basic isomorphism tells us how “singleton” finite mappings disguise “pointers” (guess opt-intro and opt-elim): A + 1 �� opt-intro �� ∼= 1 ⇀ A opt-el... |

16 | Compiling exceptions correctly
- Hutton, Wright
- 2004
(Show Context)
Citation Context ...ned), including recursive datatypes. Our “derecursivation” law (rec-elim), which relationally expresses the main result of [37], bears some resemblance (at least in spirit) with “defunctionalization” =-=[14]-=-, a technique which is used in program transformation and compilation. On the other hand, our approach shares with [5] the view that database design should be regarded as special case of data refineme... |

4 |
Deriving relational database programs from formal specifications
- Barros
- 1994
(Show Context)
Citation Context ...about the use of algebraic methods to specify databases. They compare a number of approaches according to the features covered and enumerate some features not normally covered by such methods. Barros =-=[5]-=- describes an extension to the traditional database design aimed at formalizing the development of (relational) database applications. A general method for the specification of relational database app... |

3 | Development of an industrial strength grammar for VDM
- Alves, Visser
- 2005
(Show Context)
Citation Context ...rammar, we were able to employ a previously developed grammar. The VDM-SL grammar was developed by reconstructing the concrete syntax definition of the ISO standard [15] in SDF, as reported elsewhere =-=[2]-=-. 4.2 Transformation The transformation engine is the core module of the VooDooM tool. It is responsible for the refinement of the VDM-SL data types to a relational form, in accordance with the refine... |

2 | A formal Specification in Z of the Relational Data Model, Version 2
- Baluta
- 1995
(Show Context)
Citation Context ...atabase applications using Z is presented. A prototype is built to support the method. It provides for editing facilities and is targeted at the DBPL database management system. The purpose of Baluta =-=[4]-=- is to rigorously specify the basic features of the relational data model version 2 (RM/V2) as defined by Codd [8], using the Z language. More recently, Necco [26] exploits aspects of data processing ... |

2 |
Missing Information
- Codd
- 1990
(Show Context)
Citation Context ...ilities and is targeted at the DBPL database management system. The purpose of Baluta [4] is to rigorously specify the basic features of the relational data model version 2 (RM/V2) as defined by Codd =-=[8]-=-, using the Z language. More recently, Necco [26] exploits aspects of data processing which are functional in nature and can take advantage of recent developments in the area of generic functional pro... |

1 |
Bringing Camila and SetCalc Together — thebams.cam andppd.cam Camila Toolset demos
- Almeida, Barbosa, et al.
- 1997
(Show Context)
Citation Context ...ount has a set of account holders and an amount. The actual retrieve function that witnesses the abstraction relation between the original VDM-SL specification and this pair of SQL tables is given in =-=[1]-=-. 5 Concluding remarks A decade ago, Barros [5] referred to the derivation of database programs directly from formal specifications as an unsolved problem. By contrast, deriving the database structure... |