<?xml version="1.0" encoding="UTF-8"?>
<ConversationPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ConversationPolicy2.0.xsd">
	<Name>MetaConversation</Name>
	<Roles>
		<Role>A</Role>
	</Roles>
	<Roles>
		<Role>B</Role>
	</Roles>
	
	<InitialState>
		<IniStateName>Start</IniStateName>
	</InitialState>
	
	<State StateId="Start">
		
		<SendMessageTransition TransitionName="A-StartCP">
			<Target>A-Requested</Target>
			<Sender>A</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>StartCPForm</Encoding>
				<Schema>Nothing</Schema>
			</Message>
		</SendMessageTransition>

		<SendMessageTransition TransitionName="A-Bye">
			<Target>Done</Target>
			<Sender>A</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>TextMessageForm</Encoding>
				<Schema>Bye</Schema>
			</Message>
		</SendMessageTransition>

		<SendMessageTransition TransitionName="B-StartCP">
			<Target>B-Requested</Target>
			<Sender>B</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>StartCPForm</Encoding>
				<Schema>Nothing</Schema>
			</Message>
		</SendMessageTransition>

		<SendMessageTransition TransitionName="B-Bye">
			<Target>Done</Target>
			<Sender>B</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>TextMessageForm</Encoding>
				<Schema>Bye</Schema>
			</Message>
		</SendMessageTransition>
	</State>
	
	<State StateId="A-Requested">
		<SendMessageTransition TransitionName="B-OK">
			<Target>B-Accepted</Target>
			<Sender>B</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>TextMessageForm</Encoding>
				<Schema>OK</Schema>
			</Message>
		</SendMessageTransition>
		<SendMessageTransition TransitionName="B-Refuse">
			<Target>Done</Target>
			<Sender>B</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>TextMessageForm</Encoding>
				<Schema>Refuse</Schema>
			</Message>
		</SendMessageTransition>
		<SendMessageTransition TransitionName="B-StartCP2">
			<Target>B-Requested</Target>
			<Sender>B</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>StartCPForm</Encoding>
				<Schema>Nothing</Schema>
			</Message>
		</SendMessageTransition>
	</State>

	<State StateId="B-Requested">
		<SendMessageTransition TransitionName="A-OK">
			<Target>A-Accepted</Target>
			<Sender>A</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>TextMessageForm</Encoding>
				<Schema>OK</Schema>
			</Message>
		</SendMessageTransition>
		<SendMessageTransition TransitionName="A-Refuse">
			<Target>Done</Target>
			<Sender>A</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>TextMessageForm</Encoding>
				<Schema>Refuse</Schema>
			</Message>
		</SendMessageTransition>
		<SendMessageTransition TransitionName="A-StartCP2">
			<Target>A-Requested</Target>
			<Sender>A</Sender>
			<Event>SendMessage</Event>
			<Message>
				<Encoding>StartCPForm</Encoding>
				<Schema>Nothing</Schema>
			</Message>
		</SendMessageTransition>
	</State>

	<State StateId="A-Accepted">
		<LoadChild>
			<Policy>Policy</Policy>
			<Rolemap>
				<RolemapElement>
					<Parent>A</Parent>
					<Child>A-Role</Child>
				</RolemapElement>
				<RolemapElement>
					<Parent>B</Parent>
					<Child>B-Role</Child>
				</RolemapElement>
			</Rolemap>
		</LoadChild>
		<ChildReturnTransition>
		    <Target>Start</Target>
		    <Event>ChildReturn</Event>
		    <ChildReturn>ChildReturn</ChildReturn>
		</ChildReturnTransition>
	</State>

	<State StateId="B-Accepted">
		<LoadChild>
			<Policy>Policy</Policy>
			<Rolemap>
				<RolemapElement>
					<Parent>A</Parent>
					<Child>A-Role</Child>
				</RolemapElement>
				<RolemapElement>
					<Parent>B</Parent>
					<Child>B-Role</Child>
				</RolemapElement>
			</Rolemap>
		</LoadChild>
		<ChildReturnTransition>
		    <Target>Start</Target>
		    <Event>ChildReturn</Event>
		    <ChildReturn>ChildReturn</ChildReturn>
		</ChildReturnTransition>
	</State>

	<State StateId="Done">
		<Return>Done</Return>
	</State>	
	
</ConversationPolicy>
