## A Model Inference System for Generic Specification with Application to Code Sharing (1995)

Venue: | In Proc. of TAPSOFT-95, Col. on Formal Approaches in Software Engineering, LNCS 915 |

Citations: | 4 - 3 self |

### BibTeX

@INPROCEEDINGS{Bert95amodel,

author = {Didier Bert and Catherine Oriat},

title = {A Model Inference System for Generic Specification with Application to Code Sharing},

booktitle = {In Proc. of TAPSOFT-95, Col. on Formal Approaches in Software Engineering, LNCS 915},

year = {1995},

pages = {741--755},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

. This paper presents a model inference system to control instantiation of generic modules. Generic parameters are specified by properties which represent classes of modules sharing some common features. Just as type checking consists in verifying that an expression is well typed, model checking allows to detect whether a (possibly generic) instantiation of a generic module is valid, i.e. whether the instantiation module is a model of the parameterizing property. Equality of instances can be derived from a canonical representation of modules. At last, we show how the code of generic modules can be shared for all instances of modules. 1 Introduction Genericity is a useful feature for specification languages, and for programming languages alike, because it allows to reuse already written packages by instantiating them on various ways, thus limits the risk of bugs and reduces software costs. When a generic module is instantiated and imported into another module, one has to check that the...

### Citations

145 |
Fundamentals of algebraic specification 1. equations and initial semantics
- Ehrig, Mahr
- 1985
(Show Context)
Citation Context ...orphism from \Phi to M . (Categorically speaking, \Phi is the initial object of the category of signatures.) We suppose the reader is familiar with basic concepts of algebraic specification (see e.g. =-=[8]-=-). The class of algebras which satisfy a unit U together with homomorphisms is a category noted Alg (U ). If m : U 1 ! U 2 is a signature morphism, then there is a forgetful functor Um : Alg (U 2 ) ! ... |

102 |
et a!. Principles of OBJ2
- Futatsugi
(Show Context)
Citation Context ...In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS [11, 6, 7], ACT-TWO [9], OBJ =-=[10, 12]-=-, . . . ), such verifications are left to the user. In this paper, we show that such verifications can partly be done automatically. We describe the model inference system used by the specification la... |

67 |
Fundamentals of Algebraic Specification 2, Module Specifications Constraints
- Ehrig, Mahr
- 1990
(Show Context)
Citation Context ...cs [14]. In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS [11, 6, 7], ACT-TWO =-=[9]-=-, OBJ [10, 12], . . . ), such verifications are left to the user. In this paper, we show that such verifications can partly be done automatically. We describe the model inference system used by the sp... |

44 |
Design and Implementation of a Generic, Logic and Functional Programming Language
- Bert, Echahed
- 1986
(Show Context)
Citation Context ...ion of generic modules. lpg (Langage de Programmation G'en'erique, i.e. language for generic programming) is a specification language developed at the IMAG Institute by Didier Bert and Rachid Echahed =-=[4, 5]-=-. lpg allows on the one hand to define and combine generic components of specifications, and on the other hand to make prototypes thanks to an evaluation tool. There is also a solver of goals associat... |

26 |
An introduction to OBJ3
- Goguen, Kirchner, et al.
- 1988
(Show Context)
Citation Context ...In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS [11, 6, 7], ACT-TWO [9], OBJ =-=[10, 12]-=-, . . . ), such verifications are left to the user. In this paper, we show that such verifications can partly be done automatically. We describe the model inference system used by the specification la... |

21 |
Proving the correctness of algebraically specified software: Modularity and observability issues
- Bernot, Bidoit
- 1991
(Show Context)
Citation Context ...HP g Sat (P1 iffir 1 \Gamma\Gamma\Gamma\Gamma! P2 ) Import P (M1 i \Gamma! P2 ) (IP) Sat (\Phi OE P \Gamma\Gamma\Gamma! P ) (1) Model (\Phi OE M \Gamma\Gamma\Gamma! M) (2) Model (P r \Gamma\Gamma! M) =-=(3)-=- Sat (P1 s 1 \Gamma\Gamma! P2) ; Sat (P2 s 2 \Gamma\Gamma! P3 ) Sat (P1 s 2 ffis 1 \Gamma\Gamma\Gamma\Gamma\Gamma! P3) (4) Sat (P1 s \Gamma\Gamma! P2) ; Model (P2 m \Gamma\Gamma! M) Model (P1 mffis \G... |

14 |
The stratified loose approach: a generalization of initial and loose semantics
- Bidoit
- 1988
(Show Context)
Citation Context ...n an initial semantics [14]. In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS =-=[11, 6, 7]-=-, ACT-TWO [9], OBJ [10, 12], . . . ), such verifications are left to the user. In this paper, we show that such verifications can partly be done automatically. We describe the model inference system u... |

13 | Extending record typing to type parametric modules with sharing
- Aponte
- 1993
(Show Context)
Citation Context ...sed to check the validity of instantiations; e.g. with private and limited types. In Ada, these rules apply to one type only. In contrast, M. V. Aponte proposed a type system for checking SML modules =-=[2]-=-, based on unification and sharing, and which performs verifications w.r.t. the whole specification of the generic part of a module. In this approach, verifications are based on the names of types and... |

8 |
A First Introduction to PLUSS
- Gaudel
- 1984
(Show Context)
Citation Context ...n an initial semantics [14]. In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS =-=[11, 6, 7]-=-, ACT-TWO [9], OBJ [10, 12], . . . ), such verifications are left to the user. In this paper, we show that such verifications can partly be done automatically. We describe the model inference system u... |

3 |
S'emantique de LPG
- Reynaud
- 1987
(Show Context)
Citation Context ...m : Alg (U 1 ) ! Alg (U 2 ). We do not define the whole semantics of lpg here, but only present the features which are relevant for this paper. For a complete description of the semantics of lpg, see =-=[15]-=-. Definition 1. (semantics of a property) The semantics of a property P is a class of algebras mod (P ), which satisfy the specification P , i.e.: mod (P ) ` Alg (P ). The semantics of a property need... |

2 |
et al. Reference manual of the specification language LPG
- Bert
- 1990
(Show Context)
Citation Context ...ion of generic modules. lpg (Langage de Programmation G'en'erique, i.e. language for generic programming) is a specification language developed at the IMAG Institute by Didier Bert and Rachid Echahed =-=[4, 5]-=-. lpg allows on the one hand to define and combine generic components of specifications, and on the other hand to make prototypes thanks to an evaluation tool. There is also a solver of goals associat... |

2 |
About the "correctness" and "adequacy" of pluss specifications
- Choppy
- 1992
(Show Context)
Citation Context ...n an initial semantics [14]. In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS =-=[11, 6, 7]-=-, ACT-TWO [9], OBJ [10, 12], . . . ), such verifications are left to the user. In this paper, we show that such verifications can partly be done automatically. We describe the model inference system u... |

1 |
On induction for programming logic
- Nourani
- 1981
(Show Context)
Citation Context ...n the first case one has to prove that some formulae are theorems in the theory. This problem is semi-decidable if the semantics is purely loose, but is undecidable if we work in an initial semantics =-=[14]-=-. In the second case, one has to check properties on classes of algebras, which is hard to do automatically. Consequently, in almost all specification languages (e.g. PLUSS [11, 6, 7], ACT-TWO [9], OB... |