unary connectors - modelint/flatland-model-diagram-editor GitHub Wiki
A unary connector attaches to one node face only leaving the opposite end of the connector hanging in free space without any attachment. We can use this type of connector to specify initial and final psuedo-states in state machine diagrams.
Here is an example of each:

Whereas a binary connector has two stems, each attached to a node face, a unary connector consists of a single stem. Regardless of connector type, a given notation may define a decoration on the vine, root or both ends of a stem.
Executable UML state models, for example, use UML initial pseudo state transitions to indicate a creation transition and UML final pseudo state transitions to mark a deletion state.
For the creation transition at the top of the example above, we see a single stem decorated at both ends. There is a solid arrow defined for the root and a solid circle defined at the vine end. These definitions are established by combining a notation (xUML) with a diagram type (state machine). In the deletion state example above, there is no decoration at the root end and a composite decoration at the vine end consisting of a solid arrow adjacent to a double circle. The point being that in each case there is only one node attachment along with some stem decoration. The circles are not nodes and there is no concept, in flatland, of an attachement that you need to specify in your layout file to connect to the circles. You just get the circle placements for free and you cannot adjust the stem lengths. Unary connectors, since they consist of a single stem are always the same length.
Now let's take a look at how you would specify a unary connector. We'll use the state machine example since, at present, we haven't defined unary connectors for use in any other diagram types. Yet.

A stem can be named. In the case of a class model it might be a verb phrase like is flying or is flown by. The syntax for defining a binary connector is a bit more complex than anything else in the layout file, so we’re going to build it up starting with simple examples and end up with the full syntax at the end.
<indent>[<side><connector_name> : ]<u_stem>
If a connector name is supplied, it consists of a [ + | - ] side followed by the name. On an xUML state machine, this name will be a creation event. If no creation event is designated, the unary connector will merely represent an initial (non-creation) state. See the binary connector description for more details on the side and connector name and stem syntax.
For our example creation transition above we would write:
+Shift lane : t|Start monitoring target lane
It specifies that the name of the connector is Shift lane placed on the right side (+) of the connector. There is only one stem and it attaches to the top center (t|) of the node named Start monitoring target lane.
A connector name can be wrapped and shifted up/down (vertical stem) or left/right (horizontal stem) using the same techniques as for any other connector type. So if we wanted to break the name into two lines and have it placed lower on the stem, we could have done this:
+Shift lane/2-1 : t+2|Start monitoring target lane
The /2 wraps the name on two lines and the -1 slides the name down one notch closer to the node face. The `t+2|' moves the stem sideways two notches to the right in our example. The above specification yields this drawing:

Again, this all works just as it does for binary connectors with the only difference being that there is a single stem.