A generic object-calculus based on Addressed Term Rewriting Systems - LARA - Libre accès aux rapports scientifiques et techniques Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 1999

A generic object-calculus based on Addressed Term Rewriting Systems

Résumé

In a previous paper we have outlined a framework (or a generic object-calculus) called \Obja, for modeling \textit{object calculi}. In this one, we would like to describe the foundations of \Obja{}. This framework is essentially a detailed formal operational semantics of object based languages, in the style of the Lambda Calculus of Objects. As a formalism for specification \Obja{} is arranged in \textit{modules}, permitting a natural classification of many object-based calculi according to their features, including their reduction-strategies. In particular there are modules for calculi of non mutable objects (\ie, \emph{functional object calculi}) and for calculi of mutable objects (\ie, \emph{imperative object calculi}). As a computational formalism \Obja{} is based on rewriting rules. Classical first-order term rewriting systems are not appropriate since we want to reflect aspects of implementation practice such as sharing, cycles in data structures and mutation. Therefore we define the notion of \textit{addressed terms}, and develop the corresponding notion of \textit{addressed term rewriting systems}.
Dans un article précédent, nous avions présenté un cadre de travail (ou si l'on préfère un calcul générique) appelé \Obja, pour modéliser des calculs d'objets, tandis que dans ce rapport, nous voudrions décrire les bases formelles d'\Obja. Ce cadre est essentiellement une sémantique opérationnelle formelle et détaillée des langages d'objets. En temps que formalisme de spécification, \Obja{} est disposé en modules, qui permettent une classification naturelle des divers calculs à objets par rapport à leurs caractéristiques, y compris leurs stratégies de réduction. En particulier, \Obja{} contient des modules qui décrivent les calculs à objets non mutables (c-à-d les \emph{calculs à objets fonctionnels}) et des modules qui décrivent les calculs à objets mutables (c-à-d les \emph{calculs à objets impératifs}). En temps que formalisme de calculs, \Obja{} est fondé sur des règles de réécriture, mais les systèmes de réécriture classiques du premier ordre sont inappropriés, car nous souhaitons refléter des aspects relevant de la pratique des implanteurs tels que le partage, les cycles dans les structures de données et la mutation. Pour cela, nous définissons la notion de terme avec adresses et développons la notion correspondante de système de réécriture avec adresses.
Fichier principal
Vignette du fichier
RR1999-54.pdf (529.15 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-02101981 , version 1 (17-04-2019)

Identifiants

  • HAL Id : hal-02101981 , version 1

Citer

Daniel Dougherty, Frédéric Lang, Pierre Lescanne, Luigi Liquori, Kristoffer Rose. A generic object-calculus based on Addressed Term Rewriting Systems. [Research Report] LIP RR-1999-54, Laboratoire de l'informatique du parallélisme. 1999, 2+32p. ⟨hal-02101981⟩
16 Consultations
9 Téléchargements

Partager

Gmail Facebook X LinkedIn More