- Browse by Author
Browsing by Author "Carter, Luis"
Now showing 1 - 6 of 6
Results Per Page
Sort Options
Item A Modular Aspect-Oriented Programming Approach of Join Point Interfaces(2019) Vidal-Silva, Cristian; Madariaga, Erika; Jiménez, Claudia; Carter, LuisThis paper describes and analyzes the main differences and advantages of the Join Point Interfaces (JPI) as an Aspect-Oriented Programming (AOP) approach for the modular software production concerning the standard aspect-oriented programming methodology for Java (AspectJ) to propose a structural modeling approach looking for modular software solutions. Using a Software Engineering point-of-view, we highlight the relevance of structural and conceptual design for JPI software applications. We model and implement a classic example of AOP using AspectJ and JPI as an application example to review their main difference and highlight the JPI consistency between products (models and code). Our proposal of UML JPI class diagrams allows the definition of oblivious classes which know about their JPI connections, an essential element to adapt and transform tradition like-AspectJ AOP solutions to their JPI version. Thus, for the modular software production and education, JPI seems an ideal software development approach.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, LuisUML 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, LuisThe 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 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.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, LuisEn 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 Propuesta de Modelo de Características con Interfaz de Punto de Unión para el Modelamiento de Líneas de Productos de Software(2018) Vidal-Silva, Cristian; Bustamante, Miguel A.; Rubio, José Miguel; Carter, LuisEn búsqueda de una nueva metodología de desarrollo de software modular, este trabajo propone MC JPI, esto es, Modelos de Características (MC) con Interfaz de Punto de Unión (JPI del inglés Join Point Interface) de Programación Orientada a Aspectos (POA) como base de la metodología Programación Orientada a la Característica (FOP) + JPI. Así, este trabajo describe ventajas y detalles de FOP y POA JPI como paradigmas individuales y de su simbiosis para la producción de software modular. Como aplicación ejemplo, se utiliza MC JPI sobre un ejemplo clásico de FOP para visualizar componentes propios de MC tradicionales, y asociaciones o restricciones cruzadas especiales entre características. Adicionalmente, este trabajo describe las ventajas de MC JPI y las diferencias respecto a algunos trabajos de investigación anteriores para apoyar principios de modelado orientados a aspectos propios de JPI. Se concluye que JPI permite una modularización sobre modelos de características, y así este enfoque de simbiosis JPI + FOP parece prometedor.