-------------------------
| Release note May 2003 |
-------------------------
STOOD 4.3.8 (Windows) 20.05.2003
STOOD 4.3.9 (Unix) 20.05.2003
-----------------------------------

==========================================================
Changes since previous distribution:
( v 4.3.2 (Windows) and v 4.3.3 (Unix), 19 February 2003 )
==========================================================


1. Changes
----------

03.025  (06 Mar 03)     
The C code generation rules produced a .c file for a terminal module,
even if it didn't provide any operation and didn't contain any
internal entity.        
=> Fixed in config/code_extractors/c [C091]    

03.026  (13 Mar 03)
It was not possible to convert a generic into a design. The only way to
change the type of a design, was to patch the Stood.sto file manually. An
hidden function in the debug menu is now provided for that.
=> Fixed in the kernel

03.027  (13 Mar 03)
Bad management of the dot notation for implemented_by operations. When
dot notations were used in operation signatures for parameter types, the
creation of an implemented_by link removed these dot notations. The
consequence was that the generated code couldn't compile any more.
=> Fixed in the kernel

03.028  (14 Mar 03)
Missing procedures for sets. For the DataBase description file, there
was procedures to specify the contents for all the kinds of sets (op:
81, ty: 82, co: 83, ex: 84 and da: 85), but procedures to specify the
set name (52), the set definition (37) and the set implemented_by (66)
were only available for operations. The procs 81, 52, 37 and 66 can now be
used for all kind of sets.
=> Fixed in the kernel

03.029  (14 Mar 03)
Change of target_language was not saved. If the default target language was
changed in the option dialog box, and the design was saved before any
other change in the design, then the change tag was not set and the
default language modification was lost.
=> Fixed in the kernel

03.031  (18 Mar 03)
It was not possible to save the changes made to the printing order of the
modules. It was possible to modify the order of the modules before
generating the design documentation. However these changes were not
saved.
=> Fixed in the kernel

03.032  (18 Mar 03)
It was not possible to reload an initialization file. It could be
sometimes necessary to reload the initialization file. This feature is
now available from the "debug" menu.
=> Fixed in the kernel

03.033  (20 Feb 03)
No warning when closing a design with a pending text edition. The last
pending text edition was lost when closing the design. A warning is now raised.
=> Fixed in the kernel

03.035 (27 Feb 03)
There's now a new category in the "database" checker. It produces a file 
describing the hierarchy of the modules.
=> Fixed in config/checkers/database

03.036 (24 Mar 03)
The [R] flag was always attached to the symbols even when it couldn't be
deduced from the source code analysis. It was possible to change that manually 
but the change was overloaded at next change in the code. Now, the flag [?] is 
used when the read/write status is unknown.
=> Fixed in the kernel

03.037 (24 Mar 03)
There was a context clause missing when generating an Op_Control as a separate 
subunit.
=> Fixed in config/code_extractors/ada [ADA177]

03.038  (01 Apr 03)
Crash when saving code extraction window while a checker was open. An
exception "message not understood 10533" was raised when the "save" menu
of a code extractor window was activated while a checker window was open.
=> Fixed in the kernel
                                
03.040  (02 Apr 03)
Need a filtering function to only show terminal entities in x-ref table.
New menu items have been added to the x-ref editor to apply a filter, in
order to hide the implemented_by links "Compact Implemented_by Links",
and to reset all the current filters "Reset all filters". For
documentation, two new Database procedures 96 and 97 have been created
to provide the same output as the respective existing proc 91 (uses) and
93 (is used by), but without the implemented_by information.
=> Fixed in the kernel

03.041  (07 Apr 03)
Ada reverse engineering: couldn't recognize exceptions in the root package
=> Fixed in config/reverse/ada [REV036]

03.042  (08 Apr 03)
Ada code generation: problem occured with pragma "nesting"
=> Fixed in config/code_extractors/ada [ADA178-ADA179]

03.043	(03 Apr 03)
It was possible to create two transitions with the same label in a 
State-Transition Diagram.
=> Fixed in the kernel

03.045  (08 Apr 03)     
Need a solution to avoid code generation for some modules. This could be
used for instance for modules which code has already been generated by
another tool, like SCADE (or Sildex ?). The pragma "except" can now be used for that.
The name of the pragma can be customized with the property "NoCleanUpFor" in the 
initialization file.
=> Fixed in the kernel, and in the code generators. 

03.046  (08 Apr 03) 
Change notification should be performed at import time, not at export
time. This is due to the fact that when a module is exported, its status changes.
A new property "MarkExportedModules" have been added to the initialization 
file to avoid changes at export time, if needed.
=> Fixed in the kernel.

03.048  (09 Apr 03)
Need to recognize "var->field" syntax while scanning pseudo code
=> Fixed in scan_pseudo

03.050  (11 Apr 03)
Need to change a Constant into a Data and reverse. A menu "convert to
constant/data" has been added in the graphic editor. Files will
follow the change if their logical names match (i.e. CstTxt <-> DataTxt)
=> Fixed in the kernel

03.053	(22 Apr 03)
There was a syntax error when importing a CASEML file.
=> Fixed in the kernel

03.056  (23 Apr 03)
Missing predicates "isRead" & "isWritten" for parameters in pseudo code. This
is useful to check the consistency of the pseudo code with the
passing mode of the parameters in the operation declaration.
=> Fixed in the kernel

03.057	(06 May 03)
The sbprolog engine was linked with the libc v5 on Linux. It is now linked with 
libc v6.
=> Fixed in bin.pclinux/sbprolog

03.058	(30 Apr 03)
The subprogram parameter list wasn't properly generated in AADL
=> Fixed in the AADL code generator [AADL002]

03.059	(13 May 03)
Use of special characters in identifier names generated errors when importing a 
SIF file generated by OpenTool/UML. This is due to the restricted syntax of the 
SIF format.
=> Fixed in the OpenTool configuration file "hood.br"

03.060	(15 May 03)
When an Instance_Of module was created, the corresponding files were copied into 
from the corresponding Generic directory to the destination Design directory with 
the same user rights as in the Generic. If the Generic is write protected, then 
the Instance_Of became also write protected. This can be customized by editing 
the "copydir.sh" shell script.
=> Fixed in config/internalTools/copydir.sh

03.063	(16 May 03)
When generating Ada source files, if the operation definition is empty in the design 
database, then a "begin; null;" contents was automatically inserted by the Ada code 
generator, in order not to prevent compilation. However, this code wasn't appropriate 
for functions.
=> Fixed in config/code_extractors/ada [ADA181]

03.064	(16 May 03)
It wasn't possible to  declare an instance of an Ada generic subprogram in a non terminal 
module. This was due to a lack of the parameter list. Now, the full parameter list may 
be specified at any level, but a pragma "instance_op" must be used at code generation 
phase. For SIF compatibility, the pragma "generic" has also be renamed into "generic_op" 
and must be used to generate the code for the generic declaration of a subprogram.
=> Fixed in config/code_extractors/ada [ADA180]

03.065	(19 May 03)
When an Environment is declared within the local System_Configuration of a Design, the 
corresponding pragmas were not copied. A new shell script "copyenv.sh" may now be used 
to customize what needs to be copied when updating the Environment declarations. The current 
default behaviour is that the pragma file is copied if it doesn't already exist.
=> Fixed in config/internalTools/copyenv.sh

03.066	(20 May 03)
The Ada source filenames generated by Stood were not always fully compliant with the GNAT 
file naming rules. To avoid these problems, a file gnat.adc is now produced to map Ada units 
and source filenames.
=> Fixed in config/code_extractors/ada [ADA182]

03.067	(20 May 03)
Some Ada context clauses were missing when the body of operations were included inside 
the body of the relevant package.
=> Fixed in config/code_extractors/ada [ADA183]

03.068	(21 May 03)
The Ada code generated for instances of generic packages was not always correct. A new pragma 
"with" has been introduced to specify the name of the generic unit that must be withed from 
the instanciated package. This pragma must be defined in the generic, and will be copied into 
all the instances.
=> Fixed in config/code_extractors/ada [ADA184]

03.069	(23 May 03)
In some cases, the SIF file produced by the Ada reverse engineering engine was syntactically 
incorrect. A END statemend was missing for the root module.
=> Fixed in config/reverse/ada [REV037]

03.070	(26 May 03)
Various improvements have been made in the Ada and C reverse engineering rules:
- no more root_body hierarchy when the root module is unique (Ada and C) [REV038][REVC005]
- removing module name prefix that could have been introduced by the C code generator [REVC006]
- removing all the void parameters (C) [REVC007]


2. Changed files
----------------

2.1. Binary files

bin.w32/stood.ini 
bin.w32/stood.exe 
bin.w32/stood.eng 
bin.w32/scan_pseudo.exe 

bin.sol2/stood 
bin.sol2/stood.eng 
bin.sol2/scan_pseudo
bin.sol2/.stoodrc 

bin.aix4/stood 
bin.aix4/stood.eng 
bin.aix4/scan_pseudo 
bin.aix4/.stoodrc 

bin.hpux9/stood 
bin.hpux9/stood.eng 
bin.hpux9/scan_pseudo 
bin.hpux9/.stoodrc 

bin.pclinux/stood 
bin.pclinux/stood.eng 
bin.pclinux/scan_pseudo 
bin.pclinux/.stoodrc 
bin.pclinux/sbprolog 

2.2. Configuration files

config/code_extractors/ada/Extract.pro 
config/code_extractors/ada/Extract.sbp 
config/code_extractors/ada/Input.sbp 
config/code_extractors/ada/pragma 

config/code_extractors/c/Extract.pro 
config/code_extractors/c/Extract.sbp 
config/code_extractors/c/Input.sbp 
config/code_extractors/c/pragma 

config/code_extractors/aadl/Extract.pro 
config/code_extractors/aadl/Extract.sbp 
config/code_extractors/aadl/Input.sbp 

config/reverse/ada/Extract.pro 
config/reverse/ada/Extract.sbp 
config/reverse/ada/Input.sbp 

config/reverse/c/Extract.pro 
config/reverse/c/Extract.sbp 
config/reverse/c/Input.sbp 

config/internalTools/copydir.sh
config/internalTools/copyenv.sh

2.3. Others

examples, libs and tutorial directories have been updated