Skip to content

Releases: ModelDriven/Alf-Reference-Implementation

Alf Reference Implementation v1.1.0b

19 Feb 19:06

Choose a tag to compare

This is a maintenance release of the Alf Reference Implementation. It implements the same Alf functionality as the v1.1.0a release, with the additional issue resolutions listed below.

Bug Fixes

Issue #56 - Some sequence function implementations incorrectly check the bounds of the index argument
Issue #57 - Setting the namespace name of a unit definition to null causes a null pointer exception
Issue #58 - Using type "any" in a local name declaration statement causes a null pointer exception

Alf Reference Implementation v1.1.0a

09 Feb 22:16

Choose a tag to compare

This is a maintenance release of the Alf Reference Implementation. It implements the same Alf functionality as the v1.1.0 release, with the issue resolutions listed below.

Enhancements

Issue #48 - Updates are needed to allow better integration with external tools [re-opened]
Issue #49 - Support getting the effective bound element of an external template binding

Bug Fixes

Issue #50 - Fix the invocation of a protected super class operation using a qualified name
Issue #51 - Fix a signal-send invocation of a specialized signal
Issue #52 - Assigning to an association end maps to structural feature actions with incorrect pin types
Issue #53 - Using an out parameter name in a local name declaration statement should be disallowed
Issue #54 - A signal send using a bad reception definition causes an exception
Issue #55 - Call action for an invocation expression might not fire correctly

Alf Reference Implementation v1.1.0

23 Oct 23:09

Choose a tag to compare

This is a base release of the Alf Reference Implementation, conforming to the Alf 1.1 specification.

Release Notes

This version has the following limitations.

  • Constructorless instance creation does not set attribute default values.

    Since constructorless instance creation only applies to classes not specified in Alf notation, default value evaluation would have to be compiled into the target model at each point of instance creation, which seems excessive (and may not even be valid, if the attributes are not publicly visible). If attribute initialization is required, this should properly be done using a constructor, even for non-Alf classes.

  • Only classifier templates with classifier template arguments are supported, even for external template binding.

    The Alf notation only supports the definition of classifier templates with classifier template parameters. The reference implementation can only handle references to instantiations of these sorts of templates, even if the template binding is done in a UML model external to the Alf text (unless the UML tool itself automatically provides a fully expanded bound element for the template binding, as allowed by the UML 2.5 specification).

The following sections list all the changes in this release from the previous v1.0.0 base release.

OMG Issue Resolutions

This version includes resolutions of the following OMG issues, as approved by the Alf 1.1 Revision Task Force (RTF).

Issue #18 Implement resolutions for Alf 1.1 RTF ballot 2

(Preliminary implementations of some of these resolutions were already included in the v1.0.0 release. However, in all cases, the implementation has been updated in this version to conform to the resolutions as actually adopted by the RTF.)

ALF11-5 BehaviorInvocationExpression Should Have a Derived Implicit Binding
ALF11-6 Derivation of the Type of a ConditionalTestExpression
ALF11-7 NameExpression::assignment Derivation for a Parameter Name
ALF11-8 ConcurrentClauses Should Have a Derived assignmentBefore
ALF11-9 Empty Type Names for Initialization Sequence and Construction Expressions
ALF11-10 NonFinalClause and SwitchClause Should Have Derived assignmentBefore and assignmentAfter
ALF11-11 NamespaceDefinition::member type
ALF11-12 ActivityDefinition and OperationDefinition Bodies
ALF11-24 IncrementOrDecrementExpression::operator attribute is missing
ALF11-25 NameLeftHandSide needs a feature constraint
ALF11-28 The resolution of Issue 17517 was incomplete
ALF11-34 An abstract operation should not be allowed to have a body
ALF11-35 Overload resolution for feature invocation expressions should be specific about the case of multiple most-specific operations.
ALF11-37 Multiplicity upper bound of a select or reject expression should be based on its primary expression

Issue #19 Implement resolutions for Alf 1.1 RTF ballot 3

(Preliminary implementations of some of these resolutions were already included in the v1.0.0 release. However, in all cases, the implementation has been updated in this version to conform to the resolutions as actually adopted by the RTF.)

ALF11-2 Definition of Collection Class
ALF11-4 Allow Expressions to Just Conform to Primitive Types
ALF11-23 Primitive Type casts
ALF11-29 Alf should support Real

Issue #25 Implement resolutions for Alf 1.1 RTF ballot 4

(Preliminary implementations of some of these resolutions were already included in the v1.0.0 release. However, in all cases, the implementation has been updated in this version to conform to the resolutions as actually adopted by the RTF.)

ALF11-22 Sequence feature invocation expressions
ALF11-26 Classify statements should start classifier behaviors
ALF11-43 Inconsistent rules for local names defined in if and switch statements
ALF11-44 Alf should have a "null-coalescing" operator
ALF11-67 Instance creation should start classifier behaviors of parent classes
ALF11-75 Incorrect derivation of AssignmentExpression::isFeature
ALF11-77 Multiplicity and typing of local names should be better tracked

Issue #31 Implement resolutions for Alf 1.1 RTF ballot 5

ALF11-14 Indexing in sequence access expressions should be 0-based

Issue #35 Implement resolutions for Alf 1.1 RTF ballot 6

ALF11-90 The Alf 1.1 specification should reflect the latest version of fUML

Enhancements

This version includes the following enhancements.

Issue #32 Implement mapping of profile applications
Issue #36 Parsed elements should record both starting and ending column positions
Issue #37 There should be a way to determine the external dependencies of Alf text
Issue #38 Allow constructors in instance creation expressions to not have to return the new object
Issue #39 It should not be necessary to fully instantiate templates in order to do constraint checking
Issue #41 External stub resolution should not be through naming
Issue #42 Error message selection/suppression needs improvement
Issue #43 SequenceFunctions should be implemented as primitive behaviors
Issue #48 Updates are needed to allow better integration with external tools

Bug Fixes

This version includes the following bug fixes.

Issue #15 Collection conversion not done for local name declaration statement
Issue #16 Stereotype resolution isn't quite correct
Issue #17 Constructor overload resolution not working right
Issue #20 For statements containing return statements must not be mapped as expansion regions
Issue #21 Checking for conversions is not being done correctly for out parameter arguments
Issue #22 Invocation of an activity with no return type in a conditional-test expression can cause an exception
Issue #23 Operands of equality expressions are not always mapped
Issue #24 ReadLine should always return a value
Issue #26 Cast expressions are being incorrectly given a lower bound of 1 instead of 0
Issue #27 Need to convert Natural values to UnlimitedNatural on assignment
Issue #28 Out parameters should be assignable in conditional statement conditions
Issue #29 Error in implementation of Map::size()
Issue #30 Assignments made in the 2nd operand of a binary expression are not properly updated
Issue #34 Template parameters with constraining classifiers do not map correctly
Issue #40 Resolution to OMG Issue ALF11-2 was not fully implemented
Issue #44 In certain cases, structured activity node wrapping can lead to incorrect execution
Issue #45 The derivation of whether collection conversion was needed was not always correct
Issue #46 Operation mapping is not generating distinguishable names for methods of overloaded operations
Issue #47 The check for alternative constructor validity is not implemented correctly

Alf Reference Implementation v1.0.5b

26 Aug 20:14

Choose a tag to compare

This is a maintenance release of the Alf Reference Implementation. It implements the same Alf functionality as the v1.0.5a release, with the issue resolutions listed below.

Enhancements

Issue #39 - It should not be necessary to fully instantiate templates in order to do constraint checking
Issue #41 - External stub resolution should not be through naming
Issue #42 - Error message selection/suppression needs improvement

Bug Fixes

Issue #40 - Resolution to OMG Issue ALF11-2 was not fully implemented

Alf Reference Implementation v1.0.5a

07 Apr 22:39

Choose a tag to compare

This is a maintenance release of the Alf Reference Implementation. It implements the same Alf functionality as the v1.0.5 release, with the enhancements listed below.

Enhancements

Issue #36 - Parsed elements should record both starting and ending column positions
Issue #37 - There should be a way to determine the external dependencies of Alf text
Issue #38 - Allow constructors in instance creation expressions to not have to return the new object

Alf Reference Implementation v1.0.5

21 Feb 18:48

Choose a tag to compare

This is a tracking release of the Alf Reference Implementation, tracking the issue resolutions approved in Ballot 6 of the Alf 1.1 Revision Task Force (RTF).

OMG Issue Resolutions

This version includes resolution of the following OMG issue, as approved by the Alf 1.1 RTF, in addition to resolutions included in the previous tracking release, v1.0.4.

Issue #35 Implement resolutions for Alf 1.1 RTF ballot 6

ALF11-90 The Alf 1.1 specification should reflect the latest version of fUML

(Note: In response to this issue resolution the fUML Reference Implementation JAR used for the Alf Reference Implementation has been updated to v1.2.3, the latest version tracking work on fUML 1.3. The Eclipse Moka fUML engine has not yet been updated.)

Enhancements

None.

Bug Fixes

This release includes the following bug fix, in addition those in the v1.0.4a maintenance release.

Issue #34 Template parameters with constraining classifiers do not map correctly

Alf Reference Implementation v1.0.4a

27 Dec 04:27

Choose a tag to compare

This is a maintenance release of the Alf Reference Implementation. It is functionally the same as the v1.0.4 release. However, the dist subdirectory in the alf.zip archive has been corrected to have the proper JAR files.

Alf Reference Implementation v1.0.4

03 Sep 21:57

Choose a tag to compare

This is a tracking release of the Alf Reference Implementation, tracking the issue resolutions approved in Ballot 5 of the Alf 1.1 Revision Task Force (RTF).

OMG Issue Resolutions

This version includes resolution of the following OMG issue, as approved by the Alf 1.1 RTF, in addition to resolutions included in the previous v1.0.3 release.

Issue #31 Implement resolutions for Alf 1.1 RTF ballot 5

ALF11-14 Indexing in sequence access expressions should be 0-based

Enhancements

This release includes the following enhancement.

Issue #32 Implement mapping of profile applications

Bug Fixes

This release includes the following bug fix, in addition those in the v1.0.2 release.

Issue #16 Stereotype resolution isn't quite correct

Alf Reference Implementation v1.0.3

17 Aug 14:53

Choose a tag to compare

This is a tracking release of the Alf Reference Implementation, tracking the issue resolutions approved in Ballot 4 of the Alf 1.1 Revision Task Force (RTF).

OMG Issue Resolutions

This version includes resolutions of the following OMG issues, as approved by the Alf 1.1 RTF, in addition to those included in the previous v1.0.2 release. Preliminary implementations of some of these resolutions were already included in the v1.0.0 release. However, in all cases, the implementation has been updated in this version to conform to the resolutions as actually adopted by the RTF.

Issue #25 Implement resolutions for Alf 1.1 RTF ballot 4

ALF11-22 Sequence feature invocation expressions
ALF11-26 Classify statements should start classifier behaviors
ALF11-43 Inconsistent rules for local names defined in if and switch statements
ALF11-44 Alf should have a "null-coalescing" operator
ALF11-67 Instance creation should start classifier behaviors of parent classes
ALF11-75 Incorrect derivation of AssignmentExpression::isFeature
ALF11-77 Multiplicity and typing of local names should be better tracked

Enhancements

This release does not include any enhancements beyond those in the v1.0.0 release.

Bug Fixes

This release includes the following bug fixes, in addition those in the v1.0.2 release.

Issue #22 Invocation of an activity with no return type in a conditional-test expression can cause an exception
Issue #23 Operands of equality expressions are not always mapped
Issue #24 ReadLine should always return a value
Issue #26 Cast expressions are being incorrectly given a lower bound of 1 instead of 0
Issue #27 Need to convert Natural values to UnlimitedNatural on assignment
Issue #28 Out parameters should be assignable in conditional statement conditions
Issue #29 Error in implementation of Map::size()
Issue #30 Assignments made in the 2nd operand of a binary expression are not properly updated

Alf Reference Implementation v1.0.2

20 Jul 20:56

Choose a tag to compare

This is a tracking release of the Alf Reference Implementation, tracking the issue resolutions approved in Ballot 3 of the Alf 1.1 Revision Task Force (RTF).

OMG Issue Resolutions

This version includes resolutions of the following OMG issues, as approved by the Alf 1.1 RTF, in addition to those included in the previous v1.0.1 release. Preliminary implementations of some of these resolutions were already included in the v1.0.0 release. However, in all cases, the implementation has been updated in this version to conform to the resolutions as actually adopted by the RTF.

ALF11-2 Definition of Collection Class
ALF11-4 Allow Expressions to Just Conform to Primitive Types
ALF11-23 Primitive Type casts
ALF11-29 Alf should support Real

Enhancements

This release does not include any enhancements beyond those in the v1.0.0 release.

Bug Fixes

This release includes the following bug fixes, in addition those in the v1.0.0a release.

Issue #17 - Constructor overload resolution not working right
Issue #20 - For statements containing return statements must not be mapped as expansion regions
Issue #21 - Checking for conversions is not being done correctly for out parameter arguments