| @namespace(uri="comps", prefix="") | |
| package comps; | |
| class Model extends Component { | |
| val Component[*] components; | |
| val Connector[*] connectors; | |
| } | |
| class Component { | |
| attr String name; | |
| val Port[*] inPorts; | |
| val Port outPort; | |
| } | |
| class Port { | |
| attr String name; | |
| attr String type; | |
| ref Connector[1]#source outgoing; | |
| ref Connector[1]#target incoming; | |
| } | |
| class Connector { | |
| ref Port[1]#outgoing source; | |
| ref Port[1]#incoming target; | |
| } |