34 research outputs found

    Automatische Duplikateliminierung in Aktivitätsdiagrammen von Fahrzeugfunktionen

    Get PDF
    The article may be also found at https://dl.gi.de/handle/20.500.12116/1039.Die Spezifikation von Fahrzeugfunktionen ist eine komplexe Aufgabe. Zum Umgang mit dieser Komplexität werden zur Beschreibung der Funktionen grafische Modellierungssprachen wie UML verwendet. Bei der Modellierung können Duplikate entstehen, welche Ausgangspunkt für Fehler und Inkonsistenzen in der weiteren Entwicklung sind. Dieser Beitrag widmet sich der Eliminierung von Duplikaten, welche bei der Spezifikation von Fahrzeugfunktionen mittels UML Aktivitätsdiagrammen auftreten. Es wird dargestellt, wie in UML Aktivitätsdiagrammen identifizierte Duplikate automatisiert eliminiert werden, ohne die ursprüngliche Funktionalität zu verändern. Mehrfach auftretende Elemente werden zusammengefasst und durch das Einfügen von weiteren Elementen und Verbindungen zusammengesetzt

    Evolution of Model Transformations by Model Refactoring: Long Version

    Get PDF
    Model-to-model transformations between visual languages are often defined by typed, attributed graph transformation systems. Here, the source and target languages of the model transformation are given by type graphs (or meta models), and the relation between source and target model elements is captured by graph transformation rules. On the other hand, refactoring is a technique to improve the structure of a model in order to make it easier to comprehend, more maintainable and amenable to change. Refactoring can be defined by graph transformation rules, too. In the context of model transformation, problems arise when models of the source language of a model transformation become subject to refactoring. It may well be the case that after the refactoring, the model transformation rules are no longer applicable because the refactoring induced structural changes in the models. In this paper, we consider a graph-transformation-based evolution of model transformations which adapts the model transformation rules to the refactored models. In the main result, we show that under suitable assumptions, the evolution leads to an adapted model transformation which is compatible with refactoring of the source and target models. In a small case study, we apply our techniques to a well-known model transformation from statecharts to Petri nets

    Evolution von Software-Architekturen

    Get PDF
    In diesem technischen Bericht wird die Evolution von Software-Architekturen anhand von kleinen, effizient und schnell ausführbaren, systematischen Schritten dargestellt. Die Architektur wird dabei so adaptiert, dass diese sich besser für die Erweiterung um neue Funktionalität eignet. Die Umgestaltungsschritte werden durch einen dargestellten Kalkül formal beschrieben, wodurch die Implikationen präzise und bis hin zu notwendigen Beweisverpflichtungen festgelegt sind. Dabei bleibt das migrierte System in jedem Zwischenschritt lauffähig, kann so weiter im Produktiveinsatz verbleiben und permanenten Tests unterzogen werden

    Refactoring of Model Transformations

    Get PDF
    Model-to-model transformations between visual languages are often defined by typed, attributed graph transformation systems. Here, the source and target languages of the model transformation are given by type graphs (or meta models), and the relation between source and target model elements is captured by graph transformation rules. On the other hand, refactoring is a technique to improve the structure of a model in order to make it easier to comprehend, more maintainable and amenable to change. Refactoring can be defined by graph transformation rules, too. In the context of model transformation, problems arise when models of the source language of a model transformation become subject to refactoring. It may well be the case that after the refactoring, the model transformation rules are no longer applicable because the refactoring induced structural changes in the models. In this paper, we consider a graph-transformation-based evolution of model transformations which adapts the model transformation rules to the refactored models. In the main result, we show that under suitable assumptions, the evolution leads to an adapted model transformation which is compatible with refactoring of the source and target models. In a small case study, we apply our techniques to a well-known model transformation from statecharts to Petri nets

    Refactoring OCL Annotated UML Class Diagrams

    Get PDF
    Refactoring of UML class diagrams is an emerging research topic and heavily inspired by refactoring of program code written in object-oriented implementation languages. Current class diagram refactoring techniques concentrate on the diagrammatic part but neglect OCL constraints that might become syntactically incorrect by changing the underlying class diagram. This paper formalizes the most important refactoring rules for class diagrams and classifies them with respect to their impact on annotated OCL constraints. For refactoring rules, whose application on class diagrams could make attached OCL constraints incorrect, we formally describe how the OCL constraints have to be refactored to preserve their syntactical correctness. Our refactoring rules are defined in the graph-grammar based formalism proposed by the QVT Merge Group for the specification of model transformations

    Handling High-Level Model Changes Using Search Based Software Engineering

    Full text link
    Model-Driven Engineering (MDE) considers models as first-class artifacts during the software lifecycle. The number of available tools, techniques, and approaches for MDE is increasing as its use gains traction in driving quality, and controlling cost in evolution of large software systems. Software models, defined as code abstractions, are iteratively refined, restructured, and evolved. This is due to many reasons such as fixing defects in design, reflecting changes in requirements, and modifying a design to enhance existing features. In this work, we focus on four main problems related to the evolution of software models: 1) the detection of applied model changes, 2) merging parallel evolved models, 3) detection of design defects in merged model, and 4) the recommendation of new changes to fix defects in software models. Regarding the first contribution, a-posteriori multi-objective change detection approach has been proposed for evolved models. The changes are expressed in terms of atomic and composite refactoring operations. The majority of existing approaches detects atomic changes but do not adequately address composite changes which mask atomic operations in intermediate models. For the second contribution, several approaches exist to construct a merged model by incorporating all non-conflicting operations of evolved models. Conflicts arise when the application of one operation disables the applicability of another one. The essence of the problem is to identify and prioritize conflicting operations based on importance and context – a gap in existing approaches. This work proposes a multi-objective formulation of model merging that aims to maximize the number of successfully applied merged operations. For the third and fourth contributions, the majority of existing works focuses on refactoring at source code level, and does not exploit the benefits of software design optimization at model level. However, refactoring at model level is inherently more challenging due to difficulty in assessing the potential impact on structural and behavioral features of the software system. This requires analysis of class and activity diagrams to appraise the overall system quality, feasibility, and inter-diagram consistency. This work focuses on designing, implementing, and evaluating a multi-objective refactoring framework for detection and fixing of design defects in software models.Ph.D.Information Systems Engineering, College of Engineering and Computer ScienceUniversity of Michigan-Dearbornhttp://deepblue.lib.umich.edu/bitstream/2027.42/136077/1/Usman Mansoor Final.pdfDescription of Usman Mansoor Final.pdf : Dissertatio

    Business processes refactoring to improve usability in E-commerce applications

    Get PDF
    Refactoring is a technique that applies step-by-step transformations intended to improve the quality of software while preserving its behavior. It represents an essential activity in today's software lifecycle and a powerful tool against software decay. Software decay, however, is not only about code becoming legacy, but it is also about systems becoming less usable compared to competitor solutions adopting new designs and new technologies. If we narrow the focus on e-commerce systems, the role of usability becomes essential: higher usability is in fact a requirement to win the market competition and to retain customers from turning to other choices. One reason why an e-commerce application can start suffering from poor usability is because of its business processes (BPs) becoming difficult to access, complicated to execute, and, overall, offering a poor user experience. In this paper we argue that refactoring can be a key solution for this kind of usability issues. In particular, we propose a catalog of refactorings as a means to systematically identify and address lack of usability in the BPs of an e-commerce application, and to seize opportunities for usability improvement. To make the presentation concrete and to provide evidence of the benefits that applying our refactorings can bring, we present a number of examples with reference to well-known e-commerce websites.Laboratorio de Investigación y Formación en Informática Avanzad

    MagicUWE4R: Una herramienta de refactoring en el modelado de aplicaciones web

    Get PDF
    El punto central de esta tesis es la inclusión de la práctica de refactoring dentro de una metodología de desarrollo de aplicaciones web existente. Es decir, se utiliza la técnica de refactoring (que siempre se relacionó con las metodologías ágiles y el código fuente) en el contexto del desarrollo de software dirigido por modelos (MDD). Ante la ausencia de herramientas de refactoring aplicadas al desarrollo Web dirigido por modelos, se desarrolla MagicUWE4R, que implementa los refactorings para el modelo de navegación y presentación de la metodología UWE. A su vez, se pone énfasis en el buen diseño de la herramienta, de manera que el motor de refactoring sea extensible para otros refactorings más complejos, mediante una implementación simple y elegante. Esto a causa de principalmente dos puntos claves: el uso de patrones de diseño y la composición de refactorings.Facultad de Informátic
    corecore