description <http://flandersmake.be/cdf/description/my_statechart#> as my_statechart {
	
	uses <http://flandersmake.be/cdf/vocabulary/statechart#> as statechart
	uses <http://flandersmake.be/cdf/vocabulary/immutable#> as immutable

	uses <http://flandersmake.be/cdf/vocabulary/object_diagram#> as object_diagram
	
	ci default : statechart:AndState [
		statechart:hasName "default"
	]
	
	ri t : statechart:Transition [
		from default
		to default
		statechart:hasLabel "e"
	]
	
	ci root : statechart:OrState [
		statechart:hasDefaultState default
		statechart:hasName "root"
	]
	
	ci sc : statechart:Model [
		immutable:hasUUID "sc"
		statechart:hasRoot root
		
		object_diagram:hasObject root
		object_diagram:hasObject default
		object_diagram:hasObject t
	]
	
	
	// Illegal: parent-cycle
	ci s1 : statechart:AndState [
		statechart:hasName "s1"
		statechart:hasParent s2
		
	]
	ci s2 : statechart:AndState [
		statechart:hasName "s2"
		statechart:hasParent s3
	]
	ci s3 : statechart:AndState [
		statechart:hasName "s3"
		// statechart:hasParent s1 // ILLEGAL
	]
}