MC-3020 2.2 Release Notes | ||
---|---|---|
Prev |
MC-3020 2.2 has refined its support for the features of BridgePoint 5 and has fixed problems discovered in the 2.1 version of MC-3020. However, MC-3020 2.2 is primarily a partner release to BridgePoint 5.1, required due to schema changes.
A new callout function has been added to allow error handling when too many Interleaved Bridges have been invoked overflowing an architectural queue.
To support polymorphic events in MC-3020 2.2, a $T "nosplat" filter is required in [PT install dir]/BridgePoint/[client_type]/client/lib/[libtrans.lib].
If a customer has a custom libtrans.* (typically done for internationalization purposes), that library must be updated to provide "nosplat". The default libtrans.* supplied by PT has this filter in it.
An example of PT "nosplat" is provided in [PT install dir]/BridgePoint/samples/translate/pt_trans.c.
The "nosplat" filter simply needs to remove the "*" character (as associated with polymorphic events in ModelBuilder) from the presented string.
The MC-3020 meta model has been changed per the release notes of BridgePoint 5.1. MC-3020 2.2 translates only models generated from BridgePoint 5.1.
Corrected.
In this issue, the user tried to return data across an interleaved bridge. This is not possible. Interleaved bridges use "disconnected invocation"; the first section of the bridge operation posts the second section to a queue to be invoked at a safe time. Therefore interleaved bridges must return void.
Code was added to coloring to cause translation to fail with coloring errors when the user attempts to color a non-void bridge to be safe for interrupt invocation.
Fixed.
Makefile.domain had incorrect invocation of rox_get_dom_branch. Removed inconsistent config_version argument to rox_get_dom_branch.
Interleaved bridging (safe for interrupts) uses a queue to post the bridge operations for execution between state actions. There was no explicit recovery code to handle the situation when this queue was overflowed. A new user callout function
UserInterleavedBridgeOverflowCallout()was added.
Corrected.
Before polymorphic events, a state model with no states, transitions or events was harmless. However, with polys, it is possible for an event to land on a state chart with no states. This could be dangerous. In this situation, there is no opportunity to distinguish between Ignore and Can't Happen.
A change has been made to generate code that will fail to compile in this situation.
Fixed.
domain_init.arc had a bug that is now fixed.
Corrected.
This was an attempt to use a feature that does not exist. Here, an old FBO type bridge action was trying to receive parameters from another context. Parameter passing across interleaved bridges is supported only for synchronous services (domain functions).
Added a test to fail out attempts to use FBOs for this type of activity and added wording in the User Guide that makes this more clear.
Fixed.
The boolean type was not defined in certain situations. The required include file was added in the erroneous situation.
Fixed.
Code was missing for bridge parameters (by reference). Added it to frag_bridge.arc and changed fragment to call new code. This is consistent with sync_services and transformers.
Fixed.
Strings were not processed correctly in clr_bridge.arc.
Fixed.
When transformers were part of a bridge object, correct code was generated, but the makefile did not compile and link it.
Fixed.
An error in rval_add_parens affected the formation of the enumerator value names.
Fixed.
When a model domain (subsystem) does not have any classes, MC-3020 generates error messages when running "make bridge_skel". A test for empty subsystems has been added.
Fixed.
The make targets for the Single Directory Environment (SDE) were not operating properly. Additionally, the clobber target was not deleting the html reports. Note that the Single Directory Environment is developed for a few compilers that cannot deal with multiple directories of source and include files.