SDL (Specification and Description Language) was at one point considered as a UML diagram add-on, but UML went in a different direction. I am used to SDL from Telecom and use an abstracted version (simplified) because I liked the state engine concept added to normal flow charts – so why did I bother with UML State diagrams on top of SDL? The answer is that UML State diagrams are superier on showing information flow on the higher level, while SDL is superior then dealing with executable logic on lower levels. The two methods complement each other well. In the example below I have drawn a diagram – UML State Diagram at left and SDL at right where the SDL part actually is the executable flow chart inside the UML block at left.
PLD (Plain Logic Diagram) is a Flow chart with some abstracted SDL added as well as UML State diagrams added. It is a bit of work before we can start generating code, but my previous experince with SDL is that a common user need about 5 minutes to learn reading the diagrams. We actually used these diagrams as a specification on some systems and they are great as we did not have a single dispute over functionality – the only issue at the time was that drawing these diagrams without a specialized tool is to time consuming. BSA will change that!