#   Issue tracking - Example application
#
#   Federal Ontological Organization
#	Isse FSM
#

@keywords a, is, of.

@prefix :	<http://www.w3.org/2005/01/wf/flow#>.

@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix doc: <http://www.w3.org/2000/10/swap/pim/doc#> .
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
@prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#> .
@prefix foo:  <http://www.w3.org/2005/01/wf/test/foo#>.



foo:Issue	s:subClassOf Task;
		s:label "Example Working Group Issue".


# States:

foo:Proposed	a State; s:label "proposed";
		allowedTransitions (foo:acceptance foo:rejection).

foo:Rejected	a TerminalState; s:label "rejected".

foo:Accepted	a State; s:label "accepted";
		allowedTransitions (foo:delegation foo:assignment foo:closure).

foo:Pending	a State; s:label "pending";
		allowedTransitions (foo:reacceptance foo:closure);
		s:comment "Pending means waiting for someone outside the group.".

foo:OpenAction	a State; s:label "open action";
		allowedTransitions (foo:reacceptance foo:closure).

foo:Closed	a TerminalState; s:label "closed".


# Creations:

foo:proposal	a Creation;
		s:label "raising";
		taskType foo:Issue;
		requires (source);
		final Proposed.

# Transisions:

foo:acceptance	a Transition; s:label "acceptance";
		requires (source);
		final Accepted.

foo:rejection	a Transition; s:label	"rejection";
		requires (source);
		final foo:Rejected.

foo:delegation	a Transition; s:label	"delegation";
		requires (source assignee);
		final foo:Pending.

foo:assignment	a Transition; s:label	"assignment";
		requires (source assignee);
		final foo:OpenAction.

foo:closure	a Transition; s:label	"closure";
		requires (source);
		final foo:closed.

foo:reacceptance	a Transition; s:label	"reacceptance";
		final foo:Accepted.

# ______________________________________ Rules




#_______________________________________________________

#ends
