UMLGraph-based E-R for basic entities
[aquarium] / doc / e-r.java
diff --git a/doc/e-r.java b/doc/e-r.java
new file mode 100644 (file)
index 0000000..1dddb27
--- /dev/null
@@ -0,0 +1,104 @@
+/**
+ * @opt operations
+ * @opt attributes
+ * @opt operations
+ * @hidden
+ */
+class UMLOptions {}
+
+/**
+ * @assoc 1 - n ServiceTemplate
+ * @assoc 1 - n ServiceItem
+ */ 
+public class Entity {
+    public String name;
+    public float credits;
+}
+
+public enum EntityType {
+    User, Group
+}
+
+public class User extends Entity {
+}
+
+/** 
+ * @composed m - n User
+ * @assoc 0 - n Group
+ */
+public class Group extends Entity{}
+
+/** 
+ * @assoc m - n Group
+ * @composed n - m User
+ */
+public class Organization extends Entity {
+}
+
+/**
+ * @assoc 1 - n ServiceItem 
+ * @has n - 1 ResourceType
+ */
+public class ServiceTemplate {
+    public String name;
+}
+
+public class ServiceItem {
+    public String url;
+}
+
+/**
+ * @assoc n - 1 ServiceTemplate 
+ */ 
+public class Action{}
+
+/**
+ * @assoc n - 1 Action
+ * @assoc n - 1 ServiceTemplate
+ * @assoc n - 1 EntityType
+ */
+public class DefaultPermission {}
+
+/**
+ * @has n - 1 Entity
+ * @composed n - 1 Action
+ * @composed n - 1 ServiceItem
+ */ 
+public class Permission{}
+
+
+/**
+ * @assoc n - 1 Entity
+ * @assoc n - 1 ServiceItem
+ */ 
+public class Limit{
+    public String value;
+}
+
+/**
+ * @assoc n - 1 ServiceItem 
+ * @assoc n - 1 Entity
+ */
+public class Bill {
+    public float cost;
+    public Date date;
+}
+
+public class SynnefoVM extends ServiceItem {}
+public class PithosFile extends ServiceItem{}
+public class SaaSVM extends SynnefoVM {}
+
+
+public enum ResourceType {
+    CPU, RAM, DiskSpace, Bandwidth, License, Network
+}
+
+/**
+ * @assoc n - 1 EntityType
+ * @assoc n - 1 ServiceTemplate
+ */
+public class DefaultLimit {
+    public float limit;
+}
+
+