package component { primitive string ; class Component { attribute name : string ; attribute provides : Interface [0..*] ; attribute uses : Interface [0..*] ; } class Interface { attribute name : string ; attribute operations : Operation [0..*] ; } class Operation { attribute name : string ; attribute return_type : string; attribute arguments : Argument [0..*] ; } class Argument { attribute name : string ; attribute type : string ; } }