Chapter 11
[1]Page HistoryLast edited by PBworks 8 years, 7 months ago
VISUAL OPERATORS REAL TIME
A good image is sometimes not only allows you to make clear and
understandable are difficult questions, but often able to
suggest a fundamentally new philosophy, an idea, a hypothesis
that without such a pattern, they say, do not come to mind.
Alexander Zenkin
List of operators LIVE
In the language of DRAGON has five icons real time (Fig. 1, the
icons and 16 - I20):
* break;
* period;
* Start timer;
* synchronizer (timer);
* parallel process.
Three of them (pause, start the timer and parallel process) -
simple statements. The other two (the period and synchronizer)
are the "building blocks" for the construction of composite
operators and the latter is not used.
Icon "period" is an accessory cycles WAITING (Fig. 2, makroikona
7). Icon "synchronizer" serves to form the thirteen composite
operators (Fig. 2, makroikony 8-20).
Assignment operators explain, as always, with examples.
OPERATORS O
In language there are two visual DRAGON operator O "output"
(Fig. 1, an icon and 14) and the "enter" (Fig. 1, an icon
I15).They are not real time and operators are described here
because there are in the near example.
From Fig. 1 shows that the icon O are mnemonic form: an icon and
14 comprises a hollow arrow pointing out that symbolizes the
"output", and an icon I15 - arrow pointing inwards (input). Both
operators "double-decker", and is written on the top floor a
keyword or keyword phrase, and at the bottom (in the box) -
informative information to be input and output (Fig. 82, 83).
OPERATOR "PAUSE"
Suppose host computer must issue a series of electrical commands
that are transmitted over the communication lines to the
executive bodies and trigger the electromechanical relays. The
result is the opening of the pipeline, including the pump and
other operations necessary for the operation of the managed
object. Such a situation can occur in many systems, real-time
control: when refueling ballistic missiles, nuclear power
plants, refineries and so. D.
Consider a specific example. Assume control computer must:
* issue a command OTKRYT.TRUBOPROVOD;
* wait a minute or two;
* to issue two commands: VKLYUCHIT.NASOS and OTKRYT.ZASLONKU;
* wait 45 seconds;
* issue a command PODACHA.TOPLIVA;
* wait three minutes;
* PUSK.AGREGATA issue a command.
The program of the language DRAGON-2 is shown in Fig. 82. The
delay issuing commands is implemented using the icon "pause",
within which indicates the time delay required, for example, for
2 minutes (2 minutes), 45 (45 seconds), and so on. D. More
precisely, the top operator of a "pause" Fig. 82 works as
follows: After the command OTKRYT.TRUBOPROVOD the host computer
to run virtual timer for 2 minutes, after which the computer
outputs a line of communication and command VKLYUCHIT.NASOS
OTKRYT.ZASLONKU.
Operator "START TIMER" and "SYNCHRONIZER"
Returning once again to the problem described in the preceding
paragraph, and slightly change it. We will assume that the
developer wants to specify the managed object while not issuing
commands on a "delayed after the previous team," and the
principle of the stopwatch when all the time counted from the
moment of a single entry (which coincides with the launch of the
stopwatch).
On this basis, we formulate the problem of the control computer.
He must:
* include "stopwatch", t. e. to reset and run the virtual
timer;
* issue a command OTKRYT.TRUBOPROVOD;
* When the timer counts down for two minutes, to give a couple
of teams and VKLYUCHIT.NASOS OTKRYT.ZASLONKU;
* When the timer counts 2 minutes 45 seconds, issue a command
PODACHA.TOPLIVA;
* when the timer count down 5 minutes 45 seconds, issue a
command PUSK.AGREGATA.
Program implementing the algorithm is shown in Fig. 83. It uses
the "start timer" and "synchronizing" work together to provide
the desired effect.
The operator "start timer" creates, resets and starts the timer
and virtual assigns the name A. Camera "synchronizer" delays
execution placed on his right visual operator before the time
described in the icon "synchronizer". For example, A = 2min
synchronizer 45c in Fig. 83 delays the issuance PODACHA.TOPLIVA
team until the timer counts down A 2 minutes 45 seconds.
Comparing the program in Fig. 82 and 83, you will notice that
they are almost equivalent. Why almost? If you take the ideal
case, and assume that the time required for issuing a single
command is zero, the two programs will provide instructions
simultaneously. However, in reality, the specified time is
greater than zero, however in reality programs operate
differently.
The practice of developing control systems demonstrates that in
some situations it is preferable the principle breaks, and in
others - the principle of the timer, so both tools are equally
necessary and useful.
Fig. 84 presented a more complex algorithm that uses the
"pause", "start timer" and "synchronizing".
In the middle branch of the icon shows "pause" recording
2min48s. This means that after the completion of MAGIC REPAIR
DISH measured pause of 2 minutes 48 seconds and only after this
is done the TROUBLE DISH removal feature. Another pause
chetyrehsekundnaya provided in the left branch.
The right branch is the icon "start timer" with a record of A =
0. This statement creates, resets and runs virtual timer A. In
the same branch are three icons "synchro timer" with recordings
of A = 3 min, 5 min, and A = A = 8min. This procedure call TURN
teleportation will not happen immediately, but only after the
timer A count down for 3 minutes. Accordingly, the inclusion in
the work procedures DISCONNECT gravity and exit the astral body
will be delayed as long as the timer will not accept values
??And 5 and 8 minutes, respectively.
From Fig. 84 it is clear that the operator "start timer" can be
used in two ways. Firstly, together with the icon "synchronizer"
(this case we discussed), and secondly, in conjunction with the
icon "issue." The latter case is discussed in the next section.
CYCLE WAITING
Suppose you want for three minutes wait for at least one of the
two signs of the left engine in normal and right engine to
normal. Upon the occurrence of the event (the appearance of
signs) must include a plasma reactor. If there are no signs
named after three minutes should include the photon engine.
To solve the problem in Fig. 84 uses two operators: Start timer
T counts down three minutes, and the cycle is wait. The
structure of the last part of the icon "period" and the three
icons "issue" in which there are inscriptions left engine NORMAL
?, right engine correct? and T> 3min (check the last statement:
the timer T for more than three minutes?). If both signs are
absent, and the timer value is not more than three minutes, the
survey conditions periodically repeated, and the polling period
indicated in the icon "period." In this example it is equal to 4
seconds.
As can be seen from the figure, the work cycle WAITING end when
detecting one of the expected signs, and if they did not appear
- after three minutes.
In general WAITING cycle shown in Fig. 85. It allows you to
organize standby features B, C, D, ..., E. If there were signs
in the first, the action F. If B is not the first to come and
sign C, realized action G. And so on. Operators A and L are not
commonly used.
The task waiting a few signs (when the system has to react
differently to each attribute) is one of the most typical in the
development of real-time control systems. WAITING cycle offers
an extremely simple, easy, intuitive and effective means to
address it, thus satisfying an important need for practice.
OPERATOR "PERIOD"
Comparing makroikony 4 and 7 in Fig. 2 (normal cycle and the
cycle of wait), we see that they are very similar. Therefore, to
avoid confusion, you need to have some distinctive feature. This
function is performed by the icon "period." If it is in the loop
cycle - a cycle in front of us waiting. If not - the usual
cycle.
The man who stands at the bus stop and waits for the tram or
bus, takes the expectation as something continuous.However, the
program organizes the real time expectations as a discrete
process, and starts the cycle WAITING periodically. It follows
that the period - an important characteristic cycle wait.
And now ask the most interesting question: How does the operator
"period"? The trick is that this question would have to give two
very different answers.
From the perspective of the person reading the program in Fig.
84, everything is very simple: the cycle WAIT "cool" by their
loop at intervals of 4 seconds is not satisfied one of the three
conditions, and then exits the loop. Thus, the operator "period"
sets the repetition cycle period of waiting.
From the perspective of the functioning of the real-time
program, the situation is different. The bottom line is that the
duration period starts is not the application in Fig. 84, and
the dragon-Manager, a part of the real time operating
system.Operator "period" means the exit from the application:
control passes to the dragon-manager (with simultaneous transfer
option 4c). Every four seconds a dragon dispatcher transfers
control to the beginning of the cycle WAIT (point A in Fig. 84),
and if all three conditions give the answer "no", the operator
"period" whenever returns control to the dragon manager.Thus,
the operation cycle WAIT is provided jointly by the application
program and the dragon-Manager.
Often there is a situation where a real-time software developer
uses a loop to wait, but considers that its program specific
period value is irrelevant. In this case, the icon of "period"
should be left blank; the system will assign a default period of
maximum value from the range, which has a dragon-manager.
OPERATOR "parallel processes"
Suppose that two algorithms A and B, where A - the basic
algorithm,
and B - a subsidiary. Algorithms A and B may be operated in
series (Fig. 86) or in parallel (Fig. 87). To organize a
coherent work necessary dragon scheme A basic algorithm to draw
the icon insert labeled B. For example, in Fig. 84 mainly
checking algorithm flying saucer has an icon insert the check
engine. These algorithms operate sequentially. The basic
algorithm gives control algorithm and check the engine stops.
Resuming checking algorithm flying saucer will only happen when
the algorithm insert check the engine over. In general situation
is shown in Fig. 86.
Unlike the parallel mode is that after the auxiliary main
algorithm Algorithm A stops working and acts in conjunction with
the algorithm (Fig. 87).
To organize the parallel work is necessary in dragon pattern A
basic algorithm to draw the icon "parallel process" (Fig. 1, an
icon I20). Icon "duplex": on the top floor write a key word for
the command change the status of the parallel process, for
example, "Start", "Stop", and so on. D. On the ground floor is
placed the ID (name) of the parallel process.
Referring to the example in Fig. 84. The right branch has two
parallel processes of the operator control. After the procedure
WITHDRAWAL astral body is made stop parallel process Sabbat evil
spirits and start the process Sabbat good spirits.
It is assumed that before checking algorithm Frisbees a third
algorithm gave the command "Start" and launched a parallel
process Sabbat evil spirits. Last works in conjunction with the
algorithm TEST flying saucers until the date of issue the
command "Stop" (see. The last branch in Fig. 84). This command
removes a parallel process Sabbat evil spirits at this point
simultaneous operation ends. However, the following command
"Start" starts another parallel process - Sabbat good spirits,
which starts at the same time checking algorithm flying saucers.
FEATURES OPERATORS REAL TIME
We have already said that the cycle WAITING running applications
involving dragon Manager. This conclusion applies to all
operators real time. However, it should be emphasized that this
statement does not refer to the language, and to implement the
system and for different implementations may differ.
Operators of the real-time - is the formal language statements
visual programming Dragon 2. However, they can be used in a
pseudo-DRAGON-1 at the informal image algorithms - to build
visual "images" makes it easy to explain this or that idea,
related to real-time systems. Examples of such images are shown
in Fig. 88 and 89. In this case, the icon of cycle WAIT "period"
is usually omitted to avoid cluttering the figure (see. The last
branch in Fig. 88). However, if the length of the period needed
to understand the icon "period" can be saved (Fig. 89).
Unlike conventional computing and information program to program
real-time icon of the "end" may be missing. This is the case
when you need to organize an infinite loop that stops particular
external cause, such as turning off the power of the system or
the destruction of the object (Fig. 88, 89).
Dragon program may have more than one input. To arrange an
additional input, you need to place the icon "title" on the icon
"branch name" as shown in Fig. 84 on the right. Thus, any branch
can be declared an auxiliary input. However, there is an
exception: if several branches twig form a cycle, the entrance
is permitted only at the beginning of the cycle. The rest of the
construction branch "twig cycle" can not be included in the
program.
CONCLUSIONS
1. Availability of real-time operators dramatically expands the
visual possibilities of the language of dragons and it can
be used in the design and development of not only
information but also control systems. This substantially
increases the scope of the language.
2. An additional advantage is the brevity of means of
expression, their universality. In the language of only five
icons real-time, but their algorithmic power - in
combination with other features of the language - it allows
you to cover a wide range of tasks associated with the
creation of software for control systems.
3. It plays an important role ergonomic operator real time.
Like other operators DRAGON language, they have a visual
character that allows you to make real-time operations more
visible and easier to understand than the traditional text
entry.
4. Four icons (pause period, a timer and start synchronizer) -
"close relatives" in the sense that within each specified
time value. This kinship is its ergonomic reflected in the
fact that these operators have a visual "family resemblance"
- they built (with variations) based on the same geometric
shape - an inverted isosceles trapezoid.
5. Operators of the real-time computer generate complex actions
associated with frequent transfers of control between the
application and the operating system (dragon-manager).
Ergonomic highlight is that these programs deliberately
hidden from the reader program, so as not to clutter up the
text (drawing) minor details. With this reader's attention
is not distracted by trivia and he has the ability to
concentrate on the essentials, as the dragon diagram gives
him a clear, accurate and complete picture of an algorithmic
process, purified from the "debris".
References
Visible links
1.
https://translate.googleusercontent.com/translate_c?depth=1&hl=en&rurl=translate.google.com&sl=ru&tl=en&u=
http://drakon.pbworks.com/w/page-revisions/18205498/%25D0%2593%25D0%25BB%25D0%25B0%25D0%25B2%25D0%25B0%252011&usg=ALkJrhhFysE_2latQXa_7XYzDUue3178Bg