VI Jornadas Sobre Programación Y Lenguajes PROLE'06
Total Page:16
File Type:pdf, Size:1020Kb
VI Jornadas sobre Programacion´ y Lenguajes PROLE’06 Sitges, Barcelona 4-6 Octubre, 2006 Editores: Paqui Lucio Fernando Orejas ii Pr´ologo Las Jornadas sobre Programaci´ony Lenguajes (PROLE) se vienen consoli- dando como un marco propicio de reuni´on,debate y divulgaci´onpara los gru- pos espa˜nolesque investigan en temas relacionados con la programaci´ony los lenguajes de programaci´on.En este volumen se recopilan los art´ıculosaceptados para su presentaci´onen las Sextas Jornadas sobre Programaci´ony Lenguajes (PROLE’06) celebradas en Sitges (Barcelona) los dias 4, 5 y 6 de Octubre de 2006. Anteriormente tuvieron lugar en Almagro (2001), El Escorial (2002), Al- icante (2003), M´alaga(2004) y Granada (2005). La edici´onde PROLE’06, al igual que todas las ediciones previas, se organiza en paralelo, y compartiendo varios actos, con las Jornadas de Ingenier´ıa del Software y Bases de Datos (JISBD). Ambos eventos son organizados bajo los auspicios de SISTEDES (So- ciedad de Ingenier´ıa del Software y Tecnolog´ıas de Desarrollo de Software), sociedad constituida en Granada durante la celebraci´onde CEDI en Septiembre del 2005. Desde la edici´onde 2006, todas las personas inscritas en JISBD o PROLE ser´anmiembros de SISTEDES hasta la celebraci´onde las siguientes jornadas. Por ello, queremos expresar nuestro agradecimiento tanto a los or- ganizadores de las JISBD’06, en especial a Pere Botella, y a la direcci´onde SISTEDES. Todos los trabajos presentados fueron rigurosamente revisados por tres miembros del Comit´ede Programa y/o revisores adicionales, a todos los cuales queremos agradecer su inestimable ayuda. Los 24 trabajos aceptados, que este volumen recoge, son los formalmente aceptados por el Comit´ede Programa y se clasifican en cuatro categor´ıas diferentes: 12 son trabajos considerados en progreso, 4 son res´umesde trabajos recientemente publicados en alg´un foro in- ternacional de reconocido prestigio, 2 son demostraciones de sistemas y 6 son art´ıculossobre trabajo cient´ıficooriginal. Gracias tambi´en a todos los autores por participar en PROLE’06 y por el trabajo que realizan. El programa de PROLE’06 cuenta tambi´encon dos excelentes conferencias invitadas a cargo de Krzysztof R. Apt (Centrum voor Wiskunde en Informatica, Amsterdam) y Eelco Visser (Institute of Information and Computing Sciences, Utrecht). Gracias a ambos por aceptar amablemente nuestra invitaci´on. Los res´umenesde estas conferencias tambi´enhan sido incluidos en estas actas. Puede obtenerse informaci´on sobre PROLE a trav´es de la p´agina http://www.dsic.upv.es/users/elp/prole/, lo que debemos agradecer al grupo ELP de la Universidad Polit´ecnicade Valencia. Agradecemos tambi´en la ayuda recibida del Departament d’Universitats, Recerca i Societat de la Informaci´ode la Generalitat de Catalunya. Estas actas han sido generadas utilizando el soporte (basado en LaTeX) que proporciona ENTCS, revista electr´onica que acoger´a la edici´onde un volumen post-jornadas de trabajos originales. Gracias a ENTCS y, en especial, a Michael Mislove por su apoyo y amabilidad. 8 de Septiembre de 2006 Paqui Lucio Fernando Orejas iii Comit´ede Programa Presidenta: Paqui Lucio, Universidad del Pa´ıs Vasco Elvira Albert, Universidad Complutense de Madrid Jes´us Almendros, Universidad de Almer´ıa Mar´ıaAlpuente, Universidad Polit´ecnicade Valencia Jordi Cortadella, Universidad Polit´ecnicade Catalunya Ver´onicaDahl, Universidad Simon Fraser (Canada) Antonio J. Fern´andez,Universidad de M´alaga Victor Gul´ıas, Universidad de A Coru˜na Manuel Hermenegildo, Universidad Polit´ecnicade Madrid Francisco J. L´opez Fraguas, Universidad Complutense de Madrid Salvador Lucas, Universidad Polit´ecnicade Valencia Jos´eMerseguer, Universidad de Zaragoza Juan Jos´eMoreno Navarro, Universidad Polit´ecnicade Madrid Gin´esMoreno, Universidad de Castilla-La Mancha Marisa Navarro, Universidad del Pa´ıs Vasco Fernando Orejas, Universidad Polit´ecnicade Catalunya Ricardo Pe˜na,Universidad Complutense de Madrid Ernesto Pimentel, Universidad de M´alaga Isabel Pita, Universidad Complutense de Madrid Ambrosio Toval, Universidad de Murcia Germ´anVidal, Universidad Polit´ecnicade Valencia Revisores Javier Alvez´ Nima Kaviani Puri Arenas Montserrat Hermo Huguet Rafael Caballero Rold´an Javier Larrosa Francisco Dur´an Francisco Javier Lucas Mart´ınez Santiago Escobar Julio Mari˜no Jos´eLuis Fern´andezAlem´an Juan Miguel Molina Joxe Gaintzarain Ibarmia Fernando Molina Molina Emilio Gallego Arias Susana Mu˜nozHern´andez Elena G´omez-Mart´ınez Pawel Pietrzak Baohua Gu Daniel Romero iv ´Indice Conferencias Invitadas Program Transformation with Dynamic Rewrite Rules E.Visser ............................................................. 1 Infinite Qualitative Simulations by Means of Constraint Programming K. R. Apt (trabajo conjunto con S. Brand) . 3 Sesi´on1.- Sem´antica A Functorial Framework for Constraint Normal Logic Programming P. Lucio, F. Orejas, E. Pasarella, E. Pino . 5 Relating two semantic descriptions of functional logic languages F. J. L´opez-Fraguas, J. Rodr´ıguezHortal´a,J. S´anchez Hern´andez . 15 Towards a Set Oriented Calculus for Logic Programming R. Caballero, Y. Garc´ıa-Ruiz, F. S´aenz-P´erez ......................... 25 Sesi´on2.- Implementaci´on Optimizaci´onde las primitivas de reflexi´onofrecidas por los lenguajes din´amicos J. M. Redondo L´opez, F. Ort´ınSoler, J. M. Cueva Lovelle . 35 Formally Deriving a compiler for SAFE R.Pe˜na,C.Segura ................................................... 47 Sesi´on 3 .- An´alisisde Programas Towards a dependency pair framework for context-sensitive rewriting B. Alarc´on,R. Guti´errez,S. Lucas . 57 Term Dependence Graphs D.Cheda,J.Silva,G.Vidal .......................................... 67 Generation of Reduced Certificates in Abstraction-Carrying Code E. Albert, P. Arenas, G. Puebla, M. Hermenegildo . 77 Proving Termination of Context-Sensitive Rewriting with MU-TERM B. Alarc´on,R. Guti´errez,J. Iborra, S. Lucas . 87 v Sesi´on 4 .- Narrowing Elimination of Extra Variables in Functional Logic Programs J. de Dios Castro, F. J. L´opez-Fraguas . 99 Formal Properties of Needed Narrowing with Similarity Relations G.Moreno,V.Pascual ............................................... 115 A Proposal for the Cooperation of Solvers in Constraint Functional Logic Programming S. Est´evez-Mart´ın,A. J. Fern´andez,T. Hortal´a-Gonz´alez,M. Rodr´ıguez- Artalejo, F. S´aenz-P´erez, R. del Vado-V´ırseda . 131 Sesi´on 5.- Bases de Datos Towards a Constraint Deductive Database Language based on Hereditary Harrop Formulas S. Nieva, F. S´aenz-P´erez, J. S´anchez-Hern´andez . 147 XQuery within Logic Programming J. M. Almendros Jim´enez, A. Becerra-Ter´on,F. J. Enciso-Ba˜nos . 159 Sesi´on 6.- Verificaci´on Formal sequentialization of distributed systems via model rewriting M. Bertran, F. Babot, A. Climent . 169 The Maude-NRL Protocol Analyzer: A Rewriting-Based Inference System for Equational Cryptographic Reasoning S. Escobar, C. Meadows, J. Meseguer . 185 GVERDI-R A Tool for Repairing Faulty Web Sites M. Alpuente, D. Ballis, M. Falaschi, D. Romero . 195 Sesi´on7 .- Lenguajes Funcionales Dise˜no de un entorno integrado de desarrollo para NiMo S. Clerici, C. Zoltan, G. Prestigiacomo, J. Garc´ıa Sanjuli´an. 205 Three New Algorithmic Debugging Strategies J.Silva .............................................................. 215 Timed Concurrent Constraint Programming with Instantaneous Compu- tations M. Alpuente, B. Gramlich, A. Villanueva . 225 vi VoDKA: Developing a Video-on-Demand Server using Distributed Func- tional Programming V. Gul´ıas,C. Abalde, D. Cabrero, M. Barreiro . 235 Sesi´on 8 .- Transformaci´onde Programas Efficient Reductant Calculi by using Partial Evaluation Techniques with Thresholding P. Juli´anIranzo, G. Moreno Valverde, J. Penabad V´azquez. 245 Partial inversion of first-order functional programs J. M. Almendros Jim´enez,G.Vidal .................................. 261 Ensuring the Termination of Narrowing-Driven Partial Evaluation using Size-Change Graphs G. Arroyo, J. Guadalupe Ramos, J. Silva, G. Vidal . 271 vii PROLE 2006 Program Transformation with Dynamic Rewrite Rules Eelco Visser 1 Institute of Information and Computing Sciences, Utrecht University P.O. Box 80089, 3508 TB Utrecht, The Netherlands The area of program transformation is concerned with the manipulation of the source code of programs. Since textual transformations tend to be hard to get correct, transformations are usually carried out on structured representations of programs, such as abstract syntax trees. Term rewrite rules provide a good formalism for describing simple transformations on trees. The Stratego [1] program transformation language is based on term rewriting, but extends the formalism with programmmable rewriting strategies and scoped dynamic rewrite rules. A collection of useful rewrite rules for the abstract syntax of a programming language is usually non-terminating and non-confluent. For any particular transformation a choice needs to be made from the collection of rules and the order in which they are applied. Programmable rewriting strategies [4] are programs in a domain-specific strategy language that provides combinators for combining single rewrite rules into complex transformation algorithms. While strategies provide control over the application of rules, they do not solve the problem of context-sensitivity in program transformation. Programs contain many kinds of binding relations between declarations or definitions and uses of those definitions indicated by means of