Desarrollo de Software Dirigido por Modelos: nuevos desafíos
Permanent URI for this collection
Browse
Browsing Desarrollo de Software Dirigido por Modelos: nuevos desafíos by Issue Date
Results Per Page
Sort Options
-
ItemImproving model-driven software testing by using formal languages(Universidad Tecnológica Nacional. Facultad Regional Concepción del Uruguay, 2018-10) Pons, Claudia Fabiana ; Rosenfeld, Ilan ; Baum, GabrielModel-Driven Testing or MDT is a new and promising approach for software testing automation that can significantly reduce the efforts in the testing cycle of a software development. It consists in a black box test that uses structural and behavioral models to automate the tests generation process. In this paper, we describe a tool that allows developers to translate a software model written in UML with OCL formal constraints to its corresponding Java code, automating the generation of strong test-cases codes and specifying them not only in Java language but also in two formal languages, which are OCL and Alloy. This tool provides more reliable support by amalgamating different techniques, which strengthens the testing process.
-
ItemFacilitando el análisis formal de código Java especificado con UML+OCL(Edutecne, 2018-11) Pons, Claudia Fabiana ; Actis, Carolina ; Baum, GabrielEl lenguaje UML es ampliamente aceptado como el lenguaje estándar de modelado en la industria. El lenguaje OCL es una parte integral de UML, y fue introducido para definir restricciones adicionales que no se pueden expresar en este. Las expresiones OCL son concisas y precisas, y no presentan las ambigüedades del lenguaje natural. Sin embargo, al ser una notación de diseño, OCL no es ejecutable; está definido sobre el modelo, por lo que sus restricciones no se reflejan en el código fuente. Por otro lado, JML es un lenguaje de especificación formal que puede ser utilizado para especificar clases Java. A diferencia de OCL, las expresiones JML están escritas de forma que pueden ser compiladas y analizadas en tiempo de ejecución. En este trabajo se propone transformar de forma automática las restricciones OCL a especificaciones escritas en el lenguaje JML. De esta forma las restricciones especificadas en el modelo son verificadas de manera ágil y simple en tiempo de ejecución, y también se habilita el análisis estático de éstas mediante el uso de probadores de teoremas implementados para JML.
-
ItemProgramming as learning resource in middle school(Faculdade Três de Maio (SETREM), 2018-11-18) Pons, Claudia Fabiana ; Salvador, Ricardo Pablo ; Rodríguez, GuillermoIn this work we study the influence, in the kinematics learning of secondary students, of the construction of a simulation using the SqueakEtoys graphical programming environment, as learning resource in a Rosario (Argentine) city preuniversity middle school. The pupils are almost 16 years old and do not have knowledge about programming. Using an habitual curricular exercise the experience took about 3 classes. The results indicate an increase in students' grades and interest in programming as a didactic resource, which encourages designing similar activities and exploring this resource in other disciplines.
-
ItemCertifying CMMI-DEV in the Context of Model-Driven Software Engineering(ASQ, 2018-9) Pons, Claudia Fabiana ; Esterkin, VivianaModel-driven software engineering (MDE) is being positioned as an alternative to conventional methods of software production. Given that MDE is an emerging paradigm, standards for measuring its quality have not yet been established. This article analyzes MDE good practices and how they relate to CMMI-DEV 1.3 Level 2. MDE best practices were assessed to determine whether they support each CMMI Level 2 specific practice in seven of the 22 process areas: configuration management, supplier agreement management, requirement management, process and product quality assurance, measurement and analysis, project monitoring and control, and project planning. An expert panel of five software engineering professionals offered consulting services to provide an initial evaluation of the results. For each process area, the percentage of practices supported by MDE was determined and recommendations to enhance MDE support were identified. Although further research is needed, this suggests that an organization that uses MDE can certify at CMMI-DEV 1.3 Level 2.
-
ItemIngeniería de software dirigida por modelos aplicada a sistemas robóticos usando los estándares de la OMG(Universidad Nacional de San Juan. Facultad de Ciencias Exactas, Físicas y Naturales, 2019) Pons, Claudia Fabiana ; Giandini, Roxana Silvia ; Neil, Carlos Gerardo ; De Vincenzi Zemborain, Marcelo Edgardo ; Pérez, GabrielaEl Desarrollo de software Dirigido por Modelos (MDD, Model Driven software Development) aparece como una alternativa viable para aplicar técnicas de ingeniería de software en el desarrollo de sistemas robóticos. Su uso logra un nivel de abstracción superior, permitiendo utilizar los estándares propuestos para robótica, y así obtener ventajas como generalidad, reutilización, claridad, expresividad. Estas son todas cualidades inherentes a un proceso de creación de software eficiente y eficaz. ?? objetivo general de esta investigación es contribuir al mejoramiento de los procesos de desarrollo de software de los sistemas robóticos, a través del análisis del paradigma de desarrollo MDD aplicando los estándares definidos por la OMG.
-
ItemImproving model-driven software testing by using formal languages(Brazilian Journals Publicações de Periódicos e Editora Ltda., 2019-3-1) Pons, Claudia Fabiana ; Rosenfeld, Ilan ; Baum, GabrielModel-Driven Testing or MDT is a new and promising approach for software testing automation that can significantly reduce the efforts in the testing cycle of a software development. It consists in a black box test that uses structural and behavioral models to automate the tests generation process. In this paper, we describe a tool that allows developers to translate a software model written in UML with OCL formal constraints to its corresponding Java code, automating the generation of strong test-cases codes and specifying them not only in Java language but also in two formal languages, which are OCL and Alloy. This tool provides more reliable support by amalgamating different techniques, which strengthens the testing process.
-
ItemMotor de reglas desacoplado orientado a formato JavaScript Object Notation(Universidad Nacional de La Matanza, 2020-10) Maciel, Marcos AntonioLas empresas afrontan el desafío de competir en escenarios que varían de acuerdo con nuevas tendencias, clientes que buscan calidad a menor precio, o a un repentino cambio de interés desde un producto y/o servicio a otros. El acceso a dispositivos móviles con internet como medio de comunicación generan tanta curiosidad que los usuarios continuamente navegan buscando alternativas. Para satisfacer con las demandas de estos clientes tecnológicos las compañías deben cambiar sus reglas de negocios periódicamente y adaptarse inmediatamente al medio que los rodea. Con el propósito de cumplir a la demanda de cambios dinámicos y exageradamente rápido, se presenta en este trabajo un modelo orientado a crear reglas de negocios en lenguaje natural del dominio para evaluar las condiciones de verdad y modificar la información resultante. Esta propuesta está orientada a sistemas con arquitecturas orientadas a servicios que conectan aplicaciones front-end con back-end a través del formato Json (JavaScript Object Notation) como medio de intercambio de información. Las estadísticas realizadas demuestran una performance aceptable en la validación de atributos Json y una ganancia considerable entre el desarrollo de la regla en código contra la parametrización de la regla.
-
ItemBlockGuitars : una herramienta para las transacciones de instrumentos musicales mediante blockchain(Sociedad Argentina de Informática, SADIO, 2020-10) Pons, Claudia Fabiana ; Castelli Lluch, Damián ; Tallarico, AníbalBlockchain y smart contracts son novedosas tecnologías que permiten registrar de forma eficaz y segura transacciones de elementos virtuales, como criptomonedas. Pero también se pueden aplicar a otros ámbitos. En este artículo se describe la construcción de un sistema de registro de instrumentos musicales aplicando estas nuevas tecnologías. El aporte, en primer lugar, es poner a disposición de los músicos una herramienta segura y distribuida que les ofrecerá una alternativa para enfrentar los frecuentes hurtos de estos elementos. Por otra parte, la descripción de la metodología seguida para el desarrollo del sistema, así como las decisiones de diseño adoptadas, la base tecnológica seleccionada y el análisis legal realizado, son recursos de utilidad para los desarrolladores que inicien la construcción de un sistema similar en otro dominio.
-
ItemModelado de derivación de código para el desarrollo de sistemas colaborativos con awareness(SADIO, 2020-5-18) Pons, Claudia Fabiana ; Bibbo, Luis Mariano ; Giandini, RoxanaLa construcción de sistemas colaborativos con awareness es una tarea muy compleja. En este artículo se presenta la forma de utilización del lenguaje específico de dominio CSSL v2.0 – Collaborative Software System Language - construido como extensión de UML, usando el mecanismo de metamodelado. Se analiza la simplicidad, expresividad y precisión del lenguaje para modelar los conceptos principales de los sistemas colaborativos, especialmente los procesos colaborativos, protocolos y awareness. A partir de casos de modelado se muestra una sintaxis concreta -editores gráficos- que permiten construir modelos de sistemas colaborativos. Estos son independientes de la plataforma de implementación y están formalmente preparados para derivarlos utilizando transformaciones MDD. Luego se presenta una semántica del lenguaje a través de transformaciones de modelo a texto donde se obtiene versiones Web con tecnologías JavaScript, MongoDB y Websockets. Esto aporta a los desarrolladores de Sistemas Colaborativos un conjunto de herramientas que les permiten por un lado modelar los sistemas y por otro obtener aplicaciones ejecutables con aspectos centrales resueltos como la implementación de procesos colaborativos, awareness y el control de las operaciones que los roles realizan en el sistema.