----------------- | Release notes | ----------------------------------------- | STOOD 5.0 - May 2005 | | (v.5.0.25 for Windows 19.Oct.2004) | | (v.5.0.26 for Unix 19.Oct.2004) | | copyright Ellidiss 2004 | | support: | | - stood@ellidiss.com | | - UK: +44 (0) 1260 291 449 | | - FR: +33 (0) 298 451 870 | ----------------------------------------- Main changes since last version (Stood 4.3 - May 2003) 1. New GUI ---------- Except as regards what is described in sections 2 and 3 below, the functional scope of Stood 5.0 is similar to Stood 4.3. However, the Graphical User Interface has been completely reshaped. The main consequences of this new organization are: - all the separate windows and editors are now handled by a single main window. - the main menu bar now group most of the possible user actions. - the existing STShell commands need to be updated. - a few light updates may be required for user-customized Stood configurations - complete upwards compatibility of Stood designs 2. New UML 2.0 Class and Component Diagrams ------------------------------------------- In addition to the existing HOOD diagram editor, it is now possible to also represent a Stood design with the corresponding UML 2.0 diagrams. The same editor supports either UML Class diagrams or Component Structure diagrams depending on the context (most of the time, HOOD modules can be mapped to UML 2.0 components and HOOD4 classes are obviously mapped to UML classes). UML diagrams can even be produced for HOOD design and it is possible to edit a design in HOOD on the screen and print a documentation with the corresponding UML diagrams. 3. Fixed known issues --------------------- 03.003 Extended call trees Call trees and access graphs have been enhanced to better show dataflows. A new property "CompleteCrossReference" enables this option. => fixed in the kernel and the initialization files (stood.ini, .stoodrc) 03.009 Documentation generation in "read-only" mode It was possible to generate documentation files within the design storage area, even when it was tagged read-only. Now, when the design is read-only, the documentation files are generated in the working directory ($WORKDIR) instead of the design directory. => fixed in the kernel 03.044 Crash when moving graphical entities in a sketch Several issues have been fixed in the sketch editor. => fixed in the kernel 03.052 Ada reverse engineering: non alphanumeric name for a design There was a problem to reverse Ada hierarchical libraries. Their file name contains minus signs that are not accepted by Stood as a correct SIF file name. A new property "ReplaceDashBy" enables the recognition of a root which name differs from the actual SIF filename. => fixed in the kernel and the initialization file (stood.ini, .stoodrc) 03.055 Need to generate wmf graphics with rtf format under Unix Unix version used to produce EPSF graphics for RTF output. Now, Unix version produces WMF (Windows MetaFile) graphics like Windows version. => fixed in kernel 03.071 Uncorrect Ada code generation for enumeration types Automatic renaming of the enumerated elements for non terminal types was no more produced due to a minor change in the specialrequires predicate. Now, module name for the enumeration element is no more NIL. => fixed in kernel and Ada code generator (ADA185) 03.072 Missing operation code extension in generated Ada files Due to a change in the Ada code generator (ADA180), the operation extension was no more inserted when not associated with a specific pragma (generic_op, instance_op or extension). Now, the operation extension is added to the operation declaration as is even if there is no specific pragma (like before). => fixed in the Ada code generator (ADA186) 03.073 Simplified Required Interface Project specific request to produce a documentation output with a simplified Required Interface section of the ODS. Only required operations are listed. A new DataBase procedure has been created (46) to replace the standard one (36). => fixed in the kernel (and in private Windows distrib 4.3.10 dated 8 Jul 2003) 03.076 Message Not Understood If a pragma configuration has been changed in a code extractor, but not saved, while a text editor is open, then Stood crashes when changing the current design. => fixed in the kernel 03.079 C reverse engineering didn't import enum or struct elements => fixed in the crev parser and C reverse engineering rules 03.081 Problem while importing enumeration types from a SIF file Some enumeration elements were lost during the SIF import process. => fixed in the kernel 03.082 Problems with the pseudo code lexical analyser - bad recognition of expressions like: var[index].field or var[index]->field - Missed assignment in expressions like: var[index] := value pattern rules for dot() and assign() have been changed => fixed in pseudo-code lexical analyser 03.083 Bad management of overloaded functions while importing a SIF file When two overloaded operations only differ by their return type, the SIF import feature used to create only the last found operation. => fixed in the kernel 03.084 Issues with Ada reverse engineering Various issues have been solved => fixed in the Ada reverse engine (REV039..REV060) 03.085 Layout problems with the documentation output in RTF and PDF These generators used to include empty sections (NONE) into the documentation. These sections are no more included. => fixed in the kernel 03.086 Bad recognition of the [W] flag while analysing pseudo code When a formal parameter of an operation is declared with the out mode, the corresponding [W] flag was not always set for the actual parameters. It used to depend on the location of the parameter in the list during the call. => fixed in the kernel 03.089 Message Not Understood when loading environment objects Stood used to crash while loading the interfaces of environments objects in some cases. The work-around consisted in v 4.3 in loading the design while keeping the Ctrl key pressed to avoid the update of the interfaces => fixed in the kernel 03.093 Change of superclass not persistent When the only change of a HOOD4 class was the list of its superclasses, then the change notification didn't work, and the modification was lost while saving the design. => fixed in the kernel 03.094 Regression during a "copy as exported" Due to change 03.046, a side effect badly impacted the export feature. The "exported" mark was no more applied recursively to the children of the exported module. Work-around in v4.3 consisted in putting/removing the "exported" mark manually with "Shift+Copy" and "Shift+Replace". => fixed in the kernel 03.095 Fixed size font not managed in RTF documents CODE sections were not properly managed by the RTF document generator. The "par" macro used to be always used. => fixed in the kernel 03.096 Type generation in Ada Improvement of the modification ADA185 for renaming enumeration elements and reordering types in a package specification. => fixed in the Ada code generator (ADA187) 04.001 Loss of some manual changes after "update symbol tables" => fixed in the kernel 04.002 Special characters removed from input of lexical analysers In order to be able to process these characters if required (CAVEAT), an additional parameter now gives a direct access to the original source file. => fixed in the kernel and lexical analysers if needed 04.004 No keyboard shortcuts ctrl-C and ctrl-V on Linux => fixed in the kernel 04.005 Dupplicated information in the DataBase checker output Files predicates related to the main target language were listed twice. => fixed in the kernel 04.007 Various problems in the C code generator => fixed in the C code generator (C100..C109) 04.008 Symbols starting wirth an underscore character Such symbols were not recognized by the cross-references editor. A new property "EnableFirstUnderscore" has been added to enable this recognition as an option. Note that the lexical analysers must follow the same rule. => fixed in the kernel, the initialization files and lexical analysers if needed 04.009 Code round trip on read-only designs It was possible to update a design from the modified generated code even when the design was in "read-only". => fixed in the kernel 04.010 Pseudo code symbols don't carry their prefix (component name) This is the normal behaviour for C users. To enable an Ada like behaviour, a new property "KeepPseudoPrefix" has been added. => fixed in the kernel and the initialization files 04.011 Checkout and checkin on non terminal components, It could be useful to get the list of subcomponents to be processed, instead of running recursive calls as it was done previously. New properties "CheckOutWithArgFile" and "CheckInWithArgFile" enables this alternate behaviour. In that case, an additional parameter giving the pathname of a file containing the list of children is passed to the scripts. => fixed in the kernel, the initialization files and internal tools 04.012 Empty lists are not well processed by docbook output The EmptyList config file should be used like the MissingFile one => fixed in the kernel 04.014 Need to enable a checkout action even when the design or component is locked => fixed in the kernel 04.015 Need to enable code generation when a design is partially locked => fixed in the kernel 04.024 Various issues with the C code generator => fixed in the C code generator 4. Changes in Ada code generator -------------------------------- ADA186 (02.07.03) fix pb missing operation code extension (cf.RASTO/03.072) ADA187 (30.10.03) improvement of ADA185 and fixing pb ordering prov types (cf.RASTO/03.096) ADA188 (04.10.04) avoiding package body when only abstract or inherited operations ADA189 (07.01.05) add some missing preconditions in automatas 5. Changes in Ada reverse engine -------------------------------- REV039 (18.02.04) adding INTEGRITY as an HRT keyword REV040 (20.07.04) replace dashes in root names REV041 (01.09.04) managing abstract classes (cf.RASTO_03_084) REV042 (01.09.04) avoid overloading due to case mismatch in parameters REV043 (08.09.04) managing adarev bug for abstract new types REV044 (29.10.04) managing NONE OPCS REV045 (29.11.04) fixing SIF syntax error when several abstract tagged in same package REV046 (23.12.04) fixing a bug when filename or string was less than 4 chars long REV047 (23.12.04) task and protected objects REV048 (25.01.05) better management of Ada child units REV049 (28.01.05) fixing bugs in subprogram units REV050 (14.02.05) fixing bugs in subprogram management (also a change in adarev) REV051 (17.02.05) adding package initialization blocks (also a change in adarev) REV052 (17.02.05) managing encapsulated packages as children REV053 (17.02.05) managing large declarations for constants REV054 (17.02.05) managing instance of subprograms REV055 (17.02.05) adding pragma no_end_op REV056 (22.02.05) fixing remaining bugs with 050, 051, 054 REV057 (23.02.05) fixing case sensitivity pb with 048 REV058 (28.02.05) distinguishing prov and int instanciated ops (also change in adarev) REV059 (28.02.05) adding a discriminant parameter in genericAssociation (also change in adarev) REV060 (28.02.05) fixing bad location for _body package 6. Changes in C code generator ------------------------------ C100 (19.03.04) ref. RASTO/04.007 : removing default values for function parameters C101 (19.03.04) ref. RASTO/04.007 : only the first enum element could have a value C102 (19.03.04) ref. RASTO/04.007 : avoiding reverse tags for the main arg list C103 (19.03.04) ref. RASTO/04.007 : removing extern keyword when constant def is empty C104 (19.03.04) ref. RASTO/04.007 : fixing a bug to accept pragma pointer for in out params C105 (19.03.04) ref. RASTO/04.007 : adding static keyword to generated OPCS functions C106 (19.03.04) ref. RASTO/04.007 : adding reversor management to protocol automata C107 (25.03.04) ref. RASTO/04.007 : avoiding .h generation for body only option C108 (29.03.04) ref. RASTO/04.007 : formatting reverse tags for constrained op declaration C109 (30.03.04) ref. RASTO/04.007 : fixing a bug with joint pragmas not_ANSI and storage C110 (17.09.04) fixing pb with pragma no_define C111 (24.09.04) fixing pb with pragma lice (missing op_code for OBCS) C112 (04.10.04) always generate a default type when TypeDef is empty C113 (04.10.04) add #include for attributes when TypeDef is empty C114 (24.11.04) ref. RASTO/04.024 : put static outside reverse tags for internal operations C115 (24.11.04) ref. RASTO/04.024 : remove additional blanks in comments when not microsat C116 (24.11.04) ref. RASTO/04.024 : all in params are now const (only in pointers for microsat) C117 (01.02.05) ref. RASTO/04.024 : avoid additional blank lines when reversing comments twice 7. Changes in C reverse engine ------------------------------ REVC008 (18.02.04) adding INTEGRITY as an HRT keyword REVC009 (19.05.04) type enum, attribute and prefix REVC010 (20.07.04) fixing SIF syntax error with array attributes types REVC011 (20.07.04) getting more comments for OPCS 8. Changes in C++ code generator -------------------------------- CPP025 (26.04.05) default class generation CPP026 (26.04.05) remove non terms from makefile target CPP027 (26.04.05) fixing a bug in attributes dependencies CPP028 (26.04.05) changes in makefile + pragma ldflags