A new release of Compose* is now available for download. Release 0.9.2
contains mostly bugfixes for the Java and C port. A full list of changes
is listed below.

You can download the 0.9.2 release of Compose*/Java and StarLight via
the download section of the website:
    http://composestar.sourceforge.net/category/topic/downloads

More information about Compose* is available from our website:
    http://composestar.sourceforge.net
Or your sourceforge.net project site:
    http://sourceforge.net/projects/composestar


[ SECRET Module ]

Starting from this release the SECRET module (semantic reasoning on
resource operations) has been enabled again. Because of the canonical
notation introduced in 0.9.0 this module was disabled because it
required conversion. Currently is has been converted enough to be
enabled again. There are however some changes in it's operation. Two
predefined resources have been renamed:
- "target" is now "message.target"
- "selector" is now "message.selector"
The old names can still be used, as they are an alias for the new name.
Other predefined message properties now also exist: message.sender,
message.self, message.server . Because of the canonical filter notation
the reading and writing of message properties is a explicit construction
in the language. The reading and writing of target and selector is
therefor no longer detected based on an edge in the filter execution
model. But they are read directly from the filter sepecification. This
is also done for all other message properties, including custom message
properties.
This means that when you write a message property in your filter
definition:

  flt : Foo = ( true ) { message.myprop = 'bar'; }

SECRET will see this as a "write" operation on the "message.myprop"
resource. Custom message properties are not the same as the previous
"custom resource", the custom resources are still supported in the
same way. The different between custom resources and custom message
properties is that the custom message properties are prefixed with
"message."

Note: SECRET only reasons about resources when a conflict rule is
defined for it. So, by default it will not reason about custom message
properties. (This might change in the future, to ensure custom message
properties are written before being read).


[ Filter Runtime Interpreter ]

The filter runtime interpreter now has full support for for the
ReifiedMessage.respond() action. However, for this to work the
interpreter must be switched to the "threaded interpreter". By default
the interpreter does not create any threads for the normal evaluation of
filters, only when a Meta action is encountered it will create a
thread. But for the respond action it needs to run the interpreter in a
separate thread from the base program. To switch to the threaded
interpreter you can set a property in the Eclipse project properties
(under Compose*). Or in case of manual configuration, use the
configuration setting:
       FLIRT.threaded = true

The threaded interpreter decreases the performance because it needs to
create an interpreter thread for every thread in the program. The number
of active threads increases a lot when meta actions send messages which
need to be interpreted:

- App Thread #1
-- Interpreter Thread #1
--- MetaAction Thread #1
---- Interpreter Thread #2

versus the interpreter without threading:

- App Thread #1
-- MetaAction Thread #1


[ Compose*/C ]

Certain bug fixes in Compose*/C required some changes to the weaver
library "WeaveC". So a new version of this library is required. Due to
license constraints we can not distribute this library, and therefor not
create a proper Compose*/C.
You can download the Compose*/C build for the 0.9.2 release here:
http://ewi650.ewi.utwente.nl:8080/cruisecontrol/artifacts/composestar.r2/20090428095538/ComposestarC_0.9.2.4644.zip
But it does not contain the required WeaveC library. Members of the
TRESE group can request the updated WeaveC library from me (Michiel
Hendriks).


[ Changelog ]

Changes since 0.9.1:
- Added content information about the current Filter and matched 
  FilterElement in the INLINE model. This can be useful in the 
  development of code generators for custom filter actions.
- Added a source package for the Compose*/Java Runtime Interpreter. 
  This makes debugging of the interpreter easier, and also gives extra 
  information about various runtime objects during the development of 
  custom filters, and       advice/meta actions.
- The ReifiedMessage.respond() action is now fully supported by 
  Compose*/Java. Note: that using this functionality requires the 
  "threaded interpreter". You can set which interpreter to use in the
  project's property page.
- Both ['foo', 'bar'] and {'foo', 'bar'} are now accepted as lists on
  the right hand side of matching operators. The former format is 
  prefered.
- Filters can now have a result value (either True,False, or by 
  default unset). This result value can be set by filter actions. The
  result of filters is used to set the result of filter modules. The ';'
  filter composition operator serves as a soft-AND:
  soft-AND | True  | False | Unset
  --------------------------------
  True     | True  | False | True
  False    | False | False | False
  Unset    | True  | False | Unset
- The FilterModule now has a method called getDeclaredName() which 
  returns the name of the FilterModule as it was originally declared.
  During the resolving of filter module parameters the filter modules
  will receive a unique name.
- Various bug fixes to the Compose*/C weaver
- Added support for output filters in Compose*/C
- Various bug fixes to the Compose*/Java dummy generator
- The SECRET module has updated for the canonical notation. Note that
  the configuration has changed a bit. The target and selector 
  resources are now named message.target and message.selector . Custom
  message properties are now also processed. 
- Filtermodules can now be superimposed more than once on a single 
  class. 
- Improved the weaving strategy for Compose*/Java so that more methods
  are intercepted by the interpreter


--
ir. Michiel Hendriks                     <[email protected]>
Research Associate, Software Engineering group, University of Twente
http://trese.ewi.utwente.nl/

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Composestar-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/composestar-developers

Reply via email to