7 research outputs found

    Colour displays for categorical images

    Get PDF
    We propose a method for identifying a set of colours for displaying 2-D and 3-D categorical images when the categories are unordered labels. The principle is to find maximally distinct sets of colours. We either generate colours sequentially, to maximise the dissimilarity or distance between a new colour and the set of colours already chosen, or use a simulated annealing algorithm to find a set of colours of specified size. In both cases, we use a Euclidean metric on the perceptual colour space, CIE-LAB, to specify distances

    Visualization and analysis of execution traces of concurrent models

    Get PDF
    Trabajo de Fin de Grado en Doble grado en Ingeniería Informática y Matemáticas, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2020-2021, con URL https://github.com/dhg98/Execution-traces-visualizerLa herramienta SYCO (Systematic testing tool for Concurrent Objects) es un analizador de modelos concurrentes que recibe un programa concurrente a ejecutar con unos determinados parámetros y provee a la salida la información de todos los posibles entrelazados del programa (trazas), junto con la secuencia de acciones efectuadas para llegar a cada uno de los estados finales. Sin embargo, la salida proporcionada por dicha herramienta no es visual, lo que complica la interpretación de los diferentes entrelazados posibles, más aún cuando el número de posibilidades crece de forma exponencial, en lo que se conoce como el problema de la explosión de estados. El objetivo de este Trabajo de Final de Grado consiste en desarrollar un visualizador/analizador de las diferentes trazas que obtiene el programa SYCO de forma que sean fácilmente entendibles por un programador. Dado que la salida se puede interpretar inherentemente como un árbol, se mostrará un árbol con capacidad interactiva, con diferentes opciones para el usuario, tanto en relación a recorridos (se ofrecen diferentes opciones para navegar por el árbol) como en relación a información mostrada (se permite elegir la información de variables, de las propiedades de ejecución o de estado y el número de trazas a mostrar, e incluso se añade una leyenda para dirigir la atención a determinados nodos, según las necesidades del usuario). En esta memoria se explicarán los pasos necesarios para instalar SYCO (capítulo 3) y se documentará todo el proceso de diseño del visualizador, desde su inicio con la decisión sobre el formato de imagen, el lenguaje usado (SVG y JavaScript, respectivamente) y el formato de entrada requerido para el visualizador (capítulos 4 y 5), hasta la toma de decisiones sobre la utilización de diversos componentes, su posicionamiento y su estilo (capítulo 6). Una vez realizada la implementación, hemos trabajado en que el visualizador funcione de forma conjunta con SYCO, como si fueran un mismo componente, para evitar la ejecución manual del visualizador tras obtener la salida de SYCO. Previo a la existencia de este trabajo, SYCO ya funcionaba con un programa con interfaz web llamado EasyInterface, que se apoya en el uso de servidores provistos por Apache. Así, la mejor opción ha sido utilizar este componente auxiliar para integrar ambos componentes satisfactoriamente, detallando el proceso en el capítulo 7. La implementación del visualizador puede encontrarse en el repositorio GitHub dado por el enlace https://github.com/dhg98/Execution-traces-visualizer.SYCO (Systematic testing tool for Concurrent Objects) is an analyzer of concurrent models that receives a concurrent program with specific parameters as input and provides as output all the possible interleavings of the program (traces), together with the sequence of actions taken to reach each of the final states. However, the output generated by this tool is not visual, what threatens its usability when the number of possibilities grows exponentially in what is known as state explosion problem. The objective of this end of degree project consists in developing a visualizer/analyzer of all the different traces that SYCO finds in an understandable way by a software developer. Since the output can be interpreted inherently as a tree, we will show an interactive tree, with different options for the users, both related to its traversal (we offer different ways to traverse over the tree) and related to the information shown (we allow the user to choose variables information, execution and state properties and the number of traces to show. Furthermore, we have also added a legend that directs the attention to specific nodes, according to the needs of the user). In this thesis, we will explain the necessary steps to install SYCO (chapter 3) and we Will document all the design process to create the visualizer, from the very beginning, with the decision of the image format, the programming language (SVG and JavaScript, respectively) and the input format required for it (chapters 4 and 5) to the decisions taken over the utilization of different components, its positioning and its style (chapter 6). After finishing the implementation, we attempted to make the visualizer work as a unit with SYCO, in order to avoid manual execution of it after obtaining the output from SYCO. Prior to this current work, SYCO was already working with EasyInterface, a program with a web interface that relies on servers supplied by Apache. For that reason, the best option has been to use this auxiliary tool in order to integrate both systems. This process is detailed in chapter 7. The implementation of the visualizer can be found in the GitHub repository given by the link https://github.com/dhg98/Execution-traces-visualizer.Depto. de Sistemas Informáticos y ComputaciónFac. de InformáticaTRUEunpu

    Visualization and analysis of execution traces of concurrent models

    Get PDF
    Trabajo de Fin de Grado en Ingeniería Informática (Doble Grado en Informática-Matemáticas), Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2022-21.La herramienta SYCO (Systematic testing tool for Concurrent Objects) es un analizador de modelos concurrentes que recibe un programa concurrente a ejecutar con unos determinados parámetros y provee a la salida la información de todos los posibles entrelazados del programa (trazas), junto con la secuencia de acciones efectuadas para llegar a cada uno de los estados finales. Sin embargo, la salida proporcionada por dicha herramienta no es visual, lo que complica la interpretación de los diferentes entrelazados posibles, más aún cuando el número de posibilidades crece de forma exponencial, en lo que se conoce como el problema de la explosión de estados. El objetivo de este Trabajo de Final de Grado consiste en desarrollar un visualizador/analizador de las diferentes trazas que obtiene el programa SYCO de forma que sean fácilmente entendibles por un programador. Dado que la salida se puede interpretar inherentemente como un árbol, se mostrará un árbol con capacidad interactiva, con diferentes opciones para el usuario, tanto en relación a recorridos (se ofrecen diferentes opciones para navegar por el árbol) como en relación a información mostrada (se permite elegir la información de variables, de las propiedades de ejecución o de estado y el número de trazas a mostrar, e incluso se añade una leyenda para dirigir la atención a determinados nodos, según las necesidades del usuario). En esta memoria se explicarán los pasos necesarios para instalar SYCO (capítulo 3) y se documentará todo el proceso de diseño del visualizador, desde su inicio con la decisión sobre el formato de imagen, el lenguaje usado (SVG y JavaScript, respectivamente) y el formato de entrada requerido para el visualizador (capítulos 4 y 5), hasta la toma de decisiones sobre la utilización de diversos componentes, su posicionamiento y su estilo (capítulo 6). Una vez realizada la implementación, hemos trabajado en que el visualizador funcione de forma conjunta con SYCO, como si fueran un mismo componente, para evitar la ejecución manual del visualizador tras obtener la salida de SYCO. Previo a la existencia de este trabajo, SYCO ya funcionaba con un programa con interfaz web llamado EasyInterface, que se apoya en el uso de servidores provistos por Apache. Así, la mejor opción ha sido utilizar este componente auxiliar para integrar ambos componentes satisfactoriamente, detallando el proceso en el capítulo 7. La implementación del visualizador puede encontrarse en el repositorio GitHub dado por el enlace https://github.com/dhg98/Execution-traces-visualizer.SYCO (Systematic testing tool for Concurrent Objects) is an analyzer of concurrent models that receives a concurrent program with specific parameters as input and provides as output all the possible interleavings of the program (traces), together with the sequence of actions taken to reach each of the final states. However, the output generated by this tool is not visual, what threatens its usability when the number of possibilities grows exponentially in what is known as state explosion problem. The objective of this end of degree project consists in developing a visualizer/analyzer of all the different traces that SYCO finds in an understandable way by a software developer. Since the output can be interpreted inherently as a tree, we will show an interactive tree, with different options for the users, both related to its traversal (we offer different ways to traverse over the tree) and related to the information shown (we allow the user to choose variables information, execution and state properties and the number of traces to show. Furthermore, we have also added a legend that directs the attention to specific nodes, according to the needs of the user). In this thesis, we will explain the necessary steps to install SYCO (chapter 3) and we Will document all the design process to create the visualizer, from the very beginning, with the decision of the image format, the programming language (SVG and JavaScript, respectively) and the input format required for it (chapters 4 and 5) to the decisions taken over the utilization of different components, its positioning and its style (chapter 6). After finishing the implementation, we attempted to make the visualizer work as a unit with SYCO, in order to avoid manual execution of it after obtaining the output from SYCO. Prior to this current work, SYCO was already working with EasyInterface, a program with a web interface that relies on servers supplied by Apache. For that reason, the best option has been to use this auxiliary tool in order to integrate both systems. This process is detailed in chapter 7. The implementation of the visualizer can be found in the GitHub repository given by the link https://github.com/dhg98/Execution-traces-visualizer.Depto. de Sistemas Informáticos y ComputaciónFac. de InformáticaTRUEunpu

    Automatisierte Erzeugung personalisierter ad-hoc-Karten in einem Service-basierten GIS (Mapping on Demand)

    Get PDF
    In den letzten Jahren wurden mehr und mehr raumbezogene Daten über das World Wide Web zur Verfügung gestellt. Karten und Luftbilder bekannter Anwendungen (z.B. Google Maps) lassen sich direkt nutzen oder mit Daten anderer Angebote verknüpfen und in ihrem Informationsgehalt erweitern. Ein Nutzer hat so die Möglichkeit, unabhängig von Ort und Zeit, zu einer aktuellen Fragestellung beliebige Daten zu integrieren und eigene Karten zu erstellen (Mapping on demand). Benötigte Daten werden zunehmend im Zusammenhang mit Diensten - Funktionen, die den Zugriff auf Daten und deren sachgerechte Verwendung unterstützen - zur Verfügung gestellt. Dies entspricht dem allgemeinen Trend des Internets hin zu einer Service-orientierten Architektur; deren Implementierung durch Web Services löst Daten aus dem Kontext spezifischer Anwendungen und macht sie über definierte Schnittstellen verfügbar. Herausforderung in einer Service-orientierten Architektur ist zunächst, dass die genutzten Daten weltweit verteilt sind, zu verschiedensten Zwecken erhoben wurden und in unterschiedlichen Formaten vorliegen. Diese Heterogenität wird durch den Einsatz standardisierter Dienste und Formate überwunden. In der vorliegenden Arbeit wird gezeigt, dass im World Wide Web Technologien verfügbar sind, die das notwendige Potential für ein Mapping on demand besitzen. Beim Auffinden geeigneter Dienste und der Nutzung verfügbarer Technologien wird ein Nutzer durch Webportale unterstützt. Diese bündeln Dienste, machen sie strukturiert zugänglich und ermöglichen die Erschließung durch geeignete Werkzeuge. Eine konkrete Umsetzung von Webportalen wird in dieser Arbeit anhand dreier Beispiele aus dem Bereich der Freizeitplanung gezeigt. Für das Mapping on demand ist von Bedeutung, dass Daten verfügbarer Dienste nicht nur als fertige Karten vorliegen, sondern auch als Kartenbausteine in Form raumbezogener Objekte oder thematischer Layer. Bei der Integration der graphischen Ausgaben dieser Dienste wird offensichtlich, dass die graphische Repräsentation, die jedes Angebot von sich aus mitbringt, isoliert von anderen Angeboten festgelegt ist. Die Kombination beliebiger Quellen führt damit häufig zu Darstellungen, die schon den Mindestanforderungen graphischer Gestaltungsregeln und erst recht den Erfordernissen der Prägnanz nicht genügen, so dass der Inhalt schwer erfassbar ist. Nur eine prägnante Darstellung gibt dem Nutzer die Möglichkeit, Objekte visuell zu differenzieren und effektiv Wesentliches von Unwesentlichem zu unterscheiden. Eine Voraussetzung hierfür ist der Einsatz visuell gut unterscheidbarer Farben. Kern dieser Arbeit ist der Nachweis, dass die Bestimmung gut unterscheidbarer Farben als Optimierungsproblem formuliert und mit mathematischen Methoden on demand gelöst werden kann. Dies erfordert eine objektivierte Beschreibung des subjektiven Vorgangs der Farbwahrnehmung in einem Bezugssystem (Farbraum), auf dem eine geeignete, der menschlichen Wahrnehmung entsprechende, Metrik definiert ist. Ein solches System steht bspw. mit dem CIELUV-Farbraum zur Verfügung: Wenn darin der Abstand zweier Farben ein gewisses Minimum überschreitet, ist die Verschiedenheit dieser Farben für einen (normalsichtigen) Menschen klar erkennbar. Das Optimierungsproblem besteht dann darin, die minimale Distanz in einem dreidimensionalen Raum zu maximieren. Es handelt sich dabei um ein nichtlineares Problem, das durch eine Vielzahl lokal optimaler Lösungen gekennzeichnet ist. Klassische gradientenbasierte Verfahren berechnen zwar eine lokale, in der Regel aber nicht die global optimale Lösung. Probleme der globalen Optimierung sind im Allgemeinen schwer lösbar (NP-vollständig). Effiziente Verfahren wurden für diskrete Problemstellungen entwickelt, sind aber wegen der spezifischen Randbedingungen auf das vorliegende Problem nicht übertragbar. In dieser Arbeit wird eine Methode entwickelt, die mehrere Standardverfahren und Lösungsparadigmen integriert. Ausgangspunkt ist ein randomisierter Algorithmus zur Bestimmung geeigneter Startpunkte. Dieser Algorithmus basiert auf der Beobachtung, dass sich Punkte auf dem Rand der konvexen Hülle des Farbraums in besonderer Weise als Startpunkte eignen. Die Lage dieser Punkte wird durch Anwendung eines Verfahrens der lokalen Optimierung verbessert. Ein dreidimensionales Voronoi-Diagramm wird genutzt, um eine suboptimale Nutzung des verfügbaren Farbraums zu identifizieren und Verbesserungsmöglichkeiten herzuleiten. Das skizzierte Szenario geht zunächst von einem Standardnutzer und Standardbedingungen aus. Die Methode kann aber ohne weiteres auch auf davon abweichende Randbedingungen, z.B. Farbsehschwächen eines Nutzers, Qualität der Farbwiedergabe eines Anzeigegeräts oder Umgebungsbedingungen (abgedunkelter Raum oder helles Sonnenlicht), angepasst werden. In ihrer Auswirkung führen diese Bedingungen zu einer Einschränkung des verfügbaren Farbraums.Automated Creation of personalised ad-hoc-Maps in a Service-based GIS (Mapping on Demand) Providing geospatial data over the World Wide Web has developed rapidly in recent years. Maps and aerial photographs offered by popular applications (e.g. Google Maps) can either be used directly or may be linked to data of other providers to broaden information content. Hence, a user who demands a map to answer a current question is enabled to create his own map by overlaying arbitrary data - regardless of location and time (Mapping on demand). Data is increasingly provided in connection with services - functions, which support access and appropriate use of data. Services correspond to a general trend of realising a service-oriented architecture in the internet. Web services, which implement this architecture, dissolve data from specific applications and provide them by defined interfaces. The challenge in using services consists in the worldwide distribution of data, different intentions of data collection and the large variety of available formats. This heterogeneity is overcome by applying standardised formats and services. This thesis demonstrates the potential of technologies which are available for a mapping on demand. In finding suitable services and using technologies, a user is supported by web portals. These portals make services accessible in a structured manner and support their exploration by suitable tools. This thesis presents three examples of real implementations of web portals from the domain of recreation planning. In the scope of mapping on demand it is important to note that data provided by services are not only available as complete maps but also as components (thematic layers or features). Integrating their graphical output shows that graphical representation of data from each source is defined independently and that graphical representations of different sources may conflict. Thus, the ad hoc combination of sources may lead to maps, which do not satisfy basic rules of graphical design or even requirements of a concise cartographic product. But only conciseness enables a user to identify features visually and to distinguish between essential and nonessential contents. This requires the choice of colours which are well distinguishable by human visual perception. The main contribution of this thesis is the proof that the determination of well distinguishable colours can be formulated as an optimization problem, which can be solved on demand by mathematical methods. This approach requires an objectified description of the subjective process of colour vision in a reference system (colour space), which provides an appropriate metric according to human perception. Particularly the CIELUV colour space satisfies the requirement: If the distance between two colours exceeds a certain minimum, a human with full colour vision is able to distinguish these colours clearly. Thus the optimization problem is to maximise the minimal distance in a three-dimensional space. This is a nonlinear problem, which is characterized by a large number of locally optimal solutions. Classical descend methods find a locally, but usually not the globally optimal solution. In general, global optimization problems are computationally hard to solve (NP-complete). Efficient methods have been developed for solving discrete problems. Due to specific constraints these methods are not applicable to the problem at hand. This thesis presents a method which integrates several standard methods and solution paradigms. It is based on a randomized algorithm to determine appropriate starting points. The essential observation is that points on the boundary of the convex hull of the colour space are well suited as starting points. Afterwards the location of these points is improved by a method of local optimization. A three-dimensional Voronoi-diagram is used to detect suboptimal solutions and to identify possible improvements. Initially the scenario outlined above acts on a standard user and standard conditions. The method is adaptable to incorporate further constraints, e.g. user's colour-defective vision, device-specific colour reproduction and ambient conditions (darkened room or sunlight). These constraints result in clipping the available colour space

    An Algorithm for the Selection of High-Contrast Color Sets

    No full text
    Nominal color coding is the aesthetic and functional use of color to convey qualitative information in graphical environments. The specification of high-contrast color sets is a fundamental step in this process. We formulate the color-coding problem here as a combinatorial optimization problem on graphs and present an algorithm that performs well and does not require that the function used to code the similarity between colors be a distance function
    corecore