Skip to content
This repository has been archived by the owner on Dec 1, 2021. It is now read-only.
Felix Gaisbauer edited this page Dec 16, 2020 · 2 revisions

Services Overview

There are multiply, highly specific services inside the MOSIM architecture, which facilitate MMU development and help to separate MMUs from the specifics of the target engine. Each service provides some functionality usable by MMUs, the co-simulation and the behavior model. Although most services are implemented as a stand-alone program, some can be integrated and hosted from within the target engine.

All services implement the MServiceBase interface, which provides basic functionality for registering and a general function for generic (future) services. For some relevant services, specific thrift interfaces extending the MMIServiceBase have been proposed and implemented.

service MMIServiceBase
{
	//Number of clients, load, update latency (e.g. time to acquire main thread)
	map<string,string> GetStatus(),
	core.MServiceDescription GetDescription(),
	core.MBoolResponse Setup(1: avatar.MAvatarDescription avatar, 2: map<string,string> properties),
	map<string,string> Consume(1: map<string,string> properties),
        core.MBoolResponse Dispose(1: map<string,string> properties),
        core.MBoolResponse Restart(1: map<string,string> properties),
}
  • GetStatus provides information on the status of the service for the MMILauncher.
  • GetDescription provides the service description.
  • Setup initializes the service for a single user. The avatar description and its properties are provided as parameters.
  • Consume is a general-purpose function for any not-yet specified service. It receives a map of properties as a parameter.
  • Dispose closes the service.
  • Restart restarts the service.

MMI Services

Blender IK Service: link to page

Coordinate System Mapper: link to page

Posture Blending Service: link to page

Path Planning Service: link to page

Retargeting Service: link to page