(file) Return to todo.txt CVS log (file) (dir) Up to [Pegasus] / pegasus / doc / Attic

Diff for /pegasus/doc/Attic/todo.txt between version 1.1 and 1.17

version 1.1, 2001/04/27 18:46:20 version 1.17, 2001/06/15 13:43:31
Line 1 
Line 1 
  
 Topical To-Do List      -   Support for NULL property lists (in interface and protocol).
 ==================  
  
 -   Instances:      -   Rename tests (prepend "Test" to each test).
  
     -   Implement CIMRepository::getProperty()      -   Fix bug with cimserver.exe causing it to fail to start without te
           "-l" option.
  
     -   Implement CIMRepository::setProperty()      -   Resolve whether the backslash should be permitted in namespaces.
  
     -   Implement CIMRepository::deleteInstance()      -   Create CIMOMContext (interface to CIMOM used b the provider).
  
     -   Implement CIMRepository::modifyInstance()      -   Define Encoding module interface.
  
     -   Implement CIMRepository::enumerateInstances()      -   Develop XMLEncodings module.
  
     -   Implement CIMRepository::enumerateInstanceNames()      -   Develop BinaryEncodings module.
  
     -   Handle inheritance in all instance operations.      -   Develop MOFEncodings module.
  
     -   Double check that all these operations work across protocol.      -   Employ BinaryEncodings module in repository (reduce disk usage).
  
     -   Check that they have keys during validation.      -   Combine repository instances, classes, and qualifiers  into their
           respective files (to reduce the number of files).
  
 -   Associations:      -   Employ an efficient indexing scheme in repository (B-trees or hashing).
  
     -   Implement CIMRepository::referencesOf()      -   Develop module manager: interface, lookup scheme, and loading scheme.
  
     -   Implement CIMRepository::associatorsOf()      -   Package Encodings classes as a module.
  
     -   Implement protocol stubs for these operations.      -   Finalize repository assocations.
  
 -   Exceptions:      -   Add association CIM/HTTP operations.
  
     -   Clean up and consolidate exception classes.      -   Design association provider infrastructure.
   
     -   Propagate underlying error messages across the CIM protocol.  
   
 -   References:  
   
     -   Validate arguments to CIMReference compound constructor and modifiers.  
         (namespaces, hosts, classnames, and keybindings)  
   
     -   Be sure that escape sequences are handled inside of object names. For  
         example:  
   
             X.key1="Hello \"You\""  
  
 -   Protocol:      -   Implement missing CIM protocol operations.
  
     -   Improve protocol tracing to show messages in both directions.      -   Implement good observer module interface which allows different levels:
  
     -   The TCPChannel::writeN() method blocks when the client and server          -   Observation of client/CIMMOM connections/disconnection.
         are in the same process. That is because the client cannot read  
         anything as long as writeN() is blocked on a synchronous write.  
  
     -   Figure out how to handle getProperty() return type.          -   Observation of client/CIMOM communication.
  
     -   Provide ACE Channel implementation (for porting purposes)?          -   Observation of CIMOM/repository communication.
  
     -   Handle PARAMETER.REFARRAY in Procotol?          -   Observation of CIMOM/provider communication.
  
     -   Ignore extraneous XML elements (loosely valid).          -   Observation of CIMOM state transitions.
  
 -   Porting:      -   Pegasus providers for Sun WBEM Services.
  
     -   Replace "std::something" with "STD(something)"      -   Pegasus providers for WMI.
  
     -   Replace "using namespace std" with "USING_NAMESPACE_PEGASUS"      -   Sun WBEM Services providers for Pegasus.
  
 -   Aesthetics/Consistency/Usability:      -   CIM/HTTP Proxy for WMI.
  
     -   Change getLength() and getSize() to just size(): "Brevity is the soul      -   Web Server/Pegasus Integration (use HTTP protocol capabilities of
         of genius and of Lingerie".          web server rather than Pegasus).
  
     -   Add methods to get objects by their names, in addition to index. For      -   Add CIMRepository::namespaceExists() method.
         example:  
  
             CIMProperty CIMClass::getProperty(const String& name);      -   Change HTTP message id's to this format: "YYYY.MM.DD.HH.MM.SS.NNNNN".
  
     -   Perform walkthrough to expose consistency problems.      -   GetInstances() and GetClasses() need to use iterators on
           provider and repository end. Otherwise, all classes or instance
           to be enumerated, must be sucked into memory.
  
     -   Distinguish between private and public classes (otherwise, users may      -   Template bloat reduction.
         come to depend on classes with unstable interfaces).  
  
 -   Documentation:      -   Need a tool to say which features are supported by a compiler.
  
     -   Suggest newlines after methods.      -   Support unloading of dynamic libraries (presently only load() is
           supported).
  
     -   Suggest use of "/** ... */" instead of "///"      -   Clean up and consolidate exception classes.
  
     -   Refine header file documentation.      -   Asynchronous socket writes in the CIMOM (need write enabled flags).
  
     -   Write Pegasus Architecture Paper.      -   Handle PARAMETER.REFARRAY in Procotol?
  
     -   Integrate DOC++ with make system (put all docs in doc tree):      -   Implemented stream oriented XML parsing.
  
 -   Namespaces:      -   Ignore extraneous XML elements (implement "loose validation" concept).
  
     -   Implement create and destroy namespace (according to the standard).      -   Add methods to get objects by their names, in addition to index. For
           example:
  
 -   Providers              CIMProperty CIMClass::getProperty(const String& name);
  
     -   Add CIM-Server handles to provider interface.      -   Distinguish between private and public classes (otherwise, users may
           come to depend on classes with unstable interfaces).
  
     -   Implement MOF provider registration scheme (according to the standard).      -   Walk through all code to expose consistency/aesthetic issues.
  
 -   WBEM Query Language      -   Provide ACE Channel implementation (for porting purposes)?
  
     -   Find someone to work on standard.      -   Expand datatime (setCurrentTime() and comparison and increment
           functions).
  
     -   Implement leve-1 parser.      -   Write Pegasus Architecture Paper.
  
 -   MOF compiler:      -   Implement MOF provider registration scheme (according to the
           standard).
  
     -   Work with Bob to identify work items.      -   WBEM Query Language and integration.
  
 -   Threading -   Threading
  
     -   Write thread queuing document (input and output thread queue per  
         provider).  
   
     -   Implement queuing.  
   
     -   Make reference counted objects thread safe (Mutexing and atomic  
         increments).  
   
 -   Connectors  
   
     -   Work out basic concepts (write paper).  
   
     -   Package up pegasus in Install Shield application.     -   Package up pegasus in Install Shield application.
  
       -   Internationalization: Handle UCS2 characters in XML
           (parsing and writing).
  
 -   Install      -   Export of repository to MOF.
   
     -   Need install mechanism for Unix and Windows.  
   
 -   Interoperability  
   
     -   Fix reported bugs.  
   
 -   Internationalization  
   
     - Handle UCS2 characters in XML (parsing and writing).  
  
 -   Repository:      -   Change CompareNoCase() to String::compareNoCase().
  
     - Export to MOF.      -   Figure out how to handle CIM NULL values.
   
 -   Miscellaneous  
   
     - Figure out how to handle CIM null values.  
   
     - Generalize iteration.  
  
     - Figure out how inheritance of keys works.     - Figure out how inheritance of keys works.
  
     - Investiage weak assocations.     - Investiage weak assocations.
  
     - Provide conversions between DateTime and time_t.  
   
 -   Constraint hanlding  
   
     - Enforce constraint qualifiers.     - Enforce constraint qualifiers.
  
     - Disallow resetting size of fixed length arrays.     - Disallow resetting size of fixed length arrays.
  
 -   Optimization/Tuning  
   
     -   Shrink object sizes.     -   Shrink object sizes.
  
     -   Use lighter I/O system (than C++ streams).     -   Use lighter I/O system (than C++ streams).
Line 176 
Line 136 
  
     -   Optimize clear method on arrays (to not release memory).     -   Optimize clear method on arrays (to not release memory).
  
 -   Porting      -   Provide conversions between DateTime and time_t.
  
     -   Port to Solaris     -   Port to Solaris
  
     -   Port to HPUX      -   Support multiple providers of the extact same class.
           DiskController example and LanController.
     -   Port to AIX  
   
 -   Testing  
   
     -   Run Purify on all sources (port to Sun first).  
   
     -   Run CIM/XML test suite.  
   
 -   Server  
   
     -   Use Service class in cimserver  
   
     -   Implement Service class on Unix (daemonization from Comer book).  
   
 Short-term Items  
 ================  
   
 -   Make HashTable take Equal template function argument.  
   
 -   Make InheritanceTree case-insensitive.  


Legend:
Removed from v.1.1  
changed lines
  Added in v.1.17

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2