12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- digraph g
- {
- graph
- [
- nodesep="0.6"
- ];
- edge
- [
- fontname="Helvetica",
- fontsize=10,
- labelfontname="Helvetica",
- labelfontsize=10
- ];
- node
- [
- fontname="Helvetica",
- fontsize=10,
- shape=box
- ];
- edge
- [
- arrowhead="open"
- ]
- // Program elements.
- {
- operating_system [ label="Operating System", shape=ellipse ];
- io_context [ label="io_context" ];
- io_object [ label="I/O Object\ne.g. socket" ];
- your_program [ label="Your Program" ];
- }
- // Owning relationships.
- {
- edge [ arrowtail="diamond" ];
- your_program:w -> io_object:nw;
- your_program:se -> io_context:ne;
- }
- // Non-owning relationships;
- {
- io_object:sw -> io_context:w;
- }
- // Actions.
- {
- edge [ style="dashed", color="#808080" ];
- // Forward actions.
- {
- your_program:sw -> io_object:n [ label="1" ];
- io_object:s -> io_context:nw [ label="2" ];
- io_context:sw -> operating_system:nw [ label="3" ];
- }
- // Reverse actions.
- {
- edge [ arrowhead="none", arrowtail="open" ];
- io_context:se -> operating_system:ne [ label="4" ];
- io_object:se -> io_context:n [ label="5" ];
- your_program:s -> io_object:ne [ label="6" ];
- }
- }
- }
|