Automatic Layout of UML Class Diagrams in Orthogonal Style

2004 ◽  
Vol 3 (3) ◽  
pp. 189-208 ◽  
Author(s):  
Markus Eiglsperger ◽  
Carsten Gutwenger ◽  
Michael Kaufmann ◽  
Joachim Kupke ◽  
Michael Jünger ◽  
...  

Unified modelling language (UML) diagrams have become increasingly important in engineering and re-engineering processes for software systems. Of particular interest are UML class diagrams whose purpose is to display generalizations, associations, aggregations, and compositions in one picture. The combination of directed and undirected relations poses a special challenge to a graph layout tool. Current approaches for the automatic layout of class diagrams are based on the layered graph drawing paradigm. These algorithms produce good results for class diagrams with large and deep structural information, that is, diagrams with a large and deep inheritance hierarchy. However, they do not perform satisfactorily in absence of this information. We suggest to use the topology-shape—metrics paradigm for automatic layout of class diagrams, which has been used very successfully for drawing undirected graphs in orthogonal style. Moreover, we introduce the algorithms UML-Kandinsky and GoVisual fitting into this paradigm. Both algorithms work for class diagrams with rich structural information as well as for class diagrams with few or no structural information. Therefore, they improve the existing algorithms significantly.

Author(s):  
Carsten Gutwenger ◽  
Michael Jünger ◽  
Karsten Klein ◽  
Joachim Kupke ◽  
Sebastian Leipert ◽  
...  

Algorithmica ◽  
2007 ◽  
Vol 52 (2) ◽  
pp. 267-292 ◽  
Author(s):  
Vida Dujmović ◽  
Michael R. Fellows ◽  
Matthew Kitching ◽  
Giuseppe Liotta ◽  
Catherine McCartin ◽  
...  

Author(s):  
Christoph Daniel Schulze ◽  
Nis Wechselberg ◽  
Reinhard von Hanxleden

2015 ◽  
pp. 1966-1987
Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


2019 ◽  
Vol 14 (12) ◽  
pp. 66
Author(s):  
Trần Anh Thi ◽  
Vũ Thanh Nguyên

Producing source code that implements the GUI takes a great deal of effort in software development, especially for interactive software systems. This work load, generally considered tedious and burdensome, is inadequately automated given the richness of conceptual design and behavior models generated in earlier stages of the development process. A few frameworks have been proposed for generating GUI code based on formal specification or code annotation, requiring extra work to be done in addition to conceptually designing the software system in question. We propose a mechanism that generates GUI code from UML class diagrams expressed in XMI. Our approach takes into account the associations between design concepts and their composition hierarchy that is explicitly expressed in the UML language.  


2020 ◽  
Vol 13 (2) ◽  
pp. 256-264
Author(s):  
Jagadeeswaran Thangaraj ◽  
Senthilkumaran Ulaganathan

Background: Static verification is a sound programming methodology that permits automated reasoning about the correctness of an implementation with respect to its formal specification before its execution. Unified Modelling Language is most commonly used modelling language which describes the client’s requirement. Object Constraint Language is a formal language which allows users to express textual constraints regarding the UML model. Therefore, UML/OCL express formal specification and helps the developers to implement the code according to the client’s requirement through software design. Objective: This paper aims to compare the existing approaches generating Java, C++, C# code or JML, Spec# specifications from UML/OCL. Methods: Nowadays, software system is developed via automatic code generation from software design to implementation when using formal specification and static analysis. In this paper, the study considers transformation from design to implementation and vice versa using model transformation, code generation or other techniques. Results: The related tools, which generate codes, do not support verification at the implementation phase. On the other hand, the specification generation tools do not generate all the required properties which are needed for verification at the implementation phase. Conclusion: If the generated system supports the verification with all required properties, code developer needs less efforts to produce correct software system. Therefore, this study recommends introducing a new framework which can act as an interface between design and implementation to generate verified software systems.


Author(s):  
Ricardo Perez-Castillo ◽  
Mario Piattini

Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoint at a higher abstraction level and filter out particular technical details related to source code. The technique is fully developed and tool-supported within an R&D project about global software development in which collaborate two universities and five companies. The automation of the approach facilitates its validation and transference through an industrial case study involving two open source systems.


Author(s):  
Christos Vasilakis ◽  
Dorota Lecnzarowicz ◽  
Chooi Lee

The unified modelling language (UML) comprises a set of tools for documenting the analysis of a system. Although UML is generally used to describe and evaluate the functioning of complex systems, the extent of its application to the health care domain is unknown. The purpose of this article is to survey the literature on the application of UML tools to the analysis and modelling of health care systems. We first introduce four of the most common UML diagrammatic tools, namely use case, activity, state, and class diagrams. We use a simplified surgical care service as an example to illustrate the concepts and notation of each diagrammatic tool. We then present the results of the literature survey on the application of UML tools in health care. The survey revealed that although UML tools have been employed in modelling different aspects of health care systems, there is little systematic evidence of the benefits.


Sign in / Sign up

Export Citation Format

Share Document