Magic Alf Analyst

Released on: February 12, 2021

Magic Alf Analyst Version 2021x eliminates the need for Receptions when sending or accepting Signals using Alf and provides bug fixes.

Sending and accepting Signals without the need for Receptions

The Alf language specification requires that the target of a Signal-send expression be a Reception and that the context Class of an accept statement has Receptions for all accepted Signals. However, the use of Receptions are optional in UML, and their use is no longer required in Foundational UML (fUML) 1.5 for executable models. Therefore, Magic Alf Analyst now implements a language extension that allows sending and accepting Signals without the need of using Expressions. For a Signal send, the name of the Signal must be visible without qualification, which may require that the Signal (or its containing Package) be imported. In an accept statement, Signals may be referenced using qualified names, if their simple names are not directly visible.

The new capability is particularly useful for sending Signals through Ports. A Signal send can simply target a Port using any visible Signal to be sent out through that Port. Note, however, that the Port must still have a type, generally either an Interface or a Class with a required Interface.

Sending Signals without the need for receptions.

Learn more about sending Signals through Ports >>

Bug fixes

The following bugs have been fixed in Magic Alf Analyst 2021x:

  • A confusing error message related to an illegal data value update.
  • A potential exception due to a concurrency conflict when repainting the UI.

In addition, the Alf compiler has been updated to Alf Reference Implementation v1.1.0k.

You can check the list of publicly available issues or your own reported issues fixed in Magic Alf Analyst 2021x. 
Note: You will be required to login. Use the same username and password as for www.nomagic.com.