Project: StateCharts cOmPilEr (SCOPE)
Release: scope-0-10
     
     Copyright (C) 2001-2002 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-10.txt,v 1.8 2002/11/15 23:19:50 wasowski Exp




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

RELEASE NOTES

This release features a great performance improvement (even up to 10 times
speed up of generated code in comparison with version 0-09. It also contains
numerous bugfixes.

MAIN BUG FIXES AND NEW FEATURES

	0. Added interface (and logics) for genereting drivers and stubs in
	   visualstate compatibility mode. This is only useful for testing
	   VS models when you have no action functions available. You can also
	   use it for generation the skeleton of action file, which you will
	   then fill in. There are drivers for spead measurement and size
	   measurement in visualstate models.
	
	1. Smoke test driver added for native SCOPE mode also
	
	2. Great performance improvement in runtime interpreter (and generated
	   runtime representation). New scope-generated code is 10 times
	   faster than the old one. Depeding on the model it can be from 30% faster
	   to 100% slower than one produced with visualSTATE. The size is
	   comparable with visualSTATE for small models. For big higly
	   hierarchical models improvemnts reach from 20-50% smaller than
	   visualSTATE produced code. 
	   
	   This result has been achived by introducing a labelling scheme for
	   states in hierarchy which allows for fast ancestorship checks. Also
	   in modules not having exit actions we make use of that now, having
	   a faster algorithm for exit.

	3. Added handling of model constants (previously silently omitted).
	   This was an unintended omission.

	4. Added handling of deep history (Note: SCOPE was untruly reported to
	   handle them in version 0.09. In fact it is only this release which 
	   made deep history available. This was an unintended omission).

	5. Small corrections in code generation so lcc can now compile the
	   code we generate. Still it produces lots of warnings.

	6. Numerous bugfixes, mostly significant ;) & :(

LIST OF KNOWN PROBLEMS

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

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

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

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

	7. Signals (aka internal events) may not have parameters.

	8. No debug (tesT) drivers for VS compatibility mode

	9. 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).

	10. The code is not fully ANSI C (or even ISO C) at the moment. It
	compiles but with some nasty warnings. Mainly because of stub
	functions, which do not really belong to main functionality.

