Skip to main content
ana garis

    ana garis

    Resumen. Los patrones de diseño describen soluciones a problemas recurrentes en la ingeniería de software, proporcionando un importante instrumento para la reutilización de software. En particular, los Patrones de Diseño de Comportamiento... more
    Resumen. Los patrones de diseño describen soluciones a problemas recurrentes en la ingeniería de software, proporcionando un importante instrumento para la reutilización de software. En particular, los Patrones de Diseño de Comportamiento (según la clasificación Gof), abordan la especificación de las características dinámicas. Tanto los perfiles UML (por sus siglas en inglés, Unified Modeling Language) como el lenguaje OCL (por sus siglas en inglés, Object Constraint Language) se pueden utilizar como mecanismos para la formalización de los patrones de diseño de comportamiento. El presente trabajo presenta un enfoque para la validación de patrones de comportamiento haciendo uso de perfiles UML y lenguajes OCL, en diagramas estáticos y dinámicos UML.
    La falta de vocaciones en carreras universitarias relacionadas a la Informática es una problemática a nivel mundial. Para enfrentar este problema se han aplicado diferentes estrategias, tales como el dictado de talleres sobre temáticas... more
    La falta de vocaciones en carreras universitarias relacionadas a la Informática es una problemática a nivel mundial. Para enfrentar este problema se han aplicado diferentes estrategias, tales como el dictado de talleres sobre temáticas afines, en establecimientos educativos, especialmente a nivel secundario. La presente línea de investigación se enfoca en la evaluación del impacto que han tenido dichos talleres con respecto al objetivo de incrementar la matrícula de alumnos ingresantes a carreras vinculadas con la Informática, en particular, en la Universidad Nacional de San Luis.
    Model-Driven Engineering (MDE) is a Soft-ware Engineering approach based on model transfor-mations at di↵erent abstraction levels. It prescribes the development of software by successively transforming models from abstract... more
    Model-Driven Engineering (MDE) is a Soft-ware Engineering approach based on model transfor-mations at di↵erent abstraction levels. It prescribes the development of software by successively transforming models from abstract (specifications) to more concrete ones (code). Alloy is an increasingly popular lightweight formal specification language that supports automatic verification. Unfortunately, its widespread industrial a-doption is hampered by the lack of an ecosystem of MDE tools, namely code generators. This paper pre-sents a model transformation from Alloy to UML Class Diagrams annotated with OCL (UML+OCL), and shows how an existing transformation from UML+OCL to Al-loy can be improved to handle dynamic issues. The pro-posed bidirectional transformation enables a smooth in-tegration of Alloy in current MDE contexts, by allowing UML+OCL specifications to be transformed to Alloy for validation and verification, to correct and possibly refine them inside Alloy, and to translate the...
    Los patrones de diseño son una herramienta muy útil de la ingeniería de software. Un significativo aporte es el que brindan los denominados “patrones de comportamiento” (clasificación Gof [3] ) , ya que facilitan el manejo de... more
    Los patrones de diseño son una herramienta muy útil de la ingeniería de software. Un significativo aporte es el que brindan los denominados “patrones de comportamiento” (clasificación Gof [3] ) , ya que facilitan el manejo de comportamientos complejos. Uno de los requerimientos para la implementación exitosa de un patrón es que posea una especificación clara El concepto de Perfiles UML ha sido empleado en la especificación de patrones de diseño de tipo estructural (según clasificación Gof). El presente trabajo propone un camino para la especificación de patrones de comportamiento haciendo uso de esta metodología.
    Formal methods provide multiple benefits when applied in the software development process. For instance, they enable engineers to verify and validate models before working on their implementation, leading to earlier detection of design... more
    Formal methods provide multiple benefits when applied in the software development process. For instance, they enable engineers to verify and validate models before working on their implementation, leading to earlier detection of design defects. However, most of them lack flexibility to be applied in agile software development projects.   Alloy is a lightweight formal modeling language with a friendly tool that facilitates the agile approaches application. Unfortunately, its industrial adoption is hampered by the lack of methods and tools for current software development frameworks, such as Entity Framework. This platform is usually chosen by agile projects following the code-first approach that allows automatic generation of a database from domain classes coded in the C# language.  We present a new method and tool for the formal specification and analysis of Entity Framework projects with Alloy. The proposal allows engineers to start the software development using Alloy for modeling...
    Abstract. The presented CASE tool makes persistent classes generation easy. The tool is a bridge between object oriented languages and relational databases. Generated persistent classes contain database access code. The programmer use... more
    Abstract. The presented CASE tool makes persistent classes generation easy. The tool is a bridge between object oriented languages and relational databases. Generated persistent classes contain database access code. The programmer use this classes to instantiate objects with ...
    Research Interests:
    The Raise Specification Language (RSL) is a modeling language which supports various specification styles. To apply model checking to RSL concurrent descriptions, we translate RSL specifications into the input language CSPM of FDR. FDR is... more
    The Raise Specification Language (RSL) is a modeling language which supports various specification styles. To apply model checking to RSL concurrent descriptions, we translate RSL specifications into the input language CSPM of FDR. FDR is the model checker for the process algebra CSP. First, we define a syntactic and semantic translation from the concurrent applicative subset of RSL to CSPM, and show that this translation is a strong bisimulation which preserves properties such as traces and deadlock. Consequently, results obtained by refinement checks in FDR are sound for the original RSL descriptions. Second, RSL uses Linear Temporal Logic (LTL) to specify desired properties, but FDR does not support LTL. LTL formulas may be translated to CSP test processes in order to check them with FDR. We build a tool which automates the translation of RSL specifications into CSPM and translates LTL formulas to CSP processes, enabling the model checking of LTL formulas over RSL descriptions with FDR.
    Sometimes, UML is not enough expressive to describe patterns property. UML profiles allow extending UML syntax and semantic for modeling elements of particular domains. As profiles extend UML vocabulary, and design patterns define for... more
    Sometimes, UML is not enough expressive to describe patterns property. UML profiles allow extending UML syntax and semantic for modeling elements of particular domains. As profiles extend UML vocabulary, and design patterns define for designers a common vocabulary, so it is possible using profile for defining a pattern vocabulary in UML. Profiles can be used for solve particular problems in