@namespace(uri="comps", prefix="comps") | |
package comps; | |
class Component { | |
attr String name; | |
val Port[*] inPorts; | |
val Port[*] outPorts; | |
val Component[*] components; | |
val Connector[*] connectors; | |
attr String action; | |
} | |
class Port { | |
attr String name; | |
ref Connector[*]#from outgoing; | |
ref Connector[*]#to incoming; | |
ref Type type; | |
} | |
class Connector { | |
ref Port#outgoing from; | |
ref Port#incoming to; | |
} | |
class Type { | |
attr String name; | |
} |