6 research outputs found

    XML Representation of Constraint Networks: Format XCSP 2.1

    Full text link
    We propose a new extended format to represent constraint networks using XML. This format allows us to represent constraints defined either in extension or in intension. It also allows us to reference global constraints. Any instance of the problems CSP (Constraint Satisfaction Problem), QCSP (Quantified CSP) and WCSP (Weighted CSP) can be represented using this format

    A generic, collaborative framework for internal constraint solving

    Get PDF
    Esta tesis propone un esquema genérico y cooperativo para CLP(Interval(X)) donde X es cualquier dominio de computación con estructura de retículo. El esquema, que está basado en la teoría de retículos, es un enfoque general para la satisfacción y op-timización de restricciones de intervalo así como para la cooperación de resolutores de intervalo definidos sobre dominios de computación con estructura de retículos, independientemente de la cardinalidad de estos. Nuestra propuesta asegura un enfoque transparente sobre el cual las restricciones, los dominios de computación y los mecanismos de propagación y cooperación, definidos entre las variables restringidas, pueden ser fácilmente especificados a nivel del usuario. La parte principal de la tesis presenta una especificación formal de este esquema.Los principales resultados conseguidos en esta tesis son los siguientes:Una comparativa global de la eficiencia y algunos aspectos de la expresividad de ocho sistemas de restricciones. Esta comparativa, realizada sobre el dominio finito y el dominio Booleano, muestra diferencias principales entre los sistemas de restricciones existentes.Para formalizar el marco de satisfacción de restricciones para CLP(Interval(X))hemos descrito el proceso global de resolución de restricciones de intervalo sobre cualquier retículo, separando claramente los procesos de propagación y división (ramificación) de intervalos. Una de las ventajas de nuestra propuesta es que la monótona de las restricciones esta implícitamente definida en la teoría. Además, declaramos un conjunto de propiedades interesantes que, bajo ciertas condiciones, son satisfechas por cualquier instancia del esquema genérico. Mas aún, mostramos que muchos sistemas de restricciones actualmente existentes satisfacen estas condiciones y, además, proporcionamos indicaciones sobre como extender el sistema mediante la especificación de otras instancias interesantes y novedosas. Nuestro esquema para CLP(Interval(X)) permite la cooperación de resolutores de manera que la información puede ⁰uir entre diferentes dominios de computación.Además, es posible combinar distintas instancias del esquema: por ejemplo, instancias bien conocidas tales como CLP(Interval(<)), CLP(Interval(Integer)),CLP(Interval(Set)), CLP(Interval(Bool)), y otras novedosas que son el resultado de la generación de nuevos dominios de computación definidos por el usuario, o incluso que surgen de la combinación de dominios ya existentes como puede ser CLP(Interval(X1 £ : : : £ Xn)). Por lo tanto, X puede ser instanciado a cualquier conjunto de dominios de computación con estructura de retículo de forma que su correspondiente instancia CLP(Interval(X)) permite una amplia flexibilidad en la definición de dominios en X (probablemente definidos por el usuario) y en la interaccion entre estos dominios.Mediante la implementacion de un prototipo, demostramos que un unico sistema,que este basado en nuestro esquema para CLP(Interval(X)), puede proporcionarsoporte para la satisfaccion y la optimizacion de restricciones as como para la cooperacion de resolutores sobre un conjunto conteniendo multiples dominios decomputacion. Ademas, el sistema sigue un novedoso enfoque transparente sujeto a una doble perspectiva ya que el usuario puede definir no solo nuevas restricciones y su mecanismo de propagacion, sino tambien nuevos dominios sobre los cuales nuevas restricciones pueden ser resueltas as como el mecanismo de cooperacion entre todos los dominios de computación (ya sean definidos por el usuario o predefinidos por el sistema).En nuestra opinión, esta tesis apunta nuevas y potenciales direcciones de investigación dentro de la comunidad de las restricciones de intervalo.Para alcanzar los resultados expuestos, hemos seguido los siguientes pasos (1) la elección de un enfoque adecuado sobre el cual construir los fundamentos teóricos de nuestro esquema genérico; (2) la construcción de un marco teórico genérico (que llamaremos el marco básico) para la propagación de restricciones de intervalo sobre cualquier retículo; (3) la integración, en el marco básico, de una técnica novedosa que facilita la cooperación de resolutores y que surge de la definición, sobre múltiples dominios, de operadores de restricciones y (4) la extensión del marco resultante para la resolución y optimización completa de las restricciones de intervalo.Finalmente presentamos clp(L), un lenguaje de programación lógica de restricciones de intervalo que posibilita la resolución de restricciones sobre cualquier conjunto de retículos y que esta implementado a partir de las ideas formalizadas en el marco teórico. Describimos una primera implementación de este lenguaje y desarrollamos algunos ejemplos de como usarla. Este prototipo demuestra que nuestro esquema para CLP(Interval(X)) puede ser implementado en un sistema único que, como consecuencia, proporciona, bajo un enfoque transparente sobre dominios y restricciones, cooperación de resolutores así como satisfacción y optimización completa de restricciones sobre diferentes dominios de computación

    Arcabouço baseado em componentes para o desenvolvimento de interface de usuário de aplicação para smartTV.

    Get PDF
    O conceito de SmartTV permite a instalação em TVs de aplicativos pelos usuários. Atualmente, algumas marcas disponibilizam seu próprio conjunto de ferramentas para que os desenvolvedores criem seus aplicativos e publiquem na respectiva loja. O middleware Ginga foi desenvolvido no país para ser utilizado no Padrão Brasileiro de TV Digital, tornando possívelodesenvolvimentodeaplicativosparapermitirainteratividadeentreTVeusuário. O Ginga recomenda que seja utilizada a linguagem de programação Lua para desenvolver os aplicativos,em conjunto com a Nested Context Language. Omiddleware especifica uma biblioteca em Lua com módulos utilizados para inserir desenhos na tela e gerenciar eventos da TV e do controle remoto. Porém,a biblioteca nativa provida pelo middleware é primitiva para o desenvolvimento de interface de usuário para aplicativos de SmartTV e TV Digital. Com isso,tal atividade torna-se improdutiva devido à grande quantidade de código,repetição de código e tratamento de eventos. Além disso, o desenvolvedor deve gerenciar a memória e eficiência nos aplicativos. Neste trabalho propõe-se um arcabouço para o desenvolvimento de aplicativos com interface de usuário para melhorar a produtividade dos desenvolvedores nessa atividade. O arcabouço é baseado em componentes de interface, o que diminui o esforço necessário para a criação de um elemento e facilita o reúso. Como resultado da solução, foicriadaabibliotecaLuaSmartGUI,desenvolvidaemLua. Setecomponentespresentesna solução foram avaliados individualmente. Também foi realizada outra avaliação utilizando desenvolvedores voluntários para desenvolver uma tela utilizando a solução proposta e a biblioteca nativa d oGinga. A avaliação mostrou que, apesar de um aumento no uso de memória de aproximadamente 867%, o uso de LuaSmartGUI mostrou ser aproximadamente 61% mais eficiente e apresentou ganho de 31% na produtividade. Os experimentos mostraram que as meta de produtividade e eficiência foram alcançados, mas é preciso melhorar o gerenciamento de memória da biblioteca para viabilizar seu uso.The concept of SmarTV allows users to install applications on TVs. Nowadays, some TV brands provide their own toolkits so that developers can create their own applications and publish in the brand store. Ginga middleware was developed in Brazil to be used in Brazilian Digital TV Standard, making possible the development of applications with interaction between users and TV. Ginga recommends developers to use the programming language Lua to develop applications, along with the Nested Context Language. The middleware specifies a library in Lua with modules which allow to draw on the screen and to manage TV and remote control events. However, the native library provided by Ginga is primitive for user interface development to SmartTV and Digital TV applications. Consequently, this task becames unproductive due to challenges of handling events, writing very large codes and avoiding code replication. Furthermore, the programmers must deal with memory management and efficiency of the applications. In this work, we propose a framework for applications development with user interface to improve the productivity of developers in this task. The framework is based on interface components, which decreases the necessary effort to create an element and facilitates reusing. As result, the library LuaSmartGUI was developed in Lua. Seven components present in our solution were evaluated. Then, another evaluation was made with volunteers developers using the both approaches: our solution and the native Ginga library. Our results suggest that, despite the increase of approximately 867% in memory usage, LuaSmartGUI proved to be approximately 61% more efficient and showed a gain of about 31% in productivity. The experiments showed that the productivity and efficiency goals have been met, but it’s necessary to improve the memory management for the libraryusetobecome viable

    Introduction to the constraint language NCL

    Get PDF
    Article dans revue scientifique avec comité de lecture.The design, implementation and application of a natural constraint language NCLare presented. At the solver level, to support the solving of a large scope of combinatorial problems, a rich set of conventional constraints is defined within a constraint framework that strongly combines Boolean logic, integer constraints and set reasoning over finite domains. The basic computation model for solving conjunctions of elementary constraints with possible existential and universal quantifications is described using rewrite rules. At the language level, to upgrade the expressive power, a natural syntax (context-dependent), which completely adopts mathematical notations, is designed. To enhance the constraint handling capability, quantification, logical switch, referencing mechanism, global/dynamic constraints, meta expressions, multi-criteria optimization, and search specifications are cooperatively introduced in a single constraint system. Compared to existing modeling languages, a strong feature of NCLis: Data, constraints and control are fully integrated and are clearly separable. Especially, though NCLdeals with several data types such as Boolean, integer, set, index, reference, array and tuple, there is no need to declare data explicitly. This context-sensitive data typing makes NCLprograms direct, concise and liberal
    corecore