blob: 2da627a1e4f0a400fec50eb691b3d4e3b07bf560 [file] [log] [blame]
@namespace(uri="comps", prefix="comps")
package comps;
class Model extends Component {
}
class Component {
attr String name;
val Port[*] inPorts;
val Port[*] outPorts;
val Component[*] components;
val Connector[*] connectors;
attr String action;
}
@instance(of="Component")
class ComponentInstance extends Component {
ref Component prototype;
}
class Port {
attr String name;
ref Connector[*]#from outgoing;
ref Connector[*]#to incoming;
}
class Connector {
ref Port#outgoing from;
ref Port#incoming to;
}