************
* 20151101 *
************
General
=======
This is a major release, which merges the Association and Class
aspects of an AssociationClass into one package.
Modelling
=========
The <<association-class-naming>> stereotype and the associated
{association-name} and {class-name} tags are no longer interpreted,
and will be removed from the profile at a later date.
Generation
==========
An AssociationClass is coded as a package containing both class and
association aspects.
The Domain.Class.Vectors package is generated in the class package
rather than as a child package.
The default storage pool is used rather than ColdFrame-provided ones.
Code
====
Fixed bug 87 (Invalidated events use queue space).
Testing
=======
Included a demonstration program of Ravenscar features for the Arduino
Due.
************
* 20150415 *
************
General
=======
This is a major release; ColdFrame is targeted at Ada 2012. It uses
Bounded containers when possible. Alternative Ravenscar-compatible
code generation is provided.
Modelling
=========
In Ravenscar mode, classes can't be <<active>>, and the maximum number
of instances of each class must be bounded; either naturally (making
the identifier be an enumerated type, for instance) or by use of
<<cardinality>>. Strings in identifiers (bounded or unbounded) aren't
supported.
Generation
==========
If the environment/Makefile variable PROFILE is set to other than the
default 'standard', the generated code is Ravenscar-compliant.
Code
====
Provided a Ravenscar-compliant runtime.
Fixed bug 24 (Doesn't detect state machine error).
Fixed bug 85 (Incompatibility with ArgoUML 0.35.1).
Fixed bug 86 (Finalize stereotype on operation ignored).
Testing
=======
Included support for scripted testing
(http://coldframe.sourceforge.net/scripted_testing/).
Included a demonstration program of Ravenscar features for the
STM32F429I Discovery board from STMicroelectronics.
Installation
============
Although there is no reason why a Ravenscar-compliant build should not
be run in any environment, the supplied configuration (see
ColdFrame_Ravenscar.gpr and Options_Ravenscar.gpr) is targeted to the
STM32F429I Discovery board from STMicroelectronics, using the runtime
system at https://sourceforge.net/projects/stm32f4-gnat-rts/.
************
* 20140422 *
************
General
=======
This is a major release; ColdFrame is now targeted at Ada
2005. It uses Ada.Containers instead of the Booch Components.
Modelling
=========
<<convention>> is supported for types and operations, in response to
bug 81.
<<cardinality>> and <<utility>> are supported for classes.
<<callback>> can now be applied to (class) operations which are to
receive callbacks from other, lower-level, domains.
Supports the tag {hash=style} for <<imported>> and <<renaming>> types.
Generation
==========
Uses Ada.Containers. The most obvious effect of this is that Domain.Class.Collections.Collection has become Domain.Class.Vectors.Vector.
Inheritance arrowheads were missing on generated diagrams.
Improved detection of the use of invalid names.
Code
====
Fixed bug 83 (Timed event not invalidated on instance deletion). This
was a very obscure bug, which is present in all earlier releases of
ColdFrame; to trigger it, you need two timed events for the same
instance, where the first event's handler deletes the instance.
For <<callback>> operations, code is generated to
* register with the callback provider at domain initialization,
* create class events to transfer the data into the receiver domain's
context, and
* support teardown for unit test.
Installation
============
You no longer need to have the Booch Components available.
Documentation
=============
************
* 20130621 *
************
Modelling
=========
Included the package stereotype <<ignore>> (the package, and any child
packages, are to be completely ignored) in response to support request
5 (Domain Subpackage <<hand-coded>> Stereotype).
Generation
==========
Added extra checks for <<access>> and <<constraint>>.
Fixed bug 75 (Mac OS X Mountain Lion problem).
Fixed bug 79 (a function's result type wasn't normalized).
Fixed bug 80 (Interrupt Handling Example doesn't compile on
Windows/Cygwin).
Testing
=======
The Interrupt_Handling example uses SIGINT (crtl-C), not SIGHUP.
************
* 20130420 *
************
Modelling
=========
Added DataType stereotype <<constraint>> with tags {constrains} (names
the type to be constrained), lower, and upper, in response to the
support request "Declaration of Datatypes as Integer Ranges".
************
* 20130413 *
************
General
=======
This is a maintenance release.
Generation
==========
Fixed bug 60 (Can't have negative values for Integer identifier
components).
Fixed bug 63 (Constraint error navigating n:1 from (null)).
Fixed bug 74 (Confusing document generated for access-to-operation).
Testing
=======
Fixed bug 76 (Test cases don't compile).
Installation
============
The script to convert case exception data from Emacs to GPS format
(scripts/case_exceptions.py) has been made executable.
Documentation
=============
Links changed to match migration of the ColdFrame Sourceforge
project to the new Allura platform.
************
* 20120324 *
************
Modelling
=========
Added <<bounded-string>>, <<discriminated>>, <<fixed-string>> and
<<protected>>.
Reworked AssociationClass handling; the stereotype is now
<<association-class-naming>>, and you can specify {association-name},
{class-name}, or both (though that would add another layer of
confusion).
You can specify the discriminator of a Generalization, which has the
advantage of appearing on the class diagram. If you specify both the
name and the discriminator, they have to match.
Generation
==========
Progress is only traced if make is given VERBOSE=yes.
Testing
=======
Added example/ and test/ code.
Noted that many of the tests use AUnit 3 (as supplied with GNAT GPL
2011), and aren't compatible with the AUnit 1.03 provided with Debian
(up to wheezy).
Installation
============
Changes for Debian 6 compatibility (see installation notes).
************
* 20120219 *
************
General
=======
ColdFrame can't currently be installed on Windows or Debian (problems
with TclXML). This has prompted a long-overdue move from modelling
with Rational Rose to modelling with ArgoUML.
Unfortunately there's no easy route from a Rose model to an ArgoUML
one, but Rose has never been freely available.
The changes to ColdFrame's source are on the ArgoUML branch in the
Sourceforge repository. The Rose version is on the RationalRose branch
(currently the same as the default).
The old .raw files and related scripts are no longer used. Instead,
the ArgoUML .uml model files, containing XMI, are converted directly
to ColdFrame's .norm format, and code is then generated as before. The
conversion is done by an Ada program (normalize_xmi), which uses XIA
(a copy is included with ColdFrame).
Modelling
=========
ColdFrame's previous profile hasn't been completely migrated yet. The
main omissions are the data typing options, for example constraints,
conventions, and modular types. A lot of the problem is the UML 1.4
preference for tagged values to be regarded as properties of
stereotypes, which leads to some contortions.
See the model ColdFrame_Examples.uml in the models/ subdirectory for
example models.
The ability to extend ColdFrame's processing (by using your own
profile and code generation) isn't supported; unrecognised stereotypes
and tagged values are ignored. This may change.
Code
====
Implemented a workround for a bug in GNAT GPL 2011/GCC 4.7 (GCC
Bugzilla #50934)
Testing
=======
AUnit (version 3), the Booch Components and TclAdaShell (for
examples/) are expected to be installed or on ADA_PROJECT_PATH.
Installation
============
Much changed, please see the documentation.