<p>La Programación con Restricciones, en ingles Constraint Programming (CP), es un paradigma de programación, donde las relaciones entre las variables son expresadas en términos de restricciones. Actualmente es usada como una tecnología para la descripción y resolución de problemas combinatoriales particularmente difíciles, especialmente en las áreas de planificación y programación de tareas. Dentro del estudio de la Programación con Restricciones encontramos una serie de Lenguajes de Programación, que permiten integrar restricciones de manera de dar soluciones a diferentes problemas. Es por este motivo que se propone un marco de comparación para evaluar estos lenguajes, proporcionando así una guía para su selección. Existen dos grandes paradigmas en los cuales nos vamos a centrar, el Orientado a Objetos y el Lógico. Hay dos razones para adoptar la tecnología de Lenguajes de Programación Lógicos para solucionar un problema. La primera es su expresividad permitiendo una solución declarativa con un código legible que es vital para el mantenimiento y el segundo es la disposición para una implementación eficiente para procedimientos de cómputo costosos. Mientras tanto los Lenguajes Orientado a Objetos son de implementación más sencilla y una vez que tienen el apoyo de clases específicas para la Programación con Restricciones se vuelven fácilmente adaptables. Una vez propuesto un mecanismo general de comparación parametrizable, se realiza la comparación entre Eclipse, por parte de los Lenguajes Lógicos y en GeCode por parte de los Lenguajes Orientados a Objetos</p>
<p>Constraint Programming (CP) is a programming paradigm where relationships among variables are expressed in terms of constraints. Currently, it is used as a technology to describe and solve particularly difficult combinatorial problems, especially in the areas of task planning and programming. Within the study of Constraint Programming we find a series of Programming Languages, which allow integrating constraints in order to solve different problems. For this reason, a comparison framework is proposed to evaluate these languages, providing a guide to select them. We will focus on two leading paradigms; Object-Oriented and Logic. There are two reasons to adopt the Logic Programming Language technology in order to solve a problem. Firstly, its expressiveness, permitting a declarative solution with a readable code –vital for maintenance– and secondly, the layout for an efficient implementation for costly computation procedures. Meanwhile, Object-Oriented Languages are simpler to implement, and once they are supported by specific classes for Constraint Programming they become easy to adapt. Once a general parameterizable comparison mechanism is proposed, a comparison is performed between Eclipse by Logic Languages and GeCode by Object-Oriented Languages</p>
last modification
Magíster en Ingeniería Informática
MAGISTER EN INGENIERIA INFORMATICA
<p>La Programación con Restricciones, en ingles Constraint Programming (CP), es un paradigma de programación, donde las relaciones entre las variables son expresadas en términos de restricciones. Actualmente es usada como una tecnología para la descripción y resolución de problemas combinatoriales particularmente difíciles, especialmente en las áreas de planificación y programación de tareas. Dentro del estudio de la Programación con Restricciones encontramos una serie de Lenguajes de Programación, que permiten integrar restricciones de manera de dar soluciones a diferentes problemas. Es por este motivo que se propone un marco de comparación para evaluar estos lenguajes, proporcionando así una guía para su selección. Existen dos grandes paradigmas en los cuales nos vamos a centrar, el Orientado a Objetos y el Lógico. Hay dos razones para adoptar la tecnología de Lenguajes de Programación Lógicos para solucionar un problema. La primera es su expresividad permitiendo una solución declarativa con un código legible que es vital para el mantenimiento y el segundo es la disposición para una implementación eficiente para procedimientos de cómputo costosos. Mientras tanto los Lenguajes Orientado a Objetos son de implementación más sencilla y una vez que tienen el apoyo de clases específicas para la Programación con Restricciones se vuelven fácilmente adaptables. Una vez propuesto un mecanismo general de comparación parametrizable, se realiza la comparación entre Eclipse, por parte de los Lenguajes Lógicos y en GeCode por parte de los Lenguajes Orientados a Objetos</p>
<p>Constraint Programming (CP) is a programming paradigm where relationships among variables are expressed in terms of constraints. Currently, it is used as a technology to describe and solve particularly difficult combinatorial problems, especially in the areas of task planning and programming. Within the study of Constraint Programming we find a series of Programming Languages, which allow integrating constraints in order to solve different problems. For this reason, a comparison framework is proposed to evaluate these languages, providing a guide to select them. We will focus on two leading paradigms; Object-Oriented and Logic. There are two reasons to adopt the Logic Programming Language technology in order to solve a problem. Firstly, its expressiveness, permitting a declarative solution with a readable code –vital for maintenance– and secondly, the layout for an efficient implementation for costly computation procedures. Meanwhile, Object-Oriented Languages are simpler to implement, and once they are supported by specific classes for Constraint Programming they become easy to adapt. Once a general parameterizable comparison mechanism is proposed, a comparison is performed between Eclipse by Logic Languages and GeCode by Object-Oriented Languages</p>