 (association "ParticipatesIn"
   "role1" :UserDomain 1 *)
 
+(association "Creates"
+  "role1" :Activity 1 *
+  "role2" :UserDomain 0 *)
+
 (association "HasPolicies"
   "role1" :UserDomain 0 *
-  "role2" :Policy 0 1)+  "role2" :Policy 0 1)
+
+(association "Has"
+  "role1" :Contact 0 *
+  "role2" :Domain 0 *)
+
+(association "Has"
+  "role1" :Contact 0 *
+  "role2" :Service 0 *)
+
+(association "PrimarilyLocatedAt"
+  "role1" :Domain 1 *
+  "role2" :Location 0 *)
+
+(association "PrimarilyLocatedAt"
+  "role1" :Service 1 *
+  "role2" :Location 0 *)
+
+(association "RelatesTo"
+  "role1" :Service 0 *)
+
+(association "ParticipatesIn"
+  "role1" :AdminDomain 1 *)
+
+(association "Manages"
+  "role1" :AdminDomain 0 *
+  "role2" :Service 0 *)
+
+(association "Manages"
+  "role2" :Manager 0 1
+  "role1" :Resource 0 *)
+
+(association "Offers"
+  "role1" :Service 0 *
+  "role2" :Manager 1 1)
+
+(association "Offers"
+  "role1" :Service 0 *
+  "role2" :Share 1 1)
+
+(association "Exposes"
+  "role1" :Service 0 *
+  "role2" :Endpoint 1 1)
+
+(association "CanBeMappedInto"
+  "role1" :MappingPolicy 1 1
+  "role2" :Share)
+
+(association "CanAccess"
+  "role1" :AccessPolicy 1 1
+  "role2" :Endpoint 0 *)
+
+(association "DefinedOn"
+  "role1" :Share 0 *
+  "role2" :Resource 0 *)
+
+(association "Offers"
+  "role1" :Endpoint 0 *
+  "role2" :Share)
+
+(association "SubmittedBy"
+  "role1" :Endpoint 0 *
+  "role2" :Activity 1 *)
+
+(association "MappedInto"
+  "role1" :Activity 1 *
+  "role2" :Resource 0 *)
+
+(association "Runs"
+  "role1" :Activity 1 *
+  "role2" :Share 0 *)
+
+(association "RelatesTo"
+  "role1" :Activity 0 *)
+
+
+;---------------------------------------------------------------------------------------------------------------
+;temporary, to be resolved solution
+
+(generalization
+  (into :Policy)
+  (from :MappingPolicy :AccessPolicy))
+
+(generalization
+  (into :Domain)
+  (from :AdminDomain :UserDomain))
+
+(genralization
+  (into :Entity)
+  (from :Domain :Policy :Endpoint :Contact :Location :Service :Share :Resource :Activity :Manager))
    :ImplementationName
    :ImplementationVersion
    :DowntimeEnd
    :TrustedCA))

(def-class :Activity)

(def-class :Policy
  (with-attributes
    :Rule
    :Scheme))

(def-class :AccessPolicy)

(def-class :MappingPolicy)


(def-class :UserDomain
  (with-attributes
    :Member
    :UserManager
    :Level))

(association ""
  "role1" :Extension 1 1


(def-class :Extension
  (with-attributes
    :LocalID
    :Key
    :Value))

(def-class :Entity
  (with-attributes
    :ID
    :Validity
    :CreationTime
    :OtherInfo
    :Name))

(def-class :Domain
  (with-attributes
    :WWW
    :Description)
  (extends :Entity))

(def-class :Share
  (with-attributes
    :Description)
  (extends :Entity))

(def-class :Service
  (with-attributes
