get rid of the stream parsing that occurs in the Layer III decoder. BitStream.readFra...
[IRC.git] / Robust / src / designnotes
index 968817c743691b408f0479f9b18dce0eaed6c67d..404809f210adf44993e87cc5a05f6975565aa8a1 100644 (file)
@@ -7,13 +7,33 @@ Assumptions:
 Task parameters can't be modified
 
 How do we handle new object allocation?
-Idea #1: Simply lose precision -- don't even attempt analysis
-         Improvement - let set flags at 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
 ------------------------------------------------------------------------------
 
 
@@ -81,3 +101,18 @@ 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