Search Results

Now showing 1 - 10 of 21
  • Item
    A Spin / Promela Application for Model checking UML Sequence Diagrams
    (2018) Vidal-Silva, Cristian; Villarroel, Rodolfo; Rubio, José Miguel; Johnson, Franklin; Madariaga, Erika; Campos, Camilo; Carter, Luis
    UML sequence diagrams usually represent the behavior of systems execution. Automated verification of UML sequence diagrams’ correctness is necessary because they can model critical algorithmic behaviors of information systems. UML sequence diagrams applications are often on the requirement and design phases of the software development process, and their correctness guarantees the accurate and transparent implementation of software products. The primary goal of this article is to review and improve the translation of basic and complex UML sequence diagrams into Spin / Promela code taking into account behavioral properties and elements of combined fragments of UML sequence diagrams for synchronous and asynchronous messages. This article also redefines a previous proposal for a transition system for UML sequence diagrams by specifying Linear Temporal Logic (LTL) formulas to verify the model correctness. We present an application example of our modeling proposal on a modified version of a traditional case study by using UML sequence diagrams to translate it into Promela code to verify their properties and correctness.
  • Item
    Applying FireFly Algorithm to Solve the Problem of Balancing Curricula
    (2019) Rubio, José Miguel; Vidal-Silva, Cristian; Soto, Ricardo; Madariaga, Erika; Johnson, Franklin; Carter, Luis
    The problem of assigning a balanced academic curriculum to academic periods of a curriculum, that is, the balancing curricula, represents a traditional challenge for every educational institution which look for a match among students and professors. This article proposes a solution for the balancing curricula problem using an optimization technique based on the attraction of fireflies (FA) meta-heuristic. We perform a set of test and real instances to measure the performance of our solutionproposal just looking to deliver a system that will simplify the process of designing a curricular network in higher education institutions. The obtained results show that our solution achieves a fairly fast convergence and finds the optimum known in most of the tests carried out.
  • Item
    Development Of Algorithmic And Mathematical-Logic Competences Of Children In Chile With Scratch
    (2020-04) Vidal-Silva, Cristian; Jiménez, Claudia; Madariaga, Erika; Tupac Yupanqui, Miguel; Sepúlveda, Sussan
    Algorithmic competences for the development of organized operations play an important role in the progress of education and learning of the logical and mathematical reasoning for children. In this context, the visual programming language Scratch is a viable tool for that purpose. Precisely, the main objective of this work is to present experiences and results of the use of that programming language with students of the primary school second year in various Chilean educational institutions, that is, in a public school, in a private school and in a private-subsidized school. These schools are in different geographical areas of the Maule region. Thanks to their social and cultural diversity along with their location, the obtained results are of a great relevance to demonstrate empirically that a significant gap does not exist for the development of algorithmic and logical-mathematical competences in children.
  • Item
    Innovación en Minería de Datos para el Tratamiento de Imágenes: Agrupamiento K-media para Conjuntos de Datos de Forma Alargada y su Aplicación en la Agroindustria
    (2019-04) Pham, Trung T.; Lobos, Gustavo A.; Vidal-Silva, Cristian
    Este trabajo presenta un innovador método de agrupación K-media modificado basado en la teoría de conjunto junto con su aplicación en el ámbito de procesamiento de imágenes agroindustrial. K-media tradicional permite la agrupación de conjuntos en subconjuntos mediante la definición de centros según la fórmula de distancia. Cuando los datos se concentran en formas sin un sentido hiper-esférico, esta herramienta permite que el centro del conjunto, con un único punto, se convierta en un subconjunto de muchos puntos. En este artículo se presenta una modificación de la fórmula de distancia que permite dar mayor flexibilidad para el estudio de casos en agricultura. Mediante ejemplos numéricos, la funcionalidad y aplicabilidad del método modificado de agrupación K-media es evaluada en imágenes infrarrojas provenientes de ensayos de déficit hídrico en trigo.
  • Item
    En Búsqueda de un Procedimiento de Desarrollo de Software Modular. Simbiosis entre Programación Orientada a la Característica y Programación Orientada a Aspectos JPI
    (2019) Vidal-Silva, Cristian; Pham, Trung T.; Sepúlveda, Sussan M.; Carter, Luis
    En la búsqueda de un método de desarrollo de software modular, este trabajo propone Interfaces de Punto de Unión JPI para el modelamiento colaborativo de soluciones modulares en una simbiosis JPI y Programación Orientada a la Característica, POC. Una simbiosis de POC y POA permite alcanzar las ventajas y alcances de ambos enfoques. Esto es, una alta modularidad para la colaboración heterogénea entre clases y alta repetición de comportamiento con POC. Se obtiene también, una alta modularidad para la colaboración homogénea entre clases y las dependencias implícitas entre componentes con POA tradicional. Se ejemplifica las ventajas de esta fusión en la representación modular y estructural de LPS, para destacar los beneficios de esta simbiosis. Los resultados obtenidos sólo avalan lo anterior, y constituyen la base para una metodología de desarrollo de software JPI- POC.
  • Item
    Scratch and Arduino for Effectively Developing Programming and Computing-Electronic Competences in Primary School Children
    (2019-11) Vidal-Silva, Cristian; Serrano-Malebran, Jorge; Pereira, Felipe
    Programming and designing computing-electronic solutions imply complex competences, which usually demand to restructure previous thinking and problem-solving knowledge. Both programming and computing-electronic design solutions ask for step-by-step thinking, and also being cautious regarding involved hardware items for the second one. Designing computing-electronic solutions is a non-trivial task since it unifies both worlds, even though platforms such as Arduino notably simplify that development. This article describes experiences of programming and computing-electronic teaching to a group of primary school children in Valparaiso-Chile by the use of Scratch and Tinkercad for the goal of developing programming and Arduino-based computing-electronic competences in school children. The obtained results demonstrate that children can effectively develop programming and computing-electronic theoretical and practical skills. These results also show that students can get abilities and enthusiasm to know more advanced skills and applications concerning sensing systems. Thus, programming and electronics can motivate the learning process in children.
  • Item
    Reviewing Diagnosis Solutions for Valid Product Configurations in the Automated Analysis of Feature Models
    (2019) Vidal-Silva, Cristian
    A Feature Model (FM) is an information model to represent commonalities and variabilities for all the products of a Software Product Line (SPL). The complexity and large-scale of real feature models makes their manual analysis for determining the product configurations validity a tedious or even infeasible task. Efficient solutions for the diagnosis of errors in the Automated Analysis of Feature Models (AAFM) already exist such as FMDiag and FlexDiag. Thus, this work describes the fundamental basis for both diagnosis algorithms to apply the first of them on the validity of FM product configurations. The results highlight the applicability and efficiency of FMDiag and invite us to look for additional applications in the AAFM scenarios.
  • Item
    Developing Computing Competencies Without Restrictions
    (2022-10-04) Vidal-Silva, Cristian; Barriga, Nicolás A.; Ortega-Cordero, Franco; González-López, Javiera; Jiménez-Quintana, Claudia; Pezoa-Fuentes, Claudia; Veas-González, Iván
    The information society represents a great revolution. Computing programming is a relevant competence nowadays for everybody, regardless of educational background. However, traditional programming languages consider syntax barriers that complicate their adoption and usefulness for beginners. Python is an exception for its open-source, cross-platform nature and syntax simplicity, which facilitate the development of algorithmic thinking and dissemination of programming solutions. Several Python extensions support modern functionalities such as web development, videogame, and machine learning, making it one of the most used programming languages. Google Colab or Colaboratory facilitates the online learning and development of Python solutions. This article presents positive academic experiences of Chilean students of majors from two Chilean universities, a traditional university in the north and a private university in the middle of Chile, using Google Colab to develop programming competencies remotely for the Covid pandemic. We highlight the promising results obtained for basic programming and operating system programming subjects, which motivate us to use Python and Google Colab widely, not only in university contexts. We expect to continue developing programming competencies using Google Colab and Python. The main limitation encountered in this experience is the internet connection requirements for online education. However, it does not represent an issue for education in developing and developed countries. Google Colab permits the development of highly demanded competencies worldwide at home, only with internet access and a web browse, an excellent motivation for learning for all students regardless of age and academic level.
  • Item
    Una Propuesta de Algoritmo Spin / Promela para el Análisis y Diagnóstico de Errores en Diagramas de Secuencia UML
    (2019) Vidal-Silva, Cristian; Villarroel, Rodolfo H.; López-Cortés, Xaviera A.; Rubio, José Miguel
    Este trabajo describe las principales características de diagramas de secuencia UML, la noción de falla o error y tolerancia a fallas, y algunos tipos de fallas comunes y sus acciones de corrección en un diagrama de secuencias UML. Así, el principal objetivo de este trabajo es proponer un algoritmo para la transformación de diagramas de secuencia UML en código Spin / Promela, una herramienta de verificación formal y de detección de errores en el chequeo de modelos para un sistema de tolerancia a fallas, y así entregar explicaciones de los pasos necesarios para ajustar y corregir los diagramas afectados. El algoritmo para transformar diagramas de secuencia UML en código Spin / Promela es útil para la detección de fallas en secuencias de mensajes. Se aplica la solución propuesta sobre un diagrama simple y general de secuencias UML para analizar su código Promela y garantizar la efectividad del chequeo de modelos sobre diagramas de secuencia UML. Además, se presentan ideas de extensión de la propuesta para el análisis de diagramas de secuencias UML con la inclusión de fragmentos combinados de iteraciones.
  • Item
    Aspect-Combining Functions for Modular MapReduce Solutions
    (2018) Vidal-Silva, Cristian; Villarroel, Rodolfo; Rubio, José Miguel; Johnson, Franklin; Madariaga, Érika; Urzúa, Alberto; Carter, Luis; Campos-Valdés, Camilo; López-Cortés, Xaviera A.
    MapReduce represents a programming framework for modular Big Data computation that uses a function map to identify and target intermediate data in the mapping phase, and a function reduce to summarize the output of the map function and give a final result. Because inputs for the reduce function depend on the map function’s output to decrease the communication traffic of the output of map functions to the input of reduce functions, MapReduce permits defining combining function for local aggregation in the mapping phase. MapReduce Hadoop solutions do not warrant the combining functioning application. Even though there exist proposals for warranting the combining function execution, they break the modular nature of MapReduce solutions. Because Aspect-Oriented Programming (AOP) is a programming paradigm that looks for the modular software production, this article proposes and apply Aspect-Combining function, an AOP combining function, to look for a modular MapReduce solution. The Aspect-Combining application results on MapReduce Hadoop experiments highlight computing performance and modularity improvements and a warranted execution of the combining function using an AOP framework like AspectJ as a mandatory requisite.