| Listing 1. Share: OCL rules. |
|
context Share::attach(s:Service)
pre: services->excludes(s) post: services->includes(s) context Share::detach(s:Service) pre: services->includes(s) post: services->excludes(s) context Share::discovery(s:String):Set(Service) post: result = Set(services->select(name.matches(s))) context Share inv: services->asSet() |