DSDP/TML/TmLusingTM

From Eclipsepedia

< DSDP‎ | TML
Jump to: navigation, search

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

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.