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.