Introduction to Interactively created Message-Diagrams
Interactively created Message Diagrams are generated based on knowledge/programmed logic. They are not statically created Diagrams as done by most common tools. The system gives a choice whenever the logic comes up with more than one option. The user then has to select an option, causing the system to continue on the given path until the next choice arrives. Choices are given until no more choices are available for chosen path. By doing this the user interactively generates the Message Diagram. This approach creates a virtually unlimited amount of permutations in generated Message Diagrams.
Other terms, for Message Diagrams, exist on the internet. I prefer to call it Message Diagrams as they represents the messages going from one entity/process to another. The term MSG-Flow is also used just for being shorter. In UML they are called Sequence Diagrams.
Message Diagrams are very useful during the implementation of complex systems. The high level flow can be used during discussions or for learning how the system was intended to respond. For example the MSG-Flow of a real protocol could be visible in e.g. Wireshark. Please keep in mind that this tool is not a generic tool to render graphics. However the final output can be used and adapted via textual (ASCII mono-space), rendered graph or text for some of the tools on the internet. The knowledge itself is stored in the Product Knowledge Base (PKB) which is proprietary software.
Product Knowledge Base
The idea behind the product knowledge base is to couple the message flow with additional information stored in the database. The more data is available the more relations it can show. Be aware the created example are only as good as the information. More data and MSG-Flows will be stored in the future.
Click on the examples on the right and change the choices in the interactive diagram or read more about the available examples databases below and start you own interactive diagram.
- Banking - Representation of a simple, though extensive, Banking system;
- Simple SMSC - Representation of a simple SMSC;
- Unix Services - Representation of some often used Unix commands;
- Versatile - Representation of versatile examples combined in one PKB;
- Ideas are welcome.
Multiple PKB servers can coexist. Although all information could be put in one PKB. The foreseen examples do not share much, tough TCP is one protocol shared often. The data object of TCP could be made accessible to multiple knowledge bases.
External and Internal tab
Some PKB examples have an External and Internal tab. Which can be seen as simplified (external) or more in-depth (internal) view of the system and generated message flow. This is view is the starting point, the red colored entities can be clicked on to start a MSG-Flow. The other are there for representation only as it is not possible to start a flow from. They can however appear in the generated message flow. E.g. initd which is the listener for some services, but cannot initiate a connection as it always waits.
The Entity tab is a starting point to query the PKB for information. First you need to select with type of entity to query and then you get a list of entities belonging to the type. From there on you can go deeper and select object information. Lots of object information is also available from the links in the generated data. They are green in the textual output and blue in the final rendered graphic.
In the right section one needs to make choices. The system only ask for a choice if there is more than 1 option. Otherwise the system will select the only option internally. E.g. the set-up of a TCP connection has been programmed to either accept or reject. So that is interactively given to the user. Depending on the choice another choice can be added. In case of an reject it stopped e.g. as no retry was implemented for session connection. However a wrong password (in case applicable) can be retried. It is possible to go some steps back, the selection boxes remain. The later choices will of course disappear as they are most likely not valid anymore.
Please have a look at the Example pages for more info and specific examples.
Meaning of pictograms
The following pictograms are used within the website:
- means more info is available, click on it to see it;
- click this to see more entities of the same type;
- more in depth information is available, click on it to show one level deeper. Click again to hide it;
- means a link to an external source, will open in a new tab.
- start a flow for given component.