CRC Diagrams

+1 vote
asked Apr 7, 2020 in Wanted features by Mario Kusek

I would like to create CRC diagrams (Class-Responsibility-Collaborator) with PlantUML. Like in http://c2.com/doc/oopsla89/paper.html.

I know that adding new shapes requires adding code in PlantUML. I am willing to participate in producing it but I don't know where to start. Is there some documentation on the basics of PlantUML internals and an example for creating custom shape?

commented Apr 8, 2020 by albert (3,520 points)
  • Please don't add a link to an external source (might not be persistent and thus invalidating the request) but add (in this case) the image directly to the request.
  • What did you try so far? and what were the results?
commented Apr 10, 2020 by Mario Kusek
  • Please don't add a link to an external source (might not be persistent and thus invalidating the request) but add (in this case) the image directly to the request.

I am sorry but the link is linking an article so I could not put the image. This article is persistent on this location for more than 10 years so I don't think your bullet applies to this.

  • What did you try so far? and what were the results?

I have dowloaded complete sources from github for projects: plantuml and plantuml-stdlib. I have analysed sources for libraries and have not found a way to create a custom entity (symbol or how it is called) that is composed of only basic shapes like record or rectangle in DOT. I have found information that for that kind of definition I need to create a class in Java.

Then I have tried to see how plantUML is working internally, where are symbols defined and how it looks like. But I have lost in the source code. If you can point me to the place where is defined class symbol from Class Diagram and how it is registered in plantUML so that it can be parsed and created. That would help me get started. Or if there is some article or blog or part of developer documantation that explains how to add new symbol in code that would be perfect.

commented Aug 30, 2020 by Mario Kusek

Since I have not found a way to PlantUML internals to build an extension, I have created a tool that uses Graphviz directly without PlantUML. Here is the link: https://github.com/MarioKusek/CRCDiagram

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.
...