Skip to content
Snippets Groups Projects
RELEASE_NOTES_HISTORY 18.06 KiB
These are release notes for Viskit from 0.1 forward.  Each release will
detail its functionality in meeting the applicable specifications and document
any known issues.

Release: 1.0.0(March 10, 2015)
-------------------------
Major changes since 0.7.0:

  Major refactor of the MVC components to implement undo / redo on both the EG
  and Assy editors

  Fixed potential NPE when attempting to capture a frame image with no file
  loaded in either the EG or Assy. editors

  Further improvements to the state transitions panel in that when we wish to
  invoke methods on state variables, a combo box of choices is presented.  If a
  method requires a parameter, the parameter is typed into the action field

  Fixed issue where canceling a local variable method call in the state
  transition dialog did not initiate an auto row delete

  Improvements to the state transitions panel in that we can now invoke void
  return type, zero parameter method calls as part of a state transition.  This
  is accomplished by declaring a local variable within an EventNode, or by using
  an event argument supplied by an Edge.  The type will be used to reflect on
  which method types will be available for use on either the local variable, or
  the argument

  Implemented capability to provide an unqualified Java class name and have the
  fully qualified class found on the classpath.  Implemented in viskit.VStatics

  Fixed bug to prevent edge parameter values from being wiped out during a node
  modification

  Preventing a case where we have simkit.jar in both the working classpath and
  in a project's /lib directory.  We don't need to expose multiple libs of the
  same name in the LEGOs tree because they happen to be in two different places

  Added a feature to the state transition panel whereby we can now assign local
  variables to return type invoke on "." methods, i.e. boolean b = queue.add(E);
  Before, we could only accomplish this type call and fire the state transition
  manually via code block entries.  This is a step in reducing code block usage.

  Fixed and issue where super type more than one level up were not being
  resolved in the EG to Java translator

  Corrected issue with EG image capture being stuck on the last showing EG and
  not cycling through open EG tabs

  Improved EG Node tooltips by including code blocks

  The translator for generation of Event Graph XML to Java now handles generic
  array types as well as primitive array types, generic containers, and of
  course, primitive types.

  JGraph extended and overridden components now behave like actual DES EG nodes
  in that EG node edges take on the classic parabolic shape when two edges
  connect between nodes.  Self-referential edges now begin hear the top of the
  node instead of at the bottom and form around the node in a clockwise fashion.

  Fixed issue with the StateVariableDialog where if an array type was entered in
  the type field, the array length field was still disabled

  Fixed issue of the metadata description field not updating after an edit

  Fixed potential NPE in the PclEdgeInspectorDialog when the Introspector can't
  determine a property type

  Fixed an issue where EG and Assy file open history was not being preserved
  Fixed an issue where a PropertyChangeListener edge with no selected property
  was forcing a "" (empty string) property which is non-existent.

  Implemented a self-referential drag and drop, or menu selected canceling edge
  option for the EG editor.

  Implemented an extension feature for EGs.  Instead of extending the default
  SimEntityBase, type in your SimEntityBase subclass name instead when creating
  a new event graph, i.e. extends ArrivalProcess.

  Fixed an issue where and IllegalStateException would occur when added a
  simkit.random.RandomVariate to the parameter list

  Fixed an issue with not being able to use normal java package naming
  conventions when crafting EG package names

  Fixed an issue with cut & paste where the selected cache was not being cleared
  after a confirmed delete by the user.

  Fixed a bug where canceling the edit on any of the Assembly edge dialogs
  caused that edge to delete.

  Fixed an issue where a good intention to have nodes snap to grid on either
  editor pallette caused the node cluster to keep positioning down and to the
  right upon every file save.

If an EG XML file save goes bad, or its corresponding source code
compilation reveals an error, the tab that represents the EG will change from
a green color (signifying good XML, good source compilation) to red which
signifies either an XML save, or its source compilation went bad.  The user will
be unable to advance to the Assembly Editor tab until the problem is corrected.
If an EG compilation went bad, any previously compiled byte code *.class files
of the same name will be deleted preventing inclusion on the classpath.  A bad
compile will also cause removal of the EG MD5 hash entry from the project's
viskitProject.xml file.  If upon start up, a previously opened XML file passes
validation, but fails compilation, the user will again be unable to advance to
the Assy Editor tab.

  Fixed an issue where if a EG did not compile correctly, the whole EG LEGO tree
  for would dissappear

  Bugfix 1425

  More gracefully handle and inform the user of a missing third party library

  Fixed issue where if we had already compiled an Assembly, then the ClassLoader
  has changed, and we need to go back and fix something in the Assembly.  Switch
  back to the Viskit ClassLoader and disable the Assembly Run tab until the
  Assy is recompiled.

  Fixed timing issue when an Assembly file is given as an argument at startup
  which firsts loads associated Event Graphs, but the Assembly was being
  compiled before the Event Graphs finished loading causing ClassLoader issues
  due to the Assembly being compiled in a separate ClassLoader.

  Shortened the path names for the LEGOs tree to be more readable.  If the user
  does not select the Analyst Report tab to be visible, then the Enable Analyst
  Report checkbox on the Assembly Runner panel will not be enabled.

  Better Mac OS X installer support by upgrading the javaApplicationStub to work
  better with Oracle's JDK 8+.  Better Windows installer support by actually
  getting it to work with the executable jar's Class-Path header.  Still need to
  fully test on Unix though.

  Implemented better message pop-up reporting during EG and Assy loading for the
  user to better determine what errors have occurred

  Bugfix 1377

  Allow deselection of both the Design of Experiments (DOE) and Cluster Run
  panels via the Files -> Settings dialog -> Tabs Visible

  Ensure that when switching Event Graph tabs, or to the Assembly Editor, any
  unsaved EGs will be saved, revalidated and re-compiled

  Remember user set sizes for the main app frame so that it will restart at
  those dimensions

  Fix a long standing bug where modifications to EGs did not get re-validate
  XML, generate java source, or re-compile.  Fix bug where a duplicate icon
  could reappear in the EG node pallette

  Fix UI issue where a node name could be changed for either an EG or Assy and
  would not reflect until a mouse was re-clicked on the editor canvas

  Refactor source code packaging to more closely resemble MVC organization

Release: 0.7.0(November 14, 2014)
-------------------------
Major changes since 0.6.2:

  Platform specific startup items are discerned at app startup, i.e. MAX OS X
  "About Viskit"

  Fix a long standing bug where local variables declared in an EG doRun method
  where not being utilized as indicies for arrays in state transition changes

  Enable a single click selection of a Viskit project icon w/o having to select
  "OK"

  Upgrade to JAXB v2.2.11

  Fix issue where a single opened EG did not close when selecting another Viskit
  project

  If a user selects JVM exit and an EG, or Assy were modified, allow a cancel
  closing Viskit when the save dialog appears

  Always show what Viskit project is open in the app title bar

  Implemented a nuke.dot.viskit Ant target.  This is an attempt to draconically
  fix an issue where Viskit startup in an unknown state via its .viskit kept
  config files and can't recover to usability

  Fix bug to allow generically type arrays to be properly translated to java
  source

  Fix a NPE in the AssemblyControllerImpl

  Had to break the "dirty Assembly" issue in the DOE's LocalBootLoader so as to
  load generated and modified EGs and Assys from build/classes of each loaded
  Viskit project.  The documentation for viskit.doe.LocalBootLoader explains the
  requirement for multi-threaded Grid Design Point Experiments to run with fresh
  ClassLoader contexts.  At this time, Grid (cluster) runs are disabled until
  such time as we can re-implement using the Viskit Project paradigm

  Annotated a note in the InternalAssemblyRunner where the RandomVariate seed
  was is being reset via reflection.  This is critical in creating standalone
  projects where they are run independently outside of the Viskit environment

  Upgrade to JGrpah 5.14.0.  Improved threading on the drawing canvas, but need
  to refine how the control points could make better scheduling edge arcs.

  Upgrade JAXB to 2.2+

  Fix EG node cancel cursor bug issue

  Upgrade to Simkit v1.4.2

  Fix issue with generating a lot of temp files and jars and not cleaning up
  after the main app shuts down

  Implemented a completely enclosed runtime compilation scheme using the JDK's
  runtime compiler for EG and Assy generated source code, thus removing the
  requirement to ship the current JDK's tools.jar with the installers.  A JDK is
  still required to run Viskit though.

  Improve the whole Viskit app build process; must faster compile time

  Ensure that a Viskit project /lib populated with jars is read upon startup in
  order to resolve external classpaths selected in the Setting Dialog

  Ensure the lib/ext can be ignored for pure Viskit operation, i.e. no
  requirement for Diskit, or other advanced DES libs

  Upgrade to JDom v2.0.5

  Upgrade to Xerces v2.11.0

  Upgrade Apache Commons libs to v3.2.1

  Fix NPE on model property editor

  Improve iZpack installer creation

Release: 0.6.1(May 10, 2011)
---------------------------------
Major changes since 0.6.0:

  Implemented a dedicated Viskit Project space "MyViskitProjects" in order to
  properly designate a project space for specific user projects

  Fix NPE when canceling out of creating a project

  Fix bug where the Viskit Project file chooser was causing unnecessary
  recursive calls

  Implemented a draconian runtime fix to nuke the ${user.home}/.viskit directory
  incase of a startup failure that has historically rendered Viskit unusable
  until .viskit was manually deleted anyway.  The goal will be to never have to
  do this if configuration metadata was stable enough to continue usability.

  Improved iZPack installer support for creating 64 bit installers.  Shoe-horned
  is a USA flag to denote "English" as an install language vice the UK flag.


Release: 0.6.0(October 8, 2010)
---------------------------------
Major changes since 0.5.4:

  Upgrade to Simkit v1.3.8

  Provide for launching Viskit either standalone, or as a process within another
  runtime application observing proper EDT protocol

  Disable TRANG building of the EG and Assy Schema's from DTD.  These Schemas
  are now solid on their own.

  Fix bug where .svn folders would display on the LegosTree for SimEntities and
  PropertyChangeListeners

  Bugfix 1248

  Improved parsing for BasicSimEntity subclasses in order to populate the
  LegosTree

  Display current Viskit Project name in the main app title bar

  Improved EG caching scheme so that we don't recompile unnecessarily
  Improved recently opened files and projects history caching

  Fix NPE bug when opening an existing Project from a newly installed Viskit

  Bugfix 706

  Upgrade to JAXB v2.1.8

  Improved output stream flushing when writing out to text at runtime

  Fix bug where EG description fields were not rendering for a newly added EG
  tab

  Improved JDK shutdown if Viskit is a third-party lib within another app

  Bugfix 1364

  Viskit was becoming too tightly integrated with a specific project (Savage
  Studio).  Broke up such dependencies and refactored to be a standalone app
  that can be integrated into other applications.

  Fix issue where Assembly Adapter and PropertyChangeListener edges behave
  properly if the user cancels an edit function

  The Assembly description field in not yet implemented and noted in source

  Assembly properties (metadata) are now immediately reflected in the Assembly
  Runner

  The proper mode for a PropertyChangeListener is singular.  However, for back-
  wards compatibility for older EG, allow plural as well

  Fixed bug where improper GraphMetaData was being supplied to a new Assembly

  Fix issue where EG and Assy Editor toolbars were not being made visible when
  creating new EGs and Assys

  Better resizing accomplished for the Assembly Editor to allow more weight to
  the JGraph side of the splitpane

  Implemented full XML validation for EGs and Assy XML files

  Minor EG and Assy Schema modification to allow for SMAL metadata to be used
  as CDATA entries

  Implemented multi-file opening choice for EGs and Assys

  Bugfixes 1396, 1398 & 1412

  Fix issue to allow building of the ParameterMap and Constructor where no
  concrete doRun or doReset methods were defined

  Implemented package creation when naming newly created EG and Assy files

  Implemented configuration awareness of current Viskit project

  Added a "Verbose" checkbox on each Assembly Node editor which operates as a
  "detailed output."

  Clamp simulation output to 8M and truncate from the front if required

  Implemented dumping of Event List only if not in verbose, or reallyVerbose modes

  Internal class checking to populate EG editors unable to discern unqualified
  class names except java.lang.*

  Viskit Project can now be stored and opened from any location on the local
  machine

  Bugfixes 1400 & 1407


Release: 0.5.4(August 12, 2008)
----------------------------------------
Major changes since 0.5.3:

  Implement a clear recent files option to the File menus

  Implement a "detailed output" checkbox option for EG node inspector dialog

  Implement an incrementing trailing digit in node names when dragging new node
  onto the Assembly editor canvas.  Add check for existing node name prompting
  use of the incrementing trailing digit.


Release: 0.5.3(August 5, 2008)
---------------------------------
Major changes since 0.5.2:

  Implemented specific platform L&F options upon app startup

  Fix issue in SimkitXML2Java translator when an interrupt would cause an unclosed
  if block statement causing startup compile errors

  Fix for issue where varargs can throw a mostly harmless compiler warning if
  there is only one arg supplied to the SimkitXML2Java translator

  Fix issue where the EG inspector dialog "Apply" button had no effect

  Bugfix 1399


Release: 0.5.2(June 11, 2008)
-------------------------------
Major changes since 0.4.8:

  Bugfixes 1402 & 1405

  Implemented creating new projects from either the EG or Assy editor panel menus

  Bugfix 1373

  Announce any compile errors to output screens


Release: 0.4.8(June 3, 2008)
-------------------------------
Major changes since 0.4.7:

  Implemented Log4J for debugging, output info status

  Switch from Sun's Base64 encoder to Apache version

  Fix NPE when user didn't check "Enabled Analyst Report" and attempted to view
  anyway

  Fix bug where a SimplePropertyDumper could not co-exist with a
  SimpleStatsTimeVarying PCL defined on the same Assembly

  Stricter BeanShell interpreter checking for EG and Assy authoring, esp. for
  typed containers <SomeType>

  Enable regression line fitting to scatter plot graphs generated for the
  Analyst Report

  Implemented enabling of the Assembly Run panel only after a successful Assy
  compilation and validation.

  Implemented firing property changes using state variable "getters".  Container
  getters return a clone for the FPC in the doRun event.

  Modify the Assembly DTD to offer a raw count or mean of raw count statistic
  for all PCL dialogs

  Implemented a "Number x of n Replications" output on the Assembly Runner

  Update JFreeChart to v1.2.0.  Improve chart output by counting raw counts vice
  the mean of raw counts for histogram charts

  Fix issue where Assys were being compiled while the EG tree was still being
  parsed for compilation causing conflicts

  Upgrade Simkit to v1.3.4

  Bugfix 1183

  Improvements to Analyst Report building, editing, reopening and rendering in
  HTML

  Implemented Ant targets to translate EGs and Assy XML files to Java source

  Further decoupling of Diskit being too tightly integrated w/ Viskit for
  convenience of another application

  Refinements to external javac exec process for EGs and Assys

  Implemented generics utilzing JAXB v2.1.  This is a whole Viskit upgrade
  prompting tagging a pre-generics JAXB branch.

  Authored a script to delete temp files and history, a hack to clean up cruft
  left behind from Viskit multiple operation of quarantining separate
  classpaths, keeping scratch EG and Assy files, and multiple compilations of
  source code.

  Implemented notification of when an Analyst Report is ready to view at the end
  of a local Assembly Run of 1 or more replications

  Bugfixes 936, 1195, 1246, 1249 & 1260

  Implemented figure caption auto increment in the Analyst Report.  Xalan required
  as 3rd party lib for this functionality

  Implemented a cleaner exit strategy vice a blunt System.exit(0) scheme

  Implemented image capturing of all opened EG and Assy files for PNG insertion
  in the Analyst Report

  Improved Analyst Report generation by consolidating all material required for
  report in a project specific location.  Fix various bug discovered in AR
  generation improvements.

  ******************************************************************************
  End of this report on Viskit history 26 SEP 2007.  Please see
  doc/viskitSVNLogs.txt for previous developer commit log entries dating back to
  18 NOV 2002 when Viskit migrated from CVS to SVN.
  ******************************************************************************