----------------- | Release notes | ----------------------------------- STOOD 4.1.392 (Windows) 13.10.2000 STOOD 4.1.391 (Unix) 13.10.2000 ----------------------------------- This note lists changes since previous CD-Rom delivery: v 4.1.281 (Windows) and v 4.1.282 (Unix), March 2000 (*) these changes were already present in intermediate version that was released in July 2000 (v 4.1.325 for Windows and v 4.1.326 for Unix ) I- Functionnal changes: ======================= I-1 Configuration & version management interface ------------------------------------------------ STOOD applications may now be saved in a modular way. Each HOOD Module may be stored into a dedicated directory. For compatibility reasons, this feature is not enabled by default. To enable it, change new ModularSave property from No to Yes in configuration file (stood.ini or .stoodrc) When loading or saving a STOOD application, it is now possible to activate a checkout/checkin script to perform appropriate actions in an external Configuration Management System. This feature is not enabled by default. To enable it, change new ConfMgrActivated property from No to Yes in configuration file (stood.ini or .stoodrc). The other new property ConfMgrLabel may be used to specify a label to be used in configuration manager dialog boxes. I-2 Requirements traceability utility ------------------------------------- (*) A new editor (Checkers/Requirements editor) may be called from Main editor to load a list of requirements from an external ASCII file and perform changes locally in this list. These requirements may then be directly referenced within ODS textual sections thanks to a dedicated drag&drop or copy&paste functions. To perform customizations of this new editor, "req" identifier should be used. (*) A new "requirements checker" may be launched to check requirements coverage, produce HOOD entities to requirements and requirements to HOOD entities matrix, or any other kind of output files. I-3 Documentation generation improvements ----------------------------------------- (*) When preparing documentation generation, it is now possible to specify in which order each ODS will be printed. Possible choices are: - depth traversal - breadth traversal - alphabetic traversal Local ordering may be performed thanks to new "move up" and "move down" items in contextual menu. (*) When editing textual sections of the ODS, it is possible to insert a "link to file". For now, this link was only processed by the RTF document generator. Now, it also operates for HTML and FrameMaker generators. Graphics are no more produced when empty (State Transition Diagrams or Call Trees), and are now generated in the most appropriate format: - EPSF for PostScript (ps_p) and FrameMaker (mif_p) generators - WMF for Word (rtf) generator - GIF for HyperText (html_p) generator A few problems have also been fixed regarding documentation schemes management I-4 Http server --------------- An http server may be started when launching STOOD. This server may be used to handle requests from any Intranet/Internet navigator. Requests must be defined whithin new config/http configuration directory, and may be: - either prolog applications - either STShell scripts This feature is enabled by default, but may be disconnected by removing or hiding the new provided Communication properties: - HttpServerPort must specify an available port on current host. - HttpPrologEngine must provide a valid path to a prolog engine for prolog requests To connect to a STOOD http server, just specify the URL of the host running STOOD, with specified port, example: http://unix_server:6767 I-5 Code generators ------------------- A few bugs have been fixed in Ada code generator: (*) - ADA157: generor sometimes crashed when HOOD Attributes had no type (*) - ADA158: parent of private types were also considered as private (*) - ADA159: constants renaming was not correct - ADA160: fixes a problem with pragma cut_line - ADA161: adds a spec header for Instance_Of Modules A set of bugs have been fixed and improvements have been performed in C code generator: (*) - C001: pragma "line_width" could not work properly (*) - C002: adding a new pragma "full_prototypes" (*) - C003: there was a problem when reversing STATE constrained operations (*) - C004: adding a new pragma "substitute_header" (*) - C005: decorative changes in operation prototypes (*) - C006: terminal roots couldn't handle the main procedure (*) - C007: putting a default value 0 for Get State function (*) - C008: OPCS were not visible from STATE only operation bodies (*) - C009: removing code in OBCS for STATE only operations (*) - C010: adding a new parameter to pragma "reverse" (*) - C011: adding a new pragma "prefix_all" (*) - C012: adding a new pragma "append_header" (*) - C013: detecting const or #define for constants (*) - C014: changing warning message for exceptions (*) - C015: adding new pragma "no_define" (*) - C016: changing #include policy (*) - C017: new parameter values for pragma "presentation" (*) - C018: changing STATE only operations code (*) - C019: fixing a problem related to C015 (*) - C020: changing required interface presentation (*) - C021: fixing a problem related to C013 - C022: new pragma inline_def - C023: fixing a bug in accept rule for generic - C024: removing unneeded OBCS when ASER only - C025: new rules for ASER constraint - C026: adding call_ dummy parameter - C027: no main if no pragma_main - C028: new pragma prefix_none - C029: new pragma storage to include parameters pointer keywords - C030: major changes to OBCS code - C031: cyclic tasks when aser by_it constraint - C032: fixes a bug in operation declaration parameter types (cf C028) - C033: new pragma no_command_line to control arguments of main function I-6 HOOD rules checker ---------------------- (*) Several rules have been rewritten to correct numerous unjustified error messages: - Consistency rules: C2..C6 and C13 - Operation rules: O5 - Required Interface rules: R17 - Use relationship rules: U17 - Visibility rules: V9 and V10 New prolog predicates have been included to checkers facts base: - unknownrequires(Entity,Kind,Module,RefEntity,'unknown','?',Ln) to check unresolved required entities. - selfrequires(Entity,Kind,Module,Ln) to check autoreferencing entities. I-7 Support of HRT-HOOD ----------------------- (*) Logical names of two sections in Real-Time Attributes part of the ODS have been changed in DataBase description file, and inside initialization files (stood.ini or .stoodrc) (*) A new "scheduling checker" now performs simple scheduling analysis from HRT Real-Time Attributes (Rate Monotonic and Deadline Monotonic Analysis) I-8 Miscallenous ---------------- (*) - Compare design function have been improved (three layers output) (*) - New "DataBase checker" to list storage files for current design (*) - Changing "lock.sh" internal tool to fix a problem with Windows 98 - New version of Ada lexical analyser to handle exponents in real numbers - A few bugs have been fixed in Motif user interface. - A new "close" menu item is now available to unselect current root module II- Changes in delivery contents: ================================= II-1 Unix Binaries (bin.sol2; bin.hp700; bin.ibm; bin.pclinux) -------------------------------------------------------------- stood stood.eng stood.uid stood.xpm .stoodrc Requirements.Key:cf. Requirements.Reference:($1) Requirements.CatalogSuffix:.txt Requirements.IgnoreCase:Yes Files.ModularSave:No Files.ConfMgrActivated:No Files.ConfMgrLabel:Configuration Manager Communication.HttpServerPort:6767 Communication.HttpPrologEngine:$TOOLBIN/sbprolog rev.Buttons:Scan,2,1;Update,2,2 req.Buttons:Load,1,4 scan_ada II-2 Windows binary (bin.w32) ----------------------------- stood.exe stood.eng stood.ini [Requirements] Key="cf." Reference=($1) CatalogSuffix=.txt IgnoreCase=Yes [Files] ModularSave=No ConfMgrActivated=No ConfMgrLabel=Configuration Manager [Communication] HttpServerPort=80 HttpPrologEngine=$TOOLBIN\sbprolog [rev] Buttons=Scan,2,1;Update,2,2 [req] Buttons=Load,1,4 scan_ada.exe II-3 Configuration ------------------ 3.1 Rules checkers 3.1.1 Changes in HOOD checker (config/checkers/hood) Consistency.* (C2; C3; C4; C5; C6; C13) Operation.* (O5) Required.* (R17) Use.* (U17) Visibility.* (V9; V11) _Main.* _Input.sbp 3.1.2 New DataBase checker (config/checkers/database) Scan.* _Main.* _Init.* _Input.sbp makefile config go.sh 3.1.3 New Requirements checker (config/checkers/requirements) Contents.* Coverage.* Links.* ERMatrix.* REMatrix.* _Main.* _Init.* _Input.sbp makefile go.sh 3.1.4 New Scheduling checker (config/checkers/scheduling) RMA.* _Main.* _Init.* _Input.sbp makefile go.sh 3.2 Code generators 3.2.1 Changes in Ada code generator (config/code_extractors/ada) Extract.* (ADA157..ADA161) Input.sbp extractors scan.* 3.2.2 Changes in C code generator (config/code_extractors/c) Extract.* (C001..C033) Input.sbp extractors pragma 3.3 Documentation generators 3.3.1 Changes in HTML document generator (config/doc_extractors/html_p) Extract.* Input.sbp gif keepps.cfg variable.cfg 3.3.2 Changes in FrameMaker document generator (config/doc_extractors/mif_p) Extract.* Input.sbp 3.3.3 Changes in PostScript document generator (config/doc_extractors/ps_p) Extract.* Input.* variable.cfg 3.3.4 Changes in Word document generator (config/doc_extractors/rtf) wmrtf 3.4 Predefined documentation schemes (config/doc_schemes) editor1 (ods text editor) editor6 (checks text editor) 3.5 InternalTools (config/internalTools) lock.sh checkin.sh checkout.sh 3.6 Help (config/help) req 3.7 DataBase description file (config/DataBase) 3.7.1 Following logical names have been renamed: DOC353 into wcetTxt DOC354 into budgetTxt 3.7.2 New sections for following logical names: databaseCheckReport schedulingCheckReport requirementsCheckReport CompareMessagesSections CompareMessagesSectionsDetailled 3.7.3 Change in module mask (now: when leaf + root) for: BodyFileHeader 4) Other directories -------------------- 4.1 Unix shell emulator for Windows (bash) diff.exe 4.2 Example of requirements file (exAda) requirements.txt 4.3 Update of test_hrt example (exHRT) 4.4 No more exMacros directory 4.5 New config/http directory: 4.5.1 Prolog request example: _init.pro _init.sbp makefile object.pro object.sbp 4.5.2 STShell request examples: doc_generation.sts code_generation.sts sif_generation.sts design_checking.sts demo5.sts 4.6 New example for C/Real-Time (exCpp) transputer