Extensions.ExternalServiceProvider

From emotive
Jump to navigation Jump to search

Classification

Name ExternalServiceProvider
Short Description Provides actions, terms, events and data types for an access to external services
Class OTX Extension
Base Extension OTX EventHandling Extension
Pre-Conditions -
Specified by ISO 13209-4

Introductions

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 OTX ExternalServiceProvider Extension 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 OTX ExternalServiceProvider Extension:

  • Add the seed/key functionality of a third party company that is encapsulated in a library must be added into an OTX test sequence.
  • 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.
  • 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.

Actions

CreateProvider
DisposeProvider
ExecuteService
GetServiceProviderEventValues
SetProperty
TerminateService

Terms

GetProperty
IsDisposed
IsServiceRunning
External Service provider event query terms
GetServiceProviderFromEvent
IsServiceExecutionFinishedEvent
IsServiceProviderEvent
External service provider event source terms
ServiceExecutionFinishedEventSource
ServiceProviderEventSource

Data Types

PropertyFlag
Service
ServiceProvider

Exceptions

ConfigurationException
ExecuteException
ExternalServiceProviderException
ProviderDisposedException
ProviderServiceException

Signatures

ConstructorSignature
EventSignature
PropertyRealisation
PropertySignature
ServiceProviderSignature
ServiceSignature

Checker rules

ExternalServiceProvider_Chk001 Incorrect target for service provider
ExternalServiceProvider_Chk002 Incorrect CreateProvider constructor arguments
ExternalServiceProvider_Chk003 Input argument omission
ExternalServiceProvider_Chk004 Incorrect CreateProvider constructor reference
ExternalServiceProvider_Chk005 Incorrect ExecuteService service reference
ExternalServiceProvider_Chk006 Incorrect ExecuteService arguments
ExternalServiceProvider_Chk007 Incorrect property attribute reference
ExternalServiceProvider_Chk009 Incorrect Property access
ExternalServiceProvider_Chk009 Incorrect event attribute reference
ExternalServiceProvider_Chk010 Incorrect CreateProvider constructor attribute
ExternalServiceProvider_Chk011 Incorrect Event values