Documente Academic
Documente Profesional
Documente Cultură
Conference Dates
July 31-August 2, 2017
Conference Venue
Takamatsu Sunport Hall Building, Takamatsu, Japan
ISBN
978-1-941968-42-0 2017 SDIWC
Published by
The Society of Digital Information and Wireless
Communications (SDIWC)
Wilmington, New Castle, DE 19801, USA
www.sdiwc.net
Table of Contents
Controller Design based on Root Contour for Non-minimum Phase UAV System . 29
Automated Processing for Color Image Arrangement Based on Histogram Matching Using
Gaussian Distribution . 49
Thinning Round-robin with Rating Index and Virtual Environment for Battle in Applied Java
Programming Exercise with Game Strategy and Contest Style ... 85
Analysis of Modeling Design of Control Java Programming Exercise for Game Subjects and a
Traveling Machine with LEGO Mindstorms 110
A Prototype System to Browse Web News using Maps for NIE in Elementary Schools in Japan . 120
An Attempt for Visual Design based on some kinds of data from Dynamic Statistics in Shikoku
District .. 148
Exploring Review Spammers by Review Similarity: A Case of Fake Review in Taiwan . 166
Tobacco Leaf Area Growth Simulation with the Variational Level Set Method 171
Proceedings of the Third International Conference on Electronics and Software Science (ICESS2017), Takamatsu, Japan, 2017
AbstractThis paper presents a traffic flow model which resources. In self-drivings in future cities, autonomous car
considers self-driving in future cities. The model is based on moving is necessary to satisfy drivers desires. So, a car driving
a stochastic cellular automaton from the viewpoint of traffic is sometimes sort of stressful work just as it is now. Suppose
resources in fundamental traffic diagrams. We suppose a future
traffic system such as the updates of the model can be performed that you are now running a car in freeways. You may feel a
at every cells at the same time, so that every cars can move to higher stress to arrive within the scheduled time, when there
forward at least one cell even if all the cells are occupied by is a car in front of your car or another car behind. Then, your
cars. We introduce boundary effects and fluctuations as car- car might accelerate/reduce the speed (a reaction to run cars,
specific properties, and define six kinds of car running types we call it a boundary effect). In another case, your car may be
based on the properties. Then, we discuss how six-running types
are related to a traffic flow with respect to the variances of car difficult to keep a car speed constant during running, because
speed in fundamental diagrams. of uphills, downhills or others. Then, the speed of your car
Index TermsTraffic flow, driver modeling, multi-agents, six- would be also accelerated/reduced (another running reaction,
running types, and nonlinear features. we call it a fluctuation effect). Our problem is to clarify how
boundary effects and fluctuations are related to a traffic flow,
I. I NTRODUCTION where there are several running types as described later.
This paper presents a traffic flow model based on a stochas- A variety of traffic flow models have been presented for
tic cellular automaton which considers self-driving from the analyzing a traffic flow and finding the solutions of the traffic
viewpoint of traffic resources in future cities. The future traffic congestion to escape. There are two kinds of traffic models
system is that the updates of the model can be performed at to discuss a traffic flow: macro and micro models. A typical
every cells at the same time, so that every cars can move to one of the macro model is based on Burgers equation from
forward at one cell even if all the cells are occupied by cars, fluid mechanics[5]. The other micro model can be divided into
where each cell is occupied at most one car. So, we can model two: Optimal Velocity (OV) model[1] and Cellular Automaton
to run the cars which are suitable to no time lags to move a (CA) model [3]. OV model is presented for explaining traffic
car. We consider two unique features of effects as car-specific congestion based on differential equations. CA model [3] is
properties in running cars: boundary effects and fluctuations, successfully presented a fundamental model based on CA to
and define six kinds of car running types based on the effects. reproduce traffic flow faithfully. But, it is sometimes difficult
The boundary effects are to accelerate car speed if there is the to explain the reason why the model is successful. This paper
other car in behind, or to reduce car speed if there is other discusses how boundary effects and fluctuations are related to
car within the range to move at one time step. The former is a traffic flow in fundamental diagrams, i.e. the number of car
called a boundary effect in behind, and the later a boundary traffic vs. car density.
effect in front. The fluctuations are that the average moving The works [4], [6] based on a probabilistic cellular automa-
speed of cars is shifted to either faster or slower randomly, so ton model employed the rules, which are similar to this paper,
the fluctuations are distinct from a simple randomization. This on a circle rather than our model discussed on a straight line:
paper discusses the features of the traffic flow which considers acceleration, slowing-down, randomization and car motion
boundary effects and fluctuations, and we present the six kinds rules, and the model is trying to reproduce fairly faithfully a
of car running types. Then, we discuss how six-running types traffic flow in freeways. The work [2] which employed a slow-
are related to a traffic flow, and show that, in fundamental to-stop rule indicates that the results are close to the actual
diagrams, each running type is quite different from others. traffic flow.
A smart city is an attractive concept to develop cities by Our original motivation of this paper is that a traffic flow is a
using information technology and Internet of Thing (IoT). You stochastic autonomous moving multi-agent from the viewpoint
may suppose that there are no traffic congestion in a smart of the efficient uses of traffic resources in moving multi-agent
city? Cities are chunks of human desires. So, a traffic accident systems[7], each car is an agent in multi-agents, and each agent
may not happen, but a signal of desire is necessary. It might is arranged on the cells exclusively. Then, the fluctuations and
be quite difficult to prevent a traffic congestion, because a boundary effects play important roles to get high resource
traffic resource, road, is finite and a lot of cars occupy the utilization. This kinds of effects never go away. Because the
that the car speed is not only randomly changed but also the
average car moving speed is randomly shifted to either slower Fig. 4. Go-faster: Boundary effects behind.
or faster. We show how the boundary and fluctuation effects
are related to traffic congestion to be happened in freeways
under the fast car moving. They depend on their running types car-specific characteristics. Suppose you are driving a car in
proposed six kinds in this paper. freeways. We consider the car-specific characteristics as the
This paper is organized as: the following section presents following:
our future traffic flow model and discusses it. Our experimental 1) If there is a slower moving car ((b) in Figure 3) in
results in Section III show how six-running types are related front of your car, you ((a) in Figure 3) may slow down
to a traffic flow with respect to the variances of car speed in the speed more than necessaries in advance so that you
fundamental diagrams. In the final Section IV, we conclude might alleviate the stresses by slower-in and its more
this paper. safe. This is one of running types. On the other hand,
II. P ROPOSED T RAFFIC F LOW M ODEL IN F UTURE C ITIES if there is also another car ((b) in Figure 4) behind and
there are no cars in ahead, the speed of your car ((a) in
We describe a stochastic traffic flow cell model whose cells
Figure 4) might be accelerated for avoiding from stresses
are arranged on a one-way traffic resource, and the traffic is
behind, that is go-faster or faster-out. This is also one of
one lane (Figure 1 and 2). Each cell of the traffic is occupied
running types. In this paper, the driver types that change
by a car at most, and every cars stochastically run on the traffic
the speed more than necessaries for avoiding collisions
resource from left to right.
or alleviating higher stresses are said to be boundary
effects. They depend on other cars stochastically.
2) As a special case of the boundary effects in above, if
the cell in front of your car is unoccupied, but two
cell in ahead and behind cell are occupied, your car
Fig. 1. Traffic resources, and cars run from left to right on a lane. either shorten one cell in front (see (a) in Figure 5)
or not shorten, i.e. you either move a cell in ahead or
remain there. We say that these car specific reactions are
minimal boundary effects as described later by a.
d 3) Also, if there are small uphills or downhills in free-
Fig. 5. Shortening one cell too close a car in front in minimum boundary
effects.
ways (Figure 6), you would be difficult to keep the right shown in Figure 1 rather than on circles. The number
car speed constant, and the speed of your car will be of the traffic cells is 2, 000 on the straight. The moving type
accelerated/slowed down in average speed. These also which is considered is only fast moving, so we perform the
arise from some reasons including human factors or updates of the traffic cells from right to left, reverse, at each
others, and do not depend on other cars. We say that moving step, and provide 30, 000 cars. Their cars run 30, 000
their running types are fluctuation effects that the average steps for each exam in our experiments. At each updating
moving speed of cars is shifted to either faster or slower step, a car enters into the traffic only if the leftmost traffic
randomly. cell is empty. Otherwise, the car has to wait to enter into the
Now, how are you driving a car? We can consider two traffic until left most cell becomes empty. This means that we
extreme car moving types in a traffic flow: Fast moving examine the maximum traffic flow for every driving type in
and Sure moving. Fast moving is an ideal type of fast car fast moving on one way lane without signal lights, freeways.
moving in a traffic, so there are no time lags to move a car. Assume that each car speed v is either 0, 1, 2, 3 or 4 in the
Therefore, when the speed of all the cars are greater than or cases without running reactions, and the average value is 2 if
equal to 1, every car can move to forward at the same time there are no cars in ahead. Each car speed randomly changes
by one step in CA, even if all the cells are occupied by car. at every moving step. We use Mersenne twister as a random
That is, the updates in CA are performed from the most right number generator.
cell to left cell, sequentially. The boundary effects are implemented as every car speed
On the other hand, Sure moving is a type of a safe car v either increase 1 in average if the behind cell is occupied
moving at the next update step, so a car can move to forward, and two more cells in ahead are unoccupied, or decrease 1 in
only if there are no cars in ahead at the previous update step. average if v more cells in ahead are unoccupied and the car
Actual car moving in freeways is the probabilistic mixture of moves to the behind of car in ahead with a slowdown in speed.
two moving types: fast moving and sure moving. In this paper, Shortening one cell in the minimal boundary effect (Figure 5)
we only consider the fast moving, and discuss the relationships is considered if there only exists an empty cell in front and
between car density and traffic flow under six car running the speed is greater than or equal to 1. With even probability,
types, also described in later, of running reactions. the fluctuation effects either increase the speed 1 or decrease
Our model [7] is based on a hard particle model on closes the speed 1 in average.
intervals, and the goal is to achieve higher resource utilization We examine the car density and the traffic flow by varying
or stable multi-agent behavior. There are two magics for the distributions of the speed 0, 1, 2, 3 and 4 correspond to
1
getting higher resource utilization in multi-agents: a fluctuation the probabilities 0, 16 , 14 1
16 , 16 and 0, respectively. Then, we
(a shake) and a boundary effect. The later depends on their observe the car density on the cells between 501th and 1,500th,
positions. The two are just psychological effects in car driving. and the traffic flow is the number of cars to pass on the 2,000th
At the same time, they lead to effective use of traffic resources cell between 20,001th and 30,000th steps. We performed them
(Figure 7). 10 times for each running type, and obtained the traffic flow
In the following section, our experiments show how the versus car density relationships, the fundamental diagrams,
six kinds of running types are related to the traffic flow in shown in Figure 8-14. Our problems are how six-running types
fundamental diagrams. are related to a traffic flow with respect to the variances of
car speed, and we show them in the fundamental diagrams of
III. E XPERIMENTS traffic flow.
We consider six kins of car running types based on the Figure 9 presents the fundamental diagram of nb-nf by
running reactions in Section II, shows them in Table I, and changing the variation of car speed. 00-01-14-01-00 (the speed
assign the symbols nb-nf,.., and b-f-a to their running types. 0, 1, 2, 3 and 4, respectively) in the figure indicates the car
We prepare a one-way traffic consisting cells, and the traffic speed distribution ratios which correspond the probabilities
0 1
is one lane. Every car moves on the traffic cells from left to with 16 , 16 , 14 1 0
16 , 16 and 16 . It is quit a sharp convex
distribution. That is, every car speed is almost the same, but
there is a slightly different car. On the other hand, 05-03-00-
03-05 in the figure indicates the car speed distribution ratios
5 3 0 3
which correspond the probabilities with 16 , 16 , 16 , 16 and
5
16 . It is a concave distribution. That is, there are a mixture of
extremely slow cars and cars trying to run fast. When gradually
changing from a concave speed distribution to a convex one,
the number of cars and car density in the fundamental diagram
are increased together, and finally turn to left upside.
Figure 10 shows the fundamental diagram of nb-f by
changing the variation of car speed. It is a concave distribution.
When gradually changing from a concave speed distribution
Fig. 10. Traffic flow versus car density relationship of nb-f by changing the Fig. 12. Traffic flow versus car density relationship of b-f by changing the
variances of car speed: the probability ratios for the speed 0, 1, 2, 3 and 4 variances of car speed: the probability ratios for the speed 0, 1, 2, 3 and 4
are illustrated at the upper side in the figure. are illustrated at the upper side in the figure.
Fig. 11. Traffic flow versus car density relationship of b-nf by changing the Fig. 13. Traffic flow versus car density relationship of b-nf-a by changing
variances of car speed: the probability ratios for the speed 0, 1, 2, 3 and 4 the variances of car speed: the probability ratios for the speed 0, 1, 2, 3 and
are illustrated at the upper side in the figure. 4 are illustrated at the upper side in the figure.
Fig. 14. Traffic flow versus car density relationship of b-f-a by changing the
variances of car speed: the probability ratios for the speed 0, 1, 2, 3 and 4
are illustrated at the upper side in the figure.
representative facilities from the simulator. 1. machine-cycle level (one step execution):
Our CPU simulator can visualize in-
2.1 User Interface ner behavior of CPU, namely instruction
fetch, instruction decode and instruction
Our simulator can run on the major browsers execute. With one step execution, learners
of PCs and tablets/smart phones because of its can understand mechanism of CPU which
implementation by JavaScript. It is important performs instruction fetch, instruction de-
for learners to handle the simulator smoothly code and instruction execute graphically.
and correctly in order to understand how a
computer works graphically. User interface 2. repetition of machine-cycle level until
has been designed and implemented carefully stop by users (autonomous execution):
for learners to recognize inner structures and By repetition of machine-cycle behavior,
behaviors of CPU more clearly. Figure1 shows the simulator provides autonomous ex-
user interface (namely UI) of our CPU simula- ecution for a series of assembly codes.
tor. With this mode, learners can confirm
whether focused program or a series of as-
sembly codes (namely a part of program)
runs/executes correctly or not.
3. micro-operation level:
Especially, our CPU simulator can visu-
alize register-transfer level of CPU be-
havior, for example, instruction fetch has
been decomposed to the following micro-
operation such as transfer the content of
Program Counter(PC) into Memory Ad-
dress Register(MAR), read the relevant
data of memory addressed by MAR,
Figure 1. User Interface of our CPU Simulator on and transfer such data into Memory
UBUNTU Linux Data Register for Reading(MDR(Read)).
With micro-operation behavior, learners
The left side of UI in Fig1 shows detail of CPU can understand suitably inner structures
and main memory. The right side of UI also of CPU and register-transfer level of CPU
shows notepad and list of sample programs, behavior.
the former can provide note space for learn-
ers to write their programs (written in assembly 4. backward execution of micro-operation
codes) and the latter expresses a list of the reg- level:
istered sample programs learners can select to And more especially, our CPU simulator
execute by simulator. There are a group of but- can utilize one step backward execution
tons for learners to manipulate our CPU simu- of micro-operation. With the relevant op-
lator very easily. Those buttons include system eration, not only learners but also teach-
initializing, program loading, program execut- ers can investigate the execution of CPU
ing and so on. in the forward direction as well as in the
backward one in order to check and con-
2.2 Four Types of Simulation Modes firm their program.
Our CPU simulator equips and presents four With these four manipulation modes, users can
useful modes of execution of loaded programs. utilize our CPU simulator efficiently and effec-
They are summarized as follows; tively.
3. Program loading:
Program loading is also necessary be-
fore program executing. Such a loading
Figure 2. variable speed control of simulation
has two different options, namely Prog
Load to transfer into main memory from
3 PERFORMANCE OF SIMULATOR the contents of the area called Assem-
bly Program Source and Ex Load to
This section demonstrates system performance transfer into main memory directly from
of our simulator for user servies and introduces the contents of the selected example of
how to utilize it in order for learners, user in the list called Examples. Users can in-
the other hand, to understand how a computer struct our simulator to perform program
works graphically. executing after the adequate contents of
main memory had been occupied with
3.1 System Performance assembly code from Assembly Program
After our CPU simulator is invoked on the ma- Source or one Examples.
jor browser(s) such as Mozilla FireFox, Google
4. Program executing:
Chrome, Microsoft Edge/IE and Mac Safari on
After program loading is finished, pro-
users PC, it will provide the following typical
gram executing can be carried out by
manipulation by user, namely
means of choosing one of the four pow-
1. Preparation of program: erful modes for execution of simulating.
Users can select two modes for prepara- The detail of those manipulation will be
tion of program to be executed by our explained in subsection2.2. In the mode
CPU simulator. One mode is for users to of autonomous execution, users can ad-
write their assembly codes directly in the just simulating speed as was explained at
space called Assembly Program Source the latest part of subsection2.3.
After usage of our simulator in the practi- 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
cal classroom lecture, we had carried out the ()*+,-% ()*+,-$ ()*+,-# ()*+,-" ()*+,-!
(4) Are the display facilities such as color as- However, because of the results of ques-
signment and layout useful for you to ma- tions (3) and (6), namely approximately
nipulate our simulator ? less than 60% of answers only are agree-
able for the relevant questions, some ma-
(5) Is change of color for registers and con- nipulating and supporting facilities cannot
nection lines useful for you to understand obtain users good evaluation.
data flow inside of CPU ?
5 CONCLUSION
(6) Is simulator manipulation easy for you ?
We have developed CPU Simulator written
(7) Does usage of our simulator bring motiva- in Javascript to demonstrate how a computer
tion for learning to you ? works graphically. It can execute in almost
all the major browsers not only of PCs but
The aim of the above questions are to confirm also of Tablets/Smartphones. One of the use-
whether characteristics and merits of our CPU ful characteristics of our CPU simulator is to
simulator can provide users benefits and con- visualize Inside structure and behavior of a
tribution to learners understanding. Such a CPU through the Register-transfer level micro-
questionnaire was performed as voluntary base operations. With its four executing modes,
and only 34 students kindly replied their an- users can manipulate our CPU simulator to-
swers about the relevant questions, while 40 wards maximal performance and learners can
students participated in our classroom lecture. understand how a computer processes its pro-
REFERENCES
[1] M. Grigoriadou, et al., A Web-based Educational
Environment for Teaching the Computer Cache
Memory, IEEE Transactions on Education, Vol.49,
No.1, pp.147156, May 2016.
3 MULTILINGUAL IMPROVEMENT
This section illustrates modified user interface
for English, French and Portuguese spoken Figure 4. User Interface for English(a:upper)/
learners at first, and then demonstrates multi- French(b:lower) Learners.
specify user interface of our system for English 3.3 Multilingual Mode of Manipulation
users as a default due to world-level standard. (Design/Animation)
For Japanese, English, French and/or Por-
Even at the mode of French user interface, af-
tuguese spoken users, our newly improved sys-
ter finishing designing of network topology as
tem will provide almost the same facilities
is shown in Figure4, a user is asked to point
and services for its learners to understand net-
out source node (=terminal at the main win-
work structure and behavior through network
dow(the left hand) of UI in Figure6. He/She
topology design and animation of IP-routing.
specifies the leftmost node as source by means
All of us would be very happy if East-South
of mouse. Source is specified by a red round-
Asian young students, Central African young
ing circle shown in Figure6.
students and/or Brazilian young students were
interesting in our newly modified system and
were willing to learn network mechanism, pro-
tocols and future applications through their
handling our system.
4 ADVANTAGE IN REALIZATION OF
MULTILINGUAL SYSTEM
This section discusses advantage in realization
of multilingual e-Learning system based on in-
ternational internship program.
Figure 8. Design and Animation of Network for French
Learners No3. 4.1 Improvement of the Existing System
and Application
router receiving the packet from the first one People say that Kagawa university has been
and then transferring it to the third one. The wanting to resolve its several problems, for ex-
relevant second router has more than two dif- ample, its faculty members are willing to en-
ferent IP addresses for realization of flexible hance their research themes and/or apply their
connectivity, whose values of addresses are research results into larger/other domains than
shown in the red numbers and the router itself used to be. As they consider this time in-
is specified by the red rounding circle. And ternational internship program to be a good
he/she can find the related table for Routing trigger, they have requested us to improve
Information Protocol in the right hand window their existing systems into world-wide avail-
of the user interface. He/She can also check able/applicable one together with us. And they
the value of TTL(Time to live) in the bottom seem to be pleased after we can understand
yellow line of the same interface. their existing system in a short period and pro-
pose our idea to improve their system by means
of multilingual services.
For us, it is an attractive chance and useful
opportunity to have good experience to inves-
tigate existing systems by Japanese Master-
course students, namely check the knowledge
and performance levels of such students. And
moreover we feel lucky because we can choose
our favorite target(s) among their preparing
tasks and/or projects. This is why we had
wanted to build Web-based application, espe-
cially program written in JavaScript as interna-
Figure 9. Design and Animation of Network for French tional project of internship program before our
Learners No4.
visiting to Japan.
Not only French spoken learners but also En- 4.2 Collaboration through Multilingual
glish/Portuguese/Japanese spoken learners can Viewpoints
suitably manipulate our system according to
the French/English/Portuguese/Japanese guid- Kagawa university has assigned some master-
ance(s) so that they will be able to recognize course students to be supporters and tutors
how an IP packet flows from source to desti- for applicants of international internship pro-
nation and how each router receives and trans- gram and asked them to help us to be living
fers the relevant packet in a coordinated way and studying alone during staying. They are
good friends but seem to be not good at speak- topology and how to perform demonstration
ing French as well as English, while we were of IP-packet routing from specified source to
learning Japanese in our country so that we are specified destination by means of animation by
not so difficult to communicate them directly means of section of user interface which can
with their foreign languages, namely English, provide English/French/Portuguese supports
French or Portuguese. In such a case, collab- for learners.
oration among internship foreign students and Our team is beginning to write the con-
Japanese ones used to be not so easy to accom- tents of questionnaire for users to answer af-
plish. ter manipulation of the system. They are
This time we are happy because not only we described not only in Japanese but also in
but also they can understand and manipulate French/English/Portuguese in order to obtain
GitLab/GitHub so that it is good for us certain evaluation from users of the world.
and them to accomplish fruitful collaboration We are ready to carry out questionnaire for
through Git-based environment. They have French/English/Portuguese spoken users since
provided their existing system to us by means it was done for Japanese.
of their GitLab, and we obtain from GitLab its
detail of such system(s) at the source code level ACKNOWLEDGEMENTS
and improve it(them) into world-wide avail- We are very thankful to International Intern-
able one(s) together with them during intern- ship Program between ESIEE Paris and Ka-
ship program. gawa university, Japan because of its provid-
And we have another good experience to in- ing very useful opportunity for us to staying in
troduce and explain our national education Japan and accomplish a creative task.
scheme from elementary school to university
level in English among Japanese students and REFERENCES
teachers. Not only they but also we have ob-
[1] M. Arai, et al., Development and Evaluation of
tained good stimulation from such introduction
TCP/IP Protocol Learning Tools (in Japanese),
an discussion in English. We hope that we will IPSJ Journal, vol.44, no.12, pp.32423251, Dec.
have additional research themes through those 2003.
discussion among all the participants.
[2] Y. Tateiwa, et al.,Development of a system to
visualize computer network behavior for learning
5 CONCLUSION
to associate LAN construction skills with TCP/IP
This paper describes detail about our multilin- theory, based on virtual environment software (in
Japanese), IPSJ Journal, vol.48, no.4, pp1684
gual improvement of existing e-Learning sys- 1694, April, 2007.
tem of Kagawa university. The existing e-
Learning system was prepared for learners to [3] C. Kawanishi, et al., Development and Eval-
understand network connectivity and behavior uation of Learner-centric Graphical Educational
of IP-packet routing by means of its visualiza- Tool for Network Study, Proc. of 2013 In-
ternational Conference on Humanized Systems
tion facility. But that system had been avail-
(ICHS2013@Takamatsu), pp.108113, Sept. 2013.
able for Japanese spoken user only because of
explanation written in Japanese and not special [4] Y.Imai, C.Kawanishi, T.Hattori, Y.Hori, Develop-
guidance for foreign users. ment and Evaluation of Learner-centric Graphical
With our multilingual supports, not only Educational Tool for IP Routing and Network Be-
havior, IEEJ(the Institute of Electrical Engineers
Japanese spoken learners but also En-
of Japan) Transactions on Electronics, Information
glish/French/Portuguese spoken learners have and Systems, Vol.134, No.11, pp.16341639, Nov.
been able to manipulate improved e-Learning 2014.
system more effectively and smoothly than
used to be. And moreover they will be able
to recognize how to design sample network
ABSTRACT 1 INTRODUCTION
This paper investigates the effectiveness of re-
duction of training sets and kernel space for action- Considering an action decision based on
decision using future prediction. Considering a future prediction, its necessary to know the
working in a real environment based on future pre- property of disturbance that will be given by
diction, its necessary to know the property of its outside environment [1]. On the other hand,
state and disturbance that will be given by the out- obtaining the property of the disturbance is de-
side environment. On the other hand, obtaining the pend on specication for target processor, es-
property of the disturbance depends on specica- pecially, sensor resolution or processing abil-
tion for target processor, especially, sensor resolu- ity of the processor. Therefore, sampling rate
tion or processing ability of the processor. There- settings will be limited by hardware specica-
fore, sampling rate settings will be limited by hard- tion. In contrast, in case of a future prediction
ware specication. In contrast, in case of a future using a machine learning, it predicts that based
prediction using a machine learning, it predicts that on the tendency that obtained by past training
based on the tendency that obtained by past training or learning. In this kind of situation, the learn-
or learning. In this kind of situation, the learning ing time will be proportionally larger to train-
time will be proportionally larger to training data. ing data [1, 2].
At worst, the prediction algorithm will be hard to A State-action Pair Prediction had been pro-
work in real time due to time-complexity. posed. In this method, the prediction perfor-
In the proposed method, the possibility of care- mance [3] and action decision methods [4, 5],
fully analyzing the algorithm and applying dimen- had been considered based on some prediction
sionality reduction techniques in order to accelerate results. In above-mentioned methods, the be-
the algorithm has been considered. In particular, havior of the robot has been considered when
we will consider that to reduce the training sets and an unknown periodic disturbance signal will be
kernel space based on the recent tendency of distur- given the robot, continuously. On the other
bance or state using FFT and pattern matching will hand, in these studies, the learning space had
be focused on. From this standpoint, we will pro- not been considered in action decision or fu-
pose the method that to dimensionality reduction ture prediction. In general, non-linear clus-
dynamically based on the tendency of disturbance. tering (or regression, such as this work), Ker-
nel Function was used, that allows growth of
the SVM (also SVR) solution, which starts in-
KEYWORDS
vading other space, and this other space is
Online SVR, Predict and Control using State-action called the Features Space. This allows us to
Pair Prediction, Dimensionality Reduction change the information from one linear space
to another one. This permits us to better clas- inverted pendulum, in case of continuing the
sify (or regression) the examples. However, the predictive disturbance using the prediction the
speed of learning depends mostly on the num- State-action Pair that had proposed in the for-
ber of support vectors, that can inuence signi- mer our study [3]. Therefore, in this paper, we
catively performances. Therefore, in simply, considering the system that decides the action
the complexity of learning will be proportional to optimize as the proposed method in g. 1
as the size of training sets. If the recent ten- based on the former study and the study [4].
dency of disturbance or state, or these period In g. 1, this system will be applied optimal
will be obtained, the training sets will be re-
d (t )
duced. Moreover, the length of training sets us(t +1, t + N ) ( t ) u (t ) Robot x (t ) x (t )
-1
z
will be xed in spite of a new training set will
u p (t )
(Inverted Pendulum)
be added.
Therefore, in the proposed method, the possi- u p ( t + 1) u p ( t + 1) Kf x (t )
z-1 State-Feedback Stabilizer
bility of carefully analyzing the algorithm and ( Applied LQR )
From this property, the Nearest-neighbor B < fs /2. From this theorem, the sampling
One-step-ahead forecasts [7] will be applied, to rate t0s will be dened as follows:
detect a cycle period of the disturbance signal.
Let illustrate about the Nearest-neighbor One-
step-ahead forecasts. As shown in g. 4, tar- Tdisturbance
t0s (5)
get function f (t) will be repeated similar ten- 2
dency. In this case, we want to predict at time
t + 1 the next value of the series f . The pat-
tern f (t 12), f (t 6) is the most similar to In here, the sampling rate t0s ts will be integral
the pattern. Then, the prediction will be calcu- multiple of original sampling rate ts . Then, a
lated. As a result, the Nearest-neighbor One- result obtained by divide t0s by ts will be train-
ing set that build a prediction model. There-
f (t) pattern matching fore, new training sets will be dened:
t0s
N= (6)
ts
S = {stN , stN +1 , . . . , st } (7)
JS (w)/w = 0). Hence, the SVR model to input x can be derived the
equation anew as
1 [{ > }
t
JS (w) =2 w (xj ) + b yj
w 2 j=tN y(x) = w(x) + b = a> (x) + b
= k(x)> (K + IN )1 y + b (14)
(xj )] + w + w = 0
2 2 [ ]>
where k(x) = k (xtN , x) . . . k (xj , x)
[{
t
}
0= w> (xj ) + b yj
j=tN
In this time, prediction result and Kernel ma-
trix will be updated as below:
(xj )] + w
1 { > }
t
y(x) = w(x) + b = a> (x) + b
w= w (xj ) + b yj (xj )
j=tN = k(x)> (K + IN )1 y + b (15)
[ ]>
t
where k(x) = k (xtN , x) . . . k (xt , x)
= aj (xj ) = > a
j=tN
(9) QstN ,stN QstN ,st
[ ]> .. .. ..
Q= . . . (16)
where a = atN . . . at ,
Qst ,stN Qst ,st
1{ > }
aj = w (xj ) + b yj
The matrix Q contains the values of kernel
Now, is called the design matrix, and the function and it is called kernel matrix. In these
j-th row is described by (xj )> . Here, the pa- equations, learning space Q and training sets
rameter vector a replaces w, x will be re-construct each sampling time and
adding new training data. Therefore, the learn-
1
J(a) = a> > > a a> > y ing space and training sets will be reduced each
2 sampling time. As mentioned before, the speed
1
+ y> y + a> > a (10) of learning depends mostly on the number of
2 2 support vectors, that can inuence signica-
Now, the Gramian matrix K = > will tively performances. As a result, the speed of
be dened. Here, the matrix coefcient of K is learning will be improved than former works.
given by
Kjm = (xj )> (xm ) = k (xj , xm ) = Qjm 3 THE VERIFICATION EXPERIMENT
(11) COMPUTATIONAL SIMULATION
This matrix coefcient is the symmetric ma- USING THE PROPOSED METHOD
trix as a kernel matrix. Now, lets rearrange the 3.1 Outline of the Experiment
sum-of-squares error function JS by using the
Gramian matrix: In this experiment, we stabilize the posture
1 of a two-wheeled self-propelled inverted pen-
JS (a) = a> KKa a> Ky dulum NXTway-GS (g. 5) as an applica-
2
1 tion, using the computer simulation. In this
+ y> y + a> Ka (12) verication experiment, we compared the con-
2 2
trol response of the proposed method with the
The equation is rearranged by isolating a: ordinary method. Furthermore, in proposed
a = (K + IN )1 y (13) method, the predictor only used the proximate
predicted result repeatedly training data from 0
Here, IN represents the N N identity ma- [s] (dont reduce) or training sets that reduced
trix. Therefore, the prediction result y(x) for in each sampling time, for postural control.
3.2 Simulation Setup - the NXTway-GS for each coordinate are given as ([10]-[11]) ;
Model [ ]
(2m + M ) R2 + 2Jw + 2n2 Jm + (M LR
NXTway-GS (g. 5) can be considered as )
inverted pendulum model shown in g. 6. Fig- 2n2 Jm Rg (M + 2m) sin = F
ure 6 shows the side view and the plane view (17)
( ) (
of the model. The coordinate system used in M LR 2n2 Jm + M L2 + J
3.3 is described in g. 6. In gure 6, de- )
+2n2 Jm M gL = F (18)
notes the body pitch angle and ml,mr denotes [ 2 (
]
1 W )
the DC motor angle (l and r indicate left and mW 2 + J + 2
Jw + n2 Jm = F
right). The physical parameters of NXTway- 2 2R
GS are listed in table 1. (19)
1.0
0.5 0 0.0262 [rad.] Initial value of body pitch angle
0.0
0 0.0 [rad.] Slope angle of movement direction
0.5
1.0 ts 0.05 [s] Sampling rate
1.5
0 5 10 15 20 25 30 Start time of
time [s] td,start 0.0 [s] application of
predictable disturbance
Figure 8. Disturbance Signal in Control Inputs d(t)
(overall) Finish time of
td,nish 45.0 [s] application of
predictable disturbance
1.5
Amplitude of
disturbance input [V]
1.0
0.5
Ad1 1.0 [V] predictable
0.0 disturbance
0.5
fd1 1.0 [Hz] Frequency of predictable disturbance
1.0
1.5 Ns 60 Initial dataset length
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
time [s] Maximum
Nmax 241 dataset length
Figure 9. Disturbance Signal in Control Inputs d(t) (fo-
for the prediction
cused on 0 [s] to 1[s])
Step size of outputs for
N 20 N -ahead State-action Pair Predictors
model. Herewith, we can acquire the train-
outputs
ing sets from the two-wheeled inverted pendu-
Weight coefcients for
lum. In gures 10 to 12 shows training sets that N i+1
i u(t + i), i N
were obtained from the computer simulation of 100N
the stabilize control of the two-wheel inverted iN (for the contrast experiment [4])
0.8
ditions of a simulation are listed in table 3. 0.6
0.4
0.2
3.7 Simulation Results 0.0
0.2
Figures 10 and 11 show compensation re- 0.4
0 T 5 10 15 20 25 30
prediction of the control input and compensa- Compensation Result (LQR + Online SVR) (u = up + us)
tion input using prediction result of u. Figure 10. Control Response of the Wheel Rotation An-
In this section, we will not consider the part gle (1)
that is given in real training sets. Thus we will
only argue and focus on the part of the graph 0.05
0.04
pertaining to the state predicted part shown in
body pitch angle [rad.]
0.03
0.02
T (at t = 3.00 [s]) of gs. 10 and 11. 0.01
0.00
0.01
0.02
3.8 Discussion on Simulated Results 0.03
0.04
0 T 5 10 15 20 25 30
In here, starting and predicting the state pre- time [s]
Only LQR (u = up)
dicted point is shown at t = 3.00 [s] as shown Compensation Result (LQR + Online SVR) (u = up + us)
in T .
Figure 11. Control Response of the Body Pitch Angle
According to these results (gs. 10 through (1)
12), compensation results using the proposed
1.5
1.0
disturbance signal will be estimated. In this
control input [V]
0.5 time, the current action and states are also sud-
0.0
denly changed by the compensation control in-
0.5
1.0
put based on the former learning space and
1.5
0 T 5 10 15 20 25 30
training sets. In a former study, training sets
Only LQR (u = up)
time [s] and learning space are including much predic-
Compensation Result (LQR + Online SVR) (u = up + us) tion error, in phase of early training. Therefore,
in the mechanism of State-action Pair Predic-
Figure 12. Control Response of the Control Input u (1) tion, it will use former training sets, and will
add new training sets to current learning space.
method (are described in red solid line) are ap- Namely, results of prediction and revised ac-
proaching to zero, with time. Next, we will tion will be inuenced by past prediction error.
focus on each result. On the other hand, in the proposed method, the
kernel matrix will ignore early learning results
9
wheel rotation angle [rad.]
8
7
and early compensation result. In other words,
6
5
it use results including less affection of predic-
4
3
tion error, according to the time elapsed by the
2
1 training set of out of the disturbance tendency
0
1
0 T 5 10 15 20 25
period will not be used. Further, this system ac-
time [s] quires the data each at the sampling times. Us-
Only LQR (u = up)
Compensation Result (LQR + Online SVR) (u = up + us) ing these changed results, the proposed system
derives an action that multiplied states to the
Figure 13. Control Response of the Wheel Rotation An-
gle (2) [4]
optimal feedback gain for the future state. As
a result, this system is stabilizing the inverted
pendulum using current outside data and pre-
0.06
0.05
vious states and an action. As a result, we can
body pitch angle [rad.]
0.04
0.03 be said that internal states and an action will
0.02
0.01 converge to zero, according time course. From
0.00
0.01
0.02
these viewpoints, we conclude the experimen-
0.03
0.04
tal results are reasonable.
0 T 5 10 15 20 25
time [s] 2
Only LQR (u = up)
Compensation Result (LQR + Online SVR) (u = up + us) 0
control input [V]
(2) [4] 6
8
10
0 T 5 10 15 20 25
Next, lets compare the results between pro- time [s]
Only LQR (u = up)
posed method and the results that showed in Compensation Result (LQR + Online SVR) (u = up + us)
basis of former our works, we proposed the NanoMechatronics and Human Science, pp.199-
method that reducing training sets and learn- 204, Nov.9-12, Nagoya, Japan, 2014.
ing space, for prediction, based on predic-
[5] M. Sugimoto and K. Kurashige, Future Motion
tion results that obtained by recent tendency Decisions using State-action Pair Predictions, In-
of disturbance frequency, dynamically by us- ternational Journal of New Computer Architectures
ing Nyquist-Shannon sampling theorem. Ap- and their Applications, Vol. 5 No. 2, pp.79-93, 2015.
plying this proposed method, it was obtained
that the body pitch angle of NXTway-GS was
[6] R. Koggalage and S. Halgamuge, Reducing the
converged to zero, with time. In other words,
Number of Training Samples for Fast Support Vec-
the compensated action for rapid convergence tor Machine Classication, Neural Information
was obtained, similarly as a normal training Processing Letters and Reviews, Vol. 2, No. 3,
sets and learning space method. pp.57-65, 2004.
From the verication experimental results,
[7] G. Bontempi, Machine Learning Strategies
the proposed method could be converged to
for Time Series Prediction, Machine Learn-
a desirable state as similar as xed training ing Summer School, 2013. [Online]. Available:
sets. To be more specic, the slope of the http://www.ulb.ac.be/di/map/gbonte/ftp/time ser.pdf
body pitch angle of NXTway-GS will be con-
verged to zero, based on state and action pre- [8] C. M. Bishop, Pattern Recognition and Ma-
chine Learning (Information Science and Statistics).
diction and decision. Accordingly, the pro-
Springer, 2006.
posed method can be adapted to the situation
of frequency property of disturbance will be [9] F. Parrella, Online Support Vector Regression. PhD
concluded. From results of verication exper- thesis, Department of Information Science, Univer-
iments, it can be concluded that the proposed sity of Genoa, Italy, 2007.
system can predict what be dened by training
[10] M. Sugimoto, H. Yoshimura, T. Abe, and I.
sets and learning space that can be obtained the
Ohmura, A Study on Model-Based Development
property of a disturbance signal, based on the of Embedded System using Scilab/Scicos, In Pro-
Nyquist-Shannon Sampling Theorem. In addi- ceedings of the Japan Society for Precision En-
tion, as a future work, we will conrm the re- gineering 2010 Spring Meeting, Saitama, D82,
sponse of the proposed system on actual robot. pp.343-344, 2010.
Controller Design based on Root Contour for Non-minimum Phase UAV System
education and training. So there are also many Table1. The geometry parameter of Scale Cessna182
different scale patterns of prototype on the
Scale factor
market. Because the performance of the scale
( SF = 6.65 )
machine is similar to the prototype, therefore,
Wing span ( ) b 5.4135
the scale model is often used to carry out the Wing surface ( ) S 3.9346
relevant experiments of the real flight True airspeed ( ) 85.3511
equipment. The scale Cessna 182 is shown as
Dynamic pressure ( ) = 7.4586
Figure 1 [1], and the various parts of the body
are seen in Figure 2 [2,3]. The geometric Steady state angle of attack (deg) 0
parameters of the scale Cessna 182 are shown
in Figure 3 [4] and Table 1.
2.2 Model Constructing of the UAV
Figure 3. Geometry parameter definition of Scale 2.3 The Longitudinal Motion Equations of
Cessna 182 [4] Scale Cessna 182
equation for aircraft. Again, the complete Table 3. Relationships for partial derivatives of
derivation process of aircraft motion equation longitudinal aerodynamics [7,8]
can be referred to the reference [6]. As we Partial Partial
Partial
derivative derivative of
know, the longitudinal linearization equation derivative
of pitching
of normal
of the aircraft can be also represented as forward moment
force
force M
equation (1). Advance speed ( )
Angle of attack ( ),
AOA
( )
Angle of elevator ( )
( )
Vertical speed ( )
( ) ( )
Pitch rate ( )
(1) Change rate of
vertical velocity ( )
Rate of AOA( )
where is the derivative of the forward Thrust of engine to
( ) ( ) ( ) ( )
scale Cessna 182 as { }. ( )
=
( ) ( ) ( )
(4)
In additions, before system analysis and
controller design for the UAV (scale Cessna
Transfer function of the pitch angle
182), the ratios of the aerodynamic
( ( )) to the elevator angle ( ( )):
parameters and geometric parameters between
the scale Cessna 182 and prototype Cessna ( )
182 must be considered. The ratio result is =
( )
shown in Table 4 [8]. (5)
Since the ratio of scale Cessna 182 to
prototype Cessna 182 is 1: 6.65, so we set 2.4 Equations of Lateral Motion
scale factor, SF, be the value of 6.65.
Therefore, we can obtain the partial derivative The linearized equation of lateral motion
of longitudinal aerodynamics as Table 5 [8]. for scale Cessna 182 after deriving can be
After reintegrating and deriving the Eq. (2) seen as Eq. (6) [8]:
with the parameters in Table 5, we can get the
( ) +
three transfer functions of the scale Cessna
182 shown in Eq. (3~5) [8]:
Table 4. The ratios of longitudinal aerodynamics for
Scale Cessna 182 [6,9] (6)
Scale factor Scale factor
SF=6.65 SF=6.65 Where is the differential of side slip
angle, . and is the first and second
1
1
SF SF differential of yaw angle, . And and is
1 also the first and second differential of roll
1
angle, , respectively.The other parameter
SF SF
values can be seen in as Table 2, Table 6 [8],
and Figure 4.
SF
SF
SF Table 6. Relationships for partial derivatives of lateral
aerodynamics [8]
Side
Slip moment Yaw moment
Table 5. Partial derivatives of longitudinal force of
of L-X axis of N-Z axis
aerodynamics for Scale Cessna 182 [8] Y axis
-0.07839 0.228 -11.1841 Sideslip angle
( )
-0.75274 -5.4448 -1.7613
Speed of roll
0 -1.5005 -0.0771 angle ( )
19.459 0 -0.7678 Speed of yaw
-464.71 -44.985 -6.584 angle ( )
-128.079 -234.419 -0.0392 Ailerons angle
0 0 ( )
Rudder angle
( )
Transfer function of the speed ( ( )) to
the elevator angle ( ( )): In addition, the change rate of Euler
angle and rotational angular velocity of the
( )
( )
= UAV with the small interference can be seen
(3) the same, so we can obtain the following
result:
Transfer function of AOA ( ( )) to the
elevator angle ( ( )):
Using the Laplace transformation to the
Equations (6) and assuming the initial Table 8. Partial derivatives of lateral motion for Scale
conditions are zero; besides, the initial flying Cessna 182 [8]
state of the system is stable, then we can get -41.11 0.71 19.56
the result as following: -201.163 -5.5185 32.053
61.6455 -3.1203 -67..7635
-0.249 0 -0.9284
( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) -33.4465 499.149 -22.6765
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
Transfer function of the sideslip angle
Set , then substitute and ( ( )) to the rudder angle ( ( )):
( ) ( ) ( ) ( ) ( ) ( ) ( ) (8)
- ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
(7) Transfer function of roll angle ( ( )) to
ailerons angle ( ( )):
In the aircraft motion, let the ailerons ( )
angle ( ) and rudder angle ( ) to be the ( )
=
input of the lateral motion. Therefore, the
transfer functions of the lateral motion are (9)
( ) ( ) ( )
{ ( ) ( ) ( )} . Consider the scale factor
between the scale Cessna 182 and the Transfer function of yaw angle ( ( )) to
prototype Cessna 182 [2-4] and the partial rudder angle ( ( )):
derivatives of lateral aerodynamics [1,7], we ( )
can get the partial derivative value in =
( )
proportion as Table 7 and Table 8 [8]. After
reintegrating and deriving the Eq. (7) with the (10)
parameters in Table 6~8, we can also obtain
the three transfer functions of the lateral 2.5 Transfer Function of the Actuator
motion for scale Cessna 182 (shown as Eq.
(8~10) [8]): When analyzing the aircraft system, in
reality, we should consider the actuator.
Table 7. The ratio of the lateral motion for Scale Generally, the actuator is a first order system.
Cessna 182 Its transfer function can be represented as Eq.
Scale factor Scale factor
SF=6.65 SF=6.65 (11), the parameters of the actuator is shown
1 SF as Table 9.
SF SF
SF 1
SF
SF (11)
Table 9. Parameter of actuator.
Angle of elevator
Input voltage
Gain value of servo motor
Time constant of servo
motor
motor is usually between 0.05 ~0.25 second. performance. It can also overcome the
In this paper, we set the time constant of difficulties of the controller design due to the
servo motor is 0.1 second. high-order aircraft systems. Besides, it helps
Besides, the up direction with respect to to design the suitable controllers to meet the
the elevator surface is negative in definition. task requirements and extend the UAV
The up direction with respect to the rudder applications. The following are some methods
surface and ailerons surface is on the contrary. of controller design.
Hence, the transfer functions of servo motors
for elevator, rudder, and ailerons can be 3.1 PID Controller
defined as Eq. (12):
The advantages of orthodox PID
controller include: (1) PID is theoretical; (2)
easy to achieve; (3) high control accuracy.
However, the controller designers must
deeply understand the system characteristics
{
(12)
and the operating environment. Besides, these
PID controllers have to be designed via root
3 Research Methods locus criterion, and then the operators can
design the suitable PID controllers. However,
This study is based on the root locus many operators design PID controllers based
method, and combines with PID theory to on ZieglerNichols method now. Therefore,
design a robust controller. Different from these PID controllers lack the advantages
other references that use ZieglerNichols discussed above from orthodox PID. The
method or another trial and error method to greatest strengths of these PID based on
obtain the PID parameters, the controller ZieglerNichols method are that it is easy to
design in this paper is more flexible and obtain the PID parameters, even though theses
adjustable in response to the environment and parameters are not very appropriate, but these
requirement. parameters did help to obtain some slightly
For controller design in this paper, better system performance; besides, the
firstly, applying the root locus method to find operators do not have to learn additional skills
the change of the single variable, secondly, of controller design, e.g., root locus (RL), root
uses the root contours method to solve the contour (RC), and so on. However, Ziegler
coupling effects among the multiple controller Nichols method really lacks the flexibility and
parameters and find the optimal parameter of accuracy. It is not easy to adjust some specific
controller further. Moreover, we propose a parameters to meet some special demands or
new design method of controller with the achieve some special accuracy in real time.
reverse multi-variable RC. The new method is Its just a kind of trial and error method and
practical and efficient to design the has to try many times to obtain a bit better
controllers. This new method can overcome parameter. This is also the main reason why
the negative effect due to the non-minimum we didnt apply the easier, ZieglerNichols
phase system that ZieglerNichols method method to design PID or other controllers in
cannot deal with. Even though there are this paper.
already some methods, e.g., fuzzy PID, The general form of PID transfer function
sliding mode control, multi-model adaptive is shown as Eq. (13), where the related
control, and so on [10-13]. However, these parameters can be seen in Table 10.
methods are rarely used to help to stabilize
( )
the aircraft s or applied to avoid the obstacle, ( ) ( ) ( )
and perform some tasks. The new method in
(13)
this paper, on the contrary; really improves
the both transient response and steady-state
Table 10. Parameter of PID controller can comply with the Table 11. This is why
Proportional gain our controller design more flexible than
Integral gain Ziegler-Nichols method or other designs.
Derivative gain
Error
t Time
Variable of integration
Table 11. Principles of PID controller design.
Para- Setting Over- Stabi-
Rise time ( )
meter time shoot lity
slightly
The ideal PID controller can be seen as Decline
increase
Increase Decline Decline
Nichols method cant solve the problem, so see that the system characteristic equation is
thats main purpose why we create a new shown in Eq. (17):
design method based on RC to overcome the
non-minimum phase problem in this paper. ( ) ( )
(17)
( ) ( ) ( )
( ) ( )
( ) ( ) ( )( ) ( )
(15) (21)
where
So we can use root locus method to solve
( ) the system too.
( )
RC is the extended criterion from RL to
deal with the multiple-variables problem. The
{
criterion can be summarized as following:
Both Eq. (14) and Eq. (15) are the Since the characteristic polynomial is 0,
general forms of RL. And assuming the assume a closed-loop system has two
closed-loop system transfer function is also variables in the characteristic polynomial. Its
shown as equation (16): RC general form is similar to Eq. (18) as the
Eq. (22):
( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
(16) (22)
where ( ) is system output, ( ) is the The First step of RC is to set any one of
reference input. From equation 15, we can the variables is zero. In this description, we
set variable is 0, then Eq. (22) can be and then we will obtain the expected response.
rewrite as Eq. (23):
4 Research results
( ) ( )
(23) 4.1 Elevator Angle to Angle of Attack
Then we divide both side of Eq. (23) by The transfer function of AOA to the
the term that does not contain the variable , elevator angle as equation (4) is shown above,
then we can get Eq. (24): and the block diagram is shown as Figure 6.
As mentioned above, most of users apply the
( ) ( ) ( )
ZieglerNichols method to design PID
( ) ( )
(24) controller. Reference [8] is an example, too.
We repeat reference [8] and apply Ziegler
Form Eq. (24), we can find the general Nichols method and Table 12 to design the
( ) PID controller. We can get three parameters
form of root as transfer function: ( ) , then
( and ) of Eq.
we draw the RL according the Eq. (24). (12). Besides, this controller equation can be
Secondly, in Eq. (22), we set is a also represented the form such as Eq. (27):
random constant, and is the system
variable now. We divide both side of Eq. (22)
by the term that does not contain the variable
, then we can get Eq. (25) and Eq. (26):
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
(25)
Figure 6. Block diagram of elevator angle to AOA
( )
( ) ( ) ( )
( ) ( ) ( )
(26)
(27)
In Eq. (25) and Eq. (26), at this time,
Different from other controller designs
is a variable and is a random constant we
based on the ZieglerNichols method, we
chose. Now we can draw the RL of the Eq.
apply the RC mentioned above to design the
(26).
controller to highlight the superiority of the
In the final step of RC, we repeat the
designed controller in this study. We assume
second step above several times (at least three
that the form of PID controller is shown as Eq.
times). So we continue to choose different
(28). Specially, we set the system gain 0.29 in
constant as values, at the same time, is
Eq. (28) to be the same as Eq. (27) based on
still a variable. We repeatedly draw the RL
the ZieglerNichols method. That will be a
according to the Eq. (26). At last, we can find
clear comparison between reference [8] and
that after combing the tracks of the repeated
this study, good contrast between the Ziegler
RL, RL tracks will converge into a pattern.
Nichols method and our design based on RC
This pattern is RC. From RC, we can also
combining with the orthodox PID criterion.
find the trends of the closed-loop roots and
Afterwards, the next procedure is to find the
system characteristics.
other parameters ( and ) of the Eq. (28):
Different locations of poles and zeros
have their distinct, various properties. We use ( )
this concept of RC and combine the method ( )
of controller design to place the poles and (28)
zeros of closed-loop at the desired locations,
As mentioned above, the first step is to RL for elevator angle to AOA with , K1 is a
set any one of the variables as zero. Therefore, variable
we set and is a variable, and then
we get the root trajectory (seen as Figure 7).
will have better transient response, controller for the transfer function of the
including the rising time, setting time, and elevator angle to AOA. The controller transfer
peaking time. However, has less function in this paper is shown as Eq. (29):
damping ratio compared to and
. Hence, according to the property ( )
( )
of damping ratio and RC criterion, we can
(29)
predict the system with controller parameter
i n E q. (2 8 ) wi l l ha v e l a r ge r
Figure 11 and Table 15 are the responses
overs hoot t han an ot her t wo s yst em s.
of reference [8] (Original PID) and our design
Operators can choose the optimal value
(Designed PID). We can find that the
according the task requirement. The step
response of the Designed PID based on RC
responses of the three different can be seen criterion is better than the controller in
as Table 14. reference [8] (Original PID). Comparing the
controller design based on the Ziegler-Nichols
RC analysis for elevator angle to AOA
method in reference [8], our controller design
combines the orthodox PID criterion and RC.
Not only shorten the setting time of the
system, but also reduce the system overshoot.
It is evident that the method of controller
design in this paper is effective for aircraft
and UAV.
As mentioned above, most of users apply the are too many characteristic roots located at
ZieglerNichols method to design PID RHS of s-plane. Therefore, even though we
controller. Reference [8] is an example, too. can design a controller to overcome this case,
However, the authors in reference [8] the procedures are complicated, and
indicated that the transfer function of speed to sometimes, the controller parameters are
the elevator angle (as Eq. (3) and Figure 12) maybe not perfect. The first consideration in
is unstable. The closed-loop response of Scale the case is how to haul the roots trajectory to
Cessna 182 is divergent. And ZieglerNichols the left hand side (LHS) of the s-plane. In
method could not help stabilize the system. view of this, we try to create a new method to
design the controller based on RC criterion.
The transfer function of this new controller is
shown as Eq. (30), and we define this new
controller as Reverse Gain PID Controller.
Equation (30) has three variables. Comparing
to Eq. (28), the additional gain ( ) of Eq.
(30) is designed to draw the most root
Figure 12. Block diagram of speed to elevator angle
trajectory in RHS of the Figure 14 and Figure
15 to the LHS.
From Figure 12, after analyzing the
distribution of poles and zeros in the system,
we can find that there is a zero located at right
hand side (RHS) of the s-plane. Therefore,
this is a non-minimum phase system. In
additions, the step response of this closed-
loop system is divergent (seen as Figure 13).
Since the system is unstable, therefore, it is
impossible to find maximum gain and
oscillation frequency . Hence, the Ziegler-
Nichols method is useless to help design the
PID controller to stabilize the system of speed
to elevator angle. Figure 14. RL and RC analysis of speed to elevator
angle
Table 16. = 0, = 0.01805, and is a variable. system. The comparison of the system
0 < < 2.2 for stability responses between the original system [8] and
Peak Rise Setting Steady Over- our design ( ( )) is also shown in Table 18.
time time time state shoot
(sec) (sec) (sec) error (OS%)
( )
None 8.54 16.1 0.22 None ( )
(31)
None 2.37 4.49 0.09 None
3.09 1.17 6.27 0.06 17.3 Table 18. Closed-loop responses based on the transfer
function of the speed to the elevator angle
Peak Rise Setting Steady Over-
The third step, we let is the variable, time time time state shoot
= 0.495, and are the (sec) (sec) (sec) error (OS%)
constants. The RC of this setting is shown as Original
Figure 19. We arbitrarily pick three points, system System is divergent
and the step responses of these three [8]
characteristic roots are shown in the Table 17. ( ) 2.17 0.631 11.4 0 31.8
5 Conclusion
6 Acknowledgement
7 Reference
[1] http://phoenixmodel.com/Product.aspx?ProductId
=51 (2017.3.15)
[2] http://www.dianliwenmi.com/postimg_15172960.
html (2015.09.03)
[3] http://ep.yimg.com/ay/yhst-10339770732811/cess
na-182-v3-pro-series-rc-plane-15.gif (2015.09.03)
[4] https://www.aliexpress.com/item-img/Free-shippi
ng-RC-airplane-cessna-182-EPO-foam-frame-kit-
aeromodeling-remote-control-rc-plane/324954442
38.html# (2017.05.08)
[5] F.-B. Hsiao and C.-S. Lee, The Realization of
Optimal Stability Augmentation Autopilot for
Unmanned Air Vehicle, Taiwan Tainan, National
Cheng Kung University, pp.10-12, 2008.
[6] S. Bogos and I. Store, Similarity Criteria for
"full" and "scale" Aircraft on the Lateral Stability
Analysis, U.P.B. Sci. Bull., Serial D, Vol. 74, Iss.
4, pp.14-26, 2012.
[7] M. R. Napolitano, Aircraft Dynamics: From
Modeling to Simulation, Virginia, John Wiley &
Sons, Inc., pp.352-375, 2012.
[8] C.-Y. Yang, On the Modeling and Stability
Augmentation of a Scale Unmanned Aerial
Vehicle, Taiwan Taichung, Feng Chia University,
2013.
[9] W. W. Durgin and C.-W. Kim, Scale Modeling
of Cessna 172, American Institute of Aeronautics
and Astronautics, pp.1-9, 2011.
[10] M. Nagai and M. Shino, Yaw-Moment Control
of Electric Vehicle for Improving Handling and
Stability, JSAE Review, Vol. 22, No. 4, pp.473-
480, 2001.
[11] M. Abe, Y. Furukawa, Y. Kano, K. Suzuki and Y.
Shibahata, Side-slip Control to Stabilize Vehicle
Lateral Motion by Direct Yaw Moment, JSAE
Review, 22, No. 4, pp.413-419, 2001.
[12] W.-Y. Hsu, Design of a Robust Self-Tuning Fuzzy
PID Controller, Taiwan Kaohsiung, National
Kaohsiung University, 2010.
[13] K. H. Ang, G. C. Y. Chong and Y. Li, PID
Control System Analysis, Design, and
Technology, IEEE Trans. Control Syst. Technol.,
Vol. 13, No. 4, pp.559-576.
+ F is a simulation framework of
document, query and relation presentation;
+ R(qi, dj) is a sorting function to link a
real number with a query qi Q and a
document representation dj D. The sorting
function determines order between documents
and query qi.
3.1 Definition
Fuzzy search is searching information Fig. 1 Operator NEAR in the IEEE digital library
with incomplete input together with user's
expectation or getting relative result with 3.3 Searching by Root Words
desired data. The reason we need studying and
developing the fuzzy search: Progress of searching by root words is
+ User don't remember exactly searching root-finding allows to spend less time on
term comparing query terms to index terms, for
+ Digital documents contain spelling example both "computation" and "computer"
errors when editing are accepted to equal with "compute". Root-
finding progress which eliminates one or more
3.2 Searching with Near Operator suffix(es) from word to reduce into root words,
converts to neutral term without tense and
In general, we search a character string plural state. The easiest way to evaluate
by inputting exactly that string. For example, exactly root-finding progress is considering
when we want to search information of Bill some sample texts. In order to create index
Gates, our character string query is William terms, all punctuations should be eliminated
Henry Gates. However, search engine will and as above discussion, all letters are grouped
not give out pages which have the same into word form.
information on Bill Gates, only include string At a glance, result of root-finding
William H. Gates or William Gates. In progress is not much value - the algorithm is
order to solve this matter, we can use OR not value. However, the first note, the last
operator as follows: William Henry Gates expression of root words is not important if it's
OR William H. Gates OR William Gates. unique to class of root terms and the second
To replace using many OR operators as note, the alternation is repeated. Of course, it's
above and improve searching efficiency of not necessary to reverse the alternation
desired Web, some search engines have because we only use root-finding progress to
developed NEAR operator. Herein, NEAR create index terms and texts are also stored
operator means searching pages contain exactly; the root word doesn't need to be any
nearby words. For example, William NEAR meaningful English word. In fact, "computer",
Gates. How exactly "near" will depend on "computing" and "computation" can be
each specific search engine in the digital changed into "ppzxg" by root-finding progress
library. if there is not any other word.
For example: query Digital Near/3 Library Root-finding progress is not necessary to
in the IEEE digital library, search engine fit with all elements of database. If there is a
queries Web pages containing Digital and book in the list of library and putting the exact
Library words not exceed 3 words. [7, 9] query "Arms AND Digital AND Libraries",
root-finding progress will be mapped into one
phrase with "Arms AND Digital AND
Yusuke Kawakami
DynaxT Co., Ltd.
2217-6 Hayashi, Takamatsu City, Kagawa 761-0301, Japan
riverjp2002@gmail.com
R. P. C. Janaka Rajapakse
Tainan National University of the Arts
66 Daci, Guantian District, Tainan 72045, Taiwan
janakaraja@gmail.com
x x
(u a )2 (3) y
f ( x ) = g (u )du =
K
0
2 2 du.
2p 2 0
exp
g(a)
(u a )2
= g (x )
dy K
exp . (4)
2 2
dx 2p 2
d 2 y dg (x ) (a x )
= = g (x ) (5)
dx 2 dx 2 0
x
a a+ 2
a 2 L
(a x ) g (x )
R(x ) = 2
(a x ) g (x ). (6) Figure 1. Conceptual image of the histogram [8-9].
(1 + g (x ) )
3 2
2 2
y
R a + 2( )
R(a)
(
R a 2 )
1600 70000
1400 60000
0 a x
a 2 a + 2 L 1200
50000
1000
40000
800
Figure 2. Conceptual image of the cumulative 600
30000
200 10000
3 Experimental Results 0
1 22 43 64 85 106 127 148 169 190 211 232 253
0
1 22 43 64 85 106 127 148 169 190 211 232 253
1000
50000
40000
histogram is increased, the HMGD processing 800
30000
20000
400
HMGD becomes vivid but a little bit (b) HMGD processing which applied regression analysis based variance
unnatural comparing to the original image. estimation (i=20, =43.596)
1600 70000
1400 60000
1600 70000
1200
1400 50000
60000
1000
1200 40000
50000
800
1000 30000
40000 600
800
20000
30000 400
600
200 10000
20000
400
0 0
200 10000 1 22 43 64 85 106 127 148 169 190 211 232 253 1 22 43 64 85 106 127 148 169 190 211 232 253
0 0
1 22 43 64 85 106 127 148 169 190 211 232 253 1 22 43 64 85 106 127 148 169 190 211 232 253
(c) HMGD processing which applied regression analysis based variance
estimation (i=24, =49.797)
Figure 3. Original images (grey level and color) and the
corresponding histograms of the greay level image Figure 4. Example of results and the correspondence
(histogram and cumulative ). histograms (2 of 2).
REFERENCES
[1] R. C. Gonzalez and R. E. Woods, Digital Image
Processing, Addison-Wesley Publishing Company,
1993.
Academic research focused on improving Here, shown below, is the scheme that
coverage and automating crash analysis. illustrates the process of detection of
We propose to resolve this problem by the vulnerability. It consists of two stages.
symbolic execution of the instructions of a
program executable code by using special
slicing methods that are popular in model-
checking techniques. Symbolic execution
framework is based on the Algebraic
Programming System (APS) [9] that has been
developed and maintained since the 1990s at
the Glushkov Institute of Cybernetics of the
National Academy of Sciences of Ukraine.
In this paper, we will adhere to the following
content. First, we will formulate the problem
statement and give the high level scheme of
the method. We then will present the main Figure 1. The first stage of method. Input data
algebraic notions that will be necessary for preparation.
the understanding of the method and the
technology chain to be used. Finally, we will During the first stage we should disassemble
illustrate the algorithm by the example of the input code that is uploaded to the memory.
vulnerability detection presented in the Reading the instructions directly from
Common Vulnerabilities and Exposures memory, we can process the part of the
(CVE) database [10]. system that contains third-party tools or
libraries as is. In the development
2 PROBLEM STATEMENT AND HIGH environment, assembler code can be directly
LEVEL DESIGN OF METHOD produced by the compiler.
After the preparation, we can use the
Our goal is to prove that the known Algebraic Programming System and its
vulnerability can be reached or not in a given component for further processing in stage 2.
system. We consider as known the
vulnerabilities from CVE. The formalized
case of vulnerability, together with a model of
executable code are the input of the
technology.
It is anticipated that the case of vulnerability
will be formalized manually as a formula in
some formal language. The examples of
vulnerability formalization will be considered
further, and the language for presentation of
the formula should express the static
properties (logic language), behavioral
properties (process algebra) or time properties
(temporal logic). Figure 2. The second stage of method. Symbolic
execution and detection of presence of vulnerability.
The executable code itself also is presented by
means of formal specifications that are the
Before direct symbolic modeling we should
model of the program. These specifications
detect the possible points of intrusion for
are the inputs for technology and
security of data. Usually these are the points
corresponding transformation that should be
of input in the program system. The explored
provided.
property of vulnerability also defines the
subset of processor instructions to be
The actions in behavior could be presented as When software does not validate input data
the following. properly, the attacker can craft the input with
unexpected values, leading to undesirable
behavior arbitrary code execution, leakage
of data or a crash. The condition for leakage
of confidential data would be if the program
allows memory access out of admissible
bounds:
(Admissible0 raxAdmissibleN)
if B0 = a1.B1. The next state of the subset) of behavior expressions and use only
environment will be obtained by means of the vulnerability formula attributes and its
predicate transformer; that is, the function dependencies.
over the state of the environment and the
postcondition
6 EXAMPLE
PT(S0,Postcondition(a1)) = S1
We consider the example of the Open SSL
The output is the new state of the Heartbleed vulnerability that allowed an
environment expressed by the formula over attacker to read sensitive data, such as
the attributes. authentication credentials, and secret keys by
Moving from the initial formula and applying incorrect memory handling via Transport
the basic protocols, we will obtain the Layer Security (TLS) extension. The client
sequence of states or formulas over the requested the server to send strings from
attributes that define some possible trace of memory of a given length. The server sent the
program execution. Using different traversal requested bytes, but the intruder could request
algorithms we can obtain the set of traces lengths that were much greater than the
covering complete program behavior. buffer, so that the adjacent memory could be
Searching for the intersection of the read and could contain data in which the
vulnerability formula with the satisfiable intruder could be interested.
states of the program leads to a trace at an The problematic point is located in the
intersection, the results of which are following C-code in OpenSSL 1.0.1f:
potentially exploitable.
and caching techniques. But there is still room informs to be a child. It will choose the one
for improvement. with the highest weight as its parent, and
Therefore, we propose a better service record the others as its parent candidates.
discovery method in the internet of things When a node i returns the confirmed message
environments. Like TRENDY and CAEsAR, to its parent, the level of i, l(i), is updated to
we adapt a tree architecture for discovering l(its parent) plus one. (Initially, the level of
services. However, we define the weight of the root is zero, and the levels of the other
nodes by the number of services, residual nodes are null.) At the same time, a part of the
energy and distance, so that the nodes with service discovering spanning tree is
more services, high residual energy or smaller constructed. Afterwards, every leaf node in
distance can be found early, and thus reduce the current tree does the same process as its
the searching time. parent until the whole service discovering
spanning tree is completed. After the service
2 CONTEXT AWARE SERVICE discovery spanning tree is constructed, every
DISCOVERY leaf node sends a packet including its level,
linked list and Bloom filter which records the
In this section, we propose an efficient service information to its parent node. A
service discovery and a maintenance parent node collects all such packets from its
mechanism in the internet of things networks. children and sends it to its parent. Repeat the
same process until the root node. At this time,
2.1 Service Discovery Spanning Tree every node has the service information of its
subtree, while the root has the service
We choose the most powerful node in information of all nodes. Figure 1 is an
the network as the root to build a service example of the construction of a service
discovery spanning tree. Then define the discovery spanning tree.(Assume that the
weight of each node i, w(i), as follows. value k of the root is 3 and the others are 2)
s er tx
w(i ) = + + (1)
s0 e0 2d
(c)
(g)
(d)
(h)
Figure 1. The construction of a service discovery
spanning tree
(a)
(b)
Figure 6. The maintenance for node joining
(b)
Figure 7. The maintenance for node leaving
4 CONCLUSIONS
ACKNOWLEDGMENTS
Figure 11. Average search time
(transmission range=30m)
This work was partially supported by the
Ministry of Science and Technology, Taiwan,
R.O.C. under Grants MOST-105-2221-E-035-
059-.
REFERENCES
[1] S.A. Chaudhry, W.D. Jung, C.S. Hussain, A.H.
Akbar, and K.H. Kim, A Proxy-Enabled Service
Discovery Architecture to Find Proximity-Based
Services in 6LoWPAN, EUC'06 Proceedings of
the 2006 international conference on Embedded [12] B. Djamaa and R. Witty, An Efficient Service
and Ubiquitous Computing, vol. 4096, pp. 956- Discovery Protocol for 6LoWPANs, 2013
965, August 2006. Science and Information Conference, pp. 645-652,
October 2013.
[2] J. Leguay, K. Jean-Marie, M. Lopez-Ramos, and
V. Conan, An Efficient Service Oriented [13] A. ElMougy and R. Helal, An Energy-Efficient
Architecture for Heterogeneous and Dynamic Service Discovery Protocol for the IoT based on a
Wireless Sensor Networks, 2008 33rd IEEE Multi-Tier WSN Architecture, 2015 IEEE 40th
Conference on Local Computer Networks (LCN), Local Computer Networks Conference Workshops,
pp. 740-747, October 2008. pp. 862-869, October 2015.
[3] A. Jara, P. Lopez, D. Fernandez, J.F. Castillo, M.A. [14] D. Guinard and S. Mayer, An Extensible Dis-
Zamora, and A.F. Skarmeta, Mobile Digcovery: covery Service for Smart Things, WoT '11
A Global Service Discovery for the Internet of Proceedings of the Second International Workshop
Things, 2013 27th International Conference on on Web of Things, pp. 7, June 2011.
Advanced Information Networking and
Applications Workshops, pp. 1325-1330, March
2013. [15] T. Winter, P. Thubert, A. Brandt, J. Hui, R. Kelsey,
P. Levis, K. Pister, R. Struik, J. Vasseur, and R.
Alexander, RPL: IPv6 Routing Protocol for Low-
[4] S. Cirani, L. Davoli, G. Ferrari, R. Lone, P. Power and Lossy Networks, RFC 6550 (Proposed
Medagliani, M. Picone, and L. Veltri, A Scalable Standard), March 2012. [Online]. Available:
and Self-Configuring Architecture for Service http://www.ietf.org/rfc/rfc6550.txt.
Discovery in the Internet of Things, IEEE
Internet Of Things Journal, vol. 1, no. 5, pp. 508- [16] B.H. Bloom, Space/Time Trade-Offs in Hash
521, September 2014.
Coding with Allowable Errors, Communications
of the ACM, vol. 13, no. 7, pp. 422-426, July 1970.
[5] D. Parlanti and F. Paganelli, A DHT-Based Dis-
covery Service for the Internet of Things, Journal
of Computer Networks and Communications, vol. [17] C.K. Chang, L.J. Zhang, and S. Cheng, An
2012, pp. 1-11, September 2012. Efficient Service Discovery Algorithm for
Counting Bloom filter-Based Service Registry,
2009 IEEE International Conference on Web
[6] G. Oikonomou, I. Phillips, L. Guan, and T. A. Butt, Services, pp.157-164, July 2009.
Adaptive and Context-Aware Service Discovery
for the Internet of Things, 13th International
Conference, NEW2AN 2013 and 6th Conference,
ruSMART 2013, vol. 8121, pp. 36-47, August
2013.
In [4], dynamic load balancing method using Cache server management function
dynamic DNS update and round-robin The cache server management function
mechanism is proposed. In this method, a boots up and shuts down cache servers.
server is dynamically added to or removed This function decides the number of
from the DNS list. The scheduling algorithm required cache servers based on AVGOR
considers usage rates of server's CPU, memory, obtained by the load monitoring function.
and network. The result of the experiment When AVGOR is greater than threshold of
shows that both the response time and the scale-out (Thhigh), it boots up a new cache
average file transfer rate of the proposed server. When AVGOR is less than
system are faster than those of a pure round- threshold of scale-in (Thlow), it shuts down
robin DNS. It is similar to our load balancing a latest booted cache server.
method, but ours uses the number of active DNS management function
sessions as the load value. The DNS management function manages
the DNS zone of authoritative name server.
3 DISTRIBUTED WEB SYSTEM USING According to the booting up and shutting
DNS down cache server, IP address of it is added
to or removed from the DNS zone
Figure 1 shows our distributed Web system dynamically. When the load monitoring
using DNS which consists of management function cannot monitor load of a server, it
server, authoritative name server, origin server also removes the server. Therefore, it is
and cache servers on cloud. The origin server possible to cope with server failure such as
services original contents and cache servers system down.
service the cache of them. The managing
server manages the number of cache servers
and DNS zone of the authoritative name server. Clients
For load balancing, this system uses DNS
round-robin method which sends the list of IP DNS Resolution
addresses in a different order to a new client
Name Server
each time. Most clients use the first IP address Update Zone Load Monitoring
they receive to connect server. Therefore,
requests from clients are sent to each server. Distributed Accesses Origin Server
By managing the DNS zone of the Management Server
authoritative name server, it is possible to DNS Management Load Monitoring
control the start and stop of allocating request Function Function
to each server. Notify Change Load
The management server has the following
Cache Server Management Function
functions.
Load monitoring function Cache Servers
Boot up / Shutdown on Cloud
The load monitoring functions monitors
load of the origin server and cache servers. Figure 1. Distributed Web System using DNS
This function periodically measures the
current and the maximum number of Web
server processes and calculates ratio of the 4 LOAD BALANCING USING DNS
current number against the maximum ROUND-ROBIN
number (Operating Ratio), and calculates
average of Operating Ratio of working We experimented with the distributed Web
servers (Average Operating Ratio, system described in the previous section. The
AVGOR). This system uses AVGOR as result showed, load imbalance among the
load value. servers using the DNS round-robin method.
1 example.com:
0.9
0.8 A:
IP:
Operation Rate
0.7
0.6
0.5
0.4
192.168.11.21: 1
0.3 192.168.11.22: 1
0.2
0.1 192.168.11.23: 0
0
0 100 200 300 400 500 600 700 800 900 1000 1100 1200 192.168.11.24: 0
Origin Server Cache Server1
Time[s]
Cache Server2 Cache Server3 Cache Server4 192.168.11.25: 0
Cache Server5 Cache Server6 Cache Server7 Cache Server8
192.168.11.26: 0
Figure 3. Operation Ratio of each server TTL: 60
Response Time[s]
1 60
0.9 54
Operation Rate
0.8
0.7
48
42 suspending function is represented as case D.
0.6 36
0.5
0.4
30
24
We performed experiments ten times in all
0.3 18
0.2
0.1
12
6
cases. In order to investigate influence of the
0
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
0 function to suspend allocation of requests to
Operation Rate
Time[s]
Average Response Time Maximum Response Time overloaded servers, the experiment results
while number of simultaneous accesses is
Figure 4. Operation Ratio and response time of maximum are examined.
origin server The average of the results is shown Table 2.
The cost is sum of uptime of all servers. The
configuration file shown in Figure 5. The file average response time in case D is the best in
contains a hostname, IP address, status value all cases. The number of requests per cost in
of each server and TTL value. The status value case D is also the best.
is updated every second based on Operation
Ratio of each server obtained by the Table 2. Experiment result of each case (TTL 60)
management server and sent to the Case Threshold value Cost
Total Total Average number of
response time number of requests response time requests per cost
3454 445152 312404 1.42 90.45
authoritative name server. The status value is A
B
0.6
0.8 3316 447405 309476 1.45 93.32
set to 0 while the corresponding server stay in C
D
1 3279
Without function 3258
454476
431490
292067
304978
1.56
1.41
89.08
93.60
overloaded. otherwise, the status value is set to
1. The IP address is included in DNS answer if Table 3 shows the percentage of access with
the corresponding status value is 1. In contrast, response time longer than or equal to 3,9,15,30
the IP address is excluded from DNS answer if and 60 seconds. The blue and red letters
the corresponding status value is 0. For indicate the lowest and highest percentage,
example, IP address 192.168.11.21 and respectively. Percentages of access with
192.168.11.22 is included in DNS answer with response time longer than equal to 3 and 60
configuration shown in Figure 5. seconds severally in case D are the highest. In
contrast, other percentages in case D are the
6 EVALUATION lowest.
In this section, we evaluate the function Table 3. Percentage of long responded access
described in the previous section. The (TTL 60)
experiment environment and the experiment Case Threshold value 3 9 15 30 60
A 0.6 15.103 2.453 1.269 0.468 0.031
procedure are the same as in Section 4. When B 0.8 14.760 2.910 1.569 0.609 0.027
the Operation Ratio of the server is the C 1 17.070 3.068 1.692 0.656 0.030
threshold value and over, the function decides D Without function 18.671 1.403 0.650 0.262 0.074
that the server is overloaded and set the status
value in configuration file to 0. Otherwise, the The results show the function is ineffective. In
value is set to 1. In this experiment, the DNS, the TTL value specifies the expiration
threshold value is set to 0.6 (case A), 0.8 (case date of the DNS cache. It takes long time to
B) or 1 (case C). Experiment without the reflect the updated DNS zone with large TTL.
Response Time[s]
1 60
effect on response time. So, the same 0.9 54
Operation Rate
0.8 48
0.7 42
experiments except TTL value set to 30 0.6
0.5
36
30
0.4 24
seconds is performed. 0.3
0.2
18
12
The average of results is shown Table 4. The 0.1
0
6
0
0 100 200 300 400 500 600 700 800 900 1000 1100 1200
average response time in case C is the best in Time[s]
Operation Rate Average Response Time Maximum Response Time
all cases. The number of requests per cost in
case C is also the best. Figure 6. Operation Ratio and response time of
origin server in case A (TTL 30)
Table 4. Experiment result of each case (TTL 30) 1.2
1.1
72
66
Total Total Average number of
Response Time[s]
Case Threshold value Cost 1 60
response time number of requests response time requests per cost 0.9 54
Operation Rate
A 0.6 3745 417580 368184 1.13 98.33 0.8 48
0.7 42
B 0.8 3712 419933 364384 1.15 98.16 0.6 36
C 1 3627 416003 371359 1.12 102.40 0.5 30
0.4 24
D Without function 3407 433705 320231 1.35 93.99 0.3 18
0.2 12
0.1 6
0 0
Table 5 shows the Percentage of long 0 100 200 300 400 500 600
Time[s]
700 800 900 1000 1100 1200
responded access. All percentages of access in Operation Rate Average Response Time Maximum Response Time
means the ability to manage these increasing a high level, mappers read out data from
big data ecosystem. Veracity is relatively HDFS to be processed, and produce results to
important since the correctness and accuracy reducers. Reducers are used in the
of the information are very important these polymerization intermediate results to
days. In this new era, big data is the heart of produce the final output which is written to
all the information. Many vendors rely on the HDFS again. A typical Hadoop job involves
analysis of their new generation systems to running on different nodes in the multiple
achieve and deal with this huge data. cluster of mappers and reducers. A good use
of MapReduce can be found out in parallel
In this paper, we will have a clearer data processing [18].
understanding of the advantages and
disadvantages of each open source platform MapReduce wrappers
usage of big data platform in the industry. We
A specific packaging (Wrapper) for
can save more time in referencing analytical
MapReduce is currently being developed.
framework. Finally, by the trend of big data
These packages provide better control of the
platforms by international development to
source code to MapReduce to assist with.
make useful recommendations of large data
Apache Pig: Yahoo [19] developed a
analysis applications.
SQL-like environment being used in
many organizations such as Yahoo ,
2 BIG DATA INFRASTRUCTURE Twitter , Facebook, AOL, LinkedIn, etc.
2.1 Hadoop Stack Analytics Hive: Facebook [20] developed another
MapReduce packaging. Both packages
Hadoop platform as shown in the following provide a better environment in which
two most important members as shown in the program can develop easier where
Figure Figure 1 Hadoop Stack with different the app developers do not have to deal
components. Hadoop Distributed File System with complex MapReduce program
(HDFS) [15] is to store data across a cluster code.
of machines providing high availability and
fault tolerance of distributed file system.
Hadoop YARN [16] handles resource Limitations of MapReduce
management and scheduling job across the One of the major disadvantages of the
cluster. MapReduce algorithm is its efficiency
reduced when it is running iterative formula.
Mapper [12] repeatedly reading the same data
Hbase Hbase
from the hard drive. The results of must be
Hbase Storm able to write to your hard drive each time
Hadoop MR
before they are passed to the next. This
bottleneck reduces MapReduce performance.
Hadoop YARN
Figure 1 Hadoop Stack with different components Spark developers also proposed what is
known as a complete Data Processing Stack
MapReduce called Berkeley Data Analytics Stack (BDAS)
MapReduce [17] programming model used in [12, 21,] as in Figure !
Hadoop was proposed by Googles Dean and 2. At the bottom of this stack ,
Ghemawat. The basic scheme in Hadoop there is Tachyon [22] which is of HDFS
MapReduce processing can be divided into component. The main advantage of Tachyon
two parts, known as mappers and reducers. At than Hadoop HDFS is that it can have more
In BDAS, Tachyon upper layer is Apache B.I. Pentaho, SAP Cognos Pentaho, SAP Cognos
EDW, SAS, SAP,
Mesos. As a resource isolation and sharing to Qlikview, Tableau,
distributed applications in cluster manager, it D3.js, Kibana,
Visualization Datawatch
has support to Hadoop, Spark, Aurora [23],
and other applications. Mesos on scalability EDW Connector, EDW,
Hive, Impala, Stinger,
can be increased up to tens of thousands of Analysis Drill, Mahout, Mlib Mlib
nodes. In BDAS architecture, the third
Oozie, Chukwa, Flume,
component running on the Mesos, Spark is Flumetd, Zookeeper, Spark Streaming, Spark
part of playing the role of Hadoop Spark SQL, Scribe, SQL, Blink DB, Graph
Data Mgmt Logstash, Elasticsearch X, ML Base
MapReduce.
Sqoop, Hive, Pig, Hbase, Hadoop Map Reduced,
Data Access Apache Storm, Avro Spark
BlinkDB MLBase
Spark GraphX
Streaming Hadoop Map Reduced,
Shark SQL Mlib
Data Processing Hadoop Yarn Mesos
Spark HDFS, S3, Hbase,
Data Storage HDFS, S3, Hbase Tachyon
Mesos
Tachyon
3.1 Characteristics and Discussion
HDFS, S3,
With the explosive growth of information,
Figure ! more and more enterprises are deploying a
Berkeley Data Analysis Stack (BDAS) components
private cloud system or hire a public cloud
system to handle large data. Doug Cutting,
3 OPEN SOURCE BIG DATA creator of both Lucene and Hadoop, and Mike
PLATFORMS PRELIMINARY Cafarella originated Nutch and Hadoop
APPROACH history. Following is history of Hadoop
creation [10].
In this paper, a variety of open-source
platform will massively discussed regarding Currently ways of analyzing big data platform
scalability, data processing IO performance, can be classified into the following four [24,
data size, iterative support, real time
25]
processing and other advantages and
Transaction type RDBM Systems
disadvantages [11, 12]. Upon data collections
Enterprise Hubs: IBM [26], Oracle
and consulting domain experts, Hadoop Big
[6], and Sybase [27] has traditional
Data Stack [15] and Berkeley data analytics
enterprise application analysis and
stack (BDAS) [12, 21] different components
processing transactions.
and different data layer as in below table.
Departmental Marts: Microsoft SQL
There is fewer discussion regarding
[8] and MySQL are suitable for
visualization and analysis at below table in
small or medium business (SMB).
BDAS.
Analytic Platforms
MPP Database: Massively parallel
processing (MPP) data base
providing vendors are Teradata
[28], Microsoft[8] and EMC
Greenplum [4].
Analytical Appliance: IBM Netezza Data Storage Layer: Data storage layer
[26], EMC Greenplum [4], and [30] can be described as follows.
Oracle Exadata [6] has analysis Hbase: Hbase [4] is an open source
application. distributed database that Google
In-Memory Systems: SAP HANA run large data model written in
[29] can provide in memory Java [31, 32].
computing which is performance S3: Amazon S3 (Simple Storage
oriented data processing method. Service) is provided by online file
Columnar: SAP's Sybase IQ Hewlett storage Web Services such as
Packard's Vertica, Paraccel, RESTSOAP and Bit Torrent [33].
Infobright, Exasol, Calpont, and HDFS: Hadoop Distributed File
Sand [24] have the data stored by System is inspired by the Google
column rather than row manner File System which can store very
that access to information easier. large files in the machines across a
large cluster [34].
Hadoop Distributions: Hadoop Tachyon:Tachyon [21] is a memory
Distributed File System (HDFS) [15] centric distributed storage system
store data across commodity machine to achieve reliable data stored in
cluster, while providing high availability the cache shared across a cluster
and fault tolerance using distributed file framework [22]. Tachyon avoids
system. frequent disk read load data sets.
And is also compatible with
NoSQL Databases: These database mean Hadoop. File system content is
not only SQL servers. stored in memory of the body of all
Key Value Pair Databases: cluster nodes. Thus, the system
Cassandra, Hbase, and Basho Riak achieves higher storage speed than
[24] are this type of databases. that of traditional disk -based
Document Stores: JSON, MongoDB system like HDFS [32].
and Couchbase [24] belong to this
type of databases. Data Processing Layer: Characteristics
SQL MapReduce: Teradata's Aster for data processing layer can be found as
Data [28] and EMC Greenplum [4] follows.
have data processing features using Yarn: MapReduce after Hadoop 0.23
MapReduce. has a comprehensive overhaul of
Graph Systems: These systems MapReduce which become MRv2
contact people through multimedia or Yarn. The basic concept is to
companies. give MRv2 JobTracker, resource
Unified Information Access: Attivio, management and job scheduling /
MarkLogic, and Splunk can handle monitoring two functions into
both structured data and separate programs [4, 16]. It has
unstructured data. ResourceManager (RM) and
Other: There are also many NoSQL ApplicationMaster (AM). The two
databases resulting from the main components are the Scheduler
different uses of application and and Applications Manager [35].
information [24]. Mesos: Apache Mesos is an open
source cluster manager developed
3.2 Infrastructure and Analytics at the University of California
Berkeley. It provides an effective
Infrastructure and analytics can be isolation and sharing of resources
distinguished in following layers. across a distributed application or
Architecture
Business intelligence: Business
intelligence platforms [78, 79] are also B.I. [11, 85] Pentaho, SAP Cognos
very important in big data and EDW, SAS, SAP, Qlikview,
benchmarking can be found as follows. Tableau, D3.js, Kibana,
Datawatch, Project Palantir,
Pentaho: Pentaho [80, 81] provides Friend Wheel, Touch Graph
business analysis. It is an open Browser, Mutual Friend network,
Visualization [11, 85] Nexus, HiPal
source business intelligence (BI) EDW Connector, EDW, Hive,
product that provides data Impala, Stinger, Drill Mahout,
Analysis [11, 84, 85] Mlib,
integration, OLAP services, Oozie, Chukwa, Flume, Flumetd,
reporting, monitoring, data mining Zookeeper, Spark SQL, Scribe,
Logstash, Elasticsearch, HiPal,
and ETL functionality. Hitachi Data Mgmt. [11, 85] Databee
SAP
B.I. Pentaho1 Cognos1
Business1
EDW
Analysis EDW1 Hive1 Impala1 Stinger1 Drill1 Mlib1 Mahout1
Connector1
Spark Elastic
Data Mgmt Oozie1 Chukwa1 Flume1 Flumetd1 Zookeeper1 Logstash1 Scribe1 HiPal, Databee
SQL1 search1
Hadoop
Apache
Data Access Sqoop1 Hive1 Pig1 Hbase1 Avro1 Map Spark2 Presto, Giraph
Storm1
Reduced2
Hadoop
Hadoop
Data Processing Map Mesos2 Cassandra
Yarn1
Reduced1
Notes: 1: Open Source Hadoop Stack 2. BDAS (Berkeley data analytics stack) Right most column is the proprietary components.
[5] IBM website, IBM Stream Computing, Available [23] Apache Software Foundation, Aurora Project
from: https://www.ibm.com/analytics/us/en/ Incubation Status, Available from https://incubator.
technology/stream-computing/. apache.org/projects/aurora.html.
[6] Oracle website, Oracle and Big Data: Big Data for [24] W.Eckerson, Categorizing Big Data Processing
the Enterprise, Available from: https://www. Systems, Beye Network, Avaiable from: http://
oracle.com/ big-data/index.html www.-eye-network.com/blogs/eckerson/
[7] Hewlett Packard Enterprise website, Big Data archives/2012/02 categorizing_bi.php
Solutions, Available from: https://www.hpe.com/ [25] M.B. Nirmala, A Survey of Big Data Analytics
us/en/solutions/big-data.html. Systems: Appliances, Platforms, and
[8] Miscrosoft website, Big Data, Available from: Frameworks, Handbook of Research for Cloud
http://www.microsoft.com/enterprise/it-trends/big- Infrastructures to Big Data Analytics, IGI Global,
data/default.aspx#fbid=m1BCtxTTPjr. 2014, p.p. 393-419.
[9] A. Tattersall and M.J. Grant, Big Data - What Is [26] IBM website, Big Data- Big Data Solutions That
It and Why It Matters, Health Information & Work for You, Available from: http://www-
Libraries Journal, vol 33, no. 2, pp. 89-91, 2016. 03.ibm.com/software/products/en/category/bigdata.
[10] Cloudera website, Cloudera Enterprise: The [27] M. Maier, Towards a Big Data Reference
WorldS Most Popular Apache Hadoop Solution, Architecture, Masters thesis, Eindhoven
Available from: http://www.cloudera.com/content/ University of Technology, 2013.
www/en-us/products.html. [28] W. OConnell, I.T. Ieong, D. Schrater, C. Watson,
[11] P. Pkknen and D. Pakkala, Reference G. Au, A. Biliris, S. Choo, P. Colin, G. Linderman,
Architecture and Classification of Technologies, E. Panagos, J. Wang, and T.Walter, A Teradata
Products and Services for Big Data Systems, Big Content-based Multimedia Object Manager for
Data Research, vol. 2, no. 2, pp. 166-186, 2015. Massively Parallel Architectures, in Proceedings
of the 1996 ACM SIGMOD International
[12] D. Singh and C.K. Reddy, A Survey on Platforms Conference on Management of Data, 1996, pp. 68-
for Big Data Analytics, Journal of Big Data, vol. 78.
1, no. 8, 2014.
[13] Gartner, Inc., Gartner Says Solving Big Data [29] SAP website, SAP HANA, Available from:
http://go.sap.com/index.html.
Challenge Involves More Than Just Managing
Volumes of Data, Available from: [30] S. Neumann, Storing Apache Hadoop Data on the
http://www.gartner.com/newsroom/ id/1731916. Cloud - HDFS vs. S3, Available from: https://
[14] Y. Demchenko, C. de Laat, and P. Membrey, www.xplenty.com/blog/2014/03/storing-apache-
hadoop-data-cloud-hdfs-vs-s3/.
Defining architecture Components of the Big
Data Ecosystem., in Proceedings of 2014 [31] Apache Software Foundation, Apache HBase,
International Conference on Collaboration Available from: http://hbase.apache.org/.
Technologies and Systems (CTS), 2014, pp. 104- [32] J. Roman, The Hadoop Ecosystem Table,
112. Available from https://hadoopecosystemtable.
[15] Apache Software Foundation, HDFS architecture github.io/.
guide, Available from https://hadoop.apache.org/ [33] Amazon, Amazon S3, Available from:
docs/r1.2.1/hdfs_design.html#Introduction. http://aws.amazon.com/tw/s3/.
[16] V.K. Vavilapalli, A.C. Murthy, C. Douglas, S. [34] Hadoop Wiki, Hadoop Distributed File System,
Agarwal, M. Konar, R. Evans, T. Graves, J. Lowe, Available from: https://wiki.apache.org/hadoop/
H. Shah, S. Seth, B. Saha, C. Curino, O. OMalley, HDFS.
B. Reed, and E. Baldeschwieler, Apache Hadoop [35] Apache Software Foundation, Apache Hadoop
YARN: Yet Another Resource Negotiator, in YARN, Available from: https://hadoop. apache.
Proceedings of the 4th annual Symposium on org/docs/current/hadoop-yarn/hadoop-yarn-site/
Cloud Computing, 2013, Article No. 5. YARN.html.
[17] J. Dean and S. Ghemawat, MapReduce: [36] Wikipedia, Apache Mesos, Available from:
Simplified Data Processing on Large Clusters, https://en.wikipedia.org/wiki/Apache_Mesos.
Communications of the ACM, vol. 51, no. 1, pp. [37] Apache Mesos, Organizations Using Mesos,
107-113, 2008.
Available from http://mesos.apache.org/
[18] K.H. Lee, Y.J. Lee, H. Choi, Y.D. Chung, and B. documentation/latest/powered-by-mesos/
Moon, Parallel Data Processing with MapReduce: [38] Wikipedia, Map Reduce, Available from:
A Survey, ACM SIGMOD Record, vol. 40, no. 4, https://en.wikipedia.org/wiki/MapReduce.
pp. 11-20, 2011.
[19] C. Olston, B. Reed, U. Srivastava, R. Kumar, and [39] Quora, How Does YARN Compare to Mesos?,
A. Tomkins, Pig Latin: a Not-so-foreign Available from: https://www.quora.com/How-
Language for Data Processing, in Proceedings of does-YARN-compare-to-Mesos.
the 2008 ACM SIGMOD International Conference [40] Cloudtimes, Facebooks Big Data: New Concept
on Management of Data, 2008, pp 1099-1110. in Data Management, Available from:
[20] A. Thusoo, J. S. Sarma, N. Jain, Z. Shao, P. http://cloudtimes.org/2012/09/03/facebooks-big-
Chakka, S. Anthony, H. Liu, P. Wyckoff, and R. data-new-concept-in-data-management/.
Murthy, Hive: a Warehousing Solution over a [41] Apache Software Foundation, Apache Sqoop,
Map-reduce Framework, in Proceedings of the Available from: http://sqoop.apache.org/.
VLDB Endowment, vol. 2, no. 2, 2009, pp. 1626- [42] Apache Software Foundation, Apache Hive,
1629. Available from: https://hive.apache.org/.
[21] AMPlab UC Berkeley, Berkeley Data Analysis [43] Wikipedia, Hive, Available from: https://en.
Stack, Available from: https://amplab.cs.berkeley. wikipedia.org/wiki/Apache_Hive.
edu/software/. [44] Apache Software Foundation, Apache Pig,
[22] Alluxio website, Open Source Memory Speed Available from: https://pig.apache.org/.
Virtual Distributed Storage, Available from: http:// [45] Wikipedia, Pig (Programming Tool), Available
http://www.alluxio.org/. from: https://en.wikipedia.org/wiki/Pig_
(programming_tool).
[46] Apache Software Foundation, Apache Storm, [74] Mike Bostock, Data-Driven Documents, Available
Available from: http://storm.apache.org/. from: http://d3js.org/.
[47] Wikipedia, Storm (event processor), Available [75] Christopherblog, Visualizing Data With
from: https://en.wikipedia.org/wiki/Storm_ Elasticsearch, Logstash and Kibana, Available
(event_processor). from: https://blog.webkid.io/visualize-datasets-
[48] Apache Software Foundation, Apache Avro, with-elk/.
Available from: https://avro.apache.org/docs/ [76] Scaleway, How to Collect and Visualize Your Log
current/. with ELK Stack., Available from: https://www.
[49] Apache Software Foundation, Apache Spark, scaleway.com/docs/how-to-use-the-elk-stack-
Available from: http://spark.apache.org/. instant-apps/.
[50] Wikipedia, Spark, Available from: https://en. [77] DataWatch website, DataWatch, Available from:
wikipedia.org/wiki/Apache_Spark. http://www. datawatch.com/.
[51] Apache Software Foundation, Apache Oozie [78] Business Application Research Center, The BI
Workflow Scheduler for Hadoop, Available from: Survey 10, p.p. 4-19, 2011.
http://oozie.apache.org/. [79] Butler Analytics, Enterprise BI Platforms
[52] Apache Software Foundation, Apache Chukwa, Compared, Available from: http://www.
Available from: https://chukwa.apache.org/. butleranalytics.com/enterprise-bi-platforms-
compared/.
[53] J. Boulon, A. Konwinski, R. Qi, A. Rabkin, E.
Yang, and M. Yan, Chukwa: a large-scale [80] Pentaho, A Comprehensive Data Integration and
monitoring system, in Proceedings of Cloud Business Analytics Platform, Available from:
Computing and its Applications (CCA 08), 2008. http://www.pentaho.com/.
[54] Apache Software Foundation, Apache Flume, [81] Wikipedia, Pentaho Suite, Available from:
Available from: https://flume.apache.org/. https://en.wikipedia.org/wiki/Pentaho.
[55] Apache Software Foundation, Apache Zookeeper, [82] GoliInfo, Cognos Business Intelligence and
Available from: https://zookeeper.apache.org/. Enterprise Performance Management, Available
from: http://www.cognos-bi.info/.
[56] Apache Software Foundation, Spark SQL,
Available from: https://spark.apache.org/sql/. [83] IBM, Cognos, Available from: http://www-
01.ibm.com/software/analytics/cognos/.
[57] Apache Software Foundation, Mlib, Available
from: http://spark.apache.org/mllib/. [84] A. Thusoo Z. Shao, S. Anthony, D. Borthakur, N.
Jain, J.S. Sarma, R. Murthy, and H. Liu, Data
[58] Elastic, Logstash, Collect, Enrich & Transport , Warehousing and Analytics Infrastructure at
Available from: https://www.elastic.co/products/ Facebook, in Proceedings of the 2010 ACM
logstash. SIGMOD International Conference on
[59] Quora, What's the Difference between Thrift and Management of Data, 2010, p.p. 1013-1020 .
Scribe?, Available from: https://www.quora.com/ [85] S. Schroeder, 6 Gorgeous Facebook Visualizations,
Whats-the-difference-between-Thrift- and-Scribe. Available from: http://mashable.com/2009/08/21/
[60] Wikipedia, Scribe (log server), Available from: gorgeous-facebook-visualizations/
https://en.wikipedia.org/wiki/ Scribe_(log_server). #Rg9f0Wo7FOqG.
[61] Wikipedia, Data Warehouse, Available from: [86] L. Chan, Presto: Interacting with Petabytes of Data
https://en.wikipedia.org/wiki/Data_warehouse. at Facebook, Available from: https://www.
[62] Apache Software Foundation, Apache Mahout, facebook.com/notes/facebook-engineering/presto-
Available from: http://mahout.apache.org/. interacting-with-petabytes-of-data-at-facebook/
[63] Cloudera. Apache Impala (Incubating), Available 10151786197628920/.
from: http://www.cloudera.com/content/www/en- [87] J. Wiener and N. Bronson, Facebooks Top Open
us/products/apache-hadoop/impala.html. Data Problems, Available from: https://research.
[64] Hortonworks. Enterprise Big Data Solutions, facebook.com/blog/facebook-s-top-open-data-
Available from: http://hortonworks.com/ problems/.
innovation/stinger/.
[65] Apache Software Foundation, Apache Drill,
Available from: https://drill.apache.org/.
[66] E.M. Forster, G. Wallas, and A. Gide, Data
Visualization- Discover, Analyze, Explore, Pivot,
Drilldown, Visualize Your DataHow do I
know what I think until I see what I say?,
Available from: https://apandre.wordpress.com/
tools/comparison/.
[67] SAS website, Analytics Software & Solutions,
Available from: http://www.sas.com/zh_tw/
home.html.
[68] Wikipedia, SAS(Software), Available from:
https://en.wikipedia.org/wiki/SAS_(software).
[69] Wikipedia, SAP SE, Available from: https://en.
wikipedia.org/wiki/SAP_SE.
[70] Qlik websiet, Qli, Available from: http://www.
qlik.com/.
[71] Tableau website, Tableau, Available from: http://
www.tableau.com/.
[72] Wikipedia, Tableau Software, Available from:
https://en.wikipedia.org/ wiki/Tableau_Software.
[73] Wikipedia, D3.js, Available from: https://en.
wikipedia.org/wiki/D3.js.
Thinning Round-robin with Rating Index and Virtual Environment for Battle
in Applied Java Programming Exercise with Game Strategy and Contest Style
correct answer is not clear. So, learners are the losing condition, while the one by removing
required continuous integration by a pair is allowable.
competitions with opponents. Gogo is so profound that removing stones
cause significant change of board situation and
surprising turnover of a game aspect. When
2 THE OUTINE OF OUR EXERCISE you think of some ideas of a strategy, you must
consider two aspects. One is a tendency to aim
2.1 Applied Java exercise of board game connecting or capturing, and the other is a
strategy tendency to choose attack or defense. The
policy of strategy has a lot of variations with
We have proposed an applied programming various evaluation functions. Though the rules
exercise of board game strategy with a contest are simple, a beginner shows his individuality
style. We adopt board game "Gogo", which is
with the preference and attitude. As documents
a variant of "Ninuki-Renju" like "Pente". We
have developed support system WinG [1][2]. about rotes of Ninuki-Renju are not enough,
We have carried out several educational you must search good strategies by yourself.
practices since 2005 in an applied
programming lesson. This exercise became a 2.3 The previous system and our research
required subject, and it was positioned as a
more serious problem since 2011. We developed the first version WinG in 2005.
It consisted of local execution environment and
2.2 Rules and features of board game Gogo contest management server WinG-CS [1]. The
environment offers game execution between
Japanese traditional gobang (Gomoku-Narabe) strategies or human player, and review
is a very famous board game, which is a simple functions of battle record. By doing this, we
version of "Renju". A player puts a stone with support students to create strategies. With the
his color (white or black) in a square mesh initial edition of WinG-CS, we devised a
board alternately. He aims to create a mechanism that students submit strategies and
connected run with his five stones in a straight execute on the server.
or diagonal line. "Ninuki-Renju" is not so The environment changes a local development
popular but a very interesting game based on tool WinG-LA as the next version [2]. WinG-
Gomoku. It has added rules about removing LA consists of 4 modules, such as, "game
and capturing pinched two opponent's stones. execution", "battle record replay ", "board
"Pente" is known as a variant of the game in situation generation", and "hand trial test". We
Germany and Poland [3]. introduced SWG and the first version of WWG
We adopt "Gogo", which is also a simple (weighted winning grade), which is a simple
version of Ninuki-Renju. The board has 169 rating index [4].
cells in 13 square sizes. We adopt some
arrangement of the rules for an affordable 2.4 Making progress of strategy program
subject of programming exercise (Fig.1). The
winning condition has two ways, creating We offer a board game execution library for
"steady" five-run or capturing five pairs (ten Gogo as Java API. He overrides hand method
stones). As an "unsteady" five-run has calc_hand() in his subclass inherited Computer
removable pairs, you can break the run in the Player class. The method receives a current
next turn and the game does not finish. state as an argument. It returns a next hand. The
Moreover, if you obtain the fifth pairs in the state as an instance of State class consists of
situation, you win as come-from-behind board situation for stone placement and two
victory. Over five runs are not applied in the pockets for captured stones. An instance of
winning condition. Making double three-runs Master class manages a game progress
(San-San) by putting a stone is a mismove as according to the rules. We present prototype of
strategy to student, which includes necessary
each year. The system makes submitted battle with sample strategy. The system
strategies meet them in battle game, and it excludes some strategies such as stopping by
publishes battle results and records (Fig.4). The error, causing endless loop. If checking battle
system saves battle results battle records to finishes successfully, it registers strategy DB as
database on the server. Learners can browse a strategy which can participate preliminary
these data. They also can download battle league.
records, and replay on WinG-LA. Subsequently, in battle processing, the
submission strategy performs battles with all
4.2 Functions and configuration of WinG- submitted strategies and it calculates weighted
CS winning grade (WWG) (Fig. 6). First, the
system gets strategies in the league, and creates
In this paper, we describe features and tournament chart with them. Next the system
enhancement in 2016 about WinG-CS. During performs battle by tournament chart. In this
from 2011 to 2015, we had carried out time, battle results and game records are saved
educational practices with previous version of as temporary file. After finishing battles, it
WinG-CS. The system was implemented in registers opponent ID and battle result to battle
Ruby 1.9, and the database is saved by XML. DB. game records are XML file, so the system
New WinG-CS, which is enhanced in 2016, is saves saved file path to battle DB. Then, it
implemented in Ruby 2.3 and Ruby on Rails
calculates temporary WWG by battle results.
4.2. Rails is based on Model-View-Controller
architecture, so we can reduce development
cost in coordination with database and GUI. 4.4 Introduction of time of suspension of
our contest server mounts Intel Core i7 as CPU, submission
and DDR3 32GB as RAM. OS of the server is
Linux series CentOS 6.8, but we update the Actually, it takes considerable time for battle
Linux kernel to 3.10 to use virtual environment processing as submissions increase. In addition,
Docker. WWG is affected by WWG of other strategies
and it also affects. So, processing becomes
4.3 Internal processing of WinG-CS complicated when the submission of strategies
is successive. WWG also changes frequently. It
WinG-CS accepts source codes of learners' sometimes happened system fault or significant
strategy during preliminary league. WinG-CS delay of processing on legacy system. For the
processes acceptance processing and battle reason, we deal with thinning round-robin
processing as internal processing at all such series for reducing number of processing.
times. acceptance processing and battle So, in 2016, we decided to stop strategy
processing are proceeded seamlessly after submission from 24 to 6. During this period, we
submission. finish battle processing every day. The battle
Acceptance processing performs static check of result at that time, the system calculates
synchronous processing and dynamic check of determinately WWG at the day. These results
asynchronous processing. WinG-CS registers are reflected to ranking, and published to Web
the submission file to submission DB, and also at next morning. In new system, battle
it registers acceptance result. In static check, processing and database management were
the system checks file type and file size, and improved, so system fault or significant delay
compile the submission file (Fig.5). When were not happened. However, there is still
learner submits binary file or danger file room of improvement in the immediacy of the
potentially malicious, the system excludes this result reflection.
file. Danger file includes some functions such
as OS command execution, input work from 4.5 Reconstitution of database
keyboard. The result of static check is notified
to students regardless success or failure. In In legacy system, we use XML as database.
dynamic check, the system performs checking However, when system registers each battle
battle as testing for compiled strategy binary. results about 1000 strategies, it takes a lot of
the binary is tested whether it ends correctly by time to load from database. So, we reconstitute
database using RDBMS to accelerate. We use emphasized from other learners strategies.
PostgreSQL 9.6 as DBMS. Submission history tab in Fig.8(b) shows only
Table 1 shows a list of tables composing own strategies. Submitted files are showed in
database. Submission table "Submission" time series. If user clicks strategy name, they
registers all the submitted files. It is move to strategy detail page.
management as submission log for learners. Strategy detail page shows detailed information
strategy table "Strategy" registers only of individual strategy in various tabs. strategy
strategies which is pass to acceptance summary tab in Fig.8(c) shows, conventional
processing and participate in the preliminary information such as submission date, battle
league. ID is given to strategy with serial result information, and strategy code. Learners
number for each learner. It uses for making select their own the best strategy for final
tournament chart. league. Records list tab in Fig.7(d) shows all
Battle result table Battle saves all actual results of the strategy. Learners can download
battles. It registers self and opponent ID, battle each battle records, and replay on WinG-LA.
result, and path of the battle record file. battle They also can download all battle records at
record files are still in XML format for use in once.
record replay module on WinG-LA. In the
future, we consider migrating to file saving as
JSON format for replaying on WinG-CS. Table 1. Database structure
from container. First, the container starts battle WinG-LA Samples Contest Web pages
(battle, viewing)
processing according to execution commands. (strategy, state)
After battles, the container transfers all battle Install Download Upload
records to host machine, and also any databases Client
are updated. Finally, the container is discarded. Local support system User strategy
(as source code)
In such approach, it also facilitates load WinG-LA
balancing using multiple machines.
Figure 3. Architectures of support system WinG
4.7 Improvement of GUI in the student side
Duel choice
user
server
Receive file Static check (sync) Dynamic check (async) (b) Submission log tab
File save Extension check Checking battle
OK Unsafe file check OK
Compile check
Execution container
Execution container
Execution container
WinG execution module
tournament
chart battle logs
mount
Host machine
learner who submitted strategies over 100. In battle game. WWG of Index strategies are
2016, learners who submitted five or less was calculated as criterion in advance. After
decreased. And, the distribution peak is on the finishing provision battle, the system calculates
right compared to normal year. On the other temporary WWG of the strategy, and publishes
hand, there are a half of the learners who general ranking table as a flush report.
submitted 20 or less. In the future, it is Next, during the time of suspension of
necessary for these learners to support. submission from 24 to 6, the system performs
Currently, we focus on transition of result by entry battle for all submitted strategies while
correlation of STG and WWG. It is necessary the day. In entry battle, a strategy meets about
to find low-rank students considering 100 strategies which submitted by the day
submissions, or less submissions and low-rank before in a battle. At this time, the system
students, and support or encourage them. To equally chooses strategies from WWG
defect these cases, we use score transition distribution. By this result, the system
graph STG [17]. On the other hand, we also recalculates all strategies WWG, and
induce high-ranking students considering less publishes general ranking table as daily result
submissions to work continuously. If it is in early in the morning of the next day. This is
difficult to develop new strategy, we examine initial WWG for strategies submitted the day
to induce learners to change their policy to before. After next day, strategies perform
quality of code. defensive battle as an opponent of other
strategies in provision battle. Strategies
6.3 Application of improved WWG to final submitted in early stages of the contest are
leagues performed more defensive battle. Ordinary
WWG of strategies change by daily defensive
We tentatively apply the new definition of battle.
WWG in chapter 5 to final leagues after 2013.
Fig.11 shows their correlation. The horizontal
axis X is SWG, the vertical axis Y is WWG. 7 CONCLUSIONS
Spearmans rank-order correlation is also
mentioned in these figures. We have practiced an applied Java
Each year, correlation exceeds 0.99, and programming exercise with board game
there is strong correlation between WWG and strategy. The exercise is contest style.
SWG. So, it is considered to calculate ranking Strategies are battled on server, and published
not against intuition. Also, strategies with 0.4 their own result or ranking. He modifies his
to 0.7 SWG are differentiated by strength of code repeatedly by the feedback during a
opponents. on the other hand, lower difference contest period. we revise contest management
is shrinking. This is because raising by server to improve reliability and efficiency of
influence of self-battle. battle processing. Especially, we adopted
virtual environment, and make battle process
6.4 Improvement of thinning round-robin efficient. We also revise rating index WWG to
refine battle results. And also, we reconsider
series
methods of thinning round-robin series by the
result in 2016. Thus, we arrange 3 stages of
From 2017, we improve a method of thinning
battle situation. In addition, we laid the
round-robin series, and we realize to publish
foundations for distributed processing and
result efficiently and instantaneously thinning
thinning round-robin series.
round-robin series. First, after strategy
In future work, we try to improve reliability and
submission, a submitted file performs checking
efficiency. First, we implement functions about
battle with sample strategy. If there is no such
revised thinning round-robin series to improve
as run-time error, it is registered as a strategy to
efficiency. Next, we introduce code metrics as
participate in preliminary league. In
an internal evaluation to make students aware
preliminary league, the strategy performs
of not only battle result but also quality of code.
provision battle at first. In provision battle, it
It has learners promote continuous
meets about 10 prepared index strategies, in
ACKNOWLEDGEMENT
1000
900 2013
800 2014
700
2015
Submissions
600
500 2016
400
300
200
100
0
0 7 14 21 28 35 42 49
Contest period (day)
REFERENCES
Abstract Trust is an important computing other tactical applications such as emergency rescue
networks concept and remains an issue not just in or exploration missions [6]. Their commercial
social platforms but also in networks in the success has been due to advances in wireless
deliverance of Quality of service (QoS). Video technology and several standards have been
Streaming has, over the years gained prominence in developed for routing in MANETs. The Internet
mobile and vehicular ad hoc networks. However, it is
Engineering Task Force (IETF) are responsible for
faced with several challenges of being vulnerable to
different attacks and poor QoS. Therefore, this paper regulating the new group for MANETs and IEEE
proposed a robust and efficient trust management standard 802.11 has contributed to research interest
framework in an effort to eliminate the poor QoS due done with MANETs [4].What also facilitated the
to network detriments caused by the dynamic explosive growth is the continued production of
topology of a Mobile Ad Hoc Network (MANET). smaller and faster devices which makes MANETs
The proposed trust framework in the network is the fastest growing network.
aimed to assist in node accountability and QoS
attainment. That is, it does not remove the dynamic Today, MANETs are considered as a household
topology issue but it strives to attain nodes technology service in the mobile network industry.
trustworthiness and excellent QoS despite the Its growth has been commended globally and has
conditions set out against the network. The proposed attracted so much attention in recent years with the
trust framework is the application-centric trust invention of Vehicular Ad Hoc Networks
management framework with distributed trust (VANETs) and its integration into the automotive
computations (AppTrusFram). It merges the concept industry. In particular, the fast demand for video
of trust together with QoS in an application scenario. streaming applications like video conferencing and
The paper present a theoretical-design solution to the video-on-demand are central to MANET
topology related issues and discussed issues found in technology. Researchers in recent studies have
other proposed solutions.
shown great interest in quality of service (QoS) in
Keywords Routing protocols, MANETs, Trust the mobile network realm.
framework, Video streaming, QoS.
QoS is considered a set of service requirements that
a network is required to meet in the movement of
1. INTRODUCTION packet streams from the source to destination. With
Mobile Ad Hoc Networks (MANETs) also referred the explosive demand of QoS provisioning for
to as an infrastructure-less network [4] is a network evolving applications (e.g. video and voice), it is
technology that has gained significant attention in proportionally appropriate to ensure that these
the research world in recent years due to related services are supported in ad hoc networking
protocols challenges it faced. MANETs are an environments. In the field of telecommunications,
emerging technology which offer network users QoS was defined as set of requirements on all the
interactions without any central infrastructure aspects of a connection, such as crosstalk, response
irrespective of the geographical location of the time, loss, echo, signal-to-noise ratio, interrupts,
users. MANETs have been an active area of frequency response, loudness levels, and so on.
research for the last few years and their growth is Moreover, QoS constitute the ability to proffer a
promoted by the growing need to provide the users different level of priority to different users,
with the network support at their own convenience applications, or data flows, or to ascertain a precise
[5]. The network is primarily useful in military and performance level to a data flow [8]. However, in
order to achieve QoS, the concept of routing is studies while Section V presents the proposed
indispensable. Routing involves information framework.
movement in a network from a source to a
destination [8]. During routing, at least one node 2. ROUTING PROTOCOLS IN MANETS
within the network which act as an intermediary is
met during the information movement. Thus, This study focuses on reactive and proactive
routing can be used to determine optimal routing protocols which are the RPs that are based on
paths as well as the transfer of packets via an inter- topological information in MANETs as well as in
network [9]. Moreover, routing may be either VANETs [3][19][22]. Each is discussed as follows.
dynamic or static [9]. QoS is measured using
specific metrics within the network such as 2.1 Proactive Protocols
bandwidth, jitter, delay, packet loss etc. These protocols operates by periodically trading
control messages of known routes between all the
In the realm of MANETs, the mobility of nodes, network routers [5][6] [35]. Proactive routing
however, is rapid and unpredictable over time. protocols include DSDV, OLSR, Fishy State
MANETs, like all other wireless networks are more Routing (FSR) and so on. Thus, OLSR is the focus
vulnerable to attacks and other weaknesses as of this study.
compared to wired networks. The limitations in
MANETs become especially exacerbated in the a)OLSR protocol: In the OLSR protocol, every
multi-hop networks where multimedia streams station found in the network choses a neighboring
suffers aggregate effect such as packet drop, nodes set known as the multi-point relays (MPR),
propagation delay and jitter of each connected link which rebroadcasts the packets in turn. To this end,
along an end-to-end path. Due to node mobility, neighboring nodes identified not found in the MPR
there are frequent route breaks which results in set has the capability to only read and process the
routing updating that is time consuming. packets [5]. Moreover, OLSR retains tracks in path
Consequently, packets might be lost in bursts for finding table in order to proffer a route if necessary
shorter periods of time since they are sent on non- [8].
working routes [7] which in turn impacts the QoS
adversely. 2.2 Reactive Protocols
These RP are also called on-demand protocols and
Therefore, this paper proposes a robust and efficient
include AODV, DSR and TORA [22].
trust management framework in an effort to
eliminate the poor QoS due to network detriments a)DSR protocol: In DSR, the discovery of route
caused by the dynamic topology of MANETs. The begins on-demand and the whole path to destination
proposed trust framework is an application centric- are placed on the routing table other than using next
framework which amalgamates the concept of trust hop node as in the AODV. The packet header has
together with QoS evaluation. The objective is not the address of all the nodes in transition needed by
to remove the dynamic topology issues but it strives the packet to get to the destination node [10]. In
to attain nodes trustworthiness and excellent QoS addition, nodes can be dynamically discovered in a
despite the conditions set out against the network. source route through complex networks hop to any
The proposed trust framework is called application- terminus in VANETs by DSR. However, the
centric trust management framework with protocol lacks the mechanism to identify unstable
distributed trust computations (AppTrusFram). routes leading to forwarding to data packet to
Furthermore, we present solutions to the topology broken link [11]. In operations, DSR implements
related issues provided by the proposed trust model three unique techniques for controlling packets for
and discussed issues in other proposed solutions. path discovery and maintenance [10].
b) AODV protocol: AODV operates on a pattern
This paper is organized as follows: Section II
known as hop-by-hop and uses flat routing tables
discusses the various routing protocols (RPs) in
having one entry per destination [11]. Unlike DSR,
MANETs, Section III is on trust in MANETs and
the AODV algorithm enables high mobility,
Section IV presents trust management frameworks
dynamic, multi-hup and self-initiating routing
among collaborating vehicles that are interested in a)Direct Trust: In Kiefhaber et al. [20], direct trust
ad-hoc network establishment and maintenance. In is a form of trust which involve the experiences an
this case, routes can be acquired speedily for new entity has created directly with another entity it
destinations by mobile nodes without keeping interacts with which is computed using trust value.
routes which commination is not active to Typically, trust values are computed using the
destination. either the mean or weighted mean of previous
c)TORA protocol: TORA protocol works on experiences. Direct trust is application-centric or
controlling the propagation of messages in the ever rather specific. The application has the decision to
changing ad-hoc networks. Node are known to determine whether an interaction made by one
clearly begin a query only when data is to be sent to entity to another was successful. Direct trust was
a destination. In terms of performances, TORA chosen based on the merits that it is reliable in
performs much better as compared to that of DSR in terms of rankings from confidence trust and
a network [4]. According to Qureshi and Abdullah reputation[20]. On the middleware level, which in
[4], the reason be due to the protocols ability to this case is the application server, a nodes
minimize the communication overhead in a reliability can be computed through observation of
dynamic environment thus, making it more reliable the message flow in the distributed system. initially,
for changing Ad-hoc networks. In addition, Palta the Delayed-Ack mechanism was used and was
and Goyal [9] stated that one good aspect in the later changed.
design of TORA is that there is localization of b)Topology Constrainsts in MANETs : A network
control messages to few node sets and the effective topology that is trustwory must be assured via the
way link failures are handled. use of robust routing protocols in the ad hoc
networking stream [1]. They are required because
3. TRUST IN MANETS of the frequent routing updates caused by the
In this section, we present the nature of trust and dynamic nature and characteristics existing in
related works on trust management in MANETs. MANETs. Providing QoS at a better scale in such
environments is a huge challenge [4]. The existing
3.1 Trust Factor stochastic nature of MANETs quality of
The term trust is used in the perspective of communications poses challenges in offering
how one party (normally referred to as trustor) is concrete guarantees on the applications computed in
willing to rely on another party (may be referred to mobile devices. Thus, a QoS that is adaptive must
as trustee). It is greatly attributed to human beings be realized coupled with a strong trust relationship
and their relationships in social groups. However, in framework over the traditional methods reserving
the Computer Science discipline, a trusted resesources to support multimedia streaming
component has elements within itself that another services. But, due to the constant change in network
component within the system can rely on. For topology, the issue of routing packets between
instance, if component A trusts component B, this nodes poses a great problem. Multicast routing also
means that any violation of properties found in poses a challenge since the multicast tree ceases to
component B, will ultimately affect the correct be static since nodes in the network move
operation of A - dependency. This, however, randomly. The routes between nodes often have
doesnt mean if A trusts B, then component C can multiple hops which is considered complex than its
trust B. In the realm of MANETs, due to its single counterpart. In MANETs, the nodes are
characteristics, trust management is required for mobile and this feature could result in nodes getting
participating nodes that communicate together in a out of range within the network [4]. This causes
network to provide a satisfactory or acceptable level frequent loss of links between nodes. That is,
of trust relationships among them without any when nodes are in motion, the state of present node
previous interactions [1]. Nevertheless, trust links are most susceptible to changes, or possibly
management in MANETs are enormously break. Re-routing is an alternative routes that are
challenging because of its dynamic nature and broken.
characteristics which is attributed to topology
changes as well as uncertainty and incompleteness.
c)Trust and QoS: Trust and QoS have almost entire network. This means that a bridge between
similar metrics in order to evaluate their efficiency. trust and QoS will be built in this paper.
There are different ways to define trust. Trust is Sen [17] proposed a reputation and trust-based
considered as a directional relationship between two security framework for MANETs that detects
entities which is critical relationship building a packet-dropping attacks launched by malicious and
relationship between them in a network [17]. selfish nodes. The framework was based on a trust
Though trust has been considered as a model which is based on the reputation of other
computational model, it is viewed differetly by network nodes. The study stated that MANETs are
different research communities. QoS in MANET [8] prone to security threats in which a node could hid
which is universally growing area. With the rapid its initial identity and disguisedly re-enter a network
advanvement in multimedia technology today, there environments where users are penalized for
is urgent need for mobile technology and real time behavior that seems selfish or malicious. The
applications to strictly support QoS such as solutions proposed involved invoking a univocal
throughput, delay, energy consumption, jitter etc. relation between a terminal and the initial identity it
Trust and QoS share similar metrics e.g. delay, assumed when it first enters the network [17]. The
throughput and packet dropping rate. The work was implemented for only small scale
correlation between these concepts exists not only performances and not high scale. It was at a
through shared performance metrics but also the simulation area of 100*100m. DSR protocol is
assurance of good service in the network for the end widely known for its scalability problem especially
user. QoS and Trust is what stands in between the when the ad hoc network topology varies. Different
network and the Applications/Users. It is not easy to results could have been achieved through the OLSR
provide QoS support without having the right QoS protocol or rather the TORA protocol which can
requirements. A particular level of trust must be evaluate either a proactive or even a reactive
established and that is, only trustworthy nodes that protocol.
perform as desired will participate. Trust is dynamic
[16] just like MANETs which have an ever Li et al. [14] also proposed a trust-based framework
changing topology state. This means that the trust which can be incorporated with diverse single-copy
value should be based on temporary and yet local data forwarding protocols in Opportunistic
information. In addition to this, the trust value is Networks (OppNets). It aimed at carrying out an in-
different for similar nodes is different. This is depth assessment of the potential encountered for
influenced by that each node goes through different data delivery [18]. Their work aimed at
situations in terms of the dynamic topology. counteracting arbitrarily forwarding attack [18].
Zhang et al. [19] also focused on the problem of
4. RELATED WORKS ON TRUST control delay-constrained topology having in mind,
other problems like account delay and interference.
MANAGEMENT FRAMEWORKS IN The study proposed a cross-layer distributed
MANETS algorithm known as interference-based topology
Trust remains [1] a relevant subject within the control algorithm for delay-constrained (ITCD)
research field and continues to attract interest from MANETs [18] while taking the interference and
network analysts and developers. The notion of delay constraints into consideration. Additionally,
using trust to eradicate security problems in the study investigated the effect of node mobility on
networks has also been relevant in the research the interference-based topology control algorithm
field. Ferdous et al. [12], proposed a novel approach where any node considered not stable is removed.
to address problems by using trust as a metric. Their The results obtained from the simulation performed
approach is based on the node responsibility to showed that ITCD reduce the delay and in turn also
build an acceptable trust level and monitoring [12]. improve the performance effectively in delay-
Their work is based only at node level and this constrained mobile ad hoc networks.
paper seeks to go deeper into considering other Li and Kato [11] proposed an Objective Trust
factors like the QoS at the network and trust in the Management Framework (OTMF).The framework
assessed nodes trust and was used to compel nodes
to collaborate in a manner that is normal. The changing topology is one of the characteristics and
framework was geared towards designing a robust limitations of MANETs. The most important aspect
and attack-resistant trust management framework to is achieving good QoS.
overcome vulnerabilities problems in the future. Thus, a robust and efficient trust management
This vulnerabilities include not only topology- framework is needed to ensure nodes are
related or scalability-related vulnerabilities. trustworthy and prevent them from being selfish or
Moreover, Shabut et al. [20] proposed a trust model performing selfishly as well as provide good QoS.
that is recommendation-based. It has a defence This work seeks to close that gap by building a
mechanism that can dynamically filter out attacks framework that not only looks at trust but also with
using clustering techniques and the model was reference to video streaming applications in
empirically evaluated. The empirical analysis MANETs. Much concentration will be based on the
demonstrated the attributes of robustness and achievement of trust between nodes of a network.
accuracy in a MANET dynamic environment. Different network scenarios will be established,
However, the results, cannot be validated in an which means an outlook on performances, behavior
experimental process since the framework is based and together with their quality of service of video
on recommendation. Thus, our proposed framework streamed applications will be closely analyzed.
is one based on direct trust
Trust is an important feature in networks [10]. The 5. PROPOSED APPLICATION-CENTRIC
nature of MANETs still make the guarantee of
efficient trust a complex task due its highly
TRUST FRAMEWORK
dynamic topology constraints. The emergence of This section present a high-level overview of the
MANETs calls for the addressing of many problems proposed trust management framework and the
perceived in networks and to also optimizing some different components or technologies associated
of the existing network resources [2]. The question with it. It also present assumptions that we made in
that remains unresolved is can trust be truly connection with the framework.
guaranteed in a MANETs? The answer to this
question according to this study will be based on the 5.1 System Overview
QoS. Different authors have presented different In this paper, we proposed an application-centric
trust frameworks. According to Li and Kato [11], trust management framework with distributed trust
existing trust frameworks are faced with great computations (AppTrusFram). AppTrusFam is a
challenges under hostile environments, which can video streaming application, a rising technology
adversely affects their performance. This means that innovation in MANETs which may come in the
the reason most frameworks failed is that they did form of low resolution video or high resolution
not address the problem of topology and its being video. The proposed framework involves
dynamic in these type of networks hence the need application server together with distributed trust
for robust frameworks that will be resistant and still computations. (See Fig. 1) The benefits is that it is a
get to give out optimum performance. management system that is able to compute the end
Ferdous et al. [12], also developed a simple node- result which is QoS evaluation in the form of
based trust management technique for MANETs. It throughput, delay, and jitter and so on. In Fig. 1, the
provides multiple standpoints of trust, its properties AppTrusFam involves neighboring nodes direct
which are trust metrics, and the insights into the trust. The application server plays an important role
customization the metrics meet the requirements in the attainment of excellent QoS and is built-in in
and goals of the network trust management (NTM) every workstation since they acts as its own router.
scheme. Their future work was set to develop trust This is because it encompasses features that
management mechanisms having the required involves security, diagnostics and clustering.
attributes like scalability, adaptation to topology Distributed trust computations are based on
dynamics, and reliability [12]. A good scheme is knowledge, recommendation and experience.
one that encompasses all these characteristics in
order to ensure trust in the network. Dynamically
Operational QoS
Level Evaluation a)Application server: The Application server
consist of the business logic and the application
Graphical
programs using various protocols. It also take
User User 1 User 2 ................. charges of all application operations that exist
User n
Interface between users and an organisation. It is able to
(GUI) Browser deploy applications and it primarily acts as a
middleware, an abstraction and serves that facilitate
the design, development and integration of
Web Server distributed applications in heterogeneous net-
environments. In MANETs, the nodes are self-
Network Level configuring, basically meaning they have their own
Security Clustering Database internal application server.
Objective
Application Transactions Services Direct Metrics Services
Interface Trust (throughput,
Application Server delay, jitter)
Application
Video
Diagnostics Diagnostics Database
streaming
6. APPTRUSFRAM COMPONENTS
Fig. 2. Application Server functions
AppTrusFram shown in Fig. 1 is video
streaming which shows a link between direct trust Fig. 2 shows the functions of the application server
and QoS metrics. The components are discussed as in a breakdown. The application server has a
follows: diagnostics attribute to track down and resolve
errors. Security is a critical aspect in terms of trust
management. This is to make sure malicious nodes
to not end derailing performance of the entire
network. In the context of this paper, trust among
nodes is compromised when one node withholds
packets for a long time since transmission is
through hops from one node to the other. Another
active functionality of the application server is
clustering. Clustering ensures fault tolerance of the
application server. That is, in the event of hardware
failure or part of application failure, services will
remain running for users. The application server has
a set of common services and also a database for one entity and another was successful. Direct trust
record keeping of all the transactions or rather. was chosen based on the merits that it is reliable in
terms of rankings from confidence trust and
reputation [20]. The framework operates from the
b)Internet network provider: It is important to note point of view that the involved nodes do not
the importance of the Internet Service provider necessarily need to have direct experience with all
(ISP) when evaluatingquality of experience(QoE). nodes in the network for them to be able to compute
Operations taking place at this level of abstraction a particular trust level about them. In contrast, the
is not visible to the end-user. The ISP plays a major trust is based on second hand evidence that is
role because in between application and web level, provided by intermediate nodes. In this way, they
there has to be internet connectivity. benefit from the experiences of other nodes in the
c)Web server: The web server plays an important network. The framework designed is based on trust
role towards the realization of http web pages and from interaction experiences. The attainment of
connectivity. This technology is mostly on the user good QoS in the network is evidence that the
interface side. One can argue that it may be used in network itself is trustworthy. Good QoS in a
the evaluation of QoE.The browser is the main dynamic topology network means or rather
driving force behind the realization of the validates the framework. The direct trust can be
application stream. Basically, the browser translates computed using the formula:
these http pages into media content e.g video, voice Direct trust = (g + (x) 2) / (q + x) ------------
and ftp. Some webservers are found in the --------(1)
application server but this is not common in most
application servers. where g is the time success to say an event
happened, x is a positive real number, and q
c)Operational chain: This shows the level of represents the event transactions. If the first event
abstraction at which the framework is under. The of the transaction is a success, the direct trust value
user interface is where the end-user can manipulate increases but inverse to this it decreases. In the trust
the system and view the entire flow. The network framework, the success rate can also be referred to
level however is hidden from the end-user. The as the trust value and can be any real number
programmer or rather network specialist can, between 0 and +1. In terms of QoS, the metric
however, evaluate the performance of the system at called delay plays a major role in finding the true
this level.Our framework is evaluated from the trustworthiness of the network. This would mean
application interface since we are not mainly that a specific node delivers packets on time and
interested in the experiences of the user but rather thus increased network efficiency.The trust being
of the application itself in terms of performance. evaluated is from node to node
d)QoS evaluation: QoS is the end-attainment goal
of this trust framework and the framework 7. PROPOSED TRUST FRAMEWORK
encapsulates such an option. The evaluation of QoS OPERATIONS
or rather the provision of high QoS is what rates our
framework. Different network detriments are MANET communication play a major role in the
observed while the system executes due to topology attainment of a proper flow of packets within the
variations. QoS metrics like throughput, jitter, and framework. Firstly, video packets will always move
delay and received routing packets. The end user from the sender to the receiving end. The
cannot determine the QoS of the system because it framework vividly shows two different interfaces
is at a different abstraction.The QoS results are a that are involved, mainly graphical user interface
true reflection of the trust that exists among entities and application interface. The application interface
in the network.If the quality of service is poor,that can be abstracted as where the source of the video
would mean that the trust as well among nodes is lies. It should also be noted that so much of bi-
poor. communication is involved around the different
component parts. Before an application can be sent,
e) Direct trust: Direct trust is application-centric the application server as the middleware in this
which decides whether an interaction made between context has to ensure that direct trust is established.
[10] J. Sen, "A survey on reputation and trust-based dropping nodes in a mobile ad hoc network,"
systems for wireless communication networks," arXiv preprint arXiv:1010.5176, 2010.
arXiv preprint arXiv:1012.2529, 2010. [18] N. Li and S. K. Das, "A trust-based framework
[11] J. Li, R. Li, and J. Kato, "Future trust for data forwarding in opportunistic networks,"
management framework for mobile ad hoc Ad Hoc Networks, vol. 11, pp. 1497-1509, 2013.
networks," IEEE Communications Magazine, [19] X. M. Zhang, Y. Zhang, F. Yan, and A. V.
vol. 46, pp. 108-114, 2008. Vasilakos, "Interference-based topology control
[12] R. Ferdous, V. Muthukkumarasamy, and A. algorithm for delay-constrained mobile ad hoc
Sattar, "Trust Management Scheme for Mobile networks," IEEE Transactions on Mobile
Ad-Hoc Networks," in Computer and Computing, vol. 14, pp. 742-754, 2015.
Information Technology (CIT), 2010 IEEE 10th [20] R. Kiefhaber, R. Jahr, N. Msadek, and T.
International Conference on, 2010, pp. 896-901. Ungerer, "Ranking of direct trust, confidence,
[13] I. Ahmad, H. Jabeen, and F. Riaz, "Improved and reputation in an abstract system with
quality of service protocol for real time traffic in unreliable components," in Ubiquitous
manet," arXiv preprint arXiv:1308.2797, 2013. Intelligence and Computing, 2013 IEEE 10th
[14] M. Rao and N. Singh, "Quality of service International Conference on and 10th
enhancement in MANETs with an efficient International Conference on Autonomic and
routing algorithm," in Advance Computing Trusted Computing (UIC/ATC), 2013, pp. 388-
Conference (IACC), 2014 IEEE International, 395.
2014, pp. 381-384. [21] T. Phakathi, F. Lugayizi, B. Isong and N.
[15] K. Govindan and P. Mohapatra, "Trust Gasela, "Quality of Service of Video Streaming
computations and trust dynamics in mobile in Vehicular Adhoc Networks: Performance
adhoc networks: a survey," IEEE Analysis," 2016 International Conference on
Communications Surveys & Tutorials, vol. 14, Computational Science and Computational
pp. 279-298, 2012. Intelligence (CSCI), Las Vegas, NV, 2016, pp.
[16] V. Singh and M. Jain, "Secure AODV Routing 886-891.
Protocols Based on Concept of Trust in [22] A. Chen, G. Xu, and Y. Yang, A Cluster-
MANET's," topology, vol. 3, 2014. Based Trust Model for Mobile Ad Hoc
[17] J. Sen, "A distributed trust management Networks, 2008 4th International Conference
framework for detecting malicious packet on Wireless Communications, Networking and
Mobile Computing, 2008
AbstractIn the traditional camera calibration method, success application such as Queens Puzzle [14], image
one of the core parameters affecting the calibration quality is application [15, 16] and neural networks [17]
the mapping matrices in the x- and y-direction. In this study, Camera Calibration Model
we first calculate the mapping matrices using the traditional
method. And then adopt Particle Swamp Optimization (PSO) The most commonly used camera calibration model based
method to further fine tune the mapping matrices. In the on pine-hole mode is depicted in Fig. 1. The transformation
experiments, we use OpenCV packages to perform the original model is shown in (1). The matrix [R T ] , referred to as
calibration algorithm, and use Python to implement the PSO extrinsic parameter, is a combination of a rotation and a
algorithm to fine tune the mapping matrices. Experimental translation from World Coordinate to Camera Coordinate.
results show that, we have only minor improvement in terms of
re-projection error (since this quantity is coarse), but we do X X
xc r11 r12 r13 t1 Y
produce better vision effects, especially for the regions distant y r Y
c 21 r22 r23 t 2 [R T ] (1)
from the image center. Z Z
z c r31 r32 r33 t 3
1
1
Keywords: Camera Calibration; Particle Swamp Optimization
(PSO); Mapping Matrix; Re-projection Error In the Camera Coordinate, we us the property of similar
triangles to obtain (2) and (3), where f is the focal length and
Introduction
zc is the distance of the camera to the world object. For
Camera calibration can be viewed as a pre-processing convenient, one adopts homogeneous form as (4). Together
technique for practical visual applications. For wide-angle and with the correction of pixel aspect ratio and center shift of the
fish-eye lenses, calibration is even more important. It is a key CCD sensor (cx , c y ) , one re-writes (4) as (5). The matrix A in
factor of success for the latter applications. Calibration process
is indeed nonlinear [1, 2]. To improve the performance of (5) is called the intrinsic parameter.
coordinate transformations, Tsai [3, 4] proposed a 2-tage
process method, which produces better results but requires
high cost computation. Heikkila [5, 6] proposed another 4-
stage method to compensate the radial distortion and tangent
distortion. The most practical and commonly used method was
proposed by Zhang [7] in 2000. His method is widely
implemented in Matlab and OpenCV. Recently, there are
methods using stereo objects to assist the calibration (3D-
calibration) [8]. However, these methods require some specific Fig. 1. Pine-hole model for camera calibration.
geometric structures of the objects. The performance is much
better than the traditional ones but they are also computation xr xc
intensive methods. (2)
f zc
Particle Swamp Optimization (PSO) is a famous branch of
evolutionary computation, which is originated from social
psychology principle using the fitness concept. Individuals in y r yc
(3)
the swarm have the ability of communication to exchange f zc
information. PSO is first proposed by Kennedy and Eberhart
[9, 10] in 1995. The underlying idea is interesting. Wilson [11] xr f 0 0 xc
found similar behavior from the fish. Reynolds [12] and S r y r 0 f 0 yc (4)
Heppner [13] found that the birds form some specific figures
1 0 0 1 z c
when flying together to reach a place far away. PSO has man
between the true image and the captured (distorted) one. They
xr f x 0 c x xc xc
can be regarded as a simulation of a camera which distorts an
S y r 0 fy c y y c A y c (5) image in the capture process. Therefore, whenever these 2
1 0 0 1 z c z c
matrices are obtained, the correction process can be done by a
There 2 types of distortion induced from the wide-angle process called Remap which perform inverse mapping together
and fish-eye lenses, radial distortion and tangent distortion. An with image interpolation. The relation between Map and
example of typical distortion effects is shown in Fig. 2. In the Remap is illustrated in Fig. 3.
Brown-Conrady model, one merges radial distortion model (6)
and tangent distortion model (7) to obtain a homogeneous
form (8), in which the nonlinear transform is denoted by .
The results of fine tune using PSO are listed in Table 1-3.
Table 1 shows the result using various number of particles in
PSO. We observe that there are reductions of re-projection
error using PSO, although the amount is not significant. Table
2 shows the results using various number of iterations and
Table 3 shows those using various parameter combinations.
2.2 The educational purpose of exercise RGB values of outer space. When the light
emission is on, it measures the values of
In the information department college of our reflection from neighboring sphere. In our
university, since 2010 we are carrying out libraries, the color sensor has a converting
control system programing exercise by simple method of HSV values with bicone model. The
robot and game projects in compulsory subject value V can be used for measurement of
Experiment 2 of specialized course. lightness as a light sensor. The value H can be
In the exercise curriculum, as various used for color pattern distinction, which
development method like Java grammatical returns a typical color name. It also has a
matter, introduce object-oriented programing, calibration method to decide some threshold
Foundations of Software Engineering will be values.
after UML notation learning. The educational
purpose of exercise, there are control system 3 ABOUT OUR EXERCISE
programing as the first step of embedded
system, modeling design along the Object- 3.1 Outline of our exercise
Oriented, trial test aware of reality
environment and physical constraints, and In this exercise, we are prepared the prescribed
projects in group. robot suitable for the traveling body for line
trace (Fig.1). There are 4 5 students in 1
2.3 Modeling design and UML diagram group, then give them 2 regulated robots and
make the group into 2 units. For the problems,
So far, we have been analyzed evaluation of
students should control robot to finish
students questionnaire [3], description
traveling on the course and area of the game
contents of report [4] in 2015 practice. Also, in
filed, and realize mission element in game
2016, we attempted to analyze answer
sense. In the group, members should take
programs in applied problems with code
charges for design of strategy, implementing
indicators [5]. In this paper, we are analyze
the program, and verify the operation. The
Modeling design which was described in
points of performance certification was total
report with quantity and contents of UML
by traveling point by running time and mission
diagram, and it will lead to more precise
point by achievement level.
evaluation.
3.2 Lesson project and game projects
2.4 Development environment LeJOS for
EV3 kit In this exercise, Game projects also was been
reconstructed with the new kit. Project group
In our exercise from 2010 to 2014, we adopted
was been organized in Table 1 [6][7]. For each
ROBOTC environment as extended C
project, we prepared example program
language with pseud multi-task processing for
showing usage of sensors, several basic
old version NXT of LEGO Mindstorms. From
problem corresponding to individual technical
2015, we changed leJOS environment, which
items, comprehensive applied problems with
is a Linux OS with Java virtual machine by
performance certification. Applied problems
Oracle. It contained Java Runtime library for
are game projects using dedicated game field.
new version EV3 as embedded system. You
During the projects, we presented the scoring
can use Standard Java API as object-oriented
rule of performance certification, and set up
programming. It is available for parallel
intermediate goal for each mission element.
processing with multi-thread.
For students, after learning control by the basic
In addition, we offer original library for sensor
problem, examine the rules of applied
control. The color sensor consists of both
problems, select the mission elements, and
bodies of light emission and light acceptance.
consider the strategy. At the final contest of the
When the light emission is off, it measures
synthesis problem, we will tackle about three
weeks [8]. In the past, there was a problem prepared. Because of the answer program is
which is transport control by arm mechanism. just following the example program, so it is not
But the migration of mechanism is insufficient worth be the subject to analysis or evaluation.
in new version of regulated robot, so the
problem has been omitted. 4.2 Lesson 2
3.3 Support tools for our exercise In the Lesson 2, a student learns running
control of driving and steering by wheel
To support this exercise, we are building Class mechanism with independent left-and-right
content management site which is LegoWiki wheels. In the game subject 21 "Figure
based on PukiWiki and LegoPress based on Following", he must realize running the black
WordPress. The purpose of the project is line course with sequential control. The course
posting projects scoring rule, technical item has two partial areas in the game field (Fig.2).
like characteristics of sensor, program of The first half seems L shape as straight course.
example project, and referee sheet of It requires a simple program with only
performance certification. parameter setting for straight run and spin turn.
The second half seems "3" shape with two half
EV3 micro-computer circles. It requires a program with rather
Echo sensor
careful parameter setting for curving run. In
Wheel mechanism modeling design, he must consider several
state transition according to the partial course.
Front wheels The triggers are by time or distance.
Touch sensor Color sensor
4.3 Lesson 3
Figure 1 Traveling machine LeBot of our exercise
In the Lesson 3, you learn neighboring
Table 1 Curriculum detection by color sensor. In the game subject
Week Project Game subject 30 "Line Trace" (Fig.3), they must realize line
1
Event driven
10 Basic problems
trace running with feedback control. LeBot
and task management
Running control
machine runs on the center of black lines by
2 21 Figure Following
by wheel mechanism power control of both motors according to
30 Line Trace each light sensor.
neighbor detection
3 31 Performance Driving
by light sensor Moreover, in the game subject 31
32 Area Sweeping
Faraway detection 41 Target Access "Performance Driving" (Fig.3), LeBot must
4
by echo sensor 42 Target Round
Gradation distinction also perform some given missions by detecting
5 51 Garage Parking
by color sensor color tiles like "Dance Action". It does spin
6
7
Great race contest 01 Outside Running turn at red tile and makes beep sounds at each
as final project 02 Inside Running
8 green tile. The score of the game is the sum of
running point by the speed and mission point
4 CONTENTS OF APPLIED PROBLEM by achievement degree. Starting operation is
by button press. Stopping operation is by
4.1 Lesson 1 conflict to tower object with touch sensor. In
the game subject 32 "Area Sweeping" (Fig.4),
In the Lesson 1, a student learns basic control LeBot with bumper attachment must keep in
with API for LEGO Mindstorms. Student will the area rounded by the black line. It must
learn about event driven by Touch sensor or sweep out some balls as obstacle by zig-zag
button, parallel processing by multi-tasking, moving for all area like "Roomba Cleaner".
use of flag or status, and implementation of
event queue. In this lesson, student will use 4.4 Lesson 4
sensor-related libraries which has been
problems. There are 7 class diagram, 32 state light sensor in Object Class show different
machine diagram, 2 activity diagram, and 4 roles by left and right position.
Sequence Diagram. For drawing UML
diagram, few tool like Microsoft Visio, astah* 6.2 The exemplar of Class Diagram
community [11] was been used. There were
also few of groups drawing diagram by Free- As the Game Subject 31 "Performance
hand. We focused quantity of components of Driving", there are Input class and Output class.
UML diagram in summary reports. For each Input class as detection mechanism includes
UML diagram, we enumerated frequency LightSensor, ColorSensor and TouchSensor as
number of nodes and arcs as relation between sub-class. Output class as operation
nodes. Table 3 it shows the average values. mechanism includes Motor and Sound as sub-
Table 2 Frequency of UML Diagrams in reports class. Moreover, Mission class is needed
which has some Input and Output classes
Diagram 21 31 32 41 42 51 Total
Class 0 1 1 1 2 2 7 according to each mission performance. It
State Machine 7 8 3 3 8 8 37 includes LineTrace, ButtonStart and GoalStop
Activity 0 0 0 0 2 0 2 as sub-class, which use LigntSensor. It also
Sequence 2 1 1 0 0 1 5
includes SpinTurn and AlertBeep as sub-class,
Table 3 Quantity average of UML Diagrams in reports which use ColorSensor. LineTrace and
Average Elem 21 31 32 41 42 51
AlertBeep class has Runnable interface for
Node - 12.0 13.0 9.0 8.5 8.5 multi-thread process. If they are single thread,
Class
Arrow - 10.0 7.0 6.0 7.5 6.0 beeping process and driving process don't
Node 11.1 8.1 9.3 10.0 9.9 12.0
State Machine work in parallel execution. The Main class
Arrow 11.0 9.5 12.0 11.3 10.9 13.4
Node - - - - 26.5 - consists of have these Mission classes. (Fig.7)
Activity
Arrow - - - - 33.0 -
Node 5.0 4.0 6.0 - - 7.0 6.3 Consideration about answers of Class
Sequence
Arrow 14.0 4.0 8.0 - - 9.0
Diagram
represents a situation with an interval which is group drew them. If you focus on high speed
still at the same node until a trigger event. running or mission accomplishment without
Initial and end state must be appeared clearly considering the internal structure of regulated
in a diagram. You may use Composite State robot, state machine diagram is very important.
including some sub-state as nest structure. As The diagram seems looks like flowchart,
game subject 21 "Figure Following", there are therefore some of the student draw state
simple state of straight, spin and rotation. machine diagram in that sense. About the
Triggers of transition occur by timer event or description error, there are Simple symbol
rotation count event. mistake or no arrow of transition. Also, there
are some mistake like internal action or
7.2 The exemplar of State Machine Diagram transition conditions are didnt described.
The quantity of state machine diagram, which
As State Machine Diagram, we introduce the was small overall. The reason that the number
exemplar of game subject 51 "Garage Parking" of node is because composite states and sub-
in Fig.7 (b). It has 6 composite states according states are not properly set. Before drawing
to the position in course or the sheet. The state machine diagram, it is necessary to divide
triggers of transition are detection of color the behavior to capture project into several
change. It may add time out event. They may states. Inside of composite state, initial state
help to keep running though giving up the and final state should be described. Also, by
mission in the middle. using parallel state to represented parallel
State (1): Running along the course processing correctly, the number of nodes will
State (2): Searching the entrance position into also increase.
the sheet
State (3): Driving to the stop line with forward 8 ACTIVITY DIAGRAM AND
State (4): Driving from the stop line with SEQUENCE DIAGRAM
backward
State (5): Searching the exit position out of the 8.1 Outline of Activity Diagram
sheet
State (6): Running along the course Activity Diagram describes the execution
order of several processes like a flowchart. It
7.3 Answer examples of State Machine can deal synchronization of parallel processing
Diagram by symbol "sync bar". Moreover, you can use
nest structure for complex process according to
We discuss some answer examples of State the granularity of tasks. In our game subjects,
Machine Diagram about "Garage Parking" description of behaviors from start to goal by a
(Fig.8). (b) (d) only have 1 composite state so traveling machines needed. Only in the game
the granularity is inappropriate. Especially, (d) subject 42 "Target Round", some of groups
has no sub-state, it is unknown what Kind of has been describe activity diagram. For the
behavior has be done. In (a), the state name is description error, almost the use of symbol is
the action itself. Therefore, internal actions of incorrect. For example, the symbol of end node
state are not been described. In (c), garage and final control was been confused. About the
parking after stop on blue line state, retreat quantity of diagrams, it was appropriate.
within the garage sheet state was not been
described, back to black line trace state soon. 8.2 The Exemplar of Activity Diagram
7.4 Consideration about answers of State As activity diagram, the overall flow that point
Machine Diagram out robots behavior is necessary. In the game
project "Target Access", branching conditions
Because we emphasized importance of the are important. When echo sensor or touch
diagram for game projects in lesson, almost sensor detected the target, the stop processing
should be activated. In the target object has machine with LEGO Mindstorms. The
been detected and access processing, using exercise is for introductory object-oriented
fork node and join node to describe parallel programming of simple embedded system
processing of forward running and distance control. It is also for the first training of object-
measure. oriented development by UML modeling
design. We offered some game subjects in each
8.3 Outline of Sequence Diagram project with some technical items according to
the lesson curriculum.
Sequence Diagram as interactive diagram It is performed in require subject "Experiment
describes message passing between objects 2" as required subject in information
according to time series. In Sequence Diagram, engineering college. It is held in quarter of 8
to express the control structure like branch, weeks. We discussed answers of UML
loop, parallel processing, using combined diagram in summary reports in 2016. We
fragment is necessary. analyzed the description quantity and
There are many of quantity should be descried compared them with the exemplar. Generally,
in sequence diagram, therefore the difficulty is student get strong impact from flowchart. For
slightly higher. So there were little description modeling design of object-orientation, it was
in the reports. Description error are due to been confirmed that practical understanding is
insufficient understanding of grammar. For insufficient. In future work, presentation of
example, confused with name of message and exemplar UML diagram, Create check sheet,
lifeline, didnt describe execution specification, publish evaluation measure.
inappropriate to distinguish messages between
synchronous and asynchronous. The number REFERENCES
of nodes was appropriate, but the message
[1] LEGO Company, LEGO. com Mindstorms Home,
could not be distinguished, so required arcs http://mindstorms. lego. com/eng/default. asp.
was insufficient. [2] Y. Onishi, H. Tominaga, T. Yamasaki, "GoalPost:
LEGO Programming Exercise Support",
Proceedings of AMT 2005, pp.305-306, 2005.
8.4 The exemplar of Sequence diagram [3] Y. Onishi, H. Tominaga, T. Hayashi, T. Yamasaki,
"Exercise Analysis and Lesson Plan with Robot
Behavior in LEGO Programming Contest for
When draw sequence diagram, you have to Problem Solving Learning", Proceedings of ED-
understand message passing between classes MEDIA 2006, pp.1943-1950, 2006.
[4] Y. Onishi, H. Tominaga, T. Hayashi, T. Yamasaki,
which are described on class diagram. In the "GoalPost: LEGO Programming Exercise Support
game projects "Performance Running", for Problem Solving Learning with Strategy Design
Tool", Posters of ICCE 2006, pp.53-56, 2006.
express the method processing between [5] H. Tominaga, Y. Onishi, T. Hayashi, T. Yamasaki,
mission class and control class is very "LEGO Robot Programming Exercise Support for
important. When executing Line Trace, it is Problem Solving Learning with Game Strategy
Planning Tools", Proceedings of DIGITEL 2007,
important to express paralleling processing of pp. 81-88, 2007.
traveling and sounding beep by using fragment. [6] S. Kato, H. Tominaga, "A practical Lesson of
Introductory Programming Exercises with LEGO
Also, for the color taken by both light sensors Robot Control and Game projects", Proceedings of
at Line Trace, express conditional branch ED-MEIDA 2009, pp.1747-1752, 2009.
during selection between forward running and [7] S. Kato, H. Tominaga, "A Style and Tool for Group
Exercise of Introductory Programming with LEGO
spin turn by fragment. When sounding by Robot Control as Pre-Education Event",
Proceedings of ITHET 2010, pp.259-267, 2010.
detected the green, using fragment to express
[8] S. Kim, J. Jeon, "Introduction for Freshmen to
iteration processing. Embedded Systems Using LEGO Mindstorms",
IEEE Education Society 2009, pp.99-108, 2009.
9 CONCLUSION
Mission class
Mechanism class
S1 S4
Internal action in
sub-states
S2
Project divided into
6 composite states
S5
Sub-states in S3
composite states S6
Parallel processing
by Using sync bar to show
Combined fragment
for branch
(a) (c)
BACK TO
No internal action
THE WRONG STATE
(d)
(b)
is displayed in the circles. As shown in Figure company are extracted from the collected
3, each marker is given different color articles.
according to the category of each article. The
input form to narrow down articles by Step 2: Extraction of locations from the articles
keywords, a period of time, and categories is The system extracts information about
arranged on the upper side of the map. If a locations from each article by using Japanese
marker is clicked, an information window Named Entity Extraction API by goo Lab [6].
consisting of the title, image, date of issue, By our preliminary experiments [7], we have
publishing company, hyperlinks to all confirmed that approximately 83.5% of the
locations of the article is displayed. news articles contain information about
Below the map, the list of articles placed at locations.
the same location is displayed. All locations in
the text of each article are linked to maps. Step 3: Placing markers on the maps
Readers can confirm the locations on the maps The system gets latitude and longitude of all
by clicking the interesting locations in the text locations of the article by Google Maps
or the information window. Geocoding APIs. In the news text, a location is
abbreviated after the first mention. If the same
coordinates are obtained by APIs, the longest
name of locations is selected as one of the
representative locations of the article. If the
coordinates of "Kagawa" and "Kagawa
Prefecture" are same, the latter is selected.
The proposed system places markers
indicating the articles at the appropriate
position on the maps based on the coordinates.
If there are multiple articles in the same
locations, the marker of the latest article is set
as the representative one.
move to the related locations of the article on 4.2 Evaluation of the Browsing News
the map freely by using this function.
Figure 4 shows screenshots of moving the The section 1 in Table 1 shows the evaluation
related locations by the hyperlinks. results of Browsing Function. All
representative values except for the item 1-5
were higher than 3.0. As for the item 1-5, the
value of average is 2.6 which is lower than that
Click of other items. Therefore, we have to improve
the design of the news list or supplement the
information of the list when readers use this
system.
Figure 5. Representative comments of the interface Figure 7. A screenshot of the improved main interface
ACKNOWLEDGMENT
REFERENCES
[1] NIE using Newspaper, http://nie.jp/ (in Japanese)
AbstractThis paper discusses the coordination of autonomous arranged on line resources take an acceleration as a shake. The
stochastic moving multi-agents on two kinds of resources con- appropriate acceleration makes the coordination of moving-
sisting of cells; three agents on a line, and three agents on a multi-agents maximize. The paper [21] discusses the resource
circle. Each agent on their resources stochastically moves on the
cell resources through moving paths with time-lag. Our problem utilization of agents considering the boundary effect on line
is how to coordinate agents to maximize resource utilization resources. In this paper, we consider two kinds of cell resource
efficiently, where each agent depends on other agents locating the configurations, their agents are accelerated by a shake, and we
neighbors. We consider a shake for agents in order to increase the present their theoretical analysis of cell resource utilization on
resource utilization, and we also call the shake an acceleration. two kinds of resources. Then, we assume the acceleration of
The most highest resource utilization is that every cells are always
occupied by agents, i.e. it is desirable to be the fewest expected every agents is independent from the locations of resources.
number of cells not occupied by agents. We show that the resource Our analysis shows that the resource utilization to maximize
utilization of the multi-agents becomes higher if every agents them depend on their configurations. Stronger acceleration is
have appropriate acceleration. The acceleration depends on the necessary in proportion to the number of boundaries in order to
configurations of cell resources, and we can find an optimal increase the efficient use of resources, where the boundaries
acceleration which is to maximize the cell resource utilization
depending on their configurations. are cells moving path that is a stop, i.e. a dead end cell of
paths.
Keywords Autonomous Moving Stochastic Multi-Agents, and In our real world, there are a lot of unusual beings with
Resource Utilization. unexpected phenomena that are beyond human understanding.
In fact, a multi-agent behavior is one of them, while it
I. I NTRODUCTION is quite difficult to analyze the behavior of multi-agents in
This paper discusses a resource utilization of autonomous general theoretical frameworks, because there are interactions
stochastic moving multi-agents with time-lag, and their agents or coordination among agents. Fortunately, letting you perform
stochastically move on the cells through moving paths along intensive analysis on your desk, when we discuss the small
finite resources. The resources arrange over a configuration sizes of configurations.
according to transition probabilities in synchronization. We The studies of complex systems[1] have been expected to
consider two kinds of configurations; three agents on a line, explore new unexpected phenomena which are carried by
and three agents on a circle. The moving of each agent natural or artificial systems. The most attractive one is that
is restricted so that it depends on the number of other the behavior of entire systems does not obvious from a simple
agents on current cells within specific ranged windows, and combination of each agent behavior. Our stochastic moving
there is coordination among agents with time-lag depending multi-agents or multi-objects that take an appropriate average
the window sizes, while the coordination depends on the moving speed exactly behave more stable moving or achieve
resource configurations. The interactions among the agents high resource utilization.
are complicated to analyze the behavior of them, since each We are in need of a simple model with no fat in moving
agent stochastically moves over the resources autonomously. multi-agents for analyzing complex systems. Fortunately, Sen
In addition, the acceleration makes our analysis even more et al.[19] proposed a simple model for analyzing the behavior
difficult. The paper[22], [21] shows that the stochastic moving of moving multi-agents, and Rustogi et al.[17] presented the
multi-agent behavior becomes more stable if every agents fundamental results of the former model. Ishiduka et al.[8] also
introduced a time lag and showed the relationship between only consider on a circle. All agents run synchronously in
time lag and stability in moving multi-agents. The above discrete time over the resource according to the following tran-
models are intended to clarify how fast the moving multi- sition probabilities pi,j in stochastic manner. In the following,
agents fall into a complete stable state, i.e. a hole state sometimes we are simply expressed as i a resource S(i).
in absorbing Markov chain[5], thus the goal is to design a
coordinative system which falls into a stable hole in shorter
passage time as soon as possible.
On the other hand, in physics, Toyabe et al. [23] experi-
mentally demonstrated that information-to-energy conversion
is possible in an autonomous single stochastic moving agent.
In other words, the paper presented a solution of Maxwells
devil. The idea is that if an agent goes up the spiral stairs
during stochastic movements, it sets the stopper on the stairs
so that the agent does not to come down. This approach needs Fig. 1. Two kinds of resources and stochastic moving multi-agents.
an explicit control that the agent does not come down the
spiral stairs. It is a single agent against a multi-agent, and First, we define a weight function fi,j , i, j = 1, .., n as
our ultimate goal is to get the energy from stochastic moving 1, i=j
multi-agents. In multi-agent models, Hiyama[7] presented
the precise theoretical calculation providing the interactions fi,j = 0, i = j, ri < rj (1)
1
among different types of objects in nucleus. These are realized 1 move(ri rj ,i,j) , otherwise,
1+ exp( )
by stacking a small effect, and also this paper use the stacking
of the diffusion in stochastic moving objects. where ri are the number of agents on i-th cell, and ,
Our model, Multi-Agent behavior with Time lag and Mov- and are constants. is called an inertia which is the
ing Speed: MATMS, is based on Sen et al.[19] and the devel- tendency of an agent to stay in its resource[17], and move
oped model with time-lag proposed by Rustogi and Singh[17]. is an accelerated function to give average moving speed on
We note that our purpose is different from the papers [19], either left or right defined by (2) and (3) in later. Rustogi
[17], [8] which try to clarify the relationships between time- et al. model[17] does not satisfy the condition irreducible
lag and stability in multi-agent systems. In other words, their exactly, while our model satisfies Markov property under the
papers try to find the multi-agent configurations satisfying condition not to restrict the moving directions of agents, and
autonomous uniform resource allocation in a shortest passage the model becomes irreducible.
time. Our model satisfies Markov condition and irreducible
so that the states do not depend on the initial states in the
limit, and our problem is to find more stable multi-agent states
accompanying agent movements. It just likes as a molecule
has an energy so that it is always moving while the agents
are alive, and it depends on the manner of substances. The
Fig. 2. The model MATMS.
paper[22] showed that a stochastic moving multi-agent system,
whose the agents move slowly as a whole on average, is more
stable than other ones not having average moving speed as a Our model also has an average moving speed such as every
whole theoretically. This paper demonstrates higher resource agents move with an average moving speed si (si 1) either
configuration behavior when we consider the agent locations of left or right directions on the cells, where i are i-th locations
on resources, that is, boundary effects. We can find the basis of agents. Their agents move along the resources arranged
of our model in Shilling model[18]. over the line or the circle according to the probability pi,j in
This paper is organized as the following. First, we define stochastic manner, where i and j indicate i-th and j-th cells,
our model in Section II. Section III and IV show that there respectively. In the case of right average moving speed si , the
exists a behavior of multi-agents based on theoretical analysis function move(x, i, j), which describes the ratio of imbalance
on two configurations: a line and a circle. In the following from a cell i to a destination cell j with the difference x(=
section, we discuss the related works. Finally, we conclude ri rj ) in the numbers of agents on i and j, is defined by
this paper in Section VI. si x, i < j,
move(x, i, j) = (2)
II. S TOCHASTIC M OVING M ULTI - AGENT MODEL WITH x, otherwise,
TIME - LAG AND MOVING SPEED
wheres si is an average moving speed at i-th cell. On the other
We shall consider two kinds of finite cell resources in Figure hand, for the left average moving, move is defined by
1, and three agents arranged on their cells. All the agents move
over the resource consisting of cells S(i), where the resource si x, i > j,
move(x, i, j) = (3)
configurations are a line and a circle. The papers [19], [17] x, otherwise.
The function move(x, i, j) is not symmetric with respect to III. T HEORETICAL ANALYSIS OF 3 3 MODEL ON THE
x, and si represents the ratio of imbalance at i-th cell in LINE
the function move. As a special case, move(x, i, j) becomes In this section, we present a concrete moving multi-agent
symmetric with respect to x and the agents do not move on such that the multi-agent taking an appropriate average speed
average if si = 1. The average moving directions are inverted achieves higher resource utilization than a multi-agent not
with the same average moving speed if each agent arrives at taking moving average speed, i.e. every cells are occupied by
the leftmost or rightmost cells, i.e. the cells on the boundaries. agents in many cases on average.
The average moving speed depends on the agent locations, Suppose the multi-agent of which the number of cells and
and each agent moves towards either left or right directions agents are 3 together. This is a minimal model to examine a
on average independently. Thus, all the agents are randomly coordination among agents. We first use the parameter values
choosing the moving directions which are apart from the effect = 2 and = 1, and fix the window size w to 1.
on the left and right boundaries. Suppose 1, 2 and 3 are their cell names(Figure 1(a)) from
A moving transition probability pi,j from a current cell S(i) left to right. We do not distinguish the names among the agents
to a destination cell S(j) is defined by the normalization of for the simplicity, and represent it just a. Suppose that the
fi,j with probability 1 as same average moving speed s1 , s2 and s3 are both s (s
1), respectively, since the resource is symmetric. The moving
fi,j directions of the agents are randomly selected either left l or
pi,j = , i, j = 1, .., n, (4)
k fi,k right r in half and half at every steps. The multi-agent state is
a set of three agent states. [(a, 1), (a, 2), (a, 2)] is an example
based on fi,j . Rustogi et al. [17] introduced a window win(i) of the multi-agent states, where a are agents and 1, 2 and 3
with a fixed size for analyzing the behavior of multi-agent are the resources.
systems with time-lag. Then, a moving transition probability An example of the agent moving configuration is repre-
pi,j from a current cell S(i) to a destination cell S(j) is sented by (a, r, 1) if the agent a on the cell 1 moves towards
defined by right with average moving speed sb . The multi-agent moving
configuration consists of three agent configurations in this
fi,j minimal model. For an example, [(a, r, 1), (a, r, 1), (a, r, 1)]
, i = 1, .., n, j win(i),
pi,j = kwin(i) fi,k (5) is a multi-agent moving configuration.
0, otherwise, In our minimal model, the directions of average agent
moving are stochastically chosen at every steps so that the
where w is a window size, and win(i) is the set [i w, i + w]. multi-agent becomes Markov chain. In this setting, there are
A time delay which is local properties is proportional to the 10 multi-agent states shown in Figure 3, and we must consider
window size w (see [17], [8]). 136 probabilistic transition rules. That is, the number of the
states(Figure 3), the state transition rules (Appendix in [22])
There are no constraints on the moving of agents such that
and the multi-agent moving configurations (The top items
each cell has a fixed upper limit capacity to occupy agents,
of Appendix in [22]) are 10, 136 and 20, respectively. The
while there is another constraint in the model, i.e. the moving
illustration of the transition rule (d-3) is shown in Figure 4.
transition probability pi,j is 0 if the number of agents on a
cell S(i) is less than the number of agents on a destination
cell S(j).
the next step? If we exclude the cases that the agents stay on
boundaries, there are two exclusive cases(or a model protocol)
for each agent independently: (1) we inherit the directions at
the previous steps, i.e. left on average in above, or (2) we Fig. 3. The states of three agents arranged on the line consisting three cells.
randomly select it at each step according to even probability
either left or right, i.e. half to half rule for the direction. The This simple model satisfies Markov condition and it is
second case (2) is suite to Markov property. The first case (1) irreducible, so we easily compute the eigenvectors of the state
does not satisfy Markov property so that the systems depend transition matrix with the size 1010 using Appendix in [22],
on the initial configurations. and compute the transition probabilities among every states
TABLE II
2 T HE EXPECTED AVERAGE NUMBER OF THE CELLS OCCUPIED BY AGENTS
BASED ON THEORETICAL COMPUTATION OF THE LINE : cells = 3,
agents = 3, w = 1.
2
2 speed s=1 s=7
2
cell 1, mean m1 0.8240108 0.9202784
2 cell 2, mean m2 0.824081 0.942715
cell 3, mean m3 0.8240108 0.9202784
resource, average vm 2.472103 2.783272
2
2
2
Fig. 4. The details of the transition rules (g-2) of the line, Appendix in [22].
TABLE I
T HE PROBABILITIES STAYING THE STATES IN THE CASE cells = 3,
m1 = p1 + p2 + p3 + p4 + p5 + p6 , (6)
3
3 3 3
where pi are the probabilities of the correspondence states i
shown in Table I. In other words, m1 is the average resource
utilization on the cell 1. 3
3 3
m2 = p2 + p4 + p5 + p7 + p8 + p9 , (7)
3 3
m3 = p3 + p5 + p6 + p8 + p9 + p10 . (8) 3
3 3
The whole expected average number vm of cells occupied by
3 3
agents, i.e. the resource utilization over the resource, is given
3 3
3 3
as
TABLE III
T HE PROBABILITIES STAYING THE STATES IN THE CASE cells = 3, 3.4 line
agents = 3, = 8, AND w = 1 BASED ON THEORETICAL COMPUTATION circle
3.2
resource utilization
OF THE CIRCLE CONFIGURATION .
3
state s=1 s=7 2.8
(1) 0.447229796 0.741141684
(2) 0.0007897928 0.002853046 2.6
(3) 0.0007897928 0.002853046 2.4
(4) 0.0007897923 0.002853046
(5) 0.0917333748 0.041716530 2.2
(6) 0.0917333748 0.041716530 2
(7) 0.0917333748 0.041716530 1 2 3 4 5 6 7 8 9 10
(8) 0.0917333748 0.041716530 speed
(9) 0.0917333748 0.041716530
(10) 0.0917333748 0.041716530
Fig. 7. The expected average number of cells occupied by agents based on
theoretical computation in line and circle resource utilization: cells = 3,
TABLE IV agents = 3 and w = 1, where = 8, = 2, = 1.
T HE EXPECTED AVERAGE NUMBER OF THE CELLS OCCUPIED BY AGENTS
ARRANGED ON THE CIRCLE , THEORETICAL COMPUTATION : cells = 3,
agents = 3, w = 1. V. R ELATED W ORKS
speed s=1 s=7 Sen et al.[19] presented our basic model, and Rustogi et
cell 1, mean m1 0.8149537 0.9108608 al.[17] also proposed the their extended model with time
cell 2, mean m2 0.8149537 0.9108608
cell 3, mean m3 0.8149537 0.9108608 delay and presented the excellent results. Ishiduka et al.[8]
resource, average vm 2.444861 2.732583 introduced a time lag for the propagation speed explicitly in
addition to a window, and showed the relationships between
stability and time lags. The similar result had been already
pected average numbers m1 , m2 and m3 of the cells 1, 2 and obtained[9]. We note that Sen and Rustogi models employ
3, respectively, occupied by agents: the resources on circles. On the other hand, the resources
of Ishiduka model are on a straight line. A straight line of
m1 = p1 + p2 + p5 + p7 + p8 + p10 , (9) resources are more realistic and natural compares to the circle.
m2 = p1 + p3 + p6 + p8 + p9 + p10 , (10) Hows the boundary effect? Hows the circular effect?
There are a lot of discussions on the stability of multi-
m3 = p1 + p4 + p5 + p6 + p7 + p9 . (11)
agents. Chlie et al. [3] tries to find time Markov chains to
The whole expected average number vm of cells occupied by be stable when its state has converged to an equilibrium
agents, i.e. the resource utilization over the resource, is given distribution. Bracciali et al. [2] presents an abstract declarative
as semantics for multi-agent systems based on the idea of stable
set. Moreau [14] discusses the compelling model of network
vm = (p2 + p3 + p4 ) + 2(p5 + p6 + p7 + p8 + p9 + p10 ) + 3p1 . of agents interacting via time-dependent communication links.
Finke and Passino [4] discusses a behavior of a group of
Table V shows that there is an optimal speed to accelerate
agents and their interactions in a shared environment. Lee
the MATMS in the circle 33 as well as the line configuration
et al. [10] considers the kinematicd based dynamics-based
(also see [21] on a line case). But, the circle 3 3 is a
flocking model on graphs, and the model of the behavior
boundary-less, so the resource utilization becomes low rather
is unstable. They proposed a stable information framework
than boundary cases in the same given acceleration.
for multi-agents. Mohanarajah and Hayakawa [13] discusses
the formation control of multi-agent dynamical systems in the
TABLE V case of limitation on the number of communication channels.
T HE RESOURCE UTILIZATION IN THE CASE cells = 3, agents = 3, = 8, Hirayama et al. [6] introduced the distributed Lagrangian
= 2, = 1 AND w = 1 BASED ON THEORETICAL COMPUTATION OF THE protocol for finding the solutions of distributed systems. These
LINE AND THE CIRCLE CONFIGURATIONS .
papers are intended to control the multi-agent systems in
speed line vm circle vm corporative stable states. However, our model is one of the
1 2.452544 2.444861 natural models to achieve the coordination without controls
2 2.609133 2.561073
3 2.723913 2.665648 and without communication among agents.
4 2.779706 2.723538
5 2.795896 2.742501 VI. C ONCLUSIONS
6 2.793445 2.741467
7 2.783272 2.732583 In this paper, we considered a stochastic moving multi-
8 2.770548 2.722051 agent model, and presented that the model, Multi-Agent be-
9 2.758217 2.712767
10 2.747893 2.705684 havior with Time delay and Moving Speed: MATMS, having
appropriate average stochastic moving speed become higher
self. In this paper, we propose a method that Although implicit integration always guaran-
can obtain stable results and calculate the state tees a stable result, this large-scale linear sys-
change of each material point in a form suitable tem solution is difficult to implement and is
for parallel processing. not suitable for parallel processing. In order
to solve this problem, we propose a new tech-
nique which has a greatly improved numeri-
3 PROBLEM cal stability and follows an explicit integration
method which can be calculated independently
The simplest numerical integration technique for each particle. The basic idea is that the nu-
is an explicit Euler integral. This method ap- merical instability was caused by an inaccurate
proximates the particle velocity of particles in numerical integral, which is to be corrected to
the following way. perform a more accurate numerical integration.
The accurate velocity change can be described
as follows:
vt+h vt d 1
' vt = f t (1)
h dt m Z t0 +h
t0 +h t0 1
v =v + f t dt (4)
m t0
Therefore, the simulation is to calculate the ve-
locity of the next state using the current veloc-
ity and the current force in the following man- The problem is how to obtain this exact in-
ner. tegral. Integrating the spring force defined
in the Hookes law results in a problem be-
cause it does not take into account the vary-
h t ing forces during the integration period. There-
vt+h = vt + f (2) fore, we considered a model considering this.
m
This model is based on the assumption that the
movement of the spring will cause a harmonic
This technique has serious numerical instabil- vibration. Harmonic oscillation is described
ity problems. This is because f t h is not an ac- analytically and accurate integration is possi-
curate integration. To solve this problem, the ble. Therefore, the problem is to obtain the
implicit integration method performs the nu- value of equation 4 analytically.
merical integration using the force of the fol-
lowing state, that is, f t+h . However, the power To solve the problem, simple harmonic oscil-
of this future is unknown in the present state, lation without the consideration of damping
and it is inevitable to use Taylor expansion. force was considered [6]. However, damping
This approximation can be performed as fol- was not considered in the previous work. In
lows. this paper, we propose a new method that cor-
rectly integrates the spring forces taking the
damping force into account, and the better time
f stepping strategy is also proposed.
f t+h = f t + x (3)
x The proposed method takes into consideration
only the state of adjacent material points, as
There is another problem that f /x is not a in the explicit integration method. This ap-
vector. When we have n mass-points, f /x proach is well suited for parallelism. There-
becomes n n matrix. Therefore, the prob- fore, we implemented the proposed technique
lem is essentially a large linear system problem in CUDA environment. When simulating par-
with O(n2 ) matrix. ticles in the GTX 590 GPU environment with
CUDA, it was possible to simulate a complex ple harmonic oscillation where a static object
mesh of 16,384 particles with a performance of holds a dynamic mass-point of (mi mj )/(mi +
more than 66 frames per second. mj ). If mi approach to infinity (static), this
mass expresion becomes mj .
4 HARMONIC OSCILLATION In order to determine A, energy conservation
is applied. Total energy is the sum of kinetic
Suppose two particles i and j are linked with energy and potential energy. The total energy
a spring. The spring can be described as (i, j), of the spring is A2 /2. The potential energy is
2
and the locations of the particles are denoted t /2. The kinetic energy can be described as
as xi and xj respectively. The velocities and follows:
masses are similarly described as vi , vj , mi ,
and mj .
1 mi mj 2
The vector from i to j is xij = xj xi , and t (7)
2 mi + mj
the relative velocity can be similarly described
as vj i = vj vi . Let us denote a normalized
vector with hat as follows: Therefore, the energy conservation can be de-
scribed as follows:
xji
xji = (5)
|xji |
t2 mi mj 2
2
A = + t (8)
mi + mj
The location of a particle is a function of time,
and usually denoted as xti . Other vectors de-
We can then find the amplitude A as follows:
scribing the physical states of particles are si-
miliarty expressed. The rest length of a spring
is denoted l0 , and the length at time t is lt and
mi mj
r
2
equals to |xtji |. The difference between the cur- A= t2 + t (9)
rent length and the rest length is denoted as (mi + mj )
t = lt l0 . The stiffness of the spring is .
In order to solve the above equation, the deriva-
A simple example of a harmonic oscillation is tive of the spring deformation should be com-
the situation where a mass point in 1D space puted ad follows:
is linked to a static object with a spring. The
location of the mass point can be described
with a scalar value x, and it oscillates in accor-
d t d d
dancepwith the equation x = A sin t where = (lt l0 ) = lt (10)
= /m. dt dt dt
When two mass-points are linked, we can de- Therfore, we can compute the derivative as fol-
scribe the elongation of the spring as follows: lows:
s !
d t d
q
t (mi + mj ) = xtji T xtji (11)
= A sin t = A sin t (6) dt dt
mi mj
1 t T t 0.5 d t T t
= x x x x
2 ji ji dt ji ji
In other words, the spring with two mass- 1 t T t 0.5 T t
points mi and mj can be described as a sim- = xji xji (2xtji vji )
2
T
xtji vji t
The velocity change ij is distributed to the
= q linked mass-points in accordance with their
xtji T xtji
masses. Let us denote the velocity changes
T
= xtji vji
t magnitude for the mass-points caused by the
spring (i, j) as i and j . We can easily find
the following relations:
The amplitude A can then be easily obatined.
t0 +h t0 +h
X ij mj
dvis =
Z Z
t t xij (17)
fij dt = dt (13) mi + mj
(i,j)E
t0 t0
Z T0 +h
where, E is the set of springs.
= A sin T dT
T0
The velocity changes computed by integrating
A
= cos T |TT00 +h the oscillating spring forces makes the simula-
tion more stable. The simulation steps can be
described as follows:
Therefore, the integrated force magnitude for Simple harmonic oscillaction with damping
spring (i, j) can be described as follows: force can be expressed as follows:
kd
x + x + x = 0 (24)
t0 h
m m
e e
A [ sin(d t0 + d h) (21) where kd is a damping coefficient.
+ d2
2
Without damping,
p the frequency of the oscil-
lation is /m. In order to compute the
dampened frequency, let us define a substitu-
tion value as d/2 m. Then the equation of
motion can be described as follows:
x + 2 x + 2 x = 0 (25)
p
Here, is , and 1 2 is the damp-
ened frequence d . As we have seen be-
fore, the frequency of oscillation by two
linked mass-points is computed as =
p
k(mi + mj )/mi mj . Therefore, we can de-
termine the values as follows [5]:
k
= q d (27)
mi mj
2 mi +m j
kd (mi + mj )
= =
2mi mj
Figure 1. Experimental system
s s
(mi + mj ) k 2 (mi + mj )
d = 1 d
mi mj 2m1 m2
this setting, we can control the masses of mass-
points, and the stiffness of each spring.
With these values, we can simulate the har-
monic oscillation of the mass-spring-damper The experimental system integrated the spring
model. force based on the harmonic oscillation model
described in this paper, and showed more
stable property compared traditional Euler
6 EXPERIMENTS method. In this simulation, we could increase
the spring constant large enough to make the
The system used to implement this technique mass-spring model behaves almost like a rigid
was an intel 3.47GHz i7 CPU using Mi- body as shown in Fig. 1.
crosofts Window 7 operating system, 24G
RAM, and GTX590 GPU environment. Al- In order to understand the stability of the sys-
though it is a 12-core system, it did not per- tem, a critical time step should be defined. The
form parallel processing on the CPU, and par- motion of a spring is by its nature vibrating
allel processing was performed using the GPU. with the frequency of without damping or
d with damping. It is well known that we can
In order to compare the stability of the har- represent the signal with a frequency by sam-
monic oscillation-based integration with sim- pling at least twice in the cycling period, 2/.
ple Euler integration of spring force, we used Therefore, we have to reduce the time interval
the experimental setting shown in Fig. 1. In to be smaller than /. We can define this time
hc = (28)
(c) = 8.0625
7 CONCLUSION
Figure 2. Stability Test
Fig. 2 shows the stability of the proposed This paper proposed a simulation method of
method. We employed large time steps to sim- a mass-spring model with improved numeri-
ulate the mass-spring model shown in the fig- cal stability based on a harmonic oscillation
ure. Fig. 2 (a), (b), and (c) are the result when model. The proposed method is more sta-
we changed the value to be 2.0625, 6.0625, ble than the simple explicit Euler method,
and 8.0625 respectively. As shown in the fig- and does not need to solve the linear system
ure, even with the larger time steps compared of the implicit method. These characteris-
with the critical time step, we could success- tics are suitable for parallel processing, and
fully simulated the model. high-performance, high-quality simulation us-
REFERENCES
[1] D. Baraff and A. Witkin. Large steps in cloth sim-
ulation. Proceedings of SIGGRAPH 98, pages 43
54, July 1998.
[8] Y.-M. Kang, J.-H. Choi, H.-G. Cho, and C.-J. Park.
Fast and stable animation of cloth with an approxi-
mated implicit method. Computer Graphics Inter-
national 2000, pages 247255, 2000.
(b) cloth sliding down on a sphere
[9] M. Meyer, G. Debunne, M. Desbrun, and A. H.
Figure 4. Cloth animation with the proposed method Bar. Interactive animation of cloth-like objects in
virtual reality. The Journal of Visulalization and
Computer Animation, 12:112, 2001.
ing CUDA. The proposed technique can be im-
[10] X. Provot. Deformation constraints in a mass-
plemented very simply in CUDA environment,
spring model to describe rigid cloth behavior.
and the experimental result is a technique to Graphics Interface 95, pages 147154, May
simulate the interactions of particles in massive 1995.
mass-spring networks that were impossible in
real-time applications. [11] D. Terzopoulos, J. Platt, A. Barr, and K. Fleischer.
Elastically deformable models. Computer Graph-
ics (Proceedings of SIGGRAPH 87), 21(4):205
214, July 1987.
This section shows some statistics of novels Web API named Narou API [4] is provided
and words on syosetu.com. by syosetu.com. Using Web API, anyone can
In this section, we explain the organization of get novel metadata and authors bibliography
the site syosetu.com, the number of novels and (list of novels). Returned data is written in
the number writers. We also describe a basic YAML format, and YAML is a format of struc-
statistics concerning to the distribution of fre- tured data.
quencies of words which were assigned to nov- If you specify an Ncode in API, then you will
els by users. get YAML format metadata of the novel. But
we didnt use Ncode for metadata crawling, be-
cause Ncode assignment rule is not clear. On
2.1 Novel metadata the other hand, author ID is a numerical num-
ber and assignment rule is very clear, that is
Figure 1 illustrates a model of data structure serial number. Author ID (User ID) is assigned
and data flow of a novel in syosetu.com. When to each user in syosetu.com.
an author posts a novel to syosetu.com, the au- We created authors bibliography data crawler
thor can set the title, the authors name, genre, by Ruby language. The crawler increases the
keywords and outline text as metadata. Author author ID number from 1 to 450,000, and gath-
has to select a genre word from 15 genre words ers bibliography of the author ID. Since we
provided by the site. The author can give arbi- checked in advance that the highest author ID
trary words for keywords. Each novel is auto- may be about 400,000, we set 450,000 as upper
matically assigned a novel ID, and novel ID is limit of author ID to the crawler.
called as Ncode in syosetu.com. In order to efficiently crawling of 450,000 bib-
liography, we set 8 virtual machines for dis-
A novel in syosetu.com tributed parallel metadata crawling. We ran 8
Metadata crawlers since Nov. 2015 until Dec.2015. Af-
Ncode ter crawling, we get 81,449 valid data. In other
Title, Author name, words, there are 81,449 authors in syosetu.com
Genre, Keywords,
submit Outline, at Dec.2015.
Reader
Author Novel (section) Next, we created an extractor program. It ex-
s1 s2 . . . sn tract each novel metadata (identified by Ncode)
from 81,449 crawled authors bibliography
comments scores data. Finally, we obtained 232,096 novel meta-
data. Table 1 shows the summary of data ob-
Bookmark
tained by crawling and extraction. Table 2
shows a part of attributes of novel metadata.
Figure 1. Metadata of syosetu.com
Table 1. Crawled Metadata
A novel in syosetu.com is classified into short
Item Description
novel or series novel. A serial novel consists Priod Apr.2004Oct.2015.
of several sections, a short novel has one sec- Novel 232,096
tion. A novel of syosetu.com is also classified Writer 81,449
into completed novel or not. Short novel is
certainly completed novel. Figure 2 shows the
metadata page and the TOC (table of contents)
2.3 Novel posting trend
page of a novel Knights & Magic (Ncode:
n3556o). This is a serial novel, and the TOC Figure 3 shows the number of monthly new
page shows section titles. novel posts. Until March 2014, the number of
Proceedings of the Third International Conference on Electronics and Software Science (ICESS2017), Takamatsu, Japan, 2017
title
writer
story (outline)
keyword
general_firstup
(date)
genre
http://ncode.syosetu.com/novelview/infotop/ncode/n3556o/ http://ncode.syosetu.com/n3556o/
6000
5000
4000
3000
2000
1000
0
2004-04
2004-09
2005-02
2005-07
2005-12
2006-05
2006-10
2007-03
2007-08
2008-01
2008-06
2008-11
2009-04
2009-09
2010-02
2010-07
2010-12
2011-05
2011-10
2012-03
2012-08
2013-01
2013-06
2013-11
2014-04
2014-09
2015-02
2015-07
30000
20000
15000
10000
5000
0
2011-04
2011-08
2011-12
2004-04
2004-08
2004-12
2005-04
2005-08
2005-12
2006-04
2006-08
2006-12
2007-04
2007-08
2007-12
2008-04
2008-08
2008-12
2009-04
2009-08
2009-12
2010-04
2010-08
2010-12
2012-04
2012-08
2012-12
2013-04
2013-08
2013-12
2014-04
2014-08
2014-12
2015-04
2015-08
3.3 Entropy trend of the keywords In this study, we decided to use cosine simi-
larity because it is most used as index of simi-
Let Dm be the novel metadata document set, larity. So, sum of all similarity of all document
and all novel in Dm is posted at a specific pairs may be a diversity metrics for document
month m of a year. For example, D201001 set.
is the novel metadata set, and all novel d
D201001 is posted at January 2010. We made
4.2 Definition of SumCos
the keyword set Wm extracted from Dm , and
calculated H(Wm ) of keywords according to We use term-document matrix to vectorize
expression (1). Figure 5 shows the monthly a document. In the term-document matrix,
trend of keyword entropy. a document is expressed as a word vector.
In Figure5, except during April 2017 to The model is also known as Bag of Words
September 2009, the entropy of keywords model. Figure 7 illustrates an example of term-
gradually increases, and saturates about 10 document matrix M . Usually, Mi,k element is
bit/word. As shown in Figure 3 and Figure term frequency of word wk in document di .
4, the number of new novel posting and the Cosine similarity of document i and j is calcu-
number of (unique) keywords is increase un- lated by expression (2).
til March 2014. After that, new novel posting
and the number of (unique) keywords gradu-
ally decreased. Figure5 shows that the number k Mi,k Mj,k
cos(i, j) = (2)
k Mi,k
2 2
of documents are not related entropy of word. k Mj,k
This result is similar with Shannons result[6].
In [6], entropy of word is saturated about 11.8 The range of cosine is from -1 to 1, normally.
bit/word for English documents. In case of term-document matrix, the range of
During April 2017 to September 2009, entropy cosine similarity for every two documents or
of keywords dented. This phenomenon will be every two words, is 0 to 1. Because, all ele-
mentioned in 4.4. ments in the matrix are non-negative integer.
In case of syosetu.com, one keyword can be
4 SIMILARITY BASED DIVERSITY given at most one time for one novel. Then,
an element Mi,k must be 0 or 1 for keywords.
Secondly, we propose a content diversity met- Consequently, it is easy to calculate cosine
rics using cosine similarity. similarity.
We calculated sum of cosine similarity
4.1 Basic idea of entropy based contents (SumCos, for short) of all document pairs, ac-
diversity cording to the expression (3).
12
10
0
2004-04
2004-09
2005-02
2005-07
2005-12
2006-05
2006-10
2007-03
2007-08
2008-01
2008-06
2009-04
2009-09
2010-02
2010-07
2010-12
2012-03
2012-08
2013-01
2013-06
2014-04
2014-09
2015-02
2015-07
2008-11
2011-05
2011-10
2013-11
Figure 5. Entropy of keywords (monthly)
d1 2 5 0 1
d1 0 1 2 5
is exception of keyword data. We calculated
avem with avem = |Wm |/|Dm |, where avem
: :
is average of the number of keywords per novel
di 1 1 Mik 2 in month m. Figure 9 shows the monthly trend
: : of avem .
dn 1 0 0 10 Figure 9 obviously shows that avem is high
during April 2017 to September 2009. Actu-
Figure 7. Term-Document Matrix ally, keywords are increased in this exception
period.
0.14
0.12
0.1
0.08
0.06
0.04
0.02
2011-01
2011-05
2011-09
2004-05
2004-09
2005-01
2005-05
2005-09
2006-01
2006-05
2006-09
2007-01
2007-05
2007-09
2008-01
2008-05
2008-09
2009-01
2009-05
2009-09
2010-01
2010-05
2010-09
2012-01
2012-05
2012-09
2013-01
2013-05
2013-09
2014-01
2014-05
2014-09
2015-01
2015-05
2015-09
Figure 8. Average SumCosave of keyword (monthly)
0
2011-04
2011-08
2011-12
2004-04
2004-08
2004-12
2005-04
2005-08
2005-12
2006-04
2006-08
2006-12
2007-04
2007-08
2007-12
2008-04
2008-08
2008-12
2009-04
2009-08
2009-12
2010-04
2010-08
2010-12
2012-04
2012-08
2012-12
2013-04
2013-08
2013-12
2014-04
2014-08
2014-12
2015-04
2015-08
Figure 9. Average of the number of keywords (monthly)
of decreasing diversity of scientific article cre- In the future, we want to investigate trend of
ated by Japanese researchers[1]. Science map SumCos not only for the keywords of the
method is difficult to apply CGM contents. Be- novel but also for the outline and the title. We
cause there are only few obvious direct links want to investigate SumCos trend of subsets
between novels. for each genre, whether SumCos trends are
different or same. We also want to check di-
6 CONCLUSION versity trend of other CGM contents such as
movies or comic (cartoon). Finally, we want to
Online novel become very popular in recent establish users contents selection model.
years. Some people mentioned decreasing of
diversity of CGM contents. In this paper, ACKNOWLEDGMENT
we proposed two quantitative metrics for con-
tents diversity. One is entropy-based diversity, This work was supported by JSPS KAKENHI
and the other one is the sum of cosine simi- Grant Number 15K00451.
larity (SumCos). We applied proposed met-
rics to the set of syosetu.com novel metadata. REFERENCES
The entropy of keywords is saturated about 10
[1] Igami, M., Saka, A.: Decreasing diversity in
bit/word. Word entropy is not suitable contents japanese science, evidence from in-depth analyses
diversity metric. of science maps. Scientometrics 106(1), 383403
The average of sum of the cosine similarity (January 2016)
(SumCosave ) is increased. It indicates in-
crease the number of words commonly appear- [2] Ito, E., Shimizu, K.: Frequency and link analysis
of online novels toward social contents ranking. In:
ing in the keyword field of the novel. These Proc. of SCA2012 (The 2nd International Confer-
may be quantitative evidences of decreasing ence on Social Computing and its Applications). pp.
contents diversity in syosetu.com. 531536. IEEE (November 2012)
An Attempt for Visual Design based on some kinds of data from Dynamic
Statistics in Shikoku District
Yusuke Nakano Yoshio Moritoh Yoshiro Imai
General Incorporated Association Machitere
1-16-13 Saiho-cho Takamatsu Kagawa pref. 760-0004, Japan
Department of Management Information, Kagawa Junior College
1-10 Utazu-cho, Ayautagun Kagawa pref. 769-0201, Japan
Graduate School fo Engineering, Kagawa University
2217-20 Hayashi-cho Takamatsu Kagawa pref. 761-0396, Japan
E-mail: y.nakano@dex.co.jp, moritoh@kjc.ac.jp, imai@eng.kagawa-u.ac.jp
3.2 Our Aim and System Implementation adopting OBJ of general 3D file
format which is useful for major ren-
As the related work above, we believe that
dering software for 3D modeling.
the map together with other add-on informa-
tion will become more useful and applicable three.js, which is a powerful library
not only for existing aim than previously but to perform roll-in OBJ-based data
also for possible utilization even near future. and support mouse-based manipu-
So we have measured the map information and lation such as rotation, pin-in/out,
generated map-based data for future applica- zoom-in/out together with WebGL.
tion from existing map information shown in comparing Away3D TypeScript, but
Figure4. it is not employed.
System implementation is as follows. Figure5
and 6 shows our process of implementation;
1. production of 3D-data as OBJ style : We
draw the map of Shikoku with Adobe Il-
lustrator in Figure5.
At the beginning, we have performed 3D mod- Figure 5. Production of 3D data with Illustrator.
eling for all the municipalities in Shikoku. Our
specification to design is as follows; 2. Modification of 3D-data for adjustment:
Utilizing WebGL without specific Plug-
in modules. WebGL can work on Video Figure6 shows modification of 3D-data in
Card which supports OpenGL 2.0 and it is OBJ and translation into OBJ file of 3D-
one the standard specification of the latest data with LightWave for displaying on
3D-CG for the major browsers. the Web browsers.
3.3 Visual Design of the 3D map with open understanding of geography at school, suitable
accessible data decision-making at Agriculture, Trafic control,
Medical problems and so on.
Figure7 is a trial generation of 3D map without
any open data. But we think it is more use-
ful for people to recognize 3D map rather than
only 2D one show in Figure4.
5 CONCLUSION
We have developed our system to produce
around viewing facility based on 3D map with
Figure 7. Generated 3D map from Figures3. open accessible data from the local govern-
ment. With JavaScript, WebGL and other
Figure8 shows one of the results our system utilities such LightWave, useful 3D map can
have been able to produce 3D map with open be brushed up into more useful and visualizing
accessible data of population give in Figure3. tool for people to recognize realistic image for
their feasible understanding. We will try to
apply our system into other domain near future.
REFERENCES
[1] C. Kawanishi, et al., Development and Eval-
uation of Learner-centric Graphical Educational
Figure 8. 3D map with open data of population. Tool for Network Study, Proc. of 2013 In-
ternational Conference on Humanized Systems
(ICHS2013@Takamatsu), pp.108113, Sept. 2013.
4 APPLICATION OF VISUAL DESIGN
[2] K. Higashikakiuchi, et al., Design, Implementation
Using 3D map with open accessible data, we and Trial Evaluation of a Visual Computer Simu-
can very easily obtain flexible viewpoint mov- lator by JavaScript, Proc. of The Second Interna-
tional Conference on Electronics and Software Sci-
ing for our suitable application. For example, ence (ICESS2016@ Takamatsu), pp.158164, Nov.
Figure9 will provide right-hand viewpoint of 2016.
Figure8.
With around viewing 3D map, we can ob- [3] https://medium.com/re-form/
tain normally hidden geometric positioning be- nycs-housing-cost-myth-9dce6052c139#
.symj85fwt (accessed on the 20th of July, 2017).
tween user specified points and among focused
points. For example, we think that applica-
tion field of our 3D map and visual design with
open accessible data will be toward city/urban
planing at the local government, more realistic
WappenLiteDocker
A Interface Program between a Web-Browser and a Docker Engine
2.1 CORS
In this paper, we will propose a pro-
gram called WappenLiteDocker which uses Docker engines already have an HTTP-based
Docker on the client-side machine. We think interface called Docker Engine API (https://
that it is not unrealistic to assume that stu- docs.docker.com/engine/api/). Therefore, it is
dents in computer science departments have possible to talk to the Docker engine using
already installed Docker (Docker for Win- Web-browsers and HTTP client programs
dows/Mac or Docker Toolbox) in their PCs. such as wget and curl. Why do we need an
WappenLiteDocker acts as an interface be- interface program such as WappenLiteDock-
tween a Web browser and a Docker engine er? This is partly because of the restriction of
which resides in the same computer as the cross-origin requests. Though users can di-
Web browser (Figure 1). rectly type the URL provided by the Docker
Running back-end programs on the engine such as http://127.0.0.1:2375/
client-side computer has several advantages. containers/json to connect to the Docker en-
First, teachers do not have to prepare a dedi- gine, pages downloaded from another site, say
cated server. Second, it is possible to intro- http://www.example.com/, cannot access the
duce broader range of example programs that above Docker URL using JavaScript. This
deal with multimedia (i.e. large-size) data restriction can be relaxed by attaching Cross
such as images and sounds and possibly Origin Resource Sharing (CORS) headers to
graphical user interface (GUI). Finally, it fa- the response of the Docker API. This could be
cilitates additional processing of user pro- done by using a reverse proxy program such
grams which might be too heavy to execute as Nginx or adding the
on a single server hardware. For example, --api-cors-header option when start-
some kinds of program transformation might ing the Docker daemon, if this were the only
be necessary to introduce program visualiza- necessary action.
tion of user programs (e.g. [2]).
We use Java as an implementation 2.2 Security
language for our program. It is chosen due to
its platform independence and rich network- Unfortunately, this approach is vulnerable to
related libraries. Another reasonable option malicious Web pages especially when teach-
would be to use the Go language which is ers cannot prepare a dedicated HTTP server
used for implementing the Docker command- for his Web pages. Malicious users would be
line programs. We choose Java simply be- able to devise Web pages that can create a
cause the authors are more familiar with Java Docker container from any Docker image
than Go and because the potential users with any create options and put the prepared
(teachers) of our system are also more likely pages in the HTTP server. Therefore, we need
to be familiar with Java. to restrict the Docker API commands which
The structure of this paper is orga- are passed to the Docker engine. Our filter
nized as follows. First, we will explain the program passes the URLs shown in Table 1
requirement to our system in Sect. 2. Then, only, which shows, in this first column, paths
Sect. 3 will explain the internal structure of after /vn.nn/container where n.nn is the
the system. Section 4 will discuss future di- version number of API and id is a container
rections and concludes. identity number. Then, Web pages that com-
municate with the Docker engine via Wap-
2 REQUIREMENTS penLiteDocker can do only the following ac-
tions. First, they can list containers, create
In this section, we will explain which are re- start, stop, restart and delete containers. These
quired and which are not required for our are necessary to manage containers. Second,
program. they can send files to containers and receive
files from containers. These are necessary be-
Acknowledgements
AbstractAcoustic guitar is one of the best known and most The equation represents longitudinal waves in space with the
commonly used musical instruments. It emits sound waves angular wave number k and the angular frequency . How
because the guitar player makes the strings oscillate. In order musical instruments achieve to produce this waves depends on
to function properly, i.e. emit the sound of the appropriate
frequency it is very important the tension in each string is the type of the instrument. In the case of stringed instruments,
adjusted regularly. This process is called tuning. It is usually this oscillations of pressure are result of the oscillation of
done manually with a help of universal tuner. In this paper an various strings. In order to get the relation between the string
automatic guitar tuning system is presented. It is based on the motion and air pressure we first need the relation between the
Arduino platform. It uses a microphone to record the sound, parameters of the string and the speed of waves on a string.
calculates its frequency and then turns the tuning pegs on guitar
head with stepper motor to get the correct frequency. It is given by the following equation [5]:
KeywordsIEEE, IEEEtran, journal, LATEX, paper, template. s
T
v= (2)
I. I NTRODUCTION
Many engineers working in the field of Mechatronics say, where T is the tension in the string and the mass per unit
that they gained the most knowledge, when they had to realize length of the string. If the string is fixed at both ends (see
some real life application. Although the underlying theory the first plot in Fig. 1) the phenomenons of reflection and
from both Mechanics and Electronics, which give the name interference have to be taken into account. This results in the
Mechatronics, when combined, is of course important for the
understanding of key concepts, real life applications give a
chance to students to memorize these concepts easier. For
this reason it is important to widen the set of mechatronic
applications as much as possible, so that everyone can see its
applicability and also to make it possible to find an application
that a specific person is most familiar with.
In recent years Arduino platform has become one of the
most popular (if not the most popular) platforms for real time
applications, because it is very inexpensive and quite easy to
use. Applications range from drones [1] and robot dogs [2]
to motor control [3] and portable solar power source [4]. In
this paper an application from the field of acoustics will be
presented. It is well known that guitar as all the other stringed
instruments has to be tuned in order to produce the sound of
the correct frequency. Usually this process is done manually.
In this paper an Arduino based automatic guitar tuning system
will be presented.
II. T HEORETICAL BACKGROUND Fig. 1. Schematic representation of a guitar string oscillating with a fun-
damental frequency (second plot) and first and second harmonic (third and
A. String oscillations and pressure waves in gas fourth plot)
wave from one node to the next node is called a loop. The TABLE I
frequency of oscillation is given by the following equation [5]: T HE FUNDAMENTAL FREQUENCIES OF GUITAR STRINGS [8]
s String Note Octave Frequency [Hz]
n T 6 E 2 82,41
fn = n = 1, 2, 3, . . . (3)
2L 5 A 2 110,00
4 D 3 146,83
where L is the length of the string and n the number of 3 G 3 196,00
2 H 3 246,94
loops. The lowest frequency (associated with the second plot 1 E 4 329,63
in Fig. 1), when n = 1 is called the fundamental frequency
and is therefore given by the following equation:
s the adjustment of the tuning pegs. This process is called the
1 T (guitar) tuning.
f1 = (4)
2L As humans are unable to exactly determine the frequency
of the audible sound, some kind of device to assist in this
Frequencies for n 2 are called harmonics.
process. The most common one is the universal tuner shown
B. Acoustic guitar in Fig. 3. The user interface makes it possible to specify
An acoustic guitar (see Fig. 2) is an instrument with six
strings. Its main part is the body to which a neck is attached.
As it must fit the selected stepper motor on one side and the
tuning peg on the other, it is difficult to find it. For this reason
it was the only part that had to be designed specifically for this
application. This was done in SolidWorks and produced using
a 3D printer. The part attached to the stepper motor is shown in
Fig 9. The stepper motor used was a NEMA 17 stepper motor
Fig. 5. The electrical scheme of the whole system
Fig. 10. The part of the code used to drive the stepper motor
ABSTRACT KEYWORDS
Sentimental value, Sentiment analysis, Visualiza-
tion, Japanese Language processing, Document
transferring, Document archiving.
People used to be writing several kinds of docu-
ments such as memoranda, message, e-mail etc.
1 INTRODUCTION
for the third persons to read possibly with emo-
tional feeling. After they prepared the above doc- Data mining becomes more and more popular
uments, sometimes such documents might unin- and then big data analysis has been consistent
tentionally hurt others heart due to our careless with the trend of information processing. Data
emotional expressions. If some kind of checking mining and big data analysis seem to be ex-
services were utilized for the above careless emo- cellent approaches to reveal hidden relation be-
tional expressions, people could avoid to write doc- hind phenomena people have never found be-
uments which would unintentionally hurt others fore and bring new recognition about such a
heart. This paper describes our newly developed relation to our daily lives for possible decision-
Document Transferring and Archiving Service with making.
Sentiment Analysis-based Preprocessing Facility. Sentiment analysis[1] can play another impor-
It is realized as server-client computing model, tant role of information processing for sen-
namely its server is written in Perl and PHP just tences, expressions and documents not only
like LAMP(Linux-Apache-MySQL-PHP/Perl) and from SNS/Internet but also from normal, daily
its client is written in JavaScript executing on the verbal communication. Due to preprocess re-
major Browsers. The service can scan the regard- lated with sentimental analysis, we can find
ing document of a user, separate it into word-level whether our writing document includes un-
expressions, check them against sentiment dictio- necessary or non-suitable emotional expres-
nary, calculate each sentimental values for docu- sions or not. So we would be relieved to trans-
ment and generate the corresponding radar chart for fer our documents as well as archive ones if
the document based on emotional axises such as we had employed any preprocess to detect such
delight, anger, sorrow, pleasure and so on. Users, emotional expressions and then had removed
namely writers, use our Service before transferring these expressions.
and/or archiving, they can check their documents This paper describes our Document Transfer-
by means of the above preprocessing facility and ring and Archiving Service with Sentiment
recognize how their ones have a lot of emotional Analysis-based Preprocessing Facility. Such
feelings which would include non-suitably emo- service is designed and implemented as server-
tional expressions. With such a service, users of client computing model and for users to ma-
the service can avoid to write, transfer or archive nipulate it through Web-based application. The
such documents which would unfortunately make paper introduces a whole system and then ex-
someone feel bad. plains a preprocess service to generate Senti-
mental Dictionary and to perform Sentimen- and PDF generating are invoked on the server
tal Analysis to detect emotional expressions and performed as server tasks written in PHP
graphically. It illustrates some trial of visual- and Perl scripts. The system has two major
ization of documents through sentimental anal- database managing modules which execute on
ysis in the third section. It demonstrates doc- the server together with SQL database.
ument transferring and archiving by means of
our services in the fourth section. And finally 2.2 Definition of sentimental dictionary
it concludes our summaries in the last section. for preprocess
Before describing our sentimental analysis for
2 SYSTEM CONFIGURATION AND ITS preprocessing, this subsection explains how to
PREPARATION PROCESS define sentimental dictionary and how to cal-
This section explains our system with its main culate sentimental value for each focused sen-
flow and its important preprocess to define sen- tence. With Japanese language processing,
timental dictionary for preprocessing facilities our system obtains some documents in the tar-
of sentimental analysis. get domain, decomposes such a document into
sentences and decompose them into a series
2.1 Main Flow of System of words by MeCab. Such words are classi-
Our system has been design and implemented
as a typical server-client computing model,
where the server is realized in the LAMP type
and the client executes on the major browsers
written by JavaScript. Figure1 shows a main
flow of the system, the three major menus,
namely input menu, show graph one and e-
mail transfer one, are provided on the client
and then the related three procedures, namely
sentimental analyzing, simple mail transferring
document to be transferred shall be modified shows PDF generating flow for our system
without non-suitable emotional feelings. which provides to realize archiving service.
And Figure13 shows PDF generating menu of
our system.
REFERENCES
[1] T. Kumamoto, et al., Proposal of Impression Min-
ing from News Articles, Lecture Notes in Com-
puter Science Volume 3681, pp 901910, 2005.
link or other means to harm users or computers. Second, Table 1. Fake and Normal Reviews in the
Fake Profiles, which usually provide fake personal Current Study
information to avoid being found and tempted to keep in Fake Normal
touch with the normal users. Third, Bulk Submissions, Total
Reviews Reviews
which contains a group of comments published multiple Post 434 7457 7891
times with the same or similar text. Fourthly, Fraudulent
Reviews, which claim that the product is good, or give a
negative comment to attack products of competitors, Jindal and Liu [8] divides the word of mouth into
even if the commenters did not have consumption three categories: Fake opinion, ordinary review, and non-
experience on using the product. comment. They collected 5.8 million reviews of products
Both bulk submissions and fraudulent reviews on Amazon generated by 2.14 million users and counted
mentioned by Chakraborty, et al. [3] are relative with similarity by Jaccard similarity to judgment real or fake
spam review. Since online reviews are a valuable reviews. They got accuracy rate of 78% in their study.
message source for consumers to make purchase Lin, et al. [9] collected 2000 fake reviews among
decision, companies are highly concerned with the online 155080 normal reviews by Jaccard similarity. They
opinions to the product. However, not all online reviews regarded reviews as fake reviews if similarity was higher
are truthful and trustworthy since some of them are fake than or equal 0.7. They using those data to training the
reviews by spammers. Previous studies had conduct model by Logistic regression and SVM for fake review
review spam detection using various machine learning detection and try to use this model detecting other
techniques [4]. database. They got precision rate of 85% in their study.
Algur, et al. [10] used cosine similarity to detect fake
Supervised learning were usually used to anti-fake from normal reviews. They considered duplicated
review detection. Previous literature usually use review reviews and near duplicated reviews as spam reviews,
text itself and reviewer information as cue to detect fake and regarded unique reviews as non-spam reviews.
review [4]. As mention above, previous studies had used content
similarity as feature for detecting fake reviews. However,
2.2. Text Mining and Similarity Analysis previous studies only assume that duplicated and near
Dang and Ahmad [5] mentioned that about 90% of duplicated reviews were fake reviews. Few previous
real world data is unstructured. It is impractical to studies, if any, had used real fake review case to compare
manually analyze the large number of unstructured the similarity among fake reviews and among ordinary
textual information. Thus, as a result, text mining reviews. Thus, this study uses a real case of fake reviews
techniques are being developed to mechanize the process to reveal the correctiveness of previous assumption that
of analyzing this information. some fake reviews are duplicated or near duplicated from
Losiewicz, et al. [6] revealed that text mining previous reviews.
architecture composed of three functions: Data collection,
data warehousing, and data Exploitation. Each of these
three functions included two sub-functions: Data 3.Methodology
collection contains data source selection and file
selection; Data warehousing contains data conversion 3.1. Data Corpus
and data storage; Data exploitation contains data mining The data we used in this study were the same as that used
and data presentation. Similarity analysis in text mining in prior research [11, 12]. In this study, we focus on the
are used to explore the degree of association between two original posts for understanding the fake review posts
documents or two sentences. We assume that the same and normal posts. As shown in Table 1, we collected
person will have similar terms and characteristics in 7891 posts, including 434 fake review posts and 7457
writing. Thus, we convert words in a posted review into normal posts
tokens to calculate similarity of different posts. If the
similarity of the two documents is higher, it means that 3.2. Analysis Methods
there are more words in common in these two documents. Figure 1 reveals a two phases analysis framework for
There are some approaches to calculate the similarity. understanding the phenomenon of spam review. Firstly,
For example, cosine similarity calculates the angle of the we calculate the number of Chinese characters in phase
two vectors in the high dimension space; Jaccard one. We calculate the average length of all posts, spam
similarity calculates the degree of similarity between the posts and normal posts. Then, content similarity scores
two sets; Euclidean distance calculates the actual were calculated to understand if the fake reviews are
distance between two vectors; Manhattan distance duplicated or near duplicated from other fake reviews.
calculates the sum of the absolute wheelbase on the street
map.
Lau, et al. [7] calculates Amazon's review similarity
analysis using cosine similarity. In their study, if
similarity above some threshold, they manually reviewed
them to determine if they were spam or not.
(c) All Reviews 250 Chinese characters (table 3). We randomly selected
Figure 2 Length Distribution of the Reviews same amount (169) of normal posts for comparison
purpose. In table 3, we found that the similarity among
Table 3 Similarity Analysis for Short Reviews fake reviews were the highest, and the similarity among
(review length shorter than 250 Chinese normal reviews are the lowest. The average similarity
Characters) between fake review and normal reviews are in the
(1) (2) (3) middle. There were 138 fake reviews with content length
Similarity Similarity Similarity in the range of 251 to 750 Chinese characters (Table 4).
among between among We randomly selected the same amount (138) of normal
Fake Fake and Normal reviews for comparison purpose. In table 4, we also
Reviews Normal Reviews found that the similarity among fake reviews are the
Reviews highest, and the similarity among normal reviews are the
lowest. The average similarity between fake review and
Average
0.21 0.17 0.16 normal reviews are in the middle.
Similarity
There were 127 fake reviews with content length of
Standard
0.12 0.11 0.10 more than 751 Chinese characters (Table 5). We
Deviation
randomly selected the same amount (127) of normal
F value reviews for comparison purpose. In Table 5, we found
F=664.09 (p<0.001)
(P value) that the similarity among fake reviews are the highest,
Post Hoc and the similarity of the group among normal reviews are
(1)>(2)>(3)
Test the lowest. The average similarity between fake review
Notes: There were 169 short length fake reviews in and normal reviews are in the middle.
our corpus. We randomly selected another 169 short Table 5 reveals that the average similarity coefficient
length normal reviews for comparison purpose. among long fake review is 0.50 while the average
similarity coefficient is 0.34 among long normal review.
Table 4 Similarity Analysis for Middle Length The difference of similarity coefficient between long
Reviews (review length between 251 and 750 fake reviews and long normal review is 0.16. Table 6
Chinese Characters) reveals the similarity analysis results for all reviews (do
(1) (2) (3) not divide reviews into three groups). The average
Similarity Similarity Similarity similarity coefficient among fake review is 0.33 (do not
among between among divide reviews into three groups), while the average
Fake Fake and Normal similarity coefficient among long normal review is
Reviews Normal Reviews 0.25(do not divide reviews into three groups). Thus,
Reviews review length is a potential moderator when using
Average content similarity as a cue to detect fake reviews.
0.37 0.32 0.30
Similarity
Standard
0.15 0.15 0.15
Deviation 5. Discussion
F value
F=683.27 (p<0.001)
(P value) Based on the content similarity analysis for fake
Post Hoc review, we found that the similarity among fake reviews
(1)>(2)>(3)
Test were higher than that among normal reviews or between
Notes: There were 138 middle length fake reviews in normal reviews and fake reviews, no matter the review
our corpus. We randomly selected another 138 middle content is with short or long. However, if we did not
length normal reviews for comparison purpose. divide the reviews based on length of the reviews, we can
not observe this phenomenon of similarity since the
Table 5 Similarity Analysis for Long Length similarity are low between long and short length reviews.
Reviews (review length longer than 750 Chinese Secondly, we found that normal reviews with 250 or
Characters) less Chinese characters accounted for 83.24% of normal
(1) (2) (3) reviews. However, spam posts with 250 or less Chinese
Similarity Similarity Similarity characters accounted for only 38.94%. The research
among between among results suggest that the spam posts are generally more
Fake Fake and Normal longer than normal posts.
Reviews Normal Reviews The contributions of this paper are three folds. First,
Reviews we have proposed a texting mining approach and
Average explored the review spammers with a real case of fake
0.50 0.39 0.34
Similarity review in Taiwan by investigating the cosine similarity
Standard and content length of reviews. We discovered the spam
0.23 0.23 0.21
Deviation reviews tend to have higher content similarity and longer
F value reviews than normal reviews
F=1060.00 (p<0.001)
(P value) Second, we used text mining techniques with Cosine
Post Hoc similarity for analyzing the similarity of spam reviews
(1)>(2)>(3)
Test post. We found the content similarity among fake
Notes: There were 127 long length fake reviews in our
corpus. We randomly selected another 127 long
length normal reviews for comparison purpose.
ISBN: 978-1-941968-42-0 2017 SDIWC 169
Proceedings of the Third International Conference on Electronics and Software Science (ICESS2017), Takamatsu, Japan, 2017
Table 6 Similarity Analysis for All Reviews [7] R. Y. Lau, S. Liao, R. C.-W. Kwok, K. Xu, Y. Xia,
(1) (2) (3) and Y. Li, "Text mining and probabilistic language
Similarity Similarity Similarity modeling for online review spam detection," ACM
among between among Transactions on Management Information Systems
Fake Fake and Normal (TMIS), vol. 2, no. 4, p. 25, 2011.
Reviews Normal Reviews [8] N. Jindal and B. Liu, "Opinion spam and analysis,"
Reviews in Proceedings of the 2008 International
Conference on Web Search and Data Mining, 2008,
Average
Similarity
0.33 0.27 0.25 pp. 219-230: ACM.
[9] Y. Lin, T. Zhu, H. Wu, J. Zhang, X. Wang, and A.
Standard
Deviation
0.20 0.18 0.17 Zhou, "Towards online anti-opinion spam:
Spotting fake reviews from the review sequence,"
F value
(P value)
F=1685.86 (p<0.001) in Advances in Social Networks Analysis and
Mining (ASONAM), 2014 IEEE/ACM
Post Hoc International Conference on, 2014, pp. 261-264:
(1)>(2)>(3)
Test IEEE.
Notes: There were 434 fake reviews in our corpus. We [10] S. P. Algur, A. P. Patil, P. Hiremath, and S.
randomly selected another 434 long length normal Shivashankar, "Conceptual level similarity
reviews for comparison purpose. measure based review spam detection," in Signal
reviews are higher than the similarity between fake and and Image Processing (ICSIP), 2010 International
normal reviews and similarity among normal reviews. Conference on, 2010, pp. 416-423: IEEE.
[11] C.-C. Wang, M.-Y. Day, and Y.-R. Lin, "Toward
Third, based on the analysis of content length, spam understanding the cliques of opinion spammers
reviews are longer than normal reviews. This empirical with social network analysis," in Advances in
analysis results suggest the fact that spammers would Social Networks Analysis and Mining (ASONAM),
likely to use longer and detailed contents to persuade the 2016 IEEE/ACM International Conference on,
consumers to believe the review content they post on 2016, pp. 1163-1169: IEEE.
Internet. Based on this observation, we should keep more [12] C.-C. Wang, M.-Y. Day, and Y.-R. Lin, "A Real
attention on long length reviews when we want to detect Case Analytics on Social Network of Opinion
fake reviews. Spammers," in Information Reuse and Integration
(IRI), 2016 IEEE 17th International Conference on,
2016, pp. 623-630: IEEE.
6. Reference
[1] S. Xie, G. Wang, S. Lin, and P. S. Yu, "Review
spam detection via temporal pattern discovery," in
Proceedings of the 18th ACM SIGKDD
international conference on Knowledge discovery
and data mining, 2012, pp. 823-831: ACM.
[2] F. Brunton, Spam: A shadow history of the Internet.
MIT Press, 2013.
[3] M. Chakraborty, S. Pal, R. Pramanik, and C. R.
Chowdary, "Recent developments in social spam
detection and combating techniques: A survey,"
Information Processing & Management, vol. 52,
no. 6, pp. 1053-1073, 2016.
[4] M. Crawford, T. M. Khoshgoftaar, J. D. Prusa, A.
N. Richter, and H. Al Najada, "Survey of review
spam detection using machine learning
techniques," Journal of Big Data, vol. 2, no. 1, p.
23, 2015.
[5] D. S. Dang and P. H. Ahmad, "A Review of Text
Mining Techniques Associated with Various
Application Areas," International Journal of
Science and Research (IJSR), vol. 4, no. 2, pp.
2461-2466, 2015.
[6] P. Losiewicz, D. W. Oard, and R. N. Kostoff,
"Textual data mining to support science and
technology management," Journal of Intelligent
Information Systems, vol. 15, no. 2, pp. 99-119,
2000.
AbstractIn this paper, we propose a simulation of the tool to such organizations and to scientists and engineers who
area growth process of the tobacco leaf. A signed distance study the different aspects of the leaf.
function represents the leaf, and the Variational Level Set In this paper, we present a simulation that replicates the
Method tracks the evolution of the interface between the leaf
and the background. The evolution of that interface is guided area growth of the tobacco leaf. We propose a representa-
by an energy function that depends on internal and external tion method for the leaf as well as the necessary numerical
characteristics. The internal energy helps to keep the interface mechanism to evolve the given representation over time. The
as a signed distance function that avoids reinitialization and proposed simulation provides a visually plausible reproduction
therefore enhances the result. The external energy helps to of the growth of the area of the leaf. Other measurements are
recreate the shape of the tobacco leaf using a reference image
as input. We also discuss a special treatment for the senescence not considered in this study.
stage of the leaf and describe the method and its configuration The proposed method uses an implicit distance function to
parameters. In this paper, the focus is on replicating the area represent the shape of the leaf; only its boundary is considered.
growth pattern. Therefore, we measure the area and compare it Then, the Variational Level Set Method formulation is used
with real data from plant measurements to validate our work.
to evolve the implicit function over time until it matches the
We use L1 error to numerically assess the output.
shape of the leaf in a given input image. We discuss the details
Index TermsTobacco leaf simulation, level set method, leaf of the method and its origins in Section III.
growth
We present and discuss the results of several experiments
that were executed in Section IV. We also compare our results
I. I NTRODUCTION with real data from the leaf measurements by Suggs [11]. At
Simulation of plants and their different parts provides the end of this paper, we provide conclusions and some ideas
useful insights to scientists and engineers across different that we would like to address in the future.
disciplines. Biology applications, for example, use this kind
of simulation to create new data, validate data from mea-
II. R ELATED W ORK
surements, and validate experimental procedures. Agriculture
applications might use simulation for production planning and The main method to simulate the growth of plants and
cost estimation. In computer science, especially in computer leaves, for computer graphics applications, is arguably the use
graphics applications, the simulation of leaves can be used of L-Systems [8], they are also one of the oldest methods
to create animations for movie production, games, virtual available. L-Systems are rule-based programs that can replicate
worlds, and augmented reality applications. In this paper, important growth processes based on the principle of self-
we concentrate on replicating the pattern of the area growth similarity. They work by executing procedures that create the
during the development of the tobacco leaf, so only the visual next state of the object, usually a plant or a leaf. However,
plausibility of the leaf simulation will be evaluated. Despite coming up with ad hoc rules for every kind of leaf is difficult.
all the possible applications, describing this process with a Another method is to use triangle meshes to represent the
unified model is difficult because the growth process of a leaf leaf. The vertices of the triangles should evolve according to
involves sophisticated chemical and biological interactions at some external logic. Alsweis et al. [1] conducted a study using
different scales. this method. They represented the geometry with a triangle
A particularly interesting case is the tobacco leaf. Tobacco mesh, and then an incompressible fluid simulation tracked the
is a plant with economic, health, and social repercussions. development of the leaf.
It is widely consumed around the world mainly through Most of the techniques to simulate leaves use a triangle
derivatives of its leaves. Government and health organizations mesh at some point to represent the necessary geometry; this
are constantly conducting studies related to tobacco production kind of representation is called explicit. The difficulty with
and consumption. New tools to understand the nature of this this kind of representation is that all the calculations should be
leaf might help to alleviate the problems it generates. The performed at every point of the mesh to obtain the output from
World Health Organization named tobacco as the leading the simulation. This is computationally expensive. Another
preventable cause of death in the world [6]. We believe that a limitation is the lack of ability to deal with topological changes
simulation of the growth of the tobacco leaf might be a useful of the objects during the simulation.
ISBN: 978-1-941968-42-0 2017 SDIWC 171
Proceedings of the Third International Conference on Electronics and Software Science (ICESS2017), Takamatsu, Japan, 2017
2 2 2 2 2 2
2 4 2 4 2 4 2 4 2 4 2 4
102 102 102 102 102 102
Figure 2: Interface evolution with respect to the input reference image at different times during the simulation.
2 2 2 2 2 2
2 4 2 4 2 4 2 4 2 4 2 4
102 102 102 102 102 102
Figure 3: Usage of small leaf for the initialization of the distance function and senescence.
Area (mm)
For more accuracy and realism, S is filled with information 1,000
Plant 1
based on observations from the data presented in Fig. 4 (a). Plant 2
There is a caveat to the inclusion of the senescence logic 500
Plant 3
into the simulation. If the final area of the leaf has been already
0 Plant 4
reached and the interface is located exactly at the interface of
the leaf, the change of sign has no effect. Therefore, this switch 0 2 4 6 8 10 12
should happen before the area reaches its maximum. Measurement No.
(a)
IV. R ESULTS
In this section, we present the results of our experiments 104
with the proposed method. We show the evolution of the
interface visually and numerically. We also compare these
4
Area (pixels)
results with real measurements of the area growth of the
tobacco leaf.
In all the experiments, we used tobacco leaves. Fig. 1 shows Sim. 1
2
the input images to be used as the reference image I. These Sim. 2
images were obtained from the work of Lu et at. [5]. The Sim. 3
experiments used images that contain only the leaf without Sim. 4
0
any other object, shadow, or background.
The configuration of the simulation is as follows: The initial 0 50 100 150 200 250
interface is defined by a circle. The output depends on the Frame No.
location of the center of the circle and its radius. The center (b)
of the initial circle was at x = 200, y = 200, which coincides
with the center of the reference image I. The radius was 104
10 pixels. All the experiments used reference images with
a resolution of 400 400 pixels with sound results. This
4
Area (pixels)
with pixel sizes instead of the real size of the leaf; in this way to create animations of plants as well as new engineering
work, we deal only with replicating the pattern of the area applications.
growth. Fig. 4 (c) shows the results of the simulation when We briefly mentioned some post-processing techniques that
the senescence logic is included, as described in Subsection might help to obtain a more appealing visualization of the
III-C. Fig. 4 (c) shows additional details toward the end of the output. For example, the reference image can be used to create
simulation when the senescence stage is also considered. a texture map, and then the leaf could be rendered to obtain
We calculated the accuracy of the results using first-order the final result.
L1 error. The simulated data was downsampled to have the We would like to explore several directions in future works.
same number of elements as the number of real measurements. For example, we would like to improve the accuracy of the
Then, we changed the range of the simulated data to match shape during the evolution. This might need the modification
the range of the measurements. The L1 error was calculated of the energy function with botanical information. The internal
as energy function would especially provide a conducive place
to include additional information from the target leaf. In
1 general, the creation of more sophisticated energy functions
|Am As |, (9)
Amax is particularly interesting. Another interesting case of study is
where Am is the data from measurements and As is the data the drying process of the tobacco leaf, we would also like to
generated from the simulation. We used the maximum area investigate in this direction.
Amax of the real data to normalize the results. Using this error
measurement for plant number one, the simulation yielded an R EFERENCES
error value of L1 = 0.524 without senescence and L1 = 0.551 [1] Monssef Alsweis and Oliver Deussen. Procedural techniques for
with senescence. simulating the growth of plant leaves and adapting venation patterns.
In Proceedings of the 21st ACM Symposium on Virtual Reality Software
Careful selection of parameters can avoid undesired effects. and Technology - VRST 15, pages 95101, New York, New York, USA,
For example, we found that when the interface touches the 2015. ACM Press.
boundary too soon, the logistic growth is lost and the growth [2] Tony Chan and Luminita Vese. Active contours without edges. IEEE
Transactions on Image Processing, 10(2):266277, 2001.
behaves linearly. [3] Mark Jones, Andreas Brentzen, and Milos Sramek. 3D distance
After obtaining the results shown so far, additional tech- fields: a survey of techniques and applications. IEEE Transactions on
niques could be applied to enhance the visual appeal of the Visualization and Computer Graphics, 12(4):581599, jul 2006.
[4] Chunming Li, Chenyang Xu, Changfeng Gui, and Martin Fox. Level
results. The implicit representation of the leaf is well suited Set Evolution without Re-Initialization: A New Variational Formulation.
for rendering techniques such as raytracing. However, the In 2005 IEEE Computer Society Conference on Computer Vision and
rendering of these objects is out of the scope of this study, Pattern Recognition (CVPR05), volume 1, pages 430436. IEEE, 2005.
[5] Jie Lu, Zhi-Xin Du, Jun Kong, Ling-Na Chen, Yan-Hong Qiu, Gui-Fen
and we mention it just for the sake of completeness. Li, Xiao-Hua Meng, and Shui-Fang Zhu. Transcriptome Analysis of
Nicotiana tabacum Infected by Cucumber mosaic virus during Systemic
Symptom Development. PLoS ONE, 7(8):e43447, aug 2012.
V. C ONCLUSIONS [6] World Health Organization. WHO Report on the Global Tobacco
Epidemic 2008 The MPOWER package. Technical report, Geneva, 2008.
We proposed a framework based on the idea of the Vari- [7] Stanley Osher and Ronald Fedkiw. Level Set Methods and Dynamic
ational Level Set Method to create a simulation of the area Implicit Surfaces. 2003.
growth of the tobacco leaf. The results showed the shape of the [8] Przemyslaw Prusinkiewicz and Aristid Lindenmayer. The algorithmic
beauty of plants. Springer-Verlag, 1990.
constructed interface at different times during the simulation [9] F. J. Richards. A Flexible Growth Function for Empirical Use. Journal
as well as the numerical tracking of the area over time. The of Experimental Botany, 10(2):290301, 1959.
experiments used two initialization strategies: geometrical- [10] James Sethian. A fast marching level set method for monotonically
advancing fronts. Proceedings of the National Academy of Sciences of
based initialization and initialization based on a small leaf. the United States of America, 93(4):15911595, feb 1996.
Additionally, the proposed method included a special logic to [11] Charles Suggs. Tobacco leaf area versus stalk diameter research. Special
replicate the behavior of the leaf during the senescence stage. Collections Research Center at NCSU Libraries, 1961.
This was possible to achieve by the proper manipulation of
the Variational Level Set Parameters in combination with a
set of switching times. The results showed that the proposed
method can replicate the pattern of the growth process.
Other species of plants might also benefit from this kind of
technique. However, ad hoc modifications might be necessary.
In our case, we restricted the experiments to the tobacco
leaf because of the availability of real data to validate the
simulation.
In this study, we followed the ideas from Li et al. [4]
where the Variational Level Set Method was formulated. Chan
and Vese [2] presented a similar approach. Both of these
techniques were developed for image segmentation. In our
work, we have adopted these ideas to replicate the growth
process of the tobacco leaf, which opens the door to a new
ISBN: 978-1-941968-42-0 2017 SDIWC 175