This article presents the GUI-based Support Tool for smoothly using the BBCoM technology. The technology is an approach oriented to integrate easily software components including robotics and IoT as well as communication between system components. This tool is made as a Java GUI application. Accordingly, the user can graphically create/manage elements that needed for executing BBCoM environment.
2. Introduction
Making program that achieves its goal by using synchronized some robots is difficult.
BBCoM is approach to easily develop software that is like above.
2
3. Project Goal
In my research, project goal is
Making GUI-based Support Tool for smoothly using the BBCoM technology.
Because, BBCoM technology requires many elements that are not of the same file type, for running.
And user needs to take its learning cost (e.g. knowledge of writing form, required file’s format, SSH
Server, etc.) for using it.
This tool’s object is to reduce user’s burden that is like above.
3
5. BBCoM’s OverView
Building Block Component Model (BBCoM) approach is created by Mr. T. Pham.
BBCoM is a model-driven software development approach for developing software
systems that allow communication between robotics and IoT ones.
It provides a design-oriented modeling language for distributed and component-based
software architectures.
In this approach, BBCoM offers BBCoMTool for distributing runnable system.
5
6. Preparation for Using BBCoM
1. Java Archive (JAR) files contains the components, interfaces, and event groups.
2. Extensible Markup Language (XML) configuration file describing about the system model
including user interfaces, event channels, component instances, and connectors.
3. SSH server is for running environment where constructed system by BBCoM is placed.
4. Container is the directory of file system that has JAR files, XML file. This directory is
deployed by BBCoM approach.
6
8. Distributed System’sWork
Right figure is a simple distributed system by BBCoMTool.
System has functions of the program (is made as system’s
component) in Jar files.
IoT, Robot can use its functions to send, receive, and deal the
data.
System is able to communicate from outside, or other system
by configuring to XML file.
8
10. Support Tool for BBCoM
This tool’s jobs are
Create required elements (not all) to use BBCoM.
Launch the BBCoMTool to distribute the application.
Also, it is also possible to confirm constitution of
configuration file by viewing created one to study.
This tool is created by using Java’s GUI Application.
So, user can use above components graphically.
10
14. Project to Test Application
This project is called Color Maze.
Color maze’s object is the robot reaches to goal of
maze by only using the robot that collects information.
Preparation Items
◦ There are two robots, one called Collector, other one
called Explorer.
◦ The maze has some colored rectangles. In this example,
maze of right figure is used.
◦ The system is based on BBCoM approach allow
communication between robots.
In this project, I use the EV3 Mindstorms as robot.
14
outside of maze
Wall or block in maze
Goal of maze
Free space
One panel:
square
14 cm each side
Color Means
15. EV3 Mindstroms
EV3 Mindstroms is the product of Lego Company.
It has below features.
A robot construction kit designed by LEGO.
It has some sensor to gather data, motor for
dynamic force, a computer brick.
Linux is running on its computer brick, we can
select the program language for its environment
by installing firmware. (in this research, I
installed LeJOS Firmware to run the Java
program.)
15
16. Program Flow
1. Collector passes through all panels in the maze to send underground color to the application.
Explorer gets the Collector’s state from application until it is changed.
2. The application generates route to goal using result is received from Collector. It changes Collector’s
state to not working.
3. Explorer get created route, it moves to goal using it.
4. When Explorer reach to goal, it is the end of this program.
Color Maze’s flow
17. The System is used to communicate
between robots
17
This system includes GUI application. It displays graphical color map by using received color.
Below list is system’s detail.
States
• Collector’s state (working or not)
• Panel’s Color details (be received from collector)
Function
• sendColor() : to receive color from collector
• getState() : to send collector’s state to explorer
• generateRoute() : to generate route to goal in maze, this function is called from user.
• getRoute() : to send generated route to explorer
18. How to build the system by using tool
1. Gives the programs that has functions and possessions of a previous slide to Jar Genrator.
After that, make Jar File by combining gave programs. In this Example, make
maze_interface (has interface), maze_component (has compnent)
2. Make Container by combining Jar files of previous step’s result. In this Example, make
maze_container(has maze_interface, maze_component)
3. Make xml file that is able to communicate from outside, unable to communicate to other
application.
4. Run the BBCoMTool to launch application by selected container name(maze_container).
18
20. Summary
BBCoM approach offers the method to develop complex
software for robotics and IoT.
Presented Tool’s job is to manage and create elements for
using BBCoM approach to reduce user’s burden.
20