Project: StateCharts cOmPilEr (SCOPE)
Release: scope-0-15_final
     
     Copyright (C) 2001-2004 Andrzej Wasowski
     
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
     
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
     
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

release-0-15.txt,v 1.1 2004/05/05 21:21:47 wasowski Exp

See MANUAL for installation, usage instructions and credits.
See LICENSE for usage license.

RELEASE NOTES

This is a snapshot release. It includes numerous new features as I was not releasing
for a long time. Still it is not a decent release. It is just a snapshot of current
development branch, before I will start on major hacking on the optimizer.


MAIN BUG FIXES AND NEW FEATURES

* new flattening code generator added. Produces smaller and faster code
  (see my LCTES 2004 paper)

* new visualization backends (ADot for hierarchy and Dot for diagrams)

* recompilation manager changed from make to mosmake+make. No
  more possibility of cross compilation (hopefully temporarily)

* New implementation for current configurations.

* back-end with ACFGs started (and abandonned, but some code is there)

* Serious bug in design of internal model representation was corrected.
  The bug could possible (and likely) cause generation of arbitrarily
  incorrect code, by wrong use of persistance in SML. Luckily the bug
  did not affect any published results.

* buddy/muddy is now included in source

* hsm front-end (own proprietary format for student projects)

* some initial hacking on optimizer/specializer (most to be dump away
  I am afraid)

* generated code now compiles in --ansi -pedantic mode of GCC

	
LIST OF KNOWN PROBLEMS

* Only 4.x input file format is supported (ver 5.x is under way)

* A quiet assumption that state names are different than event names.

* I use some extentions of Moscow ML (module language) which makes the
  thing harder to port (but isn't that in the code that is not used anyway?)

* Only models containing a single system are supported (no multi-system
  models at the moment).
        
* Internal rules are ignored (not even a warning is issued) 

* Similarly Do reactions are ignored (Termination transition causes a
  parse error).
        
* Types with absolute values longer than 31 bits are not handled
  (VS_UINT32, VS_INT64, VS_UINT64).

* Variable ranges are not checked at runtime (even in debug version
  code).

* Transition conflicts are not resolved (the model is assumed to be
  conflict-less which you can verify with original visualSTATE
  verifier).

* Signals (aka internal events) may not have parameters (but they cannot
  either in the actual IAR visualSTATE).

* No debug (test) drivers for VS compatibility mode

* VS compatibility mode drivers do not integrate smoothly (you still
  need to do a lot of handwork to compile VS model, though less than
  before).

* No parse error messages (at least for the moment).  

	
* In hierarchical code generation (-cC1) Model reinitialization does
  not properly work for history states, i.e. history states are
  reinitialized to recent value of history instead of to the initially
  indicated state. Actually I am not sure what UML semantics expects,
  but probably it does not consider reinitialization, which means it
  expects full reinitialization. Only models with history which need
  to be reinitialized at runtime (not restarted, which is a different
  thing) suffer from this bug.
