Scielo RSS <![CDATA[CLEI Electronic Journal]]> http://www.scielo.edu.uy/rss.php?pid=0717-500020110003&lang=es vol. 14 num. 3 lang. es <![CDATA[SciELO Logo]]> http://www.scielo.edu.uy/img/en/fbpelogp.gif http://www.scielo.edu.uy <![CDATA[<b>Preface to the SCCC'2010 Special Issue</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300001&lng=es&nrm=iso&tlng=es Abstract: This special issue of the CLEI Electronic Journal consists of extended and revised versions of articles presented at the XXIX International Conference of the Chilean Computer Science Society, which took place in Antofagasta, Chile, in November 2010.<hr/>Resumen: Este número especial de la Revista Electrónica de CLEI contiene las versiones extendidas y revisadas de artículos presentados en la XXIX Conferencia Internacional de la Sociedad Chilena de Ciencias de la Computación, realizada en Antofagasta, Chile, en Noviembre de 2010. <![CDATA[The EasySOC Project: A Rich Catalog of Best Practices for Developing Web Service Applications]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300002&lng=es&nrm=iso&tlng=es Abstract The Service-Oriented Computing (SOC) paradigm has gained a lot of attention in the software industry since SOC represents a novel way of architecting distributed applications. SOC is mostly materialized via Web Services, which allow developers to expose their application as building blocks for other applications by defining a clear and public interface. Although conceptually and technologically mature, SOC still lacks adequate development support from a methodological point of view. We present the EasySOC project: a catalog of guidelines to build service-oriented applications and services. This catalog synthesizes best SOC development practices that arise as a result of several years of research in fundamental SOC-related topics, namely WSDL-based technical specification, Web Service discovery and Web Service outsourcing. In addition, we describe a plug-in for the Eclipse IDE that has been implemented to simplify the utilization of the guidelines. We believe that the practical nature of the guidelines, the empirical evidence that supports them, and the availability of IDE-integrated tools that enforces them will help software practitioners to rapidly exploit our ideas for building real SOC applications.<hr/>El paradigma de Computación Orientada a Servicios (COS) ha ganado mucha atención en la industria del software dado que COS representa una manera novedosa para diseñar aplicaciones distribuidas. COS es mayoritariamente materializado vía Servicios Web, lo cual permite a los desarrolladores exponer sus aplicaciones como piezas básicas para otras aplicaciones, por medio de la definición de una interfaz clara y pública. Aunque COS es conceptualmente y tecnológicamente maduro, todavía carece del soporte adecuado desde un punto de vista metodológico. Presentamos el proyecto EasySOC: un catálogo de guías para construir servicios y aplicaciones orientadas a servicios. Este catálogo sintetiza mejores prácticas que surgen como el resultado de varios años de investigación en tópicos fundamentales de COS, como son las descripciones de servicios basadas en WSDL, el descubrimiento de servicios Web, y la tercerización de servicios Web. Adicionalmente, describimos un plug-in para el ambiente de desarrollo (IDE) Eclipse que ha sido implementado para simplificar la utilización de las guías. Creemos que la naturaleza pragmática de las guías, la evidencia empírica que las respalda, y la disponibilidad de una herramienta integrada a un IDE, ayudará a que los profesionales de software rápidamente aprovechen nuestras ideas para construir aplicaciones COS reales. <![CDATA[Model-based development of security requirements]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300003&lng=es&nrm=iso&tlng=es Abstract We present a model-based approach using two dimensions to propagate security restrictions: along the lifecycle and along the architectural levels. We apply security patterns to perform this propagation. We believe that this double propagation can be very effective for security and reliability. This approach can also facilitate the security analysis of the system and can be used to verify compliance with regulations. We have developed a methodology to apply these ideas and we are extending it to make it more powerful, in particular to increase its level of security and to add to it also reliability concerns. The extensions include two new metamodels for security requirements and a validation approach.<hr/>Abstract Presentamos un enfoque basado en modelos que usa dos dimensiones para propagar restricciones de seguridad a lo largo de ciclo de vida y los niveles arquitecturales. Aplicamos patrones de seguridad para efectuar esta propagacion. Creemos que esta propagacion doble puede ser muy efectiva para seguridad y confiabilidad. Este enfoque puede tambien facilitar el analisis de seguridad del sistema y puede usarse para verificar el cumplimiento de regulaciones. Hemos desarrollado una metodologia para aplicar estas ideas y la estamos extendiendo para hacerla mas poderosa; en particular para aumentar su nivel de seguridad y para agregar tambien aspectos de confiabilidad. Las extensiones incluyen dos nuevos metamodelos para requerimientos de seguridad y un procedimiento de validacion. <![CDATA[<b>A Discrete Event Simulation Model for the Analysis of Software Quality Attributes</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300004&lng=es&nrm=iso&tlng=es Abstract A discrete event simulation model for evaluating quality attributes, employing the software architecture, is proposed in this work. A metamodel of the software architecture domain that includes the concepts required for measuring quality attributes at runtime is specified. So, a simulation model is built from it, following the principles of hierarchy and modularity, assembling simple blocks to obtain complex blocks. DEVS framework is applied to obtain a decoupled model from the simulator, and the DEVS formalism is used to specify the elements of the simulation model. The objective of this approach is to provide information about the quality attributes that can be measured at runtime, introducing the discrete event simulation in the context of the software architecture design. This quantitative information will assist the architect to make decisions about the design of the system. Resumen: Un modelo de simulación por eventos discretos para la evaluación de atributos de calidad, a partir de la arquitectura del software, es presentado en este trabajo. Inicialmente, se especifica un metamodelo del dominio arquitectónico que incluye los conceptos necesarios para medir atributos de calidad en tiempo de ejecución. A partir del mismo, se construye un modelo de simulación siguiendo los principios de jerarquía y modularidad, ensamblando bloques simples para obtener bloques más complejos. La aplicación del framework DEVS permite obtener un modelo desacoplado del simulador, y el formalismo DEVS permite especificar los elementos de dicho modelo de simulación. El objetivo de la propuesta es proveer información sobre atributos de calidad que puedan ser medidos en tiempo de ejecución, introduciendo la simulación por eventos discretos en el contexto del diseño de arquitecturas de software. Esta información cuantitativa permitirá al arquitecto tomar decisiones sobre el diseño del sistema. <![CDATA[Revisiting the design and implementation of GAVIS: J-GAVIS]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300005&lng=es&nrm=iso&tlng=es Abstract GAVIS (Genetic Algorithm based Voice Imitation System), (1), is a system whose purpose is to find a set of effects to imitate voice signals. The system is based on Genetic Algorithms and Fourier Transforms. Although GAVIS proves to be effective, some deficiencies were found, and amongst them was the execution speed of the system. It is to improve such deficiencies that a new version of the system was designed and implemented. In this paper, we present the foundations for GAVIS’ construction and a new and improved design and implementation of GAVIS (J-GAVIS) and describe its new features. <![CDATA[<b>Application of Bio-inspired Metaheuristics in the Data Clustering Problem</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300006&lng=es&nrm=iso&tlng=es Abstract Clustering analysis includes a number of different algorithms and methods for grouping objects by their similar characteristics into categories. In recent years, considerable effort has been made to improve such algorithms performance. In this sense, this paper explores three different bio-inspired metaheuristics in the clustering problem: Genetic Algorithms (GAs), Ant Colony Optimization (ACO), and Artificial Immune Systems (AIS). This paper proposes some refinements to be applied to these metaheuristics in order to improve their performance in the data clustering problem. The performance of the proposed algorithms is compared on five different numeric UCI databases. The results show that GA, ACO and AIS based algorithms are able to efficiently and automatically forming natural groups from a pre-defined number of clusters.<hr/>Resumo A Análise de Agrupamento inclui um número de diferentes algoritmos e métodos para agrupamento de objetos em categorias a partir de suas caracterí­sticas similares. Recentemente, um esforço considerável tem sido realizado visando à melhoria de desempenho de tais algoritmos. Neste sentido, este artigo explora três diferentes meta-heurí­sticas bioinspiradas no problema de agrupamento, sendo elas: Algoritmos Genéticos (AG), Otimização por Colônia de Formigas (OCF) e Sistemas Imunológicos Artificiais (SAI). Este artigo propõe alguns refinamentos a serem aplicados a estas meta-heurí­sticas visando melhorar seu desempenho no problema de agrupamento de dados. O desempenho dos algoritmos propostos é comparado usando cinco diferentes bases de dados numéricas da UCI. Os resultados mostram que os algoritmos são capazes de formar grupos automática e eficientemente a partir de um número pré-definido de clusters. <![CDATA[Semantics for Interactive Sequential Systems and Non-Interference Properties]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300007&lng=es&nrm=iso&tlng=es Abstract An interactive system is a system that allows communication with the users. This communication is modeled through input and output actions. Input actions are controllable by a user of the system, while output actions are controllable by the system. Standard semantics for sequential system [1, 2] are not suitable in this context because they do not distinguish between the different kinds of actions. Applying a similar approach to the one used in [2] we define semantics for interactive systems. In this setting, a particular semantic is associated with a notion of observability. These notions of observability are used as parameters of a general definition of non-interference. We show that some previous versions of the non-interference property based on traces semantic, weak bisimulation and refinement, are actually instances of the observability-based non-interference property presented here. Moreover, this allows us to show some results in a general way and to provide a better understanding of the security properties.<hr/>Un sistema interactivo es un sistema que permite comunicación con los usuarios. Esta comunicación es modelada a través de acciones de entrada y de salida. Las acciones de entrada son controladas por un usuario del sistema, mientras las acciones de salida son controladas por el sistema. Las semánticas estándares para sistemas secuenciales [1, 2], no se adaptan bien para este contexto porque éstas no distinguen entre estos tipos de acciones. Aplicando un enfoque similar al utilizado en [2] definimos semánticas para sistemas interactivos. En este contexto, una semántica particular está asociada a una ”noción de observabilidad”. Estas nociones de observabilidad son usadas como parámetro para una definición general de no interferencia. En este trabajo demostramos que versiones anteriores de la propiedad de no-interferencia, basadas en semácticas de trazas, bisimulación débil y refinamiento, son en realidad instancias de la propiedad de no-interferencia basada en nociones de observabilidad presentada en este trabajo. Más aún, este nuevo enfoque permite demostrar algunos resultados en forma general y permite un mejor entendimiento de las propiedades de seguridad. <![CDATA[<b>Is it Safe to Adopt the Scrum Process Model?</b>]]> http://www.scielo.edu.uy/scielo.php?script=sci_arttext&pid=S0717-50002011000300008&lng=es&nrm=iso&tlng=es Abstract Scrum is a widely known agile software process model specifically designed for guiding non-technical activities in software development. This process has been formally defined in EPF and adopted by several software companies around the world. But having a process definition does not necessarily mean that it is well specified. We have developed AVISPA, a tool for localizing error patterns in software process models specified with EPF. In this paper, we analyze the public community specification of Scrum using AVISPA and we report our findings.<hr/>Resumen Scrum es un proceso ágil de desarrollo de software ampliamente conocido. Es un proceso especialmente apropiado para guiar las actividades no técnicas del desarrollo. Este proceso ha sido formalmente especificado en la plataforma EPF y adoptado por variadas empresas alrededor del mundo. Pero tener un proceso definido no implica necesariamente que esté bien especificado. Hemos desarrollado AVISPA, una herramienta que permite localizar ciertos patrones de errores en especificaciones EPF de procesos. En este artículo analizamos usando AVISPA la especificación formal de Scrum que está públicamente disponible para la comunidad y reportamos nuestros hallazgos.