Skip to main content
Jump to: navigation, search

DSDP/TML/TmLusingTM

< DSDP‎ | TML

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

Tml001.jpg

  • Creating a new connection

Tml003.jpg

  • 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

Tml005.jpg Tml007.jpg

  • Creating a new connection (host, name , description)

Tml009.jpg

  • All Emulator System Type has support to VNC Viewer Service and their respective components.

Tml011.jpg

  • Each emulator has a second service available that depends of the emulator implementation. For instance: QEmuARM has QEmuARM Service and QemuReactOS has QemuReactOS Service

Tml013.jpg Tml015.jpg

QEmuARM

  • Use Control Manager to connect with this emulator. This service will start this emulation using host name and properties available for this connection.

Tml017.jpg Tml019.jpg

  • 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.

Tml021.jpg Tml023.jpg

  • The VNC Viewer already support mouse and keyboard events

Tml025.jpg

  • 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.

Tml027.jpg Tml029.jpg

  • 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.

Tml031.jpg Tml033.jpg

  • The VNC Viewer already support mouse and keyboard events

Tml035.jpg

  • 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.

Back to the top