------------------------- | 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