Drakon Book : Chapter 6 [English Translation]

Chapter 6

Page HistoryLast edited by PBworks 8 years, 7 months ago


Graphic language is the main means of achieving clarity,

Constantine Gomoyunov

CRITICISM block diagram

An effective means to improve the understandability of algorithms is the visualization software and a little bit earlier for this purpose the block diagram. Recently, however, flowcharts are criticized. Opponents flowcharts claim that they are not suitable for structured programming, not be formalized, so they “can not be used as a program for direct entry into the car.” They take up a lot of pages, and “in the cell block diagrams can enter very limited information.” Flowcharts “impede learning and reduce the performance of the understanding.” In addition, they are suitable not for all – work with flowcharts prefer only “individuals with the right hemisphere of the leading-oriented visual information, intuitive, recognizing images,” but they avoid “individuals with a left hemisphere’s leading, focused on verbal information, prone by deductive reasoning, “and so. d.

If before 1980 block diagrams are the most widely used tool, but today they are “no longer deemed necessary, and their popularity is falling.” Although there are some attempts to adapt flowcharts to modern needs (language SDL and others.), But in general flowcharts were clearly on the side of the rapidly evolving process visualization software, and their enormous potential is not actually used. DRAGON Language allows to eliminate or substantially reduce the deficiencies noted flowcharts.

To indicate flowcharts, built according to the rules of language DRAGON, the term “dragon scheme.”


What is the difference between a dragon diagram of flow charts? Block diagrams do not provide automatic conversion algorithm in machine code. Dragon scheme, by contrast, are suitable for formal entries, automatically receive the code and its execution on the computer. However, more important it is the second (cognitive) difference. Although flowcharts sometimes really improve comprehensibility programs, but this is not always, and the degree of improvement is small. In addition, there are many cases where the failure of the flowchart confuse things and make it difficult to understand. In contrast, the dragon schemes meet the criteria for ultrahigh understandability.

Thanks to the special formal and informal methods of cognitive dragon scheme enable a decision to portray any arbitrarily complex technological issues in a very clear, transparent and simple form, which can significantly reduce the intellectual efforts of the staff needed for visual perception, understanding, verification and error-free solutions problems.


Grafoelementy (graphic characters) DRAGON language called icons (Fig. 1). Just as the letters in the words are combined, the icons are combined into composite icons – makroikony (Fig. 2).

Combining icons and makroikony according to certain rules, you can build a variety of algorithms, examples of which are shown in Fig. 3, 4, 6, 8-11.

Skewer block – dragon circuit portion having one inlet at the top and one bottom outlet located on the same vertical.Examples skewer blocks are icons I3 – E10, and 12 – and 16, I18, I20, I21 (Fig. 1) and makroikony 2-20 (Fig. 2).

WHY branch?

When Princess Anne divorced Marquis Le Chatelier, there was a dispute on the division of property. Judge asked to specify which made the purchase of a princess before her marriage, and what – after.

And now forget about this family drama and to compare Fig. 3a and 3b. It is easy to see that the first can not answer the judge’s question. As for the second, it conversely contains the desired information. Moreover, the algorithm in Fig. 3b deliberately drawn so that purchases made before and after the marriage, clearly divided into two lists. These lists are visually and spatially separated, so the division algorithm in two parts independently of the will of the reader literally striking. This is called a partition of the semantic algorithm on the basis of “look – and it became clear!” And they themselves are called semantic units branches.

The word “branch” has two meanings. On the one hand, this meaning “piece” of the algorithm. For example, the algorithm in Fig. 3b has two branches (“Shopping before marriage” and “shopping after marriage”). Fig. 4 – four branches (“Preparing for fishing,” “Waiting for the fish”, “Fisherman’s work”, “way back”). On the other hand, the branch – an integral operator DRAGON language, which has no analogues in the known languages. Operator “branch” consists of three parts: thebeginning of the branch (the icon “branch name”), a body branches (which may contain a large number of icons) and theend of the branch (which contains one or more icons of the “address” or the icon of the “end”).

So why branch? To help knowledge workers, programmers and developers to formalize semantic partitioning technology issues, program or process technology in the parts and it is often convenient to give meaningful names. This division problems on N sense is often implemented by partitioning algorithm on N branches.

HOW branch?

The branch has one input and one or more outlets. The entrance is an icon of “branch name” containing the ID threads.Visual operator “branch name” does not do anything, it’s just a label declaring the name of the semantic parts of the program. Design dragon algorithm always starts at the left branch (Fig. 3, 4).

The output of the branch is an icon of the “address”, which is written the name of the following in order of execution threads. Icon “address” – a veiled statement of transition (goto), however, it passes control to not go anywhere, but only at the beginning of the selected branch. Entrance to the branch is possible only through the beginning. Out of the last threads through the icon “end”.

HOW TO HAVE branches in the drawing?

The branches are arranged in two ways: logically and spatially. The logical sequence is determined by the performance of the branches mark recorded in the icons “address”. However, the logical order – that’s not all. Fig. 5 show three different ways to the spatial arrangement of branches that have the same logical order. To resolve the spatial ambiguity and facilitate the understanding of the meaning of dragon scheme is introduced the rule “than the right – the later”. It means branch, drawn to the right, running after all the branches that are left.

The algorithm is drawn according to the rule “than the right – the later”, considered a good, ergonomic (Fig. 5c). Schemes where this rule is violated, declared bad (Fig. 5a, b), their use is prohibited.

As permitted (ergonomic) algorithms have the following order of operation (Fig. 3, 4, 5B, 6A):

  • the first working leftmost branch, the last – the extreme right;
  • remaining threads passes control to each other left to right (in this case may be that some threads will be omitted);
  • sometimes a so-called “twig cycle.” This happens when the icon “address” the name of their own or one of the left branches. Fig. 4 and 6 a twig cycle is marked by black triangles.


From the point of view of the reader, any unknown or forgotten trivial algorithm – an extremely difficult problem, he is desperately trying to understand, overcoming a strong “resistance of the material.” To simplify matters and to facilitate the task of understanding, it is necessary that the reader “saw the light” and dividing the problem into parts, saw its semantic structure in terms of subject area. And I saw not in a figurative sense, not by imagination, not the spiritual eye, and his two eyes – on paper or screen.

But how? The problem is that none of the existing language does not provide the reader learn complex software or technology, effective assistance to instantly (within seconds) to understand its structure, ie. E. The division into semantic units. In the language of dragons have special means for the solution.

Hat is called the top of the dragon diagram (Fig. 4), which includes the title of the algorithm and a set of icons “branch name.” Appointment hats – to help the reader instantly (no more than a few seconds) to study the problem and get a strong clue – the answer to the three most important questions:

  1. the name of the problem?
  2. How many parts is it?
  3. the name of each part?

It is with these questions begin our acquaintance with any task in a rational approach to the case.

Here are the answers to Fig. 4.

  • What is the problem? Fishing.
  • How many parts is the problem? Of the four.
  • As each part is called the? 1. Preparing for fishing. 2. Wait for fish. 3. Fishing job. 4. The road back.

Additional features associated with the fact that the cap takes “ceremonial” place in the drawing, and the names of semantic parts are placed inside the framework of special unique form and thus immediately engage the reader’s attention without any effort on his part.

Thus, the dragon gives the reader an effective three-step method of learning an unknown or forgotten problem. In the first phase, analyzing the cap, the reader learns assignment algorithm and its division into semantic parts (branches). The second – is carried out in-depth analysis of each branch. In the third analysis of the interaction produced branches.


Dragon scheme called branches silhouette, without branches – primitive. Silhouette shown in Fig. 6a, it can be represented as a primitive (Fig. 6b). Primitive have a serial connection icon “title” skewer blocks and icons “end”. In primitive icon “title” and “end” must lie on a vertical rotisserie called. On the same lines are the main vertical skewer blocks. Figuratively speaking, a skewer penetrates icons primitive (perhaps not all) just like a kebab skewer penetrates pieces.

Primitive recommended if dragon scheme is very simple (primitive) and contains not more than 5 … 15 icons. Otherwise, in order to improve readability, better to use silhouette. Violation of this rule is usually fraught with troubles, because prevents the reader to identify the nature of the problem being addressed and, therefore, difficult and slow understanding of the meaning of the program.

For example, the algorithm in Fig. 6b looks unwieldy and unnecessarily complicated to understand. This is due to the fact that it contains 19 icons, but is shown as a primitive. Crime that the circuit of Fig. 6b does not allow the reader to quickly (a few seconds) to identify visually the semantic structure of the algorithm. In fact, how many of the parts is a solvable problem? Looking at Fig. 6b, to answer this question is difficult, and respond quickly – it is impossible. The situation changes radically when we look at Fig. 6a, where the same algorithm is represented as a silhouette. Here, as they say, and a hedgehog is clear: the algorithm consists of four parts: “search of the bus,” “holding pattern”, “board the bus”, “trip”. But that’s not all: it is equally important, and the fact that the involvement of the visual pattern disappeared and the scheme has gained a new aesthetic (ergonomic) quality: elegance, clarity and transparency.

Thus, in complicated cases, the silhouette can significantly reduce the intellectual effort expended on understanding the algorithm. The silhouette of the major structural part of the program (branches) are clearly marked, they are spaced in the drawing, forming at the same time easily recognizable, stable, predictable and coherent visual image. A primitive structural parts are not isolated and mixed (“all in one heap”), making it difficult to read and analyze complex algorithms. However, for simple cases (less than 5 … 15 icons) entity, usually proves to be more advantageous.

As described silhouette with a text language?

From Fig. 7 shows that to describe the branches of a text language had to make some changes. In particular, two new text operator missing in traditional languages:

BRANCH <identifier branch>

ADDRESS <identifier branch>

Operator text language BRANCH announces the name of the branch (recorded on the visual language of the icon within the “branch name”). Operator ADDRESS definitely passes control to the operator text branch, whose name is written on the right of the address operator.

Comparing the two languages: visual and text, you will notice that the relevant algorithms (Fig. 6a and 7) are equivalent to1. However, the visual language is undoubtedly more evident and dohodchiv. The second advantage is that the schedule allows completely eliminate redundant (parasitic) elements, what is the language of the text are almost all Keywords: algorithm, branch address, END OF BRANCH, IF, THEN, ELSE, END IF, LOOP WAIT END OF CYCLE , comments, transition to, and label.

Is there anything in algorithms “royal road”?

Consider the problem. In the labyrinth of connecting the beginning and end of a complex algorithm, it is necessary to allocate a single route – “clue”, which can be visually compare all the other routes to easily navigate the problem and not to get lost in the confusion of the fork. This guiding thread (call it “main route”) should be visually easily discernible. In other words, take a quick look at the Dragon scheme, we have to find clear guidelines by which we can immediately and accurately see the “royal” route and ordered about him other routes.

For that a rule: “the main route to go primitive on a skewer.” By interchanging the words “yes” and “no” in the forks of switches and options (as well as attached to them a garland icons), you should ensure that on the way turned out to be the royal exit or switch the fork that leads to the greatest success (Fig. 8). A side routes must be placed according to the rule:“the right – the worse” (Fig. 9). If these rules are violated, the dragon is considered a bad diagram (Fig. 10a). However, it is always possible to turn to good (Fig. 10b).

In cases where the indication of “better-worse” does not work, instead it should choose any other reasonable criterion to offset to the right from the main route was not always arbitrary and chaotic, but thoughtful and orderly. For example, when solving mathematical problems outputs switch fork and options can be arranged from left to right in order of increasing or decreasing the mathematical value (data) corresponding to these outputs (Fig. 11, 12).

The main route SILHOUETTE

In the previous section we learned how to organize routes primitive. Now it is the turn of the silhouette.

Skewers branches called vertical connecting icon “branch name” with the icon of the “address”, and if a few branches outputs – to the left of them. For the branches remain in force, both “royal” rules:

  • the main route branches to go on a skewer;
  • side branches should be streamlined routes left for any of the criteria.

Suppose, as a criterion selected the principle “the right – the worse.” In this case, each branch silhouette should be built according to a single rule: the right (the farther from the rotisserie given branch) is another hierarchy, the less successful actions it performs.

For example, in Fig. 6a branch “to board the bus” has three vertically. Left vertical (major route) describes the most success, because you will go on a bus sitting. Right means the smallest vertical success as you got off the bus and the trip is delayed. Average vertical (located above the icon “There is a desire to ride standing up?”) Occupies an intermediate position, because – depending on the answer – there may be a partial success (you will go, but not sitting and standing), or bad luck, since you get off the bus empty-handed.

The main route silhouette – serial connection of the main routes alternately operating the branches. Thus, the dragon allows the reader to instantly see the main route anyone arbitrarily complex and branched algorithm and, moreover, makes the removal of all side routes on the “royal” is not accidental, but meaningful and predictable, t. E. Easy to grasp.

CROSSING LINES? - God forbid!

Some experts are prone to pronounced, called traditional flowcharts “pomoechnye flowcharts,” because they depicted the intricacies of blocks connected chaos anywhere walking ragged lines more like a bunch of garbage, rather than a regular structure. DRAGON favorably that its graphic pattern has a strict mathematical and cognitive ergonomic studies and is subject to stringent and elaborate rules. Among them is the rule, “crossing and clippings trunks are forbidden.”

When drawing a conventional flowcharting allowed two types of intersection of the lines: a clear picture cross lines and disguised performed by so-called connectors. As is known, the connector “is used to break the line and continue it in another place … to avoid unnecessary crossings.”

In the language of all these tricks DRAGON (intersections, breaks, connectors) for ergonomic reasons are considered harmful and is strictly prohibited, as they clog up the drawing unnecessary detail, create visual clutter for the eyes and distract attention from the main.

Since the ban is an important intersection topological constraints, the question arises: is it possible to represent an arbitrary algorithm in the form of a dragon-circuit?

Theorem 1. Any structural program can be displayed in the language DRAGON two ways: as a primitive form and silhouette.

Theorem 2. An arbitrary (unstructured) program in some cases can not be displayed in the form of a primitive; but using equivalent transformations that allow the introduction of additional variables (identifiers branches), it can always be shown as a silhouette.

To clarify the issue, let us turn to examples. Fig. 13a shows a diagram of the forbidden Dragon: primitive, which has an inherent (without additional variables) intersection. Fig.13b shows the silhouette of which, as is easily seen, is equivalent to the primitive in Fig. 13a and at the same time does not contain any intersections. Thus, the example in Fig. 13 confirms the validity of Theorem 2 1 .

To summarize.DRAGON Language has an important advantage: it allows you to represent any algorithm completely abandoning these ergonomically unsuccessful techniques as intersections, breaks, connectors. The absence of “parasitic elements” provides additional comfort for the reader, making dragon scheme transparent, easier to understand.


DRAGON – visual language, which uses two types of elements: graphic shapes ( grafoelementy ) and text labels are located inside or outside the graphic shapes ( tekstoelementy ). Therefore, the syntax of the Dragon consists of two parts. The visual syntax covers grafoelementov alphabet, the rules of their placing in the drawing and the rules grafoelementov connection via connecting lines. Text syntax specifies the alphabet characters, the rules of combining them and bind to grafoelementam (reference is necessary because in various graphical shapes using different types of expressions).Operators of the language DRAGON is grafoelement or a combination grafoelementov taken together with text labels.

Simultaneous use of graphics and text says that the dragon is addressed not only to verbal and logical thinking of the author and the reader of the program, but beyond that activates the intuitive, imaginative, right hemisphere thinking, encouraging him not to write, and it painted a program t. E. Program -kartinkoy.


DRAGON – not one language, but a whole family, all the languages ​​that have the same visual syntax (that makes the visual language of the family almost twins) and different text syntax.

DRAGON-1 – pseudolanguage visual, visual analogue of the usual pseudo-text. It is used to describe the structure of activity, creation of technologies, algorithms and software projects, used in the method step by step detail, as well as the formalization of professional knowledge.

DRAGON-2 – visual programming language real time. He is a member of CASE -technologies for software development management systems of rockets and space objects, as well as nuclear power plants, petrochemical and steel plants, biotechnological industries and so on. d.

In addition, the family includes hybrid visual programming languages: DRAGON-BASIC, PASCAL dragon, dragon, and so the SI. D. To get a hybrid language, such as DRAGON-SR, optionally, go take a visual syntax Dragon and joined him on certain Regulations SI text syntax.

Strict distinction of visual and textual syntax allows maximum expand the scope of the language, ensuring its flexibility and versatility. This uniformity of rules of visual syntax family dragon language ensures their conceptual unity and diversity of the text of the rules (ie. E. The ability to select any text syntax) determines the flexibility of the language and easy setup on various issues and subject areas.

This book focuses on the visual pseudo-DRAGON-1. As for the other languages ​​of the Dragon family, are given only a brief explanation.


Here is a summary of the rules of ergonomics that improve the quality of cognitive dragon schemes and make algorithms, software and technology more understandable.

  1. Sophisticated algorithms should draw a silhouette, simple – in the form of the primitive.
  2. The icon “title” is forbidden to write the word “beginning”; Instead, you should specify clear and precise name of the algorithm.
  3. Break complex algorithm into parts, each part represented as a branch. Give clear and easy to understand parts of the names and write them down in the icons “branch name.”
  4. Entrance to the branch is possible only through the beginning.
  5. The icon of the “address” is allowed to write the name of one of the branches, other labels are not allowed.
  6. Branches should be placed in the space according to the rule: the right, the later. The presence of browse cycle modifies this rule.
  7. Primitive necessarily skewer. This means that the primitive icon “title” and “end” always lie on the same vertical line, which is called the “skewer”.
  8. Each branch always has a skewer. In the right branch skewer – a vertical connecting icon “branch name” and “end”.The remaining branches of the rotisserie is a vertical line connecting the icon “branch name” and “address”, if several addresses – to the left of them.
  9. The algorithm is always the main route that has to go on a skewer.
  10. Side routes should be ordered from left to right in accordance with one of the selected criteria, for example: the right – the worse.
  11. The icon of the “end” should write the word “end.”
  12. Trunks can go either horizontally or vertically. Slope of the line is not allowed.
  13. The intersections of the lines are prohibited.
  14. Breaks lines are prohibited.
  15. The use of connectors is prohibited.


  • R13 (45.94 KB
  • R12 (42.57 KB
  • R11 (44.37 KB
  • R10b (37.67 KB
  • R10a (43.67 KB
  • R09 (40.18 KB
  • R07-08 (51.66 KB
  • R06b (33.81 KB
  • R06a (44.38 KB
  • R05 (92.96 KB
  • R04 (37.98 KB
  • R03 (38.58 KB
  • R02 (48.42 KB
  • R01 (42.41 KB

Leave a comment

Your email address will not be published. Required fields are marked *

seven − 4 =

Leave a Reply