Skip to main content
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français fr
CORDIS - Résultats de la recherche de l’UE
CORDIS
Contenu archivé le 2024-04-16

The Semantics and Pragmatics of Generalised Graph Rewriting

Objectif

The principal objective of the SEMAGRAPH Action was to develop knowledge relevant to the semantics and pragmatics of computing by graph transformations, also known as generalised graph rewriting.
Generalised Graph rewriting extends term rewriting notions to include sharing, multiple non-root rewriting and explicit control of reduction order. These can be used for optimised reduction, side effects and process communication and synchronisation. These extensions provide a potentially unifying framework for a variety of models of computation, including functional languages, logical languages, object oriented languages, parallel generalisations of imperative languages.
The research aimed to develop the theory and practice of computing by graph transformation, and to relate these to existing theory especially abstract interpretation and the theory of orthogonal term rewriting systems. Implementation work ranges from sequential interpreters for graph rewriting languages to experiments with parallel machines. Efficient normalizing techniques for lambda terms are a case study for the theory and practice.

A common model of term graph rewriting (TGR) was developed.
The SEMAGRAPH work on establishing the foundations of TGR has been extremely fruitful. Its foundation is the extension of classical term rewriting to handle tranfinite rewriting sequences and infinite terms. This allows classical notions, such as Levy equivalence, neededness, typing and strictnes analysis to be mapped to the TGR world. The CAIMENS work on explicit substitutions is clearly seminal for tree based semantics, and there are now signs of a surprising connection with graph rewriting. Overall, SEMAGRAPH's theoretical contributions are certain to be of increasing importance as workers in Functional, Logic, Object and other higher level languages recognize the importance of understanding rewriting with sharing. With respect to state of the art sequential implementations which poutperform classical languages an impressive envirnonment has been developed for functional programming using the Concurrent Clean model of computation. The implementation includes many advanced optimization features, and the sequential performance is state of the art for a lazy functional language. Real speedups on experimental parallel implementations involves work on integrating the fast sequential compiler technology with the parallel distributed evaluation architecture ZAPP producing impressive performance figures. The formal exchange of standard, stable, interfaces between Concurrent clean compilers and ZAPP is regarded as an important milestone: it will provide a proper basis for study ing a range of distribution mechanisms without needing to modify the top end of the compilation route.
APPROACH AND METHODS
The Action was divided into three areas of work:
Semantic foundations. Both categorical and operational semantics were explored and related to existing term rewriting theory. Appropriate type systems were sought, and existing abstract interpretation techniques extended.
Language design and implementation. Practical experiments examined existing and novel designs and implementations and sought methods for expressing the control of reduction order.
Case study. Efficient strong reduction techniques for the lambda calculus (the basis of all functional programming languages) were explored.
PROGRESS AND RESULTS
Deliverables at the end of the Action contained over 60 scientific papers, most published, and several state-of-the-art prototypes of graph rewriting systems. The major achievements were:
-A common model of graph rewriting: The partners, who started with different notions of graph rewriting, have increasingly focused the term graph rewriting (TGR) model. This identification of a common model is a major achievement.
-Theoretical foundations: The SEMAGRAPH work on establishing the foundations of Term Graph Rewriting has been extremely fruitful. Its foundation is the extension of classical term rewriting to handle tranfinite rewriting sequences and infinite terms. Thi s allows classical notions, such as Levy equivalence, neededness, typing, and strictness analysis to be mapped to the term graph rewriting world. Interestingly, there has also been a 'backward' transfer of ideas: the abstract reduction technique, develope d for term graphs, is now being investigated in more classical contexts. The CAIMENS work on explicit substitutions is clearly seminal for tree based semantics, and there are now signs of a surprising connection with graph rewriting. Overall, SEMAGRAPH's theoretical contributions are certain to be of increasing importance as workers in Functional, Logic, Object and other higher level languages recognise the importance of understanding rewriting with sharing.
-State-of-the-art sequential implementations which poutperform classical languages: Nijmegen have developed an impressive environment for functional programming using the Concurrent Clean model of computation. The implementation includes many advanced op timisation features, and the sequential performance is state-of-the-art for a lazy functional language. The environment has been widely distributed on the Macintosh, and demonstrated at CEBIT'92 in Hanover.
-Real speedups on experimental parallel implementations: The KUN/UEA work on integrating the fast sequential compiler technology of Nijmegen with the parallel distributed evaluation architecture ZAPP is producing impressive performance figures. The forma l exchange of standard, stable, interfaces between Concurrent Clean compilers and ZAPP is regarded as an important milestone: it will provide a proper basis for studying a range of distribution mechanisms without needing to modify the top end of the compilation route.
POTENTIAL
A major achievement ofSEMAGRAPH has been the close interworking between theory and practice. This has resulted in a Macintosh environment for the Concurrent Clean language which allows extremely rapid and efficient development of Macintosh applications.The experimental work with parallel implementations of Concurrent Clean demonstrates real potential for scaleable performance improvements via parallelism.

Champ scientifique (EuroSciVoc)

CORDIS classe les projets avec EuroSciVoc, une taxonomie multilingue des domaines scientifiques, grâce à un processus semi-automatique basé sur des techniques TLN. Voir: Le vocabulaire scientifique européen.

Vous devez vous identifier ou vous inscrire pour utiliser cette fonction

Programme(s)

Programmes de financement pluriannuels qui définissent les priorités de l’UE en matière de recherche et d’innovation.

Thème(s)

Les appels à propositions sont divisés en thèmes. Un thème définit un sujet ou un domaine spécifique dans le cadre duquel les candidats peuvent soumettre des propositions. La description d’un thème comprend sa portée spécifique et l’impact attendu du projet financé.

Données non disponibles

Appel à propositions

Procédure par laquelle les candidats sont invités à soumettre des propositions de projet en vue de bénéficier d’un financement de l’UE.

Données non disponibles

Régime de financement

Régime de financement (ou «type d’action») à l’intérieur d’un programme présentant des caractéristiques communes. Le régime de financement précise le champ d’application de ce qui est financé, le taux de remboursement, les critères d’évaluation spécifiques pour bénéficier du financement et les formes simplifiées de couverture des coûts, telles que les montants forfaitaires.

Données non disponibles

Coordinateur

University of East Anglia
Contribution de l’UE
Aucune donnée
Adresse
University Plain
NR4 7TJ Norwich
Royaume-Uni

Voir sur la carte

Coût total

Les coûts totaux encourus par l’organisation concernée pour participer au projet, y compris les coûts directs et indirects. Ce montant est un sous-ensemble du budget global du projet.

Aucune donnée

Participants (5)

Mon livret 0 0