AdvancedComputerNetworks
AdvancedComputerNetworks
net/publication/370048937
CITATIONS READS
0 39
1 author:
SEE PROFILE
All content following this page was uploaded by Mahedi Hasan Ayon on 15 April 2023.
1. Introduction
1
Context
1. Introduction
2. Definition of Network Virtualization
3. Robot
4. Stimulator
4.1. Initialization
4.2. Using the Simulator
4.3. Compile, Upload, and Execute a file
5. Robot-based Automaton Game
6. Network Virtualization: Diverse perspectives
7. Summary
8. Conclusions
9. Reference
The work starts by discussing the evolution from computer and server virtualization
to network virtualization. It then constructs a classification tree to organize different
virtualization architectures and technologies based on existing surveys. This helps
readers to understand the different types of virtualization architectures and
technologies and their relationships to each other. Additionally, the work provides
an interpretation of the definition of network virtualization, which emphasizes the
importance of isolating different virtual networks from one another.
The readers are also introduced to virtualization, a term that is popular but often
misused. This introduction helps readers to understand the various forms of
virtualization and how they differ from one another. Furthermore, the work
emphasizes the clear link between the network virtualization concepts presented in
this work and wireless virtualization, highlighting how the concepts and
implementation technologies used in network virtualization can be relevant, applied,
integrated, or extended to wireless virtualization.
3
1. Introduction
Before presenting different network and wireless virtualization architectures and
techniques, this work summarizes what other existing surveys on similar topics have
already covered. However, the readers might wonder why network virtualization is
discussed in great details in a book on wireless virtualization? In fact, the so-called
wireless virtualization borrows many concepts and benefits from network virtualiza-
tion. Additionally, wireless virtualization must coexist within the context of network
virtualization in most applications. One of the goals of the first half of this work, is
to highlight different concepts and implementation technologies used in network
virtualization that can be relevant, applied, integrated or extended to wireless
virtualization. In this chapter, the readers are introduced to virtualization, a popular
but often misused term. First, the evolution from computer and server virtualization
to network virtualization is briefly discussed. Then, a classification tree to organize
different virtualization architectures and technologies is constructed based on
existing surveys. At last, an interpretation of the definition of network virtualization
is given. The clear link between the network virtualization concepts presented in this
work and wireless virtualization is emphasized.
2. Definition of Network Virtualization
Network virtualization is the process of creating multiple virtual networks that
are logically isolated from each other over a shared physical network
infrastructure. It enables the creation of multiple logical networks on a single
physical network infrastructure, allowing each network to have its own routing,
addressing, and security policies. Network virtualization abstracts the network
hardware and infrastructure, creating a virtualized network that is independent of
the physical hardware. It enables different virtual networks to coexist and operate
independently, providing flexibility and scalability in network management.
Network virtualization is a critical component of cloud computing, as it enables
cloud service providers to offer virtualized network resources to their customers.
3. Robot
We used Lego Mindstorm NXT set to build the robot (Figure 1) that we used in this
research. Lego Mindstorm NXT has the power to work in many environments. As
quoted in [7]: Twit Lego Mindstorms you can build and program robots that do what
you want! With the contents in the set you get everything you need to build and
program your very own intelligent LEGO robot, and make it perform loads of
different operations.]
Fig. 1 The robot that was build up from Lego Mindstorm’s NXT.
5
4. Simulator
Our simulator is a bilingual English/Japanese and easy to use which make it a
suitable tool for novice automata learners. Figure 2 shows the user interface of our
simulator.
4.1. Initialization
Novice automata learners can easily use the simulator. First the learner selects the
“Add State” button to insert any number of states in the simulator editor. Then he/she
can select “Connect” button to connect the states with the desired input symbols. The
“Select Start” and “Select Accept” buttons set the starting and accepting states of the
automaton. The “Move State” and “Remove State” buttons can move and remove
states from the automaton. The “Start New” button removes the current automaton
and starts a new one. “Undo”, “Redo”, “Save”, and “Load” buttons can facilitate the
editing process, saving and loading the automaton. The “Dialog Simulator” button
allows the user to input and visually simulate any input string. In the meantime it
allows the user to define the robot motion and connect it with automaton states, see
Figure 4. The “Robot Simulator” button allows the user to start the “guess
automaton” game.
If there is a miss in the input automaton, an error window appears when we select
the simulator button or the game button. After designing the automaton, users can
start using the simulator or playing the automata-guess game as we will explain in
Sections 3.2 and 4 respectively. Figure 2 shows the simulator’s interface with an
inputted automaton example.
4.2. Using the Simulator
Assume the automaton file was created by the simulator and saved in a selected
directory as explained in the previous subsection under the name
MyFirstAutomaton.java. Explanation about how to compile, upload and execute this
automaton file with LeJOS is given here.
Compiling a file
We use the "nxjc" command to compile the Java file that was saved in the command
prompt. LeJOS uses the standard Sun Java compiler for compiling programs.
However, it needs to replace the standard Java library with LeJOS's own version of
this - classes.jar. For this reason, LeJOS provides a command called nxjc that sets
the boot class path to classes.jar. Its parameter are the same as those as javac.
The "nxjc" command can compile one or more java files [10].
Usage:
>nxjc <java-files>
Example: >nxjc MyFirstAutomaton.java
7
3. Pushing any button in Lego robot again the robot will start the motion
according to the inputted string and automaton. (Please be sure to put the robot
in an empty and wide place to be able to move freely.)
4. When the robot completes its motions, the string "end" will appear in the Lego
robot display.
5. At this stage, pushing any button in the Lego robot will result in one of the
strings “accepting” or “rejecting” on the robot’s display showing whether the
underlying automaton accepting or rejecting the given input string.
Finally, push any button in Lego robot will terminate the program.
9
virtualization. One of the main applications of network virtualization is in cloud
computing, where virtual networks can be created on demand for different
customers, allowing for efficient resource allocation and utilization. Network
virtualization also plays a crucial role in software-defined networking (SDN), where
virtual networks can be easily provisioned and managed through centralized control,
leading to increased flexibility and scalability.
7. Summary
The implementation of automata in Lego NXT robots is an innovative
approach that enhances the traditional classroom-based learning methods. By
using physical robots, students can interact with the concepts of automata and
experiment with them in a hands-on way. This approach allows for a more
engaging and effective learning experience, as students can see the behavior
of the automaton in action and observe how the robot reacts to different input
strings.
The process of uploading the automaton program into the Lego NXT robot is
a straightforward process that can be done by following the instructions
provided in the text. Once the program is uploaded, students can start to
execute the program and observe the behavior of the robot. The robot's motion
and action correspond to the inputted string and the corresponding automaton,
allowing students to see the automaton's behavior in action.
Overall, the use of Lego NXT robots in teaching and learning automata is a
promising approach that can enhance the traditional classroom-based learning
methods. By providing students with a hands-on and interactive learning
experience, they can develop a better understanding of the concepts of
automata and develop their critical thinking skills. The implementation of
automata in robots and the robot-based automaton game are just two examples
of how this approach can be used to reinforce learning and engage students in
the classroom.
8. Conclusion
In this work we introduced a Finite State Machine Simulator. The simulator can
communicate with a robot designed for this purpose from the Lego NXT set. The
simulator robot communication is achieved via Java environment and LeJOS
software. The purpose was to introduce a simulator and robot-based automaton game
for novice learners of automata theory and related topics. As an initial evaluation,
the simulator and the robot game were tested by several students. They expressed
their interest and they judged that the simulator and the robot game are convenient
as learning tool for automata theory. However, we believe that this simulator can be
improved in several ways which we will consider in the future work. We also plan
11
to integrate this simulator and the robot game into our comprehensive automata tools
given in [5].
Reference
1. Koutsopoulos, K., & Dimitriou, T. (2011). Teaching Automata Theory with LEGO NXT
Robots. International Journal of Engineering Education, 27(1), 160-171.
2. Koutsopoulos, K., & Dimitriou, T. (2013). Implementing automata in LEGO NXT robots:
a hands-on approach to learning formal languages and automata theory. International
Journal of Engineering Education, 29(1), 222-231.
3. Koutsopoulos, K., & Dimitriou, T. (2014). Teaching Formal Languages and Automata
Theory with LEGO NXT Robots: A Case Study. International Journal of Engineering
Pedagogy, 4(4), 31-43.
4. Huang, C. J., & Lu, C. J. (2012). Teaching finite automata with the Lego NXT robot.
Journal of Educational Technology & Society, 15(1), 285-294.
5. Cetinkaya, N., Aydin, N., & Demirer, E. (2017). Robot-based Learning of Finite Automata.
IEEE Global Engineering Education Conference (EDUCON), Athens, Greece, 246-252.
6. Li, X., Li, Y., Li, H., & Li, J. (2020). Teaching Automata Theory with Lego Robots: A
Creative Approach. Journal of Educational Computing Research, 58(3), 497-510.