14 research outputs found

    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

    A Requirements-Based Taxonomy of Software Product Line Evolution

    Get PDF
    Software product lines are, by their very nature, complex software systems. Due to the interconnectedness of the various products in the product line any form of evolution becomes significantly more complex than in a single system situation. So far most work on product line evolution has focused on specific approaches to supporting special cases of the evolution problem. In this paper, we take a different approach and provide a broad taxonomy of requirements-driven evolution in software product lines. This serves as a basis for the identification of requirements on evolution support

    Ästhetik und automatisches Layout von UML Klassendiagrammen

    No full text
    In the last years, visual methods have been introduced in industrial software production and teaching of software engineering. In particular, the international standardization of a graphical software engineering language, the Unified Modeling Language (UML) was a reason for this tendency. Unfortunately, various problems exist in concrete realizations of tools, e.g. due to a missing compliance to the standard. One problem is the automatic layout, which is required for a consistent automatic software design. The thesis derives reasons and criteria for an automatic layout method, which produces drawings of UML class diagrams according to the UML specification and issues of human computer interaction, e.g. readability. A unique set of aesthetic criteria is combined from four different disciplines involved in this topic. Based on these aethetic rules, a hierarchical layout algorithm is developed, analyzed, measured by specialized measuring techniques and compared to related work. Then, the realization of the algorithm as a Java framework is given as an architectural description. Finally, adaptions to anticipated future changes of the UML, improvements of the framework and example drawings of the implementation are given.Visuelle Techniken im Software-Entwurf haben in den letzten Jahre Einzug in Industrie und Lehre gehalten. Begünstigt wurde dies durch die Unified Modeling Language (UML), eine international standardisierte, graphische Entwurfssprache. Dennoch klaffen weite Lücken bei der Umsetzung in konkrete Tools, teils an der Realisierung des Standards, insbesondere aber auch beim automatischen Layout, das für konsistenten (teil-)automatisierten Softwareentwurf unerlässlich ist. Die Arbeit stellt zunächst Gründe und Kriterien für ein standardkonformes, menschenlesbares automatisches Layout von UML Klassendiagrammen zusammen. Ästhetische Kriterien werden aus vier unterschiedlichen Fachdisziplinen destilliert und kombiniert. Basierend auf diesen Kriterien wird danach ein hierarchischer Layoutalgorithmus entwickelt, analysiert, mit speziellen Messverfahren vermessen und mit Konkurrenzalgorithmen verglichen. Im Anschluss daran wird die Realisierung des Algorithmus als Java-Framework im Rahmen einer Architekturbeschreibung diskutiert. Anpassungen an zukünftige Entwicklungen der UML, Weiterentwicklungen des Frameworks und Beispieldiagramme, die von der Implementierung generiert wurden, runden die Arbeit ab

    UML class diagrams – state of the art in layout techniques

    No full text
    Even if the standard for specifying software, the Unified Modeling Language, is known in different versions to everybody, CASE tool vendors did not implement all basic features. Even with class diagrams, many features of the standard are ignored. Applying the layout algorithms of these CASE tools to the user defined diagrams, usually horrible results are produced, because state-of-the-art techniques in drawing these diagrams are not respected by the vendors, too. In this paper we give an overview on the current UML tool implementations, the research in the field of drawing class diagrams automatically and the efforts in convincing the community of an agreement on basic aesthetical principles for UML class diagrams in order to simplify reading and understanding of standardized visualization of static aspects of software

    SugiBib

    No full text
    UML (Unified Modeling Language) class diagrams, which are widely used for specifying aspects of object-oriented software systems, can be laid out by our tool SugiBib. In 1998 J. Seemann described how to apply the Sugiyama algorithm to class diagrams and the first version of SugiBib was implemented as a masters thesis

    On Class Diagrams, Crossings and Metrics

    No full text
    Abstract. UML class diagrams, internationally specified and widely used in software engineering, are a great challenge in automatic drawing of graphs. Due to the complex nature of UML class diagrams and the requirements of software engineers, who need to read these diagrams, layout rules and algorithms for general graphs can not be applied without adaptions, extensions and modifications. In this paper, we present layout rules, a hierarchical layout algorithm and an edge crossing reduction strategy tailored for UML class diagrams. Furthermore, the problem of measuring aesthetic quality is discussed.

    The Raspberry Pi: A Platform for Replicable Performance Benchmarks?

    No full text
    Replicating results of performance benchmarks can be difficult. A common problem is that researchers often do not have access to identical hardware, not to mention identically installed systems. Modern single-board computers like the Raspberry Pi are standardized, cheap, and powerful enough to run many benchmarks, although probably not at the same performance level as desktop or server hardware. In this paper, we use the MooBench micro-benchmark to investigate to what extent Raspberry Pi is suited as a platform for replicable performance benchmarks. We report on our approach to set up and run the experiments as well as the experience that we made. This data set contains all collected data, the analysis scripts and the Raspberry PI image for the experiments of the related paper presented and published on the Symposium on Software Performance 2017 (SSP'17): http://www.performance-symposium.org

    Domain-Oriented Customization of Service Platforms: Combining Product Line Engineering and Service-Oriented Computing

    No full text
    Service-Oriented Computing (SoC) has been established as an important paradigm over the last decade. A particularly important part in a service-oriented solution is the service-oriented platform. This provides an environment and infrastructure for a number of service-oriented applications. An important challenge in complex application areas is the need to customize these platforms to the demands of a specific context. Product line technologies can support this by providing the concept of variability management to SoC. In this paper, we will provide a reference model for (domain-specific) service platforms and describe different approaches that provide customization possibilities in a service platform context. The complexity of handling the customization of large-scale service platforms in an integrated manner will be addressed by introducing the concept of production strategies for variability implementation techniques
    corecore