Skip to content
Dr. Markus Voss edited this page Dec 4, 2021 · 22 revisions

Welcome to the pumla wiki!

Upcoming version roadmap:

v1.0 full productive version

  • First "non-beta" Release
  • stable version for defined configurations (Mac, Linux and PlantUML)
  • "installation mechanism for PlantUML library" ==> download compatible PlantUML version and install it
  • triggering of the diagram rendering using an installed PlantUML library

Done so far:

v0.9 second beta - integrated feedback/problem ticket resolutions from the first beta round.

  • C4 model support
  • hardened API
  • hardened installation/setup procedure
  • command line tool with commands to output JSON format lists of
    • elements
    • relations
    • connections
  • deployment of pumla CLI with pip
  • deployment of pumla_macros / set up / initialize a pumla project and deal with the paths to the pumla_macros
  • help integrated into pumla CLI
  • polished documentation (completly consistent in itself over examples and documents)
  • second official "Beta Release"

v0.8 first beta - hardening of the API

  • an installation procedure documented for Linux, Mac
  • open up the ticket system for the public
  • first official "Beta Release"

v0.7 additional capabilities:

  • FilterOut-macros, to remove elements of a certain type, stereotype or with a certain tag/value, in order to easily focus existing diagrams on dedicated aspects
  • FilterIn-macros, to keep elements of a certain type, stereotype or tag/value pair in a diagram and remove everything else
  • rework of macro API: make the macro names consistent and more plausible
  • error messages as notes
  • clearer concept for how to deal with "mixed diagrams": classes and deploy elements mixed, dynamic and static elements mixed
    • This point is hard to tackle. So far I did not find a convenient way to deal with the PlantUML limitations. I have found some ways to work around, but from user/API point of view, this is still not satisfying. But as I have no better solution at hand right now, I stay with the possibilities implemented so far by pumla, which is some specific macros to e.g. wrap classes in notes and the possibility to declare a diagram as a component or class diagram upfront.
  • lightweight variant management concept
    • model the variance in a pumla-re-usable way (with PlantUML and pumla syntax)
    • use model configurations to create variants of (PlantUML) diagrams
    • With the different ways to use tagged values and put elements onto a diagram considering the tagged values, and furthermore with the filter mechanisms that also allow to filter for tags and tag/value pairs, there is a lightweight way to handle and manage variance in your model repository.
    • higher level concepts like a semantic implementation of feature trees and configurations go way beyond the re-use idea, and therefore will not be implemented in pumla.
  • "Test Release" (Alpha)

v0.6 additional capabilities:

  • refactored "tagged values" allowing to put elements depending on their tags and values; tagged values can also be assigned to connections and relations.
  • convenience macros to put "functional chains" with one command on a diagram, considering the relations and/or connections of the model repository
    • Implemented as PlantUML macro, this functionality would consume to much PlantUML-compile-time, so that fast updates in an editor like Visual Studio Code or PyCharm could not be guaranteed and therefore the user experience would be bad. Therefore, this feature will be implemented in the pumla python command line tool. The addition of major functionality of the command line tool will be done after release 1.0, therefore I postpone this feature.

v0.5 additional capabilities:

  • re-usable model elements for dynamic behavior description: sequences and state machines.
  • more convenience functions for putting elements onto a diagram, e.g. depending on their stereotypes.
  • allow better "bridging"/mixing of static and dynamic elements, e.g. state or sequence diagram on deployment diagram.
  • additional templates for relations and connections

v0.4 capabilities:

  • Re-usable model element types: component, rectangle, node if name and alias are equal; also every other when both name and alias are used
  • Re-usable relations
  • Re-usable connections
  • Cheat Sheets to explore contents of model repository regarding re-usable
    • model elements
    • relations
    • connections
  • Modelling Guideline to help writing re-usable PlantUML architecture artifacts
  • Template for model elements
  • User's Guide with description of all extensions
    • macros
    • file markings
    • global variables
  • pumla command line tool (python script: pumla.py) to scan your files and fill the re-usable model repository
  • Examples overview showing off the capabilities
Clone this wiki locally