Skip to content

Releases: ModelDriven/Alf-Reference-Implementation

Alf Reference Implementation v1.0.1

17 May 15:43
Compare
Choose a tag to compare

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

13 May 18:22
Compare
Choose a tag to compare

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

10 Mar 20:06
Compare
Choose a tag to compare

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

v0.6.0h

07 Mar 22:44
Compare
Choose a tag to compare
v0.6.0h Pre-release
Pre-release
Issue #14 - Part 2 (hardcoded baseURI) resolved.

v0.6.0g

03 Mar 20:20
Compare
Choose a tag to compare
v0.6.0g Pre-release
Pre-release
Refactored element factory instantiation a bit.

v0.6.0f

22 Feb 20:05
Compare
Choose a tag to compare
v0.6.0f Pre-release
Pre-release
Issue #12 - Resolved.

- Implemented generic wrapping of non-class classifiers as instances
of Classifier, rather than NamedElement.

v0.6.0e

12 Feb 17:58
Compare
Choose a tag to compare
v0.6.0e Pre-release
Pre-release
Issue #10 - Made loadErrorMessageFile(InputStream) public.

v0.6.0d

11 Feb 05:49
Compare
Choose a tag to compare
v0.6.0d Pre-release
Pre-release
Issues #7, #8 - Resolved.

v0.6.0c

07 Feb 21:46
Compare
Choose a tag to compare
v0.6.0c Pre-release
Pre-release
Updated copyright date.

v0.6.0b

28 Jan 14:09
Compare
Choose a tag to compare
v0.6.0b Pre-release
Pre-release
Issue #3 - Reorganized Library directory structure.