Meta-Language Support For Type-Safe Access To External Resources

Mark Hills 1 Paul Klint 1 Jurgen Vinju 1
1 ATEAMS - Analysis and Transformation based on rEliAble tool coMpositionS
Inria Lille - Nord Europe, CWI - Centrum Wiskunde & Informatica
Abstract : Meta-programming applications often require access to heterogeneous sources of information, often from different technological spaces (grammars, models, ontologies, databases), that have specialized ways of defining their respective data schemas. Without direct language support, obtaining typed access to this external, potentially changing, information is a tedious and error-prone engineering task. The Rascal meta-programming language aims to support the import and manipulation of all of these kinds of data in a type-safe manner. The goal is to lower the engineering effort to build new meta programs that combine information about software in unforeseen ways. In this paper we describe built-in language support, so called \textitresources, for incorporating external sources of data and their corresponding data-types while maintaining type safety. We demonstrate the applicability of Rascal resources by example, showing resources for RSF files, CSV files, JDBC-accessible SQL databases, and SDF2 grammars. For RSF and CSV files this requires a type inference step, allowing the data in the files to be loaded in a type-safe manner without requiring the type to be declared in advance. For SQL and SDF2 a direct translation from their respective schema languages into Rascal is instead constructed, providing a faithful translation of the declared types or sorts into equivalent types in the Rascal type system. An overview of related work and a discussion conclude the paper.
Type de document :
Communication dans un congrès
Czarnecki, K. and Hedin, G. Pre-Proceedings of the 5th International Conference on Software Language Engineering, Sep 2012, Dresden, Netherlands. Fakultät Informatik, Technische Universität Dresden, pp.370 - 389, 2012
Liste complète des métadonnées

https://hal.inria.fr/hal-00756878
Contributeur : Jurgen Vinju <>
Soumis le : vendredi 23 novembre 2012 - 22:03:01
Dernière modification le : mercredi 29 novembre 2017 - 15:10:46

Identifiants

  • HAL Id : hal-00756878, version 1

Collections

Citation

Mark Hills, Paul Klint, Jurgen Vinju. Meta-Language Support For Type-Safe Access To External Resources. Czarnecki, K. and Hedin, G. Pre-Proceedings of the 5th International Conference on Software Language Engineering, Sep 2012, Dresden, Netherlands. Fakultät Informatik, Technische Universität Dresden, pp.370 - 389, 2012. 〈hal-00756878〉

Partager

Métriques

Consultations de la notice

174