Skip to content

Releases: ModelDriven/Alf-Reference-Implementation

v0.6.0a

28 Jan 14:10
Compare
Choose a tag to compare
v0.6.0a Pre-release
Pre-release
Resolved issues #2

Alf Reference Implementation v0.6.0

10 Dec 01:50
Compare
Choose a tag to compare

This is the first version of the Alf Reference Implementation available on GitHub. The following release notes are for this and all previous versions of the implementation.

Version 0.6.0

  • Added the ability to generically wrap external elements not in the fUML subset.
  • Added a mapping for constructorless instance creation (but without attribute initialization).
  • Allowed the external stub for an activity to be any owned behavior, not just a method or classifier behavior.
  • Corrected the static semantics for:
    • conditional test expressions
    • indexed left-hand sides
  • Corrected the mappings for:
    • left-hand sides
    • increment or decrement expressions
    • this expressions (for external contexts)
    • loop statements
    • activity definitions

Version 0.5.1

  • Added the printing of version info using the "-v" option.

Version 0.5.0

  • Added the Eclipse implementation to the packaged distribution, along with new command line scripts for Eclipse-based compilation and execution.
  • Improved the ability to integrate with tools that need root elements to be cached separately for different projects open at the same time.
  • Improved performance of name resolution in external namespaces.
  • Changed the name for the standard profile from "StandardProfileL2" to "StandardProfile".
  • Updated the mapping of packages to avoid a seeming problem with generic template resolution in Java 8.
  • Updated including and replacing related functions in SequenceFunctions and CollectionFunctions to allow null new elements.
  • Allowed for the possibility that a property of an external association might be an association end not owned by the association.
  • Corrected a bug that caused an exception when owned members where added to a namespace on templates instantiated.
  • Corrected the static semantics for:
    • null conversion
    • indexed left-hand sides
    • imported external members, external operations and external stub resolution
    • type derivation for arithmetic expressions, this expressions and loop variables
    • binary expression operand multiplicity
    • sequence operation expression target compatibility
    • unit definition namespace resolution
    • non-template qualified name resolution
      super invocation expressions in a method activity
      if and switch statement annotations (to check for "determinate" instead of "determined")
  • Corrected the mappings for:
    • assignment expressions
    • cast expressions
    • name expressions (for external enumeration literals)
    • sequence expansion expressions
    • tuples
    • classify statements
    • conditional statements
    • switch statements
    • activity definitions
    • association definitions
  • default constructor and destructor visibility

Version 0.4.0

Note: If statements without else clauses are not allowed to defined new local names within their clauses. This has now been implemented per the specification, which may result in ifStatementAssignmentsAfter constraint violations that did not occur in previous versions.

  • Moved code specific to mapping to the fUML Reference Implementation into a separate project, to avoid including it in implementations of other mappings.
  • Extensively updated and corrected the handling of external elements, as required for integration with other UML tooling.
  • Corrected the parsing of stereotype annotations with tagged values.
  • Corrected errors in the handling of a unit importing internal elements, template binding, local name assignments and other static semantic constraint checking.
  • Corrected the resolution of a constructor name that is the class name, to only search owned members of the class.
  • Changed the resolution of association ends so that only end type conformance is required, not type equality.
  • Updated mappings to target fUML 1.1 and corrected a number of mapping bugs.
  • Implemented return statements without expressions.
  • Updated the mapping for classify statements, so that, if any new classes are active, their classifier behaviors are started. (See OMG Issue 18281.)
  • Completed the implementation of all "in place" behaviors in CollectionFunctions.alf.

Version 0.3.0

  • Refactored to more easily accommodate integration with other tooling.
  • Corrected acceptStatementSignals constraint check to include inherited receptions.
  • Updated classpath to use fuml.jar to build project, rather than depending on the fUML-Reference-Implementation project.

Version 0.2.0

  • Implemented the proper handling of cyclic imports.
  • Corrected errors in the mapping of loop statements, accept statements and classifier behaviors.

Version 0.1.0

The following Alf features are not currently implemented:

  • Profile and stereotype application (other than application of the standard stereotypes ModelLibrary, Create and Destroy)
  • Overloading resolution