blob: 73cb1cf573fe9464fcee9e0c2a092478a30c5036 [file]
<?xml version="1.0" encoding="UTF-8"?>
<!--
/*******************************************************************************
* Copyright (c) 2010 Profactor GmbH
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Gerhard Ebenhofer
* - initial API and implementation and/or initial documentation
*******************************************************************************/
-->
<!DOCTYPE FBType SYSTEM "http://www.holobloc.com/xml/LibraryElement.dtd" >
<FBType Name="ServiceInterface" Comment="Service Interface Function Block Type" >
<Identification Standard="61499-2" />
<VersionInfo Organization="4DIAC-Consortium" Version="0.0" Author="4DIAC-IDE" Date="2008-07-10" />
<InterfaceList>
<EventInputs>
<Event Name="INIT" Comment="Service Initialization" >
<With Var="QI" />
<With Var="PARAMS" />
</Event>
<Event Name="REQ" Comment="Service Request" >
<With Var="QI" />
<With Var="SD" />
</Event>
<Event Name="RSP" Comment="Application Response to IND" >
<With Var="QI" />
<With Var="SD" />
</Event>
</EventInputs>
<EventOutputs>
<Event Name="INITO" Comment="Initialization Confirm" >
<With Var="QO" />
<With Var="STATUS" />
</Event>
<Event Name="CNF" Comment="Confirmation of Requested Service" >
<With Var="QO" />
<With Var="STATUS" />
<With Var="RD" />
</Event>
<Event Name="IND" Comment="Indication from Resource" >
<With Var="QO" />
<With Var="STATUS" />
<With Var="RD" />
</Event>
</EventOutputs>
<InputVars>
<VarDeclaration Name="QI" Type="BOOL" Comment="Event Input Qualifier" />
<VarDeclaration Name="PARAMS" Type="WSTRING" Comment="Service Parameters" />
<VarDeclaration Name="SD" Type="ANY" Comment="Output data to resource" />
</InputVars>
<OutputVars>
<VarDeclaration Name="QO" Type="BOOL" Comment="Event Output Qualifier" />
<VarDeclaration Name="STATUS" Type="WSTRING" Comment="Service Status" />
<VarDeclaration Name="RD" Type="ANY" Comment="Input data from resource" />
</OutputVars>
</InterfaceList>
<Service RightInterface="RESOURCE" LeftInterface="APPLICATION" >
<ServiceSequence Name="normal_establishment" >
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="INIT+" Parameters="PARAMS" />
<OutputPrimitive Interface="RESOURCE" Event="initialize" Parameters="PARAMS" />
<OutputPrimitive Interface="APPLICATION" Event="INITO+" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="unsuccessful_establishment" >
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="INIT+" Parameters="PARAMS" />
<OutputPrimitive Interface="RESOURCE" Event="initialize" Parameters="PARAMS" />
<OutputPrimitive Interface="APPLICATION" Event="INITO-" Parameters="STATUS" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="request_confirm" >
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="REQ+" Parameters="SD" />
<OutputPrimitive Interface="RESOURCE" Event="request" Parameters="SD" />
<OutputPrimitive Interface="APPLICATION" Event="CNF+" Parameters="RD" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="request_inhibited" >
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="REQ-" Parameters="SD" />
<OutputPrimitive Interface="APPLICATION" Event="CNF-" Parameters="STATUS" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="request_error" >
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="REQ+" Parameters="SD" />
<OutputPrimitive Interface="RESOURCE" Event="request" Parameters="SD" />
<OutputPrimitive Interface="APPLICATION" Event="CNF-" Parameters="STATUS" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="indication_response" >
<ServiceTransaction >
<InputPrimitive Interface="RESOURCE" Event="indicate" Parameters="RD" />
<OutputPrimitive Interface="APPLICATION" Event="IND+" Parameters="RD" />
</ServiceTransaction>
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="RSP" Parameters="QI,SD" />
<OutputPrimitive Interface="RESOURCE" Event="response" Parameters="QI,SD" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="indication_inhibited" >
<ServiceTransaction >
<InputPrimitive Interface="RESOURCE" Event="indicate" Parameters="RD,QI=FALSE" />
<OutputPrimitive Interface="RESOURCE" Event="inhibited" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="error_indication" >
<ServiceTransaction >
<InputPrimitive Interface="RESOURCE" Event="error" Parameters="STATUS" />
<OutputPrimitive Interface="APPLICATION" Event="IND-" Parameters="STATUS" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="application_initiated_termination" >
<ServiceTransaction >
<InputPrimitive Interface="APPLICATION" Event="INIT-" />
<OutputPrimitive Interface="RESOURCE" Event="terminate" />
<OutputPrimitive Interface="APPLICATION" Event="INITO-" Parameters="STATUS" />
</ServiceTransaction>
</ServiceSequence>
<ServiceSequence Name="resource_initiated_termination" >
<ServiceTransaction >
<OutputPrimitive Interface="APPLICATION" Event="INITO-" Parameters="STATUS" />
</ServiceTransaction>
</ServiceSequence>
</Service>
</FBType>