26 research outputs found

    Métricas para el diseño orientado a aspectos

    Get PDF
    El desarrollo de grandes sistemas de software es una actividad abordada por la Ingeniería de Software desde diferentes puntos de vista y desde sus inicios. Cada día surgen nuevas técnicas y metodologías que intentan mejorar la calidad y la eficiencia del software. La orientación a aspectos (OA) es una nueva técnica aplicada en el desarrollo de software la cual busca mejorar la calidad del mismo. En la actualidad se aplica la OA en grandes proyectos es por eso que la evaluación, de su uso y las eventuales mejoras, es crucial. Las métricas de software son ampliamente utilizadas para evaluar objetivamente el software. Existen gran cantidad de métricas definidas para la orientación a objetos (OO) y otros paradigmas pero muy pocas para la OA. Es por esto que se realizó la definición métricas para el desarrollo OA, en particular para la etapa del diseño, permitiendo al ingeniero de software tener una visión objetiva del diseño realizado.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI

    Pattern-based refactoring in model-driven engineering

    Full text link
    L’ingénierie dirigée par les modèles (IDM) est un paradigme du génie logiciel qui utilise les modèles comme concepts de premier ordre à partir desquels la validation, le code, les tests et la documentation sont dérivés. Ce paradigme met en jeu divers artefacts tels que les modèles, les méta-modèles ou les programmes de transformation des modèles. Dans un contexte industriel, ces artefacts sont de plus en plus complexes. En particulier, leur maintenance demande beaucoup de temps et de ressources. Afin de réduire la complexité des artefacts et le coût de leur maintenance, de nombreux chercheurs se sont intéressés au refactoring de ces artefacts pour améliorer leur qualité. Dans cette thèse, nous proposons d’étudier le refactoring dans l’IDM dans sa globalité, par son application à ces différents artefacts. Dans un premier temps, nous utilisons des patrons de conception spécifiques, comme une connaissance a priori, appliqués aux transformations de modèles comme un véhicule pour le refactoring. Nous procédons d’abord par une phase de détection des patrons de conception avec différentes formes et différents niveaux de complétude. Les occurrences détectées forment ainsi des opportunités de refactoring qui seront exploitées pour aboutir à des formes plus souhaitables et/ou plus complètes de ces patrons de conceptions. Dans le cas d’absence de connaissance a priori, comme les patrons de conception, nous proposons une approche basée sur la programmation génétique, pour apprendre des règles de transformations, capables de détecter des opportunités de refactoring et de les corriger. Comme alternative à la connaissance disponible a priori, l’approche utilise des exemples de paires d’artefacts d’avant et d’après le refactoring, pour ainsi apprendre les règles de refactoring. Nous illustrons cette approche sur le refactoring de modèles.Model-Driven Engineering (MDE) is a software engineering paradigm that uses models as first-class concepts from which validation, code, testing, and documentation are derived. This paradigm involves various artifacts such as models, meta-models, or model transformation programs. In an industrial context, these artifacts are increasingly complex. In particular, their maintenance is time and resources consuming. In order to reduce the complexity of artifacts and the cost of their maintenance, many researchers have been interested in refactoring these artifacts to improve their quality. In this thesis, we propose to study refactoring in MDE holistically, by its application to these different artifacts. First, we use specific design patterns, as an example of prior knowledge, applied to model transformations to enable refactoring. We first proceed with a detecting phase of design patterns, with different forms and levels of completeness. The detected occurrences thus form refactoring opportunities that will be exploited to implement more desirable and/or more complete forms of these design patterns. In the absence of prior knowledge, such as design patterns, we propose an approach based on genetic programming, to learn transformation rules, capable of detecting refactoring opportunities and correcting them. As an alternative to prior knowledge, our approach uses examples of pairs of artifacts before and after refactoring, in order to learn refactoring rules. We illustrate this approach on model refactoring

    On Formalizing UML and OCL Features and Their Employment to Runtime Verification

    Get PDF
    Model-driven development (MDD) has been identified as a promising approach for developing software. By using abstract models of a system and by generating parts of the system out of these models, one tries to improve the efficiency of the overall development process and the quality of the resulting software. In the context of MDD the Unified Modeling Language (UML) and its related textual Object Constraint Language (OCL) have gained a high recognition. To be able to generate systems of high quality and to allow for interoperability between modeling tools, a well-defined semantics for these languages is required. This thesis summarizes published work in this context that employs an endogenous metamodeling approach to define the semantics of newer elements of the UML. While the covered elements are exhaustively used to define relations between elements of the metamodel of the UML, the UML specification leaves out a precise definition of their semantics. Our proposed approach uses models, not only to define the abstract syntax, but also to define the semantics of UML. By using UML and OCL for this, existing modeling tools can be used to validate the definition. The second part of this thesis covers work on the usage of UML and OCL models for runtime verification. It is shown how models can still be used at the end of a software development process, i. e., after an implementation has manually been added to generated parts, even though they are not used as central parts of the development process. This work also influenced the integration of protocol state machines into a modeling tool, which lead to publications about the runtime semantics of state machines and the capabilities to declaratively specify behavior using state machines

    Benefícios da arquitetura de software orientada a serviços para as empresas: análise da experiência do ABN AMRO Brasil

    Get PDF
    A arquitetura de software é um dos principais habilitadores em proporcionar ganhos efetivos em agilidade e eficiência na manutenção e evolução dos sistemas de informação corporativos, fator preponderante para ambientes competitivos. Os benefícios proporcionados pela adoção da arquitetura de software orientada a serviços são evidenciados neste artigo por meio da análise de um caso prático de sua implementação na instituição financeira ABN AMRO Brasil. O caso apresenta como a instituição conseguiu resolver um dilema tradicional das instituições financeiras: a composição e integração dos serviços financeiros, entregues por meio de software nos diferentes canais de comunicação disponíveis aos clientes.Software architecture is a major enabler in providing effective profits related to agility and efficiency in corporate information systems maintenance and evolution: a key factor in competitive environments. The benefits resulting from the adoption of software- oriented architecture (SOA) are demonstrated in this article through the analysis of a practical case of its implementation in the financial institution: ABN AMRO, in Brazil. The case describes how the institution solved a traditional dilemma faced by financial institutions: the composition and integration of financial services delivered through software to different communications channels made available to clients

    Abordando o tema configuração de sistema de informação em sala de aula

    Get PDF
    Na última década, delineou-se um modelo de gestão dos recursos de tecnologia da informação que prioriza a compra de sistemas de informação (SI) prontos, conhecidos como "pacotes", em detrimento do desenvolvimento de software. Nesse cenário, passou-se a demandar do administrador de SI conhecimentos referentes à implementação de "pacotes", sobretudo dos SI configuráveis. Com referência a essa tecnologia, é fundamental o domínio do conceito de parametrização das transações de negócio suportadas pelo SI, tema de difícil discussão, exemplificação e aprendizagem sem a experimentação prática. O uso do próprio SI configurável, implementado e disponível para uso acadêmico da universidade mostrou-se uma iniciativa complexa, dispendiosa e não funcional. A proposição da presente pesquisa é a de um método alternativo para o ensino do tema configuração de SI, fundamentado na utilização de simuladores. Por intermédio destes, os alunos podem ter as experiências de: a) realizar fluxos de trabalho no SI configurável; b) alterar a parametrização do SI para atender a uma nova realidade do ambiente de negócio e c) ter a percepção dos novos resultados gerados após a reconfiguração do SI.Over the last decade, a model for management of information technology resources was devised, which favors purchase of ready-for-use information systems (IS), known as packages, instead of software development. As such, the future IS administrator is now required to master concepts related to implementation of these packages, and above all, the configurable information systems. That is why the concept of parameterization of business transactions supported by IS must be well mastered, a subject not easily discussed, exemplified and learned without hands-on experience. The configurable and implemented IS, available for academic use at the university, has revealed itself a complex, expensive and non-functional undertaking. As such, this study proposes an alternative method for teaching and learning IS configuration, based upon development and use of simulators. With this new approach, students will be able to experience how to perform work flow in a configurable IS; how to change IS parameterization for a new business environment situation and how to achieve awareness of new results generated after re-configuring an IS

    Beneficios da arquitectura de software orientada a seviços para as empresas: analise da experiencia do abn amro Brasil

    Get PDF
    Software architecture is a major enabler in providing effective profits related to agility and efficiency in corporate information systems maintenance and evolution: a key factor in competitive environments. The benefits resulting from the adoption of software- oriented architecture (SOA) are demonstrated in this article through the analysis of a practical case of its implementation in the financial institution: ABN AMRO, in Brazil. The case describes how the institution solved a traditional dilemma faced by financial institutions: the composition and integration of financial services delivered through software to different communications channels made available to clients.A arquitetura de software é um dos principais habilitadores em proporcionar ganhos efetivos em agilidade e eficiência na manutenção e evolução dos sistemas de informação corporativos, fator preponderante para ambientes competitivos. Os benefícios proporcionados pela adoção da arquitetura de software orientada a serviços são evidenciados neste artigo por meio da análise de um caso prático de sua implementação na instituição financeira ABN AMRO Brasil. O caso apresenta como a instituição conseguiu resolver um dilema tradicional das instituições financeiras: a composição e integração dos serviços financeiros, entregues por meio de software nos diferentes canais de comunicação disponíveis aos clientes
    corecore