Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • IIdentity has been split in IIdentifiable and IDescribable. Some interfaces already have been derived from IIdentifiable and/or IDescribable** (question) At some stage, we should check all interfaces on whether to derive from IIdentifiable and/or IDescribable or not.
    • (warning) At this meeting, we should check that IIdentifiable and/or IDescribable are not used as seperate entities.
  • IArgument needs a mechanism for identifying the type of argument e.g. File, Path, int double etc Very usful for providing customised GUI functionality
    • (question) Adrian to come up with proposal for next meeting
      • Code Block
        
        namespace OpenMI.Standard
        {
            public enum EArgType
            {
                String = 0, // default
                Bool,
                Int,
                Double,
                Path, // presummed to exist and accessable
                FilePath, // presummed to exist and accessable
                PathNew,
                FilePathNew,
            }
        
            /// <summary>
            /// The IArgument interface defines a key - value pair. If the property ReadOnly is
            /// false the value is editable otherwise it is read-only.
            /// </summary>
            public interface IArgument : IDescribable
            {
                /// <summary>
                /// Type that string value represents and can be converted to
                /// </summary>
                EArgType ValueType { get; }
        
        	/// <summary>
                /// The key (string) in key-value pair.
        	/// </summary>
        	string Key {get;}
        
        	/// <summary>
                /// <para>The value (double) in key-value pair.</para>
                ///
                /// <para>If the ReadOnly property is true and the property is attempted to be changed
                /// from outside an exception must be thrown.</para>
        	/// </summary>
        	string Value { get; set; }
        
        	/// <summary>
                /// Defines whether the Values property may be edited from outside.
        	/// </summary>
        	bool ReadOnly {get;}
            }
        }
        
  • Using empty Temporal and ElementSet in the Input items.
    See http://public.wldelft.nl/display/OPENMI/Empty+Sets+in+the+Input+Items+-+Element+set+changing+in+time
  • Changing of the ElementSet during the time and different Times (steps) for different Elements
    • For the Time can be probably solved by missing values

...

Code Block
java
java
titleSuggestion 2.0, I
  public interface ITime {
      double StampAsMJD { get; }
      double DurationAsMJD { get; }
  }	
  public interface ITimeSet {
      List<ITime> Times { get; }
      bool HasDurations { get; }
  }
Code Block
java
java
titleSuggestion 2.0, II
  public interface ITime {
      double StampAsMJD { get; }
  }	
  public interface ITimeSpan : ITime {
      double DurationAsMJD { get; }
  }	
  public interface ITimeSet {
      List<ITime> Times { get; }
      bool HasDurations { get; }
  }

...