Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
DSDP/TML/TmLusingTM
Contents
TmL Architecture proposed over DSDP-TM platform
- The purpose of this section is provide an overview about TmL Architecture and trying to describe how we are using and understanding the TM platform.
- In the first moment we are trying not create a hard dependency between both project because TM has not a cleaned API yet. Probably in the future releases TmL and TM will be integrating naturally.
TmL Proposal Discussion
- Feel free to give your opinion about our architecture and discuss details about the screen below. Our developer mailing list is dsdp-tml-dev@eclipse.org and the newsgroups org.eclipse.dsdp.tml. Any suggestions and contributions are welcome.
TmL Whitepaper
- See the [TML Whitepaper] to have an overview about the definitions and concepts for TML Project.
TmL Definitions
(See the whitepaper for more details)
- Emulator Definition - each plugin type should be a new definition plugin. This plugin contains all classes need to create a new instance of this emulator, how the emulator read properties files and how manager instances of this emulator. The binary for the emulator is part of this plugin.
- For instance: one qemu running linux arm is a single plugin. If I need another qemu running a redhat linux I need to create another plugin with the binaries and implements some classes to provide the TmL connections for this emulator.
- Emulator Instance - each plugin definition could has different connections that we call instances. TmL creates projects into workbench to each instance and put into this project a properties file that is used to configure each instance.
- VNC Viewer - the emulator in the first time will be displayed using RFB protocol (VNC). We implement a new view to support
this service.
- Control Manager - There are a view to control the emulator and it allow the user to start and stop instances of the emulator.
- Instance View - All instances are displayed in this view.
Adapting TmL Definitions for use TM
TM uses different names for the same concepts in TmL. Here we are translate this concepts.
- Emulator Definition - It is a system type. We need create a new system type for each emulator.
- Emulator Instance - It is a host connection. There are one for each instance connected or not.
- VNC Viewer - It is a subsystem and it is associate with the system type using a subsystemconfiguration
- Control Manager - It is a subsystem too, but has the purpose of start or stop the host connection
- Instance View - In TM we use RSE view that has the same purpose
Screenshot of prototype using TM
- Initial Perspective - Remote System Explorer
- Creating a new connection
- Selecting the System Type
- TmL define a basic plugin to support creation of Emulator Plugins. Each emulator is a new plugin that contains Tml Classes and TM connectors).
- Each emulator definition is a new plugin and define different System Type
- Creating a new connection (host, name , description)
- All Emulator System Type has support to VNC Viewer Service and their respective components.
- Each emulator has a second service available that depends of the emulator implementation. For instance: QEmuARM has QEmuARM Service and QemuReactOS has QemuReactOS Service
QEmuARM
- Use Control Manager to connect with this emulator. This service will start this emulation using host name and properties available for this connection.
- The last step is connect VNC Viewer with this emulator. QEMUArm is a arm emulator implement over Qemu virtualization software. This is a linux distribution for ARM processors.
- The VNC Viewer already support mouse and keyboard events
- This viewer is just a implementation of RFB protocol. The TmL proposal is extending this and it will support skins and keyboard map instead just to show the framebuffer read from the emulator connection
QEmuReactOS
- Use Control Manager to connect with this emulator. This service will start this emulation using host name and properties available for this connection.
- The last step is connect VNC Viewer with this emulator. QEMUArm is a arm emulator implement over Qemu virtualization software. This is a linux distribution for ARM processors.
- The VNC Viewer already support mouse and keyboard events
- This viewer is just a implementation of RFB protocol. The TmL proposal is extending this and it will support skins and keyboard map instead just to show the framebuffer read from the emulator connection.