# This files contains templates for the content assist in the kmelia editor
# the format is the following:
# prefix = description @ text to be inserted
# if the description is the same as the value, use only prefix = description
# A comment line has an ASCII '#' or '!' as its first non-white space character
# \n must be used to separate multiple lines 
# to use the same prefix for multiple templates, add numbers to it. They will be removed
# to include a template into another one, just type the templatename prefixed by a $ 
# to use multiple prefixes for the same insertion, put them on the same key separated by _, like the service_provided example below 
Behaviour_Behavior = Behavior @ Behavior \n Init i\n Final f \n {\n i-- nop -->f\n}
Behaviour_Sequence = Sequential Behaviour @ Sequence { nop;\n nop;\n SendResult()//return value might be needed\n}
service_provided= provided service @  provided servicename(param:typ):return\n  Interface  \n  Pre true \n  Post true \n End \n
service_promoted= promoted service @   servicename(param:typ):return From compvar.servicename\n   RedefinedPre Stronger With true \n  RedefinedPost Weaker With true \n End \n
service_provided2= provided service with interface @  provided servicename(param:typ):returntype \n Interface \n  #calrequires : {req1,req2}\n  #intrequires : {req1,req2} \n#extrequires : {req1,req2}  \n#subprovides : {req1,req2} \n Pre true \n Post true \n End \n
service_required= required service @  required servicename(param:typ):return\n  Interface  \n  Pre true \n  Post true \n End \n
service_required2= required service with virtual context @  required servicename(param:typ):return\n  Interface  \n  Virtual Variables \n  catalogFull : Boolean;\n catalogEmpty : Boolean\n    Virtual Invariant \n not(catalogEmpty and catalogFull)\n Pre  true\nInitialization\n catalogEmpty:=false;catalogFull:=false;\n  Post true \n End \n
service_promoted_required= promoted required service @  required servicename(param:typ):return From compvar.servicename\n   RedefinedPre Weaker With true \n  RedefinedPost Stronger With true \n End \n
link = link @ @link1: p-r c.serv1 d.serv2 \n context mapping \n c.isFull== size(d.stack)=MaxInt \n #sublinks : {link2}\n
Assembly = Assembly @  Assembly \n Components \n #c:C;\n#d:D \n Links $link $link \n End \n
COMPOSITION = COMPOSITION @ COMPOSITION \n $Assembly  \n END_COMPOSITION
SERVICES = Services clause @ SERVICES \n \nEND_SERVICES\n
Properties = Properties @ Properties {propname1, propname2}\n
 
  