988 research outputs found

    Evaluating the layout quality of UML class diagrams using machine learning

    Get PDF
    UML is the de facto standard notation for graphically representing software. UML diagrams are used in the analysis, construction, and maintenance of software systems. Mostly, UML diagrams capture an abstract view of a (piece of a) software system. A key purpose of UML diagrams is to share knowledge about the system among developers. The quality of the layout of UML diagrams plays a crucial role in their comprehension. In this paper, we present an automated method for evaluating the layout quality of UML class diagrams. We use machine learning based on features extracted from the class diagram images using image processing. Such an automated evaluator has several uses: (1) From an industrial perspective, this tool could be used for automated quality assurance for class diagrams (e.g., as part of a quality monitor integrated into a DevOps toolchain). For example, automated feedback can be generated once a UML diagram is checked in the project repository. (2) In an educational setting, the evaluator can grade the layout aspect of student assignments in courses on software modeling, analysis, and design. (3) In the field of algorithm design for graph layouts, our evaluator can assess the layouts generated by such algorithms. In this way, this evaluator opens up the road for using machine learning to learn good layouting algorithms. Approach.: We use machine learning techniques to build (linear) regression models based on features extracted from the class diagram images using image processing. As ground truth, we use a dataset of 600+ UML Class Diagrams for which experts manually label the quality of the layout. Contributions.: This paper makes the following contributions: (1) We show the feasibility of the automatic evaluation of the layout quality of UML class diagrams. (2) We analyze which features of UML class diagrams are most strongly related to the quality of their layout. (3) We evaluate the performance of our layout evaluator. (4) We offer a dataset of labeled UML class diagrams. In this dataset, we supply for every diagram the following information: (a) a manually established ground truth of the quality of the layout, (b) an automatically established value for the layout-quality of the diagram (produced by our classifier), and (c) the values of key features of the layout of the diagram (obtained by image processing). This dataset can be used for replication of our study and others to build on and improve on this work. Editor\u27s note: Open Science material was validated by the Journal of Systems and Software Open Science Board

    On Class Diagrams, Crossings and Metrics

    Get PDF
    As a standardized software engineering diagram, the UML class diagram provides various information on the static structure of views on software while design, implementation and maintenance phase. This talk gives an overview on drawing UML class diagrams in hierarchical fashion. Therefore, common elements of class diagrams are introduced and aesthetic rules for drawing UML class diagrams are given. These rules are based on four disciplines involved in the reading process of diagrams. After a brief introduction to our drawing algorithm, an extensive extension of the well-known Sugiyama algorithm, two details are highlighted: A new crossing reduction algorithm is presented and compared to existing ones and issues on measuring the quality of a layout are discussed

    On the impact of layout quality to understanding UML diagrams

    Get PDF

    Drawing Activity Diagrams

    Get PDF
    Activity diagrams experience an increasing importance in the design and description of software systems. Unfortunately, previous approaches for automatic layout support fail or are just insufficient to capture the complexity of the related requirements. We propose a new approach tailored to the needs of activity diagrams which combines the advantages of two fundamental layout concepts called "Sugiyama's approach" and "topology-shape-metrics approach", originally developed for layered layouts of directed graphs and for orthogonal layout of undirected graphs respectively

    On the impact of size to the understanding of UML diagrams

    Get PDF

    Enabling collaborative modelling for a multi-site model-driven software development approach for electronic control units.

    Get PDF
    An important aspect of support for distributed work is to enable users at different sites to work collaboratively, across different sites, even different countries but where they may be working on the same artefacts. Where the case is the design of software systems, design models need to be accessible by more than one modeller at a time allowing them to work independently from each other in what can be called a collaborative modelling process supporting parallel evolution. In addition, as such design is a largely creative process users are free to create layouts which appear to better depict their understanding of certain model elements presented in a diagram. That is, that the layout of the model brings meaning which exceed the simple structural or topological connections. However, tools for merging such models tend to do so from a purely structural perspective, thus losing an important aspect of the meaning which was intended to be conveyed by the modeller. This thesis presents a novel approach to model merging which allows the preservation of such layout meaning when merging. It first presents evidence from an industrial study which demonstrates how modellers use layout to convey meanings. An important finding of the study is that diagram layout conveys domain-specific meaning and is important for modellers. This thesis therefore demonstrates the importance of diagram layout in model-based software engineering. It then introduces an approach to merging which allows for the preservation of domain-specific meaning in diagrams of models, and finally describes a prototype tool and core aspects of its implementation

    Automatic Layout and Label Management for UML Sequence Diagrams

    Get PDF
    Sequence diagrams belong to the most commonly used types of UML diagrams. There is research on desirable aesthetics, but to our knowledge no published layout algorithms, although several have been developed. This might be due to the rigid specifcation of sequence diagrams that seems to make laying them out quite easy. However, as we argue here, naive algorithms do not always produce desirable solutions. We present a layout algorithm that can compute the order of lifelines according to different optimization criteria. We also look at the problem of diagram size by introducing vertical compaction to sequence diagrams and by applying label management to compact them horizontally. We evaluate our methods with 50 real-world sequence diagrams

    Taming Graphical Modeling

    Get PDF
    Visual models help to understand complex systems. However, with the user interaction paradigms established today, activities such as creating, maintaining or browsing visual models can be very tedious. Valuable engineering time is wasted with archaic activities such as manual placement and routing of nodes and edges. This report presents an approach to enhance productivity by focusing on the pragmatics of model-based design. Our contribution is twofold: First, the concept of meta layout enables the synthesis of different diagrammatic views on graphical models. This modularly employs sophisticated layout algorithms, closing the gap between MDE and graph drawing theory. Second, a view management logic harnesses this auto layout to present customized views on models. These concepts have been implemented in the open source Kiel Integrated Environment for Layout Eclipse Rich Client (KIELER). Two applications---editing and simulation---illustrate how view management helps to increase developer productivity and tame model complexity

    A Collaborative Multi-Touch UML Design Tool

    Full text link
    The design and development of software projects is usually done in teams today. Collaborative systems based on multi-touch walls or large table-top screens could support these highly interactive tasks. We present a novel collaborative design tool which allows several developers to jointly create complex UML (Unified Modeling Language) diagrams. We have developed new algorithms to recognize the gestures drawn by the users, to create the respective elements of the diagram, to adjust the edges between classes, and to improve the layout of the classes automatically. Auxiliary lines provide the user with means to align classes precisely so a more consistent layout is achieved. Export functionality for XML and Java code skeletons completes the application; the UML diagram can thus be used in further steps of the software design process. User evaluations confirm considerable benefits of our proposed system
    • …
    corecore