@namespace(uri="petrinets2", prefix="petrinets2")
package petrinets;

class Net {
   val Place[*]#net places;
   val Transition[*]#net transitions;
   val Arc[*]#net arcs;
}

class Place {
	ref Net[1]#places net;
 	attr String name;
 	
 	ref TPArc[*]#dst in;
 	ref PTArc[*]#src out;
}

class Transition {
	ref Net[1]#transitions net;
	attr String name;
	
	ref PTArc[1..*]#dst in;
 	ref TPArc[1..*]#src out;
}


abstract class Arc {
   ref Net[1]#arcs net;
}

class PTArc extends Arc {
   ref Place[1]#out src;
   ref Transition[1]#in dst;
}

class TPArc extends Arc {
   ref Transition[1]#out src;
   ref Place[1]#in dst;
}