Page 30 - Fister jr., Iztok, and Andrej Brodnik (eds.). StuCoSReC. Proceedings of the 2016 3rd Student Computer Science Research Conference. Koper: University of Primorska Press, 2016
P. 30
le 2: Translation of the application domain concepts to semiotic signs.

Icons Objects Meanings

Ibegin Begin(Laps, Lc) ”(ROUNDx == %Laps) → upd STARTx ;”
Iswim , Ibike , Irun Event(Event Type, Laps, Lc)
”dec ROUNDx ;”
Ita End(Lc) ”upd INTERx ;”
Begin(Laps, Lc) ”(ROUNDx == 0) → upd FINISHx ;”
Iend End(Lc) ”(ROUNDx == %Laps) → upd STARTx ; ”
Imd0 , Imd1 , Imd2 Md(Md Type, Mp, Ag, [Ip|Fn]) ”(ROUNDx == 0) → upd FINISHx ;”
”mp[%Mp] ← agnt[%Ag] {” | ”}”

3. MEASURING TIME IN AN AQUATHLON whilst the lower fields are where measuring devices have to
COMPETITION USING EASYTIME III be situated. Each icon also includes a square dot that en-
VDSL ables the control point to be connected with the measuring
point. Moreover, the transition area icon, similar to the
Aquathlon is a relatively young sport, the first National measuring device with two mats, includes two square dots.
Competition being held in the USA in 1965. It belongs to a Connection has to be made by dragging the source control
class of multi-sports, where the race consists of continuous point and dropping it into the destination measuring point
two-stage disciplines involving swimming followed by run- or vice versa. Furthermore, the EasyTime III visual editor
ning [14, 15]. Between both disciplines, however, a so-called also includes certain context dependent information, like the
transition area exists, where the competitors who finish the number of laps, IP address of the measuring device, or an
swimming prepare themselves for running. The time spent input file name. Zero laps on the swimming icon means
in the transition area is added to the final result of each that the swimming will not be measured on this measuring
specific competitor. Aquathlons are similar to triathlons. device. This information can be obtained by pressing the
Triathlons, however, have cycling in addition to swimming right-hand mouse button. The measuring time during an
and running. As a result, an aquathlon covers triathlon dis- aquathlon competition is configured as follows. The upper
tances as well. For instance, a 1 km swim is followed by a 5 graphical editor field determines the race configuration (i.e.,
km run, etc. Distances vary depending upon the race venue start of race, swimming, transition area, running and fin-
and race organisers. For building the EasyTime III visual ish of race), whilst the lower graphical editor field denotes
programs, an EasyTime III visual editor was developed us- situated measuring devices (i.e., realised by a measuring de-
ing the Qt [1, 3], where a lot of bindings with other languages vice with two measuring points). The connections between
also exist, e.g., Java, Python, Ruby, etc. The visual program the control points and measuring points determine where the
in an EasyTime III visual editor for measuring time during particular event has to be measured. For instance, the finish
an aquathlon competition is illustrated in Figure 3. The vi- time of swimming has to be measured at measuring point
sual editor is the graphical editor for describing the race to 1 (antenna mat 1), whilst the other three running events
be measured. It consists of a graphical editor area, where (start time, intermediate times, and finish time) have to be
the race should be described and a control area consisting measured at measuring point 2 (antenna mat 2).
of the buttons necessary for editing. In fact, the buttons
represent either the application domain features or miscel- 3.1 Source code generation for measuring time
laneous controls devoted to managing the visual programs. in an aquathlon competition
These buttons are divided into three subsets representing:
Source code generation starts with translating the user vi-
• the race configuration, i.e., buttons for dragging the sual model (consisting of icons and links) into semiotics ob-
icons representing the control points (e.g., Ibegin, Iend, jects. Indeed, an area of central points CP and area of
Iswim, Ibike, Irun, Ita ) and dropping them into specific measuring points MP together with an adjacent matrix rep-
positions within the visual editor area, resenting connections between control and measuring points
are generated. The results of this translation are illustrated
• situated measuring devices, i.e., buttons for dragging in Table 4. It can be seen from the Table that the control
the icons representing the measuring points (e.g., Imd1, points‘ area CP consists of six semiotics objects represent-
Imd2, Imd0) and dropping them into specific positions ing two disciplines (e.g., swimming and running) embraced
within the visual editor area, between Begin and End semiotics objects. The generated
names of the variables in these semiotics objects are distin-
• controls, namely the buttons necessary for opening, guished according to their location counter. For instance, all
saving and erasing the visual programs, and generating variables referring to the first discipline are generated with
the object code from the visual program. lc = 1, whilst the variables referring to the second disci-
pline with lc = 2. There are two measuring points within
Note that the graphical editor area consists of two fields an area MP, and four links where the time should be mea-
in which icons are placed sequentially. The upper is sen- sured. Note that the adjacent matrix LN designates the
sitive to the buttons designated control points, whilst the connections between the control and measuring points. The
lower to the buttons described measuring points. In fact, the program presented in the Algorithm 3 is generated according
upper fields of icons determine the configuration of a race, to the race configuration. This generation is straightforward
when someone follows the code generation as defined by the

StuCoSReC Proceedings of the 2016 3rd Student Computer Science Research Conference 30
Ljubljana, Slovenia, 12 October
   25   26   27   28   29   30   31   32   33   34   35