OTX-Runtime for DotNet  
OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation Interface Reference

Allows users to implement their own ExternalServiceProvider extension. More...

Inheritance diagram for OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation:
Inheritance graph

Public Member Functions

void CreateProvider (IRuntimeContext runtimeContext, IServiceProvider serviceProvider, IConstructor constructor, List< IExternalParameter > constructorParameter)
 Invoked when a CreateProvider occurs in OTX-Runtime. More...
 
void DisposeProvider (IServiceProvider serviceProvider)
 Invoked when a DisposeProvider occurs in OTX-Runtime. More...
 
void ExecuteService (IRuntimeContext runtimeContext, IServiceProvider serviceProvider, IService service, List< IExternalParameter > serviceParameters, bool executeAsync)
 Invoked when an ExecuteService occurs in OTX-Runtime. More...
 
object GetProperty (IRuntimeContext runtimeContext, IServiceProvider serviceProvider, IProperty property)
 Invoked when a GetProperty occurs in OTX-Runtime. More...
 
void GetServiceProviderEventValues (IRuntimeContext runtimeContext, IServiceProvider serviceProvider, IEvent _event, List< IEventParameter > eventValues)
 Invoked when a GetServiceProviderEventValues occurs in OTX-Runtime. More...
 
bool IsDisposed (IServiceProvider serviceProvider)
 Invoked when an IsDisposed occurs in OTX-Runtime. More...
 
bool IsServiceRunning (IServiceProvider serviceProvider, IService service)
 Invoked when an IsServiceRunning occurs in OTX-Runtime. More...
 
void SetProperty (IRuntimeContext runtimeContext, IServiceProvider serviceProvider, IProperty property, Object propertyValue)
 Invoked when a SetProperty occurs in OTX-Runtime. More...
 
bool TerminateService (IServiceProvider serviceProvider, IService service)
 Invoked when a TerminateService occurs in OTX-Runtime. More...
 
void UpdateExternalParameterValues (string serviceId, List< string > parameterNames, object value)
 Invoked when one ore more InOut ExternalParameters was changed in OTX-Runtime to the same value. More...
 

Detailed Description

Allows users to implement their own ExternalServiceProvider extension.

The OTX ExternalServiceProvider extension provides actions, terms, events and data types for accessing external services. These services can be a part of a system, a device, a database or a simple library. The purpose of the ExternalServiceProvider is to extend OTX to functionality that is encapsulated in these services to help fulfill the requirements of vehicle manufacturing and diagnosis. The existing OTX signature concept gives the author a very flexible construction kit to add existing functionality into OTX test sequences without any knowledge of the complex schema structure of OTX. To extend OTX for general purpose functionality a new OTX extension will be introduced. The criteria for new extensions are:

  • As general as possible, as specific as necessary.
  • Each new extension must be able to be potentially standardized.

Use cases for the ExternalServiceProvider extension :

  1. Add the seed / key functionality of a third party company that is encapsulated in a library must be added into an OTX test sequence.
  2. Add an existing proprietary test sequence of an existing test system into an OTX test sequence.In this use case new OTX test sequences can be easily added to an existing test sequence.A step by step migration of the test logic to OTX is possible as well as the possibility to add new functionality written in OTX into proprietary test sequences.So the introduction to use OTX test sequences is not complex.The author has the possibility to add small and simple pieces of OTX code into an already running code.With this knowledge the author is able to write larger and more complex OTX programs.
  3. Add any external functionality to an OTX test sequence. Keep in mind, the usage of the ExternalServiceProvider Extension guarantees the exchangeability of the OTX source code itself, but not the exchangeability of the functionality.If you want to add e.g. a proprietary library into OTX, with the help of the ExternalServiceProvider, the binding between the OTX-Runtime system and the library must be separately implemented and is not part of the standard.

Member Function Documentation

◆ CreateProvider()

void OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.CreateProvider ( IRuntimeContext  runtimeContext,
IServiceProvider  serviceProvider,
IConstructor  constructor,
List< IExternalParameter constructorParameter 
)

Invoked when a CreateProvider occurs in OTX-Runtime.

Parameters
serviceProviderServiceProvider represents an OTX ServiceProvider.
constructorConstructor that shall be called.
constructorParametersList of arguments for the construtor.
runtimeContextThe related runtime context.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ DisposeProvider()

void OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.DisposeProvider ( IServiceProvider  serviceProvider)

Invoked when a DisposeProvider occurs in OTX-Runtime.

Parameters
serviceProviderServiceProvider represents an OTX ServiceProvider.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ ExecuteService()

void OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.ExecuteService ( IRuntimeContext  runtimeContext,
IServiceProvider  serviceProvider,
IService  service,
List< IExternalParameter serviceParameters,
bool  executeAsync 
)

Invoked when an ExecuteService occurs in OTX-Runtime.

Parameters
runtimeContextThe related runtime context.
serviceProviderServiceProvider represents an OTX ServiceProvider.
serviceService represents an OTX Service.
serviceParametersList of arguments.
executeAsyncTrue if the service is executed asynchronously.Otherwise, false.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ GetProperty()

object OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.GetProperty ( IRuntimeContext  runtimeContext,
IServiceProvider  serviceProvider,
IProperty  property 
)

Invoked when a GetProperty occurs in OTX-Runtime.

Parameters
runtimeContextThe related runtime context.
serviceProviderServiceProvider represents an OTX ServiceProvider.
propertyProperty represents an OTX Property.
Returns
The value of the property.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ GetServiceProviderEventValues()

void OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.GetServiceProviderEventValues ( IRuntimeContext  runtimeContext,
IServiceProvider  serviceProvider,
IEvent  _event,
List< IEventParameter eventValues 
)

Invoked when a GetServiceProviderEventValues occurs in OTX-Runtime.

Parameters
runtimeContextThe related runtime context.
serviceProviderServiceProvider represents an OTX ServiceProvider.
_eventEventSignature in the given ServiceProviderSignature for which event the values shall be returned.
eventValueseventValues is as a result of GetServiceProviderEventValues.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ IsDisposed()

bool OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.IsDisposed ( IServiceProvider  serviceProvider)

Invoked when an IsDisposed occurs in OTX-Runtime.

Parameters
serviceProviderServiceProvider represents an OTX ServiceProvider.
Returns
True if the ServiceProvider is disposed; otherwise, false.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ IsServiceRunning()

bool OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.IsServiceRunning ( IServiceProvider  serviceProvider,
IService  service 
)

Invoked when an IsServiceRunning occurs in OTX-Runtime.

Parameters
serviceProviderServiceProvider represents an OTX ServiceProvider.
serviceService represents an OTX Service.
Returns
True if the Service is running; otherwise, false.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ SetProperty()

void OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.SetProperty ( IRuntimeContext  runtimeContext,
IServiceProvider  serviceProvider,
IProperty  property,
Object  propertyValue 
)

Invoked when a SetProperty occurs in OTX-Runtime.

Parameters
runtimeContextThe related runtime context.
serviceProviderServiceProvider represents an OTX ServiceProvider.
propertyProperty represents an OTX Property.
propertyValueValue which is set to the property.

◆ TerminateService()

bool OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.TerminateService ( IServiceProvider  serviceProvider,
IService  service 
)

Invoked when a TerminateService occurs in OTX-Runtime.

Parameters
serviceProviderServiceProvider represents an OTX ServiceProvider.
serviceService represents an OTX Service.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.

◆ UpdateExternalParameterValues()

void OpenTestSystem.Otx.Runtime.Api.Custom.IExternalServiceProviderImplementation.UpdateExternalParameterValues ( string  serviceId,
List< string >  parameterNames,
object  value 
)

Invoked when one ore more InOut ExternalParameters was changed in OTX-Runtime to the same value.

Parameters
serviceIdRepresents a service id.
parameterNamesNames of the parameters which value was changed.
valueValue to all listed parameters was changed.

Implemented in OpenTestSystem.Otx.Runtime.Api.Custom.DefaultExternalServiceProviderImplementation.


The documentation for this interface was generated from the following file: