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

