SDL — Systems Engineering
To make a SDL Diagram with help of ConceptDraw DIAGRAM diagramming and drawing application is much simpler, especially if you have the Specification and Description Language (SDL) Solution downloaded from ConceptDraw STORE.
Example 1. Specification and Description Language (SDL) Solution in ConceptDraw STORE
A specification language is simply a formal language which is widely used in the computer science during conducting the requirements analysis, the systems analysis and the systems design for describing a system at a much higher level to compare to a programming language, known to be used for producing the executable codes for the systems.
All the specification languages are usually not directly executed. They are used for describing the issues, which are the answers to such question as “what?”. In case there is some requirement specification, which is cluttered with the implementation details known to be unnecessary, then it can be expected to be considered simple as an error.
The well-known fundamental assumption of most of the specification approaches is that programs are modelled as model-theoretic or algebraic structures, including a collection of sets of data values, as well as the functions over the mentioned sets. Such level of abstraction coincides with such point of view that the correctness of the input as well as an output behaviour of a program can take the precedence over all its other properties.
In the so called property-oriented approach to specification, the specifications of the programs are known to be consisting of the logical axioms, describing the properties that the functions have to satisfy. This approach is known to be opposite to the so-called “model-oriented specification” in such frameworks as Z and VDM, consisting of a simple realization of some particular behaviour which is nowadays required.
Specifications are expected to be the subject to such process, as a process of “refinement”. This process can be described as the filling-in one of the implementation details just before they are good enough to be implemented. The result of the described refinement process is a so called “executable algorithm”.
The mentioned algorithm is the one, which is either formulated in an executable subset of the specification language at hand or in some programming language. An important thing about the use of the specification languages which has to be mentioned is that it enables the creation of proofs of program correctness.
One of the kinds of the specification language is a Specification and Description Language (SDL). This language is targeted at the unambiguous description and specification of the behaviour of distributed and reactive systems.
Example 2. SDL Diagram
Providing both textual Phrase Representation (SDL/PR) as well as a graphical Graphic Representation (SDL/GR), The Specification and Description Language is known to be very commonly used worldwide. The mentioned types of the representation — the graphic and the textual ones — are both equivalent representations of the same semantics.
The models within the mentioned language are usually represented in the graphical SDL/GR form, when SDL/PR is more often used for exchanging the models between different tools. Any system can be specified as a set of the interconnected abstract machines, known to be the extensions of the finite state machines, also known as “FSM”. Due to the language is formally complete, it can be used for code generation for either final targets or for a simulation.
The Specification and Description Language is known to be covering five main aspects: communication, structure, behaviour, inheritance and data. The behaviour of the components can be explained by partitioning the system into a series of hierarchies. The communication between the components can take place through gates which are all connected with help of the channels. These channels are known to be those of the delayed channel type, so such communication is usually expected to be “asynchronous”. In case, though, the delay is set to zero, then the communication may become “synchronous”.
The structure of the hierarchy level of Specification and Description Language is known to be the following: Library package, Block agent, System agent, Procedure type, Process agent, Architecture and Remote procedure. Any Specification and Description Language system is made of the functional blocks, each of which can be further decomposed in the so called “sub-blocks”. The lowest level block is known to be composed of one or more processes described as the finite state machines. The mentioned blocks are all connected with help of channels, as it was already mentioned before, and so these channels carry the messages, also known as “signals”, exchanged between different blocks. A block agent is known to be consisting of the process agents.
Example 3. SDL Process Game
Each of the process agents is simply a state machine which contributes to the action, which is carried out by the system itself. A message stimulus is known to be coming from the environment to an agent and it is known to be called as a “signal”. By the way, such message stimulus can also come from another agent as well. All the signals which are received by a process agent are all placed on the first place in a queue, which is also sometimes known to be called as the “input port”.
When the state machine is known to be waiting in a state, in case the first signal in the previously mentioned input port is enabled for that state, then it starts a transition, which is expected to be leading to the following states. Transitions are also known to be able to output the signals to the environment as well as to the other agents. Any process agent is known to be allowed to contain any needed procedure types, resulting in the same actions being able to get invoked from the different places. It is also important to mentioned that it is always allowed to call a remote procedure type in order to invoke a procedure in another agent (or sometimes in another system) and later to wait for a response.