----------------- | Release notes | ----------------------------------------- | STOOD 5.1 - Oct 2006 | | (v.5.1.272 for Windows 18.Oct.2006) | | (v.5.0.275 for Unix 19.Oct.2006) | | copyright Ellidiss 2006 | | support: | | - stood@ellidiss.com | | - UK: +44 (0) 1260 291 449 | | - FR: +33 (0) 298 451 870 | ----------------------------------------- Main changes since last version (Stood 5.0 - May 2005) 1. Changes overview ------------------- AADL 1.0 textual and graphical editing features have been added to Stood: - New AADL graphical editor that complements HOOD and UML diagrams - New config_AADL specific configuration to manage AADL properties - New version of the AADL code generator - New version of the AADL import engine 2. Fixed known issues --------------------- RASTO_06_001 Issue: Bad re-initialization of period or min arrival time real time properties Effect: Message not understood 12382 Comment: No issue with v5.0 (connected to the new AADL graphical editor) Solution: Fixed in the kernel Test case: test_06_001a.sts (period) and test_06_001b.sts (min arrival time) RASTO_06_002 Issue: Problem with dataflows while importing SIF files (or reversing code) Effect: Message not understood 11023 Comment: No issue with v5.0 (connected to the new AADL connection rules) Solution: Fixed in the kernel Test case: test_06_002.sts RASTO_06_003 Issue: Problem with incomplete use links while updating from SIF (or from code) Effect: Message not understood 11777 Comment: Try to connect inexistent components Solution: Fixed in the kernel Test case: test_06_003.sts RASTO_06_004 Issue: Problem using exit menu from main menu bar Effect: Message subclass responsability Comment: No issue with v5.0 (connected to the new AADL graphical editor) Solution: Fixed in the kernel Test case: test_06_004.sts RASTO_06_005 Issue: Crash when connecting a port group containing a port group Effect: System error Comment: Solution: Fixed in the kernel Test case: test_06_005.sts 3. AADL Completeness -------------------- RASTO_06_006 Issue: Missing menus in main menu bar: - Tools/Graphic design/AADL components - Help/Graphic design/AADL Effect: No way to select the AADL view with a STShell or to provide contextual help for this graphical editor. Comment: Solution: Fixed in the kernel the initialization files and the configuration - Caution: button bars definition in stood.ini and .stoodrc must be updated - Adding files gra_aadl and gra_aadl.more in config/help Test case: included in the global testing of the main menu bar (test-161*6.sts and test-161*7.sts) RASTO_06_007 Issue: Unable to perform system level modelling Effect: Cannot create AADL subsystems Comment: Solution: Fixed in the kernel Adding new AADL related design entrypoints (AADL system, AADL package, AADL process and AADL processor) RASTO_06_008 Issue: Need to be able to create 1-n data port and n-n event port connections between a component and its subcomponents. A HOOD compatibility switch must be introduced in the init file. Effect: mismatch between HOOD and AADL semantics for parent-child connections Comment: Solution: Fixed in the kernel Default behaviour is now AADL semantics To enforce HOOD semantics, use new property: General.HoodCompliancy:Yes Test case: test_06_008a.sts and test_06_008b.sts RASTO_06_009 Issue: Need to be able to distinguish between immediate and delayed port connections Effect: missing AADL construct Comment: Solution: Fixed in the kernel and the AADL code generation (AADL038) Option box "immediate" in the dialog box of menu Features/Connect feature New contextual menu on a data port connection "Delayed data connection" Use double line style for graphical notation of delayed connections New SIF pragma: PRAGMA AADL_CONNECTION( obj1 => origin, obj2 => destination, flow => AADL_connection_id, kind => --|delayed|-- or --|immediate|--) Remaining issues: graphical notation is not standard Test case: test_06_009.sts RASTO_06_010 Issue: Need to be able to create AADL bus, device and memory Effect: Incomplete support of the AADL standard Comment: Solution: Fixed in the kernel Test case: test_06_010.sts RASTO_06_011 Issue: Need to manage provides data access features Effect: Comment: Solution: Fixed in the kernel Practically, we do not create "provides data access" features in Stood. They are only realized through "data access connections" that are now propagated along the component hierarchy. Test case: test_06_011.sts RASTO_06_013 Issue: Need a smarter way to enter component type and implementation names Effect: Comment: Although Stood mainly deals with intantiated components, their name usually refer to the subcomponent name. However their type and implementation names can be also specified as pragmas. If not explicitly specified, default naming rules are used (type name = subcomponent name and implementation name = others). Solution: Fixed in the kernel Use the rename dialog box to update pragma values. PRAGMA type_name (name => --|component_type_identifier|--) PRAGMA implementation_name (name => --|component_implementation_identifier|--) 4. Other improvements --------------------- RASTO_06_014 Issue: An internal "thread" operation should be created automatically for AADL threads Effect: No access to real time attributes or behavioural code Comment: Should apply to all AADL threads (i.e. including HOOD terminal active objects) Solution: Fixed in the kernel and the AADL code generation (AADL037) Test case: test_06_014.sts RASTO_06_016 Issue: Show public types of a package Effect: No way to distinguish public and private data components in a package Comment: Need to introduce graphically an interface for packages. Re-use of HOOD "type implemented_by" construct for that Solution: Fixed in the kernel and the AADL code generation (AADL042) New contextual menu: set public / set private Test case: test_06_016.sts RASTO_06_017 Issue: Enable display of ports on the right border of a component Effect: All port connections start and end on the left border. Comment: Solution: Fixed in the kernel New contextual menu: left alignment / right alignment Test case: test_06_017.sts RASTO_06_019 Issue: Database proc17 doesn’t provide AADL compliant information Effect: get a generic "Object xxx is" instead of "Thread xxx is" Comment: Solution: Fixed in the kernel New Database proc14 RASTO_06_020 Issue: Connection between port groups should be shown Effect: Comment: Solution: Fixed in the kernel and the AADL code generator (AADL036) RASTO_06_026 Issue: No way to perform an AADL connection with a STShell Effect: Unable to complete many test cases Comment: Solution: Fixed in the kernel New menu item: Feature/Connect feature Test case: covered by test-16115.sts RASTO_06_039 Issue: Connections are not deleted when one of its ports is deleted Effect: The model may contain many obsolete connections Comment: Solution: Fixed in the kernel 5. Changes in Database descriptor --------------------------------- RASTO_06_021 Issue: In config AADL: bad logical name PropTxt instead of CstTxt Effect: Generate a syntax error at SIF parsing when finding comments for constants Comment: Solution: Fixed in DataBase file (new:<; old:>): 197c187 < 'property description' CstTxt --- > 'property description' PropTxt RASTO_06_022 Issue: In config AADL: description section labels used by reverse engines have been changed "Statement of the problem (text)" was replaced by "Statement of the problem" "General strategy (text)" was replaced by "General strategy" Effect: Generate useless dialogs to match description sections while importing SIF files. Comment: Solution: Fixed in DataBase file and in AADL import (AADR007) 80c80 < 'Statement of the Problem (text)' DOC11 --- > 'Statement of the Problem' DOC11 99c99 < 'General Strategy (text)' DOC21 --- > 'General Strategy' DOC21 1138c1138 < 'Statement of the Problem (text)' DOC11 --- > 'Statement of the Problem' DOC11 1152c1152 < 'General Strategy (text)' DOC21 --- > 'General Strategy' DOC21 RASTO_06_023 Issue: In config_AADL: no way to edit properties for subprogram components Effect: no ods for subprogram components (op_control) Comment: Solution: Fixed in DataBase file (new:<; old:>): 130c130 < (level 2 --- > (level 2 when \o 173,174c173,174 < 'PROPERTIES' ProvCsts < (level 3 when a+cy+sp+pr+c+o --- > 'PROPERTIES' TypeProperties > (level 3 when a+cy+sp+pr+c 178c178 < (level 4 when \a.\c.\o --- > (level 4 when \a.\c 267c267 < (level 3 when a+cy+sp+pr+c+o --- > (level 3 when a+cy+sp+pr+c 1121c1121 < (level 1 when \sroot.\(a+cy+sp+pr+c+v+o) --- > (level 1 when \sroot.\(a+cy+sp+pr+c+v) RASTO_06_024 Issue: In config_AADL: no way to edit properties for an internal operation (i.e. thread) Effect: Cannot specify wcet property Comment: Solution: Fixed in DataBase file (new:<; old:>): 271c271 < (level 4 list 1112 --- > (level 4 list 1110 276c276 < (level 5 when \root2+f list 1112 --- > (level 5 when \root2+f list 1110 281c281 < (level 5 list 1112 --- > (level 5 list 1110 286c286 < (level 5 list 1112 --- > (level 5 list 1110 291c291 < (level 5 list 1112 --- > (level 5 list 1110 296c296 < (level 5 list 1112 --- > (level 5 list 1110 RASTO_06_025 Issue: In config_AADL, ODS sections Id are not unique (duplicated for process and packages sub-ods) Effect: Duplicate Ids may cause various issues. Comment: Solution: Fixed in DataBase file (new:<; old:>): < 'SUBCOMPONENTS' TypeAttributes0 < (level 3 when c + pr list 1210 --- > 'SUBCOMPONENTS' TypeAttributes > (level 3 when c + pr list 1210 RASTO_06_040 Issue: In config_AADL, a few HOOD sections need to be made visible again in the ODS (type inheritance for classes to manage AADL extends and operation constraints) Effect: No access to part of the model Comment: Solution: Fixed in DataBase file (new:<; old:>): 172a172,176 < < 'EXTENDS' TypeDerivation < (level 3 when c list 1210 < text 30 < doc CODE flags eOds) 293c298 > doc CODE) --- < doc CODE flags eOds) RASTO_06_029 Issue: Contextual help, ODS help and template files are not up to date in the config Effect: Comment: Solution: Fixed in configuration files RASTO_06_031 Issue: The AADL code generator needs to be updated for CHEDDAR connection Effect: Comment: Solution: Fixed in AADL code generator (AADL035) New pragma cheddar(Scheduling_Protocol) Generates a default processor with given scheduling protocol Generates a default binding between main process and default processor Changes in externalTools/cheddar.sh to add -I option for properties directory 5. General Issues ----------------- RASTO_06_028 Issue: Requirements list not always properly saved Effect: Some editing actions do not imply a proper save of changes in requirements. Comment: Solution: Fixed in the kernel Test case: test_06_028.sts RASTO_06_034 Issue: Improve reuse of components Effect: Current import features are not appropriate to instantiate AADL components defined in a package or clone subcomponents. Comment: Solution: Fixed in the kernel New copy / paste contextual menu in the design tree Similar effect can be obtained by a drag&drop from the design tree to the diagram RASTO_06_038 Issue: Restriction in Windows directories for installation and repositories Effect: No way to use "Program Files" or "My Documents" Comment: All bash command parameters involving pathnames should be double-quoted Solution: Fixed in the .sh files of the configutarion RASTO_06_042 Issue: Support of Greenhills Multi Ada filename suffixes Effect: Cannot manage suffix like .1.ada and .2.ada Comment: Solution: Fixed in the kernel and initialization files Test case: test_06_042.sts RASTO_06_043 Issue: Some STShell commands do not work anymore Effect: Cannot control zooming, save text or use Use command Comment: Solution: Fixed in the kernel Test case: test_06_043.sts 6. Changes in the AADL code generator (v2.1) -------------------------------------------- AADL003 (22.Jun.05) missing connections for use links AADL004 (05.Aug.05) new pragma bidirectional AADL005 (05.Aug.05) no more data subpg in threads ! AADL006 (05.Aug.05) removing empty connection sections AADL007 (10.Aug.05) new pragma more_systems AADL008 (10.Aug.05) using direction in port naming when useful AADL009 (10.Aug.05) use "" for entrypoint property value AADL010 (12.Aug.05) use pragma renames also for package decl AADL011 (19.Aug.05) full code generation for system conf AADL012 (30.Aug.05) new pragma in_package AADL013 (01.Sep.05) disabling multiple connections AADL014 (02.Sep.05) enable events in system conf AADL015 (05.Sep.05) Event parameter for event ports AADL016 (20.Sep.05) use pragma renames also when implicit ref AADL017 (20.Sep.05) fixing other bugs for Op_Controls AADL018 (20.Sep.05) protected objects are always Data AADL019 (20.Sep.05) use given name for main event AADL020 (23.Sep.05) creating stuff for OSATE support AADL021 (23.Sep.05) fixing bug a few syntactic errors AADL022 (27.Sep.05) adding port groups AADL023 (27.Sep.05) including unbounded environments as packages AADL024 (28.Sep.05) new pragma extends AADL025 (06.Oct.05) cleaning up features and connections AADL026 (13.Oct.05) managing Constants as Properties AADL027 (17.Oct.05) Cheddar connection AADL028 (20.Oct.05) Cotre connection AADL029 (08.Jan.06) supporting AADL graphic editor AADL030 (17.Jan.O6) Assert properties AADL031 (09.Feb.06) adding calls for threads AADL032 (16.Feb.06) fixing connection bug for ports with _ AADL033 (16.Feb.06) adding fork and join of flows AADL034 (23.Feb.06) pragma renames can be used to remove package prefix AADL035 (30.Mar.06) improving Cheddar connection (cf.RASTO_06_031) AADL036 (31.Mar.06) improving port groups (cf.RASTO_06_020) AADL037 (31.Mar.06) using HRT wcet for thread (cf.RASTO_06_014) AADL038 (31.Mar.06) managing delayed connections (cf.RASTO_06_009) AADL039 (31.Mar.06) fixing bugs in flow specs AADL040 (27.Apr.06) fixing ASSERT PP integration issues AADL041 (27.Apr.06) fixing issues with port groups AADL042 (04.Jul.06) private data in packages (cf.RASTO_06_016) AADL043 (05.Jul.06) don't specify current package name in references AADL044 (06.Jul.06) fixing bug in type extension and parameters AADL045 (06.Jul.06) replacing pragma more_systems by predicate aadlModel('system') AADL046 (06.Jul.06) improving data access references AADL047 (07.Jul.06) improving calls to subprograms AADL048 (12.Jul.06) prototyping AADL templates and virtual processors AADL049 (20.Jul.06) fixing 2 minor issues for data component AADL050 (20.Jul.06) improving data access and data access connection AADL051 (21.Jul.06) new pragma future AADL052 (01.Aug.06) little adjustments AADL053 (03.Aug.06) managing new predicate aadlCategory AADL054 (21.Aug.06) data generation for imported packages AADL055 (21.Aug.06) adding bus access connections AADL056 (21.Aug.06) changes in processor mapping AADL057 (21.Aug.06) calls in threads and sp only AADL058 (21.Aug.06) hierarchical component generation in package AADL059 (21.Aug.06) removing effect of predicate aadlModel AADL060 (22.Aug.06) generating allocated logical components AADL061 (02.Sep.06) no more dupplicate code for subprograms AADL062 (08.Sep.06) subprogram parameter features and connections AADL063 (08.Sep.06) no generation if type name includes a package ref AADL064 (08.Sep.O6) new pragma no_project AADL065 (08.Sep.06) avoid multiple comments AADL066 (19.Sep.06) internal subprograms as features AADL067 (27.Sep.06) correct identifiers for modes and transitions AADL068 (03.Oct.06) fixing issue in parameters type AADL069 (05.Oct.06) fixing issue in subprogram params and calls 7. Changes in the AADL import engine (v1.1) ------------------------------------------- AADR001 (20.Sep.05) managing ports with undefined type AADR002 (22.Sep.05) packages now only export types and consts AADR003 (17.Oct.05) new names for port and event parameters AADR004 (10.Nov.05) adding op-sets when there are too many ops AADR005 (02.Jan.06) compatibility with AADL graphical editor AADR006 (14.Feb.06) compatibility with ASSERT/MA3S naming rules AADR007 (22.Mar.06) compatibility with release 5.1 AADR008 (22.Jun.06) pragma AADL_PORTGROUP AADR009 (19.Jul.06) fixing issue with comp impl .default or .others AADR010 (19.Jul.06) fixing issue with wcet and min arrival time AADR011 (24.Aug.06) pragma AADL_CATEGORY AADR012 (11.Sep.06) pragma AADL_CONNECTION 8. Changes in the Ada code generator ------------------------------------ ADA190 (02.08.05) support of distributed systems ADA191 (04.10.05) fix bug when cy or sp have no thread or start operation 9. Changes in the C++ code generator ------------------------------------ CPP029 (19.Oct.06) support of SMP2 (cf.SMP_*): pragma smp CPP030 (19.Oct.06) adding support of round trip: pragma reverse