Examinando por Materia "Logic programming"
Mostrando 1 - 10 de 10
Resultados por página
Opciones de ordenación
Publicación A debugging scheme for functional logic programs(Elsevier BV, 2002-01-01) Alpuente, M.; Correa, F.; Falaschi, M.; Universidad EAFIT. Departamento de Ciencias; Lógica y ComputaciónWe present a generic scheme for the declarative debugging of functional logic programs which is valid for eager as well as lazy programs. In particular we show that the framework extends naturally some previous work and applies to the most modern lazy strategies, such as needed narrowing. First we associate to our programs a semantics based on a (continuous) immediate consequence operator, TR, which models computed answers. We show that, given the intended specification of a program R, it is possible to check the correctness of R by a single step of TR. We consider then a more effective methodology which is based on abstract interpretation: by approximating the intended specification of the success set we derive a finitely terminating diagnosis method, which can be used statically and is parametric w.r.t. to the chosen approximation. In order to correct the bugs, we sketch a preliminary deductive approach which uses example-guided unfolding. We specialize the incorrect rules w.r.t. sets of positive and negative examples which are gathered (bottom-up) during the diagnosis process, so that all refutations of negative examples and no refutation of positive examples are excluded. Our debugging framework does not require the user to either provide error symptoms in advance or answer difficult questions concerning program correctness. We extend an implementation of our system to the case of needed narrowing and illustrate it through some examples which demonstrate the practicality of our approach. © 2002 Published by Elsevier Science B.V.Publicación An integrated framework for the diagnosis and correction of rule-based programs(ELSEVIER SCIENCE BV, 2010-10-29) Alpuente, M.; Ballis, D.; Correa, F.; Falaschi, M.; Universidad EAFIT. Departamento de Ciencias; Lógica y ComputaciónWe present a generic scheme for the declarative debugging of programs that are written in rewriting-based languages that are equipped with narrowing. Our aim is to provide an integrated development environment in which it is possible to debug a program and then correct it automatically. Our methodology is based on the combination (in a single framework) of a semantics-based diagnoser that identifies those parts of the code that contain errors and an inductive learner that tries to repair them, once the bugs have been located in the program. We develop our methodology in several steps. First, we associate with our programs a semantics that is based on a (continuous) immediate consequence operator, TR, which models the answers computed by narrowing and is parametric w.r.t. the evaluation strategy, which can be eager or lazy. Then, we show that, given the intended specification of a program R, it is possible to check the correctness of R by a single step of TR. In order to develop an effective debugging method, we approximate the computed answers semantics of R and derive a finitely terminating bottom-up abstract diagnosis method, which can be used statically. Finally, a bug-correction program synthesis methodology attempts to correct the erroneous components of the wrong code. We propose a hybrid, top-down (unfolding-based) as well as bottom-up (induction-based), correction approach that is driven by a set of evidence examples which are automatically produced as an outcome by the diagnoser. The resulting program is proven to be correct and complete w.r.t. the considered example sets. Our debugging framework does not require the user to provide error symptoms in advance or to answer difficult questions concerning program correctness. An implementation of our debugging system has been undertaken which demonstrates the workability of our approach. © 2010 Elsevier B.V. All rights reserved.Ítem Category theory applied to functional programming(Universidad EAFIT, 2014) Villa Isaza, Juan Pedro; Sicard Ramírez, AndrésWe study some of the applications of category theory to functional programming, particularly in the context of the Haskell functional programming language, and the Agda dependently typed functional programming language and proof assistant -- More specifically, we describe and explain the concepts of category theory needed for conceptualizing and better understanding algebraic data types and folds, functors, monads, and parametrically polymorphic functions -- With this purpose, we give a detailed account of categories, functors and endofunctors, natural transformations, monads and Kleisli triples, algebras and initial algebras over endofunctors, among others -- In addition, we explore all of these concepts from the standpoints of categories and programming in Haskell, and, in some cases, Agda -- In other words, we examine functional programming through category theoryPublicación Correction of functional logic programs(SPRINGER, 2003-01-01) Alpuente, M.; Ballis, D.; Correa, F.J.; Falaschi, M.; Universidad EAFIT. Departamento de Ciencias; Lógica y ComputaciónWe propose a new methodology for synthesizing correct functional logic programs. We aim to create an integrated development environment in which it is possible to debug a program and correct it automatically. We start from a declarative diagnoser that we have developed previously which allows us to identify wrong program rules w.r.t. an intended specification. Then a bug-correction, program synthesis methodology tries to correct the erroneous components of the wrong code. We propose a hybrid, top-down (unfolding-based) as well as bottom-up (induction-based), approach for the automatic correction of functional logic programs which is driven by a set of evidence examples which are automatically produced as an outcome by the diagnoser. The resulting program is proven to be correct and complete w.r.t. the considered example sets. Finally, we also provide a prototypical implementation which we use for an experimental evaluation of our system. © Springer-Verlag Berlin Heidelberg 2003.Publicación Declarative debugging of functional logic programs(Elsevier BV, 2001-01-01) Alpuente, M.; Correa, F.J.; Falaschi, M.; Universidad EAFIT. Departamento de Ciencias; Lógica y ComputaciónWe present a general framework for the declarative debugging of functional logic programs, which is valid both for eager as well as lazy programs. We associate to our programs a semantics based on a (continuous) immediate consequence operator which models computed answers. Then we show that, given the intended specification of a program P, it is possible to check the correctness of P by a single step of the immediate consequence operator. We also present a more effective methodology which is based on abstract interpretation. By approximating the intended specification of the success set we derive a finitely terminating debugging method, which can be used statically. Our framework is parametric w.r.t. to the chosen approximation of the success set. We present one specific example of approximation. We provide an implementation of our debugging system which shows experimentally on a wide set of benchmarks that we are able to find some common errors in the user programs. © 2001 Published by Elsevier Science B. V.Ítem Estado del arte en técnicas de recuperación de información basadas en ontologías(Universidad EAFIT, 2010) Restrepo Montoya, Daniel; García Zuluaga, Santiago; Lalinde Pulido, Juan GuillermoPublicación Information management method based on a Knowledge Management (KM) approach for Human Supervisory Control Systems(Universidad EAFIT, 2017) Fernández Montoya, Mauricio; Mejía-Gutiérrez, RicardoWith the increasing level of technological developments, technical systems have become more and more complex – This complexity allows systems to perform a greater number of tasks in a more efficient and fast way -- These tasks enable the system to achieve an objective that can be related to, either the materialization of a product, the provision of a service or the satisfactory execution of a mission -- These Complex Systems (CS), can be an industrial plant or process, as well as aerospace systems, energy facilities, military industry, civil industry, aircraft, transportation, sports, etc. They all have in common, that a great amount of tasks may be automated, but anyway, they need human supervision through the so-called “Operators” (who are the qualified personnel in charge of maintaining the stability of the process) -- This operators must perform a constant monitoring and control, mainly through Human Machine Interfaces (HMI) and this Human-Machine interaction is studied by the field of Human Supervised Control (HSC) -- As CS have become more critical, they require the monitoring of more subsystems and variables, making them more susceptible to failures due to errors of the human operators -- From the literature study, it is evident that in order to avoid such errors, three aspects become relevant: i) the level of automation of the processes have a direct influence on the flow of information between the CS and the Operators, ii) the ergonomics of the graphical interfaces its critical to facilitate the interpretation of that information and iii) methodologies for a systematic CS design become necessary to guarantee tasks accomplishment -- These aspects become more critical, because CS generally integrates heterogeneous subsystems and components, which increases considerably the amount of information available to operators -- The problem is that Operators, who are experts in their disciplines, use a preferred set of data, linked to their particular knowledge (without considering the full set of variables of the whole system), to perform monitoring and control tasks -- It was also found in the literature that CS designers do not have a clear or formal guideline for selection and weighting of the relevant data. Consequently, this project proposes an information management method based on a Knowledge Management (KM), to select and weight mission data in Human Supervision Control Systems (HSC) -- The method is based on the functional analysis of the process, as well as the generation of functions from its main objective -- This method was applied in a case study, where an analysis was performed around a mission control of a solar vehicle, that compete in the Bridgestone World Solar Challenge 2015 -- It was found that the number of relevant variables to monitor the competition was small, compared to the big set of available variables -- Another finding, was that the set of relevant variables is strongly influenced by the Operating States (OS) of the vehicle throughout the different moments of the competition -- Although there are some variables that are consistently stronger than others in all OS, in general, the variables’ importance presents a variable behavior between OS, concluding that the relevance of the variables is dynamicÍtem An integrated framework for the diagnosis and correction of rule-based programs(ELSEVIER SCIENCE BV, 2010-10-29) Alpuente, M.; Ballis, D.; Correa, F.; Falaschi, M.; Alpuente, M.; Ballis, D.; Correa, F.; Falaschi, M.; Universidad EAFIT. Departamento de Ingeniería de Sistemas; I+D+I en Tecnologías de la Información y las ComunicacionesWe present a generic scheme for the declarative debugging of programs that are written in rewriting-based languages that are equipped with narrowing. Our aim is to provide an integrated development environment in which it is possible to debug a program and then correct it automatically. Our methodology is based on the combination (in a single framework) of a semantics-based diagnoser that identifies those parts of the code that contain errors and an inductive learner that tries to repair them, once the bugs have been located in the program. We develop our methodology in several steps. First, we associate with our programs a semantics that is based on a (continuous) immediate consequence operator, TR, which models the answers computed by narrowing and is parametric w.r.t. the evaluation strategy, which can be eager or lazy. Then, we show that, given the intended specification of a program R, it is possible to check the correctness of R by a single step of TR. In order to develop an effective debugging method, we approximate the computed answers semantics of R and derive a finitely terminating bottom-up abstract diagnosis method, which can be used statically. Finally, a bug-correction program synthesis methodology attempts to correct the erroneous components of the wrong code. We propose a hybrid, top-down (unfolding-based) as well as bottom-up (induction-based), correction approach that is driven by a set of evidence examples which are automatically produced as an outcome by the diagnoser. The resulting program is proven to be correct and complete w.r.t. the considered example sets. Our debugging framework does not require the user to provide error symptoms in advance or to answer difficult questions concerning program correctness. An implementation of our debugging system has been undertaken which demonstrates the workability of our approach. © 2010 Elsevier B.V. All rights reserved.Publicación Metodología para la detección temprana de la deserción de los estudiantes del pregrado Sistemas de Información en la asignatura Lógica y Programación del Instituto Tecnológico Metropolitano(Universidad EAFIT, 2015) Vásquez Rojas, Jaime Orlando; Zea Restrepo, Claudia MaríaLa deserción universitaria está supeditada al estudio de sus causas y factores que lo determinan, así como las acciones que se deben tomar para disminuirla (Salcedo Escarria, A., 2010) -- Es por esto que los diagnósticos realizados con las metodologías adecuadas que permitan predecir ésta con mayor efectividad, deben posibilitar la ejecución de planes de acción que permitan la consecución de recursos, evitar la superpoblación universitaria, impedir deficiencias docentes, invertir en bienestar estudiantil, becas, subsidios, entre otros, diseñar currículos adecuados e incluir la solución de otros problemas inherentes a la universidad que inciden directamente en la deserción -- El objetivo de este trabajo de grado consiste en investigar y proponer una metodología que permita identificar las causas y los factores por los cuales el estudiante de la asignatura “Lógica de Programación” no logra adquirir las competencias durante su periodo académico, poder alertarle de manera individual y sugerirle las acciones a tomar -- Mediante un estudio de campo, se logra identificar las debilidades y fortalezas del estudiante que pierde y del estudiante que gana respectivamente la asignatura, logrando encontrar perfiles y proponer tareas con el fin de aumentar la retención académica -- Se determina aplicar la metodología a la asignatura “Lógica de Programación” ya que es el pilar fundamental para el desarrollo de software, es una de las asignaturas con mayor deserción académica dentro de la tecnología de Sistemas de Información, se cuenta con más de 20 años de experiencia en el área, además, pertenece al segundo semestre y de acuerdo con el MEN (Ministerio de educación nacional), es en los dos primeros semestres donde hay mayor deserción universitaria en Colombia -- Como trabajo futuro se propone el desarrollo de un sistema de información para la implementación de la metodología propuesta, utilizando la Minería de datos educativaPublicación Una formalización del sistema de los números reales(Universidad EAFIT, 2017) Acevedo Acosta, Jorge Ohel; Echeverri Jurado, José Luis; Sicard Ramírez, Andrés