This commit was manufactured by cvs2svn to create tag 'buildscript'.
[IRC.git] / Robust / src / designnotes
diff --git a/Robust/src/designnotes b/Robust/src/designnotes
deleted file mode 100644 (file)
index 404809f..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-Objects have:
-Collection of Flags
-   Flags have type/name associated with them
-   Are either present or not present
-
-Assumptions:
-Task parameters can't be modified
-
-How do we handle new object allocation?
-Idea #1: Set flags at allocation
-        Only allow flag setting at exit for parameters
-
-Non parameter variables: 
-1) Type must contain flags
-2) Apply flag additions to all states
-
-Tags operations:
-create_tag operation(type)
-
-tag name=new tag(type);
-
-associate_with_tag operation(object, tag)
-
-Dispatch:
-after flag status, allow tag status...
-each tag state is of the form: Type(name)
-
-Other approach:
-Tag sets:  {x, y, z, ... in R
-
-Allow additions/removals of tuples in taskexit:
-remove <x, y, z, ...> from R
-add <x, y> to R
-
-Allow addition of new tuples in object allocation
-add <new, y> to R
-------------------------------------------------------------------------------
-
-
-
-
-Collection of Tags
-   Tags have type/name associated with them   
-   Also have UID associated with them
-   Two basic types:
-     Ordered: Initial/Next / Preserves Sequencing 
-     Non-ordered: New  / Groups items together
-     
-----------------------------------------------------------------------
-Tasks:
-Have list of parameters w/ flag/tag specifications
-Flag/Tag transitions at task exit
------------------------------------------------------------------------
-Problems:
-How do we efficiently do task dispatch?
-
-Idea:
-Flags - efficiently
-Build static state transition diagram : explore full space for now
-Then for each state transition we consider:
-1) What task activations have we added
-2) What task activations have we removed
-Collapse state transition diagram to 
-
-
-Tags - search once we match a flag
-
-
-
-Input:
-trigger role specification for tasks:
-role mutator operation:
-role definition:
-
-Generate:
-Role transition diagram
-
-
-Initial features:
-methods
-structs
-type system
-
-Language features:
-Single Inheritance
-Virtual methods
-Objects
-
-object metastate:
-1. flags: flag role1
-2. tags: tag tag1
-
-tag operations:
-tag tag1=new tag;
-tag tag2=incrementtag(tag tag1);
-tag tag3=no tag;
-
-metastate operations:
-
-task foo(type1 o1{role1||role2}, type2 o2{role3}) {
-       
-  exit(o1{role1'=false},o2{role3'=false},onew{role4=true});
-}
-----------------------------------------------------------------
-----------------------------------------------------------------
-
-Initial design:
-----------------------------------------------------------------
-
-Provide runtime with:
-1) List of tasks
-   a) Task names
-   b) Parameter types
-   c) Flag settings
-
-2) List of flags for each type
-
-3) Flag transition calls