6 research outputs found
On Unfolding Completeness for Rewriting Logic Theories
Many transformation systems for program optimization, program synthesis, and program specialization are based on fold/unfold transformations. In this paper, we investigate the semantic properties of a narrowing-based unfolding transformation that is useful to transform rewriting logic theories. We also present a transformation methodology that is able to determine whether an unfolding transformation step would cause incompleteness and avoid this problem by completing the transformed rewrite theory with suitable extra rules. More precisely, our methodology identifies the sources of incompleteness and derives a set of rules that are added to the transformed rewrite theory in order to preserve the semantics of the original theory.Alpuente Frasnedo, M.; Baggi, M.; Ballis, D.; Falaschi, M. (2010). On Unfolding Completeness for Rewriting Logic Theories. http://hdl.handle.net/10251/863
Programming with narrowing: A tutorial
AbstractNarrowing is a computation implemented by some declarative programming languages. Research in the last decade has produced significant results on the theory and foundation of narrowing, but little has been published on the use of narrowing in programming. This paper introduces narrowing from a programmer’s viewpoint; shows, by means of examples, when, why and how to use narrowing in a program; and discusses the impact of narrowing on software development activities such as design and maintenance. The examples are coded in the programming language Curry, which provides narrowing as a first class feature
Rule-based Methodologies for the Specification and Analysis of Complex Computing Systems
Desde los orígenes del hardware y el software hasta la época actual, la complejidad
de los sistemas de cálculo ha supuesto un problema al cual informáticos, ingenieros
y programadores han tenido que enfrentarse. Como resultado de este esfuerzo han
surgido y madurado importantes áreas de investigación. En esta disertación abordamos
algunas de las líneas de investigación actuales relacionada con el análisis y
la verificación de sistemas de computación complejos utilizando métodos formales y
lenguajes de dominio específico.
En esta tesis nos centramos en los sistemas distribuidos, con un especial interés por
los sistemas Web y los sistemas biológicos. La primera parte de la tesis está dedicada
a aspectos de seguridad y técnicas relacionadas, concretamente la certificación del
software. En primer lugar estudiamos sistemas de control de acceso a recursos y proponemos
un lenguaje para especificar políticas de control de acceso que están fuertemente
asociadas a bases de conocimiento y que proporcionan una descripción sensible
a la semántica de los recursos o elementos a los que se accede. También hemos desarrollado
un marco novedoso de trabajo para la Code-Carrying Theory, una metodología
para la certificación del software cuyo objetivo es asegurar el envío seguro de código
en un entorno distribuido. Nuestro marco de trabajo está basado en un sistema de
transformación de teorías de reescritura mediante operaciones de plegado/desplegado.
La segunda parte de esta tesis se concentra en el análisis y la verificación de sistemas
Web y sistemas biológicos. Proponemos un lenguaje para el filtrado de información
que permite la recuperación de informaciones en grandes almacenes de datos. Dicho
lenguaje utiliza información semántica obtenida a partir de ontologías remotas
para re nar el proceso de filtrado. También estudiamos métodos de validación para
comprobar la consistencia de contenidos web con respecto a propiedades sintácticas
y semánticas. Otra de nuestras contribuciones es la propuesta de un lenguaje que
permite definir y comprobar automáticamente restricciones semánticas y sintácticas
en el contenido estático de un sistema Web. Finalmente, también consideramos los
sistemas biológicos y nos centramos en un formalismo basado en lógica de reescritura
para el modelado y el análisis de aspectos cuantitativos de los procesos biológicos.
Para evaluar la efectividad de todas las metodologías propuestas, hemos prestado
especial atención al desarrollo de prototipos que se han implementado utilizando
lenguajes basados en reglas.Baggi ., M. (2010). Rule-based Methodologies for the Specification and Analysis of Complex Computing Systems [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/8964Palanci
A Unifying View of Functional and Logic Program Specialization
rogramming (computation of normal forms) as well as logic programming (computation of answers). Essentially, it consists of computing an appropriate substitution such that when applied to the current goal it becomes reducible, and then reducing it [10]. This work has been partially supported by CICYT under grant TIC 95-0433-C03-03 and by HCM project CONSOLE. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works, requires prior specific permission and/or a fee. Permission