Roadmap
| Area | State |
|---|---|
| Component diagrams, with interfaces, ports and delegation | Prototype |
| Packages as containers | Prototype |
Package diagrams with «import», «merge» and containment | Prototype |
| Sequence diagrams with fragments, activations, creation and destruction | Prototype |
| State diagrams with composite states, regions and pseudostates | Prototype |
| Activity diagrams with decisions, loops, forks, signals, objects and partitions | Prototype |
| Notation audit against UML 2.5.1 | Done for all five kinds |
| JSON diagnostics | Under consideration |
| Pluggable layout engines, and layout research items | Not scheduled |
Known limitations
All kinds:
- No diagram has a UML frame, such as
sdorpkg. UML makes the frame optional, and a title is a caption outside the drawing. - Builds have been tested only on Linux so far.
Component, package and state diagrams:
- Coordinates come from median placement, not an optimal solve, so an item can sit off the line of what it connects to, and the connector then bends. Reserved labels can force a long edge to bend around them.
Component diagrams:
- Interface inheritance (
^), port type labels, several interfaces on one lollipop and the optional compartments of a component are not expressible. All are optional in UML. - Connectors sometimes carry a small jog near a box corner. A route can go around a composite’s name.
Package diagrams:
- Classifiers have no bodies, so attributes and operations cannot be listed.
- A dependency arrow between packages that do not overlap across the flow carries one jog.
Sequence diagrams:
- Gates and coregions are optional UML notation and are not drawn; found and lost messages and
parcover the need. - Lifeline heads are not repeated at the bottom.
- A fragment’s operator tab can hide part of an active execution bar on the first lifeline it covers, and a note across several lifelines hides the bars under it.
State diagrams:
- Long edges in dense machines may still bend around other transitions’ labels.
- Labels of several self-transitions on one side are stacked and offset, which makes them harder to match to their loops.
- Local transitions are drawn on the right side of a composite.
Activity diagrams:
- Flows are block-structured, so unstructured flows cannot be written.
- Interruptible regions, pins, exception handlers, activity parameter nodes and hierarchical partitions are not drawn.
- The next statement after a side arm that stops still waits below that arm, because rows are shared.
- A note above a decision lengthens the flow into it, so a straight flow is not evenly spaced there.
- When branches stack because one crosses lanes another occupies, a flow can cross the stacked branch (Branches that interleave lanes).