Monday, April 27, 2015

Problem formulation


As stated in the previous post, the aim of this thesis is to provide an optimized way to generate readable component diagrams from textual models.


The department describes its software models in a self-created language called AMZ (amazon) YAML based. From these files, our solution should generate good-looking and readable diagrams.
The team is currently using PlantUML and is able to generate both component and activity diagrams automatically. Unfortunately, component diagrams are not readable for complex systems. 
There are many lines crossing, long stretches across the drawing area, small text over components,...

Some areas of reflection on diagram generation improvement :   
  • Component positioning  
Refine the set of rules governing component placement.
  • Line crossing avoidance
Refine the set of rules to avoid as much line crossing as possible.
  • Line length minimization
    Refine the set of rules to minimize line length and therefore avoid long stretches across the drawing area.
  • Color coding
Define a color code to group items together visually and make the diagram more readable.
  • Components/interfaces modelization
    Play with different modelization techniques to improve readability. For example, the following component/interface modelization are equivalent.

  • Abstraction level
    Work on proposing different abstraction levels. For example : package level, detail level,...
  • Cardinality factor positioning
    In the auto-generated example, we can see that many cardinality factors are positioned on lines or components. One improvement idea could be to work on a better placement.
  • Ports
Instead of having lines from within a package (over component) going inside another package, we could try to use ports.


This was only a beginning of reflection. Our task is to further investigate how we could improve the diagrams’ readability and implement a solution which suits Ericsson’s needs.




 

No comments:

Post a Comment