Releases: ModelDriven/Alf-Reference-Implementation
Alf Reference Implementation v1.0.1
This is a tracking release of the Alf Reference Implementation, tracking the issue resolutions approved in Ballot 2 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. Preliminary implementations of most of these resolutions were already included in the previous 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. (Note that certain issues approved in Ballot 2 are not included on the list below, because they did not effect the implementation.)
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
Enhancements
This release does not include any enhancements beyond those in the v1.0.0 release.
Bug Fixes
This release does not include any bug fixes beyond those in the v1.0.0a release.
Alf Reference Implementation v1.0.0a
This is a maintenance release of the Alf Reference Implementation. It is functionally the same as the v1.0.0 release, with the bug fix listed below.
Bug Fixes
Issue #15 - Collection conversion not done for local name declaration statement
Alf Reference Implementation v1.0.0
This is a base release of the Alf Reference Implementation, conforming to the Alf 1.0.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).
OMG Issue Resolutions
This version includes preliminary resolutions to the following OMG issues. The issues marked below as "(URGENT)" were approved on Ballot 1 of the Alf 1.1 Revision Task Force (RTF), leading to Alf 1.0.1. The resolutions to the remaining issues have not yet been approved by the RTF.
ALF11-2 Definition of Collection Class
ALF11-4 Allow Expressions to Just Conform to Primitive Types
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-12 ActivityDefinition and OperationDefinition Bodies
ALF11-22 Sequence feature invocation expressions
ALF11-23 Primitive type casts
ALF11-24 IncrementOrDecrementExpression::operator attribute is missing
ALF11-25 NameLeftHandSide needs a feature constraint
ALF11-26 Classify statements should start classifier behaviors
ALF11-27 Alf should be based on fUML 1.1 (URGENT)
ALF11-28 The resolution of Issue 17517 was incomplete
ALF11-30 CollectionClasses::Map::Bag references the wrong template parameter (URGENT)
ALF11-31 Parameters of some constructor operations in collection classes have incorrect types (URGENT)
ALF11-32 Multiplicity element errors in parameters in the CollectionClasses package (URGENT)
ALF11-33 The actual parameter for the template binding of Bag is wrong (URGENT)
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
Enhancements
In addition to updates included in the previous v0.6.0 release, this version includes the following enhancements.
Issue #1 - Should be better error messages for constraint violations
Issue #3 - Library directory structure should be better
Issue #4 - Implement profile and (general) stereotype application
Issue #5 - Implement operation overloading
Issue #8 - Plugin o.m.a.eclipse does not include Libraries in binary build
Issue #10 - User-friendly error message API hard to use through o.m.a.eclipse plugin
Issue #11 - Receptions should have parameters
Bug Fixes
In addition to updates included in the previous v0.6.0 release, this version includes the following bug fixes.
Issue #2 - Association read invocation action parameters should have multiplicity 1..1
Issue #6 - Using "null" as an attribute initializer causes an exception
Issue #7 - Plugin o.m.a.eclipse does not export packages o.m.a.syntax.statements[.impl]
Issue #9 - Library files do not open with declared minimum version of Eclipse UML2
Issue #12 - Exception when the type of an association end is a use case
Issue #13 - ElementFactory needs explicit initialization when used through o.m.a.eclipse plugin
Issue #14 - o.m.a.eclipse initialization does not find Alf libraries