It exist a popular variant of UML called “SysML” (www.sysml.org) – it is close to UML2 with some variations – so why don’t we support it?
The answer is very simply that BSA support what it need to generate executable code and some of the modelling techniques are not practical in that perspective. We support UML Class diagrams with inheritance, associations and agregation – we also support ER-Diagrams as well as the concept of UML State Diagrams, but we have our own flow-chart/state diagrams more based on SDL (Specification and Description Language) simply because it gives a better coverage between functional descriptions and application logic.
Anyone who have used state diagrams know that you can’t just have states and transitions – you also need logic mixed in – if you don’t you end up with diagrams that are far away from the executable logic and less readable. So yes, we do support UML, but at our own terms because we target actual code.
Another big difference between UML/UML2 and BSA is readability of executable logic. Since BSA is a programming tool we start with diagrams and end up with code. We need to give the user an easy way to see and debug executable logic – this affect the diagrams as we on lowest levels need to visualize far more that high level details. A simple state-diagram is shown below.