Scielo RSS <![CDATA[CLEI Electronic Journal]]> http://www.scielo.edu.uy/rss.php?pid=0717-500020160002&lang=es vol. 19 num. 2 lang. es <![CDATA[SciELO Logo]]> http://www.scielo.edu.uy/img/en/fbpelogp.gif http://www.scielo.edu.uy <link>http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200001&lng=es&nrm=iso&tlng=es</link> <description/> </item> <item> <title><![CDATA[<b>A Multi-Objective Approach for VNE</b>: <b>Problems using multiple ILP formulations</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200002&lng=es&nrm=iso&tlng=es Network Virtualization is a key technology for the Future Internet, allowing the deployment of multiple independent virtual networks that use resources of the same basic infrastructure. An important challenge in the dynamic provision of virtual networks resides in the optimal allocation of physical resources (nodes and links) to requirements of virtual networks. This problem is known as Virtual Network Embedding (VNE). For the resolution of this problem, previous research has focused on designing algorithms based on the optimization of a single objective. On the contrary, in this work we present a multi-objective algorithm, called VNE-MO-ILP, for solving dynamic VNE problem, which calculates an approximation of the Pareto Front considering simultaneously resource utilization and load balancing. Experimental results show evidences that the proposed algorithm is better or at least comparable to a state-of-the-art algorithm. Two performance metrics were simultaneously evaluated: (i) Virtual Network Request Acceptance Ratio and (ii) Revenue/Cost Relation. The size of test networks used in the experiments shows that the proposed algorithm scales well in execution times, for networks of 84 nodes<hr/>La Virtualización de Redes es una tecnología clave para la Internet del Futuro, permitiendo el desarrollo de redes virtuales independientes que utilizan recursos de la misma infraestructura básica. Un desafío importante en la provisión dinámicade redes virtuales reside en la asignación óptima de recursos físicos (nodos y enlaces) a requerimientos de redes virtuales. Este problema es conocido como Virtual Network Embedding (VNE). Para la resolución de este problema, trabajos anteriores se han enfocado en el diseño de algoritmos basados en la optimización de un solo objetivo. Por el contrario, en este trabajo presentamos un algoritmos multi-objetivo llamado VNE-MO-ILP, para resolver el problema VNE dinámico, el cual calcula una aproximación del Frente Pareto considerando simultáneamente la utilización de los recursos y balance de carga. Los resultados experimentales muestran evidencias que el algoritmo propuesto es mejor o por lo menos comparable a los algoritmos del estado de arte. Dos métricas de desempeño fueron evaluados simultáneamente: (i) la Tasa de aceptación de requerimientos de redes virtuales y (ii) la Relación Ganancia/Costo. El tamaño de las redes de prueba utilizados en los experimentos muestran que los algoritmos propuestos escalan bien en tiempos de ejecución, para redes de hasta 84 nodos <![CDATA[Understanding Notional Machines through Traditional Teaching with Conceptual Contraposition and Program Memory Tracing]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200003&lng=es&nrm=iso&tlng=es A correct understanding about how computers run code is mandatory in order to effectively learn to program. Lectures have historically been used in programming courses to teach how computers execute code, and students are assessed through traditional evaluation methods, such as exams. Constructivism learning theory objects to students’ passiveness during lessons, and traditional quantitative methods for evaluating a complex cognitive process such as understanding. Constructivism proposes complimentary techniques, such as conceptual contraposition and colloquies. We enriched lectures of a “Programming II” (CS2) course combining conceptual contraposition with program memory tracing, then we evaluated students’ understanding of programming concepts through colloquies. Results revealed that these techniques applied to the lecture are insufficient to help students develop satisfactory mental models of the C++ notional machine, and colloquies behaved as the most comprehensive traditional evaluations conducted in the course.<hr/>Una comprensión correcta sobre cómo las computadoras corren programas es imprescindible para aprender a programarlas efectivamente. Clases magistrales se han usado históricamente en los cursos de programación para enseñar cómo las computadoras ejecutan código, y los aprendizajes de los estudiantes se han evaluado a través de métodos tradicionales, como exámenes. La teoría de aprendizaje constructivista objeta la pasividad de los estudiantes durante las lecciones y los métodos cuantitativos para evaluar procesos cognitivos complejos, tales como la comprensión. El constructivismo propone técnicas complementarias, tales como la contraposición conceptual y los coloquios. En este trabajo se enriquecieron las clases magistrales de un curso de "Programación II" (CS2) combinando contraposición conceptual con rastreos de memoria de programa. Luego se evaluó la comprensión que los estudiantes tenían de los conceptos de programación a través de coloquios. Los resultados revelaron que esas técnicas aplicadas a la clase magistral son insuficientes para ayudar a los estudiantes a desarrollar modelos mentales satisfactorios de la máquina nocional de C++. Además se encontró que los coloquios se comportaron como las evaluaciones tradicionales más exhaustivas realizadas en el curso. <![CDATA[A User Interaction Bug Analyzer Based on Image]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200004&lng=es&nrm=iso&tlng=es Context: Mobile applications support a set of user-interaction features that are independent of the application logic. Rotating the device, scrolling, or zooming are examples of such features. Some bugs in mobile applications can be attributed to user-interaction features. Objective: This paper proposes and evaluates a bug analyzer based on user-interaction features that uses digital image processing to find bugs. Method: Our bug analyzer detects bugs by comparing the similarity between images taken before and after a user-interaction. SURF, an interest point detector and descriptor, is used to compare the images. To evaluate the bug analyzer, we conducted a case study with 15 randomly selected mobile applications. First, we identified user-interaction bugs by manually testing the applications. Images were captured before and after applying each user-interaction feature. Then, image pairs were processed with SURF to obtain interest points, from which a similarity percentage was computed, to finally decide whether there was a bug. Results: We performed a total of 49 user-interaction feature tests. When manually testing the applications, 17 bugs were found, whereas when using image processing, 15 bugs were detected. Conclusions: 8 out of 15 mobile applications tested had bugs associated to user-interaction features. Our bug analyzer based on image processing was able to detect 88% (15 out of 17) of the user-interaction bugs found with manual testing.<hr/>Contexto: Las aplicaciones móviles soportan un conjunto de características de interacción del usuario que son independientes de la lógica de la aplicación. Girar el dispositivo, hacer desplazamiento en la pantalla, aumentar o reducir el tamaño del contenido de la pantalla son ejemplos de este tipo de características. Algunos errores en las aplicaciones móviles se pueden atribuir a las características de interacción del usuario. Objetivo: En este trabajo se propone y evalúa un analizador de defectos basado en características de interacción del usuario que utiliza el procesamiento digital de imágenes para encontrar defectos. Método: El analizador de defectos propuesto detecta defectos mediante la comparación de la similitud entre las imágenes tomadas antes y después de ejecutar una interacción del usuario. SURF (un detector y descriptor de puntos de interés) se utiliza para comparar las imágenes. Para evaluar el analizador de defectos, se realizó un caso de estudio con 15 aplicaciones móviles seleccionados al azar. Primero, se identificaron defectos asociados a interacciones del usuario mediante pruebas de software manuales a las aplicaciones. Las imágenes fueron capturadas antes y después de aplicar cada interacción del usuario. Seguidamente, cada par de imágenes se procesó con SURF para obtener los puntos de interés y se calculó el porcentaje de similitud entre las imágenes. Por último, se reportó si se detectó un defecto cuando se introdujo la interacción del usuario. Resultados: Se probaron un total de 49 interacción del usuario. Con las pruebas de software manual se detectaron 17 defectos y cuando se utilizó procesamiento digital de imágenes se detectaron 15 defectos. Conclusiones: en 8 de las 15 aplicaciones móviles probados se detectaron defectos asociados a interacciones del usuario. El analizador de defectos basado en procesamiento de imágenes fue capaz de detectar el 88 <![CDATA[Automatic Glaucoma Detection Based on Optic Disc Segmentation and Texture Feature Extraction]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200005&lng=es&nrm=iso&tlng=es The use of digital image processing techniques is prominent in medical settings for the automatic diagnosis of diseases. Glaucoma is the second leading cause of blindness in the world and it has no cure. Currently, there are treatments to prevent vision loss, but the disease must be detected in the early stages. Thus, the objective of this work is to develop an automatic detection method of Glaucoma in retinal images. The methodology used in the study were: acquisition of image database, Optic Disc segmentation, texture feature extraction in different color models and classification of images in glaucomatous or not. We obtained results of 93% accuracy<hr/>O uso de técnicas de Processamento digital de imagem é destaque no cenário médico para o diagnóstico automático de doenças. Glaucoma é a segunda principal causa de cegueira no mundo e não possui cura. Atualmente, existem tratamentos para prevenir a perda da visão, contudo a doença deverá ser descoberta nos estágios iniciais. Assim, o objetivo deste trabalho é desenvolver um método de detecção automática do Glaucoma em imagens da retina. A metodologia utilizada no estudo foi: aquisição de bases de imagens, segmentação do Disco Óptico, extração de características de textura em diferentes modelos de cores e classificação das imagens em glaucomatosas ou não. Foram obtidos resultados da ordem de 93% de acerto <![CDATA[Computerized Medical Diagnosis of Melanocytic Lesions based on the ABCD approach]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200006&lng=es&nrm=iso&tlng=es Melanoma is a type of skin cancer and is caused by the uncontrolled growth of atypical melanocytes. In recent decades, computer aided diagnosis is used to support medical professionals; however, there is still no globally accepted tool. In this context, similar to state-of-the-art we propose a system that receives a dermatoscopy image and provides a diagnostic if the lesion is benign or malignant. This tool is composed with next modules: Preprocessing, Segmentation, Feature Extraction, and Classification. Preprocessing involves the removal of hairs. Segmentation is to isolate the lesion. Feature extraction is considering the ABCD dermoscopy rule. The classification is performed by the Support Vector Machine. Experimental evidence indicates that the proposal has 90.63 % accuracy, 95 % sensitivity, and 83.33 % specificity on a data-set of 104 dermatoscopy images. These results are favorable considering the performance of diagnosis by traditional progress in the area of dermatology<hr/>El melanoma es un tipo de cáncer de piel y es causada por el crecimiento descontrolado de melanocitos atípicos. En las últimas décadas, el diagnóstico asistido por computadora se utiliza para apoyar a los profesionales médicos; Sin embargo, aún no existe una herramienta aceptada a nivel mundial. En este contexto, similar al estado de la técnica se propone un sistema que recibe una imagen dermatoscopica y proporciona un diagnóstico si la lesión es benigna o maligna. Esta herramienta se compone de los siguientes módulos: preprocesamiento, segmentación, extracción de características y clasificación. El preprocesamiento consiste en la eliminación de los pelos. La segmentación es para aislar la lesión. La extracción de características considera la regla ABCD de la dermatoscopía. La clasificación se lleva a cabo por medio de la máquina de vectores de soporte. Los experimentos indican que la propuesta tiene 90.63 <![CDATA[<b>Semantic Mining based on graph theory and ontologies. Case Study</b>: <b>Cell Signaling Pathways</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200007&lng=es&nrm=iso&tlng=es In this paper we use concepts from graph theory and cellular biology represented as ontologies, to carry out semantic mining tasks on signaling pathway networks. Specifically, the paper describes the semantic enrichment of signaling pathway networks. A cell signaling network describes the basic cellular activities and their interactions. The main contribution of this paper is in the signaling pathway research area, it proposes a new technique to analyze and understand how changes in these networks may affect the transmission and flow of information, which produce diseases such as cancer and diabetes. Our approach is based on three concepts from graph theory (modularity, clustering and centrality) frequently used on social networks analysis. Our approach consists into two phases: the first uses the graph theory concepts to determine the cellular groups in the network, which we will call them communities; the second uses ontologies for the semantic enrichment of the cellular communities. The measures used from the graph theory allow us to determine the set of cells that are close (for example, in a disease), and the main cells in each community. We analyze our approach in two cases: TGF-β and the Alzheimer Disease.<hr/>En este trabajo se utilizan los conceptos de la teoría de grafos y la biología celular representado como ontologías, para llevar a cabo tareas de minería semántica en las redes de vías de comunicación celular. En concreto, el documento describe el enriquecimiento semántico de las redes vía de comunicación celular. Una red de vía de comunicación celular describe las actividades celulares básicas y sus interacciones. La principal contribución de este trabajo es en el área de la investigación de vías de comunicación celular, se propone una nueva técnica para analizar y entender cómo los cambios en estas redes pueden afectar a la transmisión y circulación de la información, que producen enfermedades como el cáncer y la diabetes. Nuestro enfoque se basa en tres conceptos de la teoría de grafos (modularidad, clustering y de centralidad) que se utilizan con frecuencia en el análisis de redes sociales. Nuestro enfoque consiste en dos fases: la primera utiliza los conceptos de la teoría de grafos para determinar los grupos celulares en la red, lo que les llamaremos comunidades; la segunda utiliza ontologías para el enriquecimiento semántico de las comunidades celulares. Las medidas utilizadas en la teoría de grafos nos permiten determinar el conjunto de células que están cerca (por ejemplo, en una enfermedad), y las principales células en cada comunidad. Analizamos nuestro enfoque en dos casos: el TGF-ß y la Enfermedad de Alzheimer. <![CDATA[An E-government Interoperability Platform Supporting Personal Data Protection Regulations]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200008&lng=es&nrm=iso&tlng=es Public agencies are increasingly required to collaborate with each other in order to provide high-quality e-government services. This collaboration is usually based on the service-oriented approach and supported by interoperability platforms. Such platforms are specialized middleware-based infrastructures enabling the provision, discovery and invocation of interoperable software services. In turn, given that personal data handled by governments are often very sensitive, most governments have developed some sort of legislation focusing on data protection. This paper proposes solutions for monitoring and enforcing data protection laws within an E-government Interoperability Platform. In particular, the proposal addresses requirements posed by the Uruguayan Data Protection Law and the Uruguayan E-government Platform, although it can also be applied in similar scenarios. The solutions are based on well-known integration mechanisms (e.g. Enterprise Service Bus) as well as recognized security standards (e.g. eXtensible Access Control Markup Language) and were completely prototyped leveraging the SwitchYard ESB product.<hr/>Los organismos públicos están obligados cada vez más a colaborar entre sí con el fin de brindar servicios de gobierno electrónico de alta calidad. Esta colaboración se basa generalmente en un enfoque orientado a servicios y en plataformas de interoperabilidad. Estas plataformas son infraestructuras especializadas basadas en tecnologías de middleware que permiten exponer, descubrir e invocar servicios de software interoperables. A su vez, dado que los datos personales gestionados por los gobiernos son a menudo muy sensibles, la mayoría de los gobiernos han desarrollado algún tipo de legislación enfocada en la protección de datos. Este artículo propone soluciones para monitorear y hacer cumplir leyes de protección de datos en una Plataforma de Interoperabilidad de Gobierno Electrónico. En particular, la propuesta aborda requerimientos planteados por la Ley de Protección de Datos de Uruguay y la Plataforma de Gobierno Electrónico de Uruguay, aunque también es aplicable en contextos similares. Las soluciones se basan en mecanismos de integración de uso extendido (por ejemplo, Enterprise Service Bus) así como en estándares de seguridad reconocidos (por ejemplo, eXtensible Access Control Markup Language) y fueron completamente implementadas sobre el producto SwitchYard ESB <![CDATA[Configurable Web Warehouses construction through BPM Systems]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002016000200009&lng=es&nrm=iso&tlng=es The process of building Data Warehouses (DW) is well known with well defined stages but at the same time, mostly carried out manually by IT people in conjunction with business people. Web Warehouses (WW) are DW whose data sources are taken from the web. We define a flexible WW, which can be configured accordingly to different domains, through the selection of the web sources and the definition of data processing characteristics. A Business Process Management (BPM) System allows modeling and executing Business Processes (BPs) providing support for the automation of processes. To support the process of building flexible WW we propose a two BPs level: a configuration process to support the selection of web sources and the definition of schemas and mappings, and a feeding process which takes the defined configuration and loads the data into the WW. In this paper we present a proof of concept of both processes, with focus on the configuration process and the defined data.<hr/>El proceso de construir Almacenes de Datos (Data Warehouses, DW) es bien conocido con etapas bien definidas pero al mismo tiempo, es realizado mayormente en forma manual por personas de TI en conjunto con personas del negocio. Los almacenes de datos de la Web (Web Warehouses, WW) son DW cuyas fuentes de datos son tomadas de la web. Definimos un WW flexible, que puede ser configurado según distintos dominios, mediante la selección de fuentes de datos y de las características del procesamiento de los datos. Un Sistema de Gestión de Procesos de Negocio (Business Process Management System, BPMS) permite modelar y ejecutar Procesos de Negocio (PNs) proveyendo soporte a la automatización de procesos. Para soportar el proceso de construcción de WW flexibles proponemos dos niveles de PNs: un proceso de configuración para soportar la selección de las fuentes de datos de la web y la definición de esquemas y mapeos, y un proceso de carga que toma la configuración definida y carga los datos en el WW. En este artículo presentamos una prueba de concepto de ambos procesos, con foco en el proceso de configuración y los datos definidos