ADL Workbench - 02 April 2008 Release - What's New?
Specialisation Semantics
The workbench now works using two
kinds of files: differential 'source' files (.adls extension) and flat
files (.adl extension). Previously, .adl files were treated as the
source of all archetypes. However, they are not an appropriate source
form representation for specialised archetypes. Instead, a differential
representation is used, rather like specialised classes in object
oriented programming languages. The consequences of this change are as
follows:
- specialised archetypes will be far more
sustainable to author, as they will no longer contain copies of
structural parts inherited from parent archetypes;
- there are now two kinds of files:
- .adls file: this will become the 'source' file type for all archetypes.
- .adl file:
this will become the file type for the 'flat' view of an archetype. In
the future, .adl files will no longer be stored, but will be generated
on the fly.
- for existing archetype repositories consisting
of .adl files, the .adl file will be treated as the initial source. A
.adls file will be generated once only for each .adl file, and from
then on, the .adls file will be used as the source.
The first time the an existing .adl file is compiled, a new .adls file
will be created. All subsequent compilations will use the .adls file.
The .adls files can be removed using the 'Clean
Generated Files' option on the Tools menu
Compiler Mode of Operation
The Archetype workbench now functions as a compiler over the entire
archteype 'directory' (the merged result of the reference and work
repositories). With a single command (F7; build repository), all
archetypes are compiled, and an error report built up which can be
perused at any time. Slot relationships between archetypes are now
shown, as are statistics for the repositories. See the compiler page for specifics.
Status of Tooling
Currently
the tooling implements most but not all aspects of archetype
specialisation. Some further small changes are needed to complete the
semantics, including being able to specify ordering of branches in
specialised archetypes, and various kinds of specialisations such as slots.
The
current release of the tool will not overwrite any .adl files, it will
just silently create .adls files. These can be removed via the 'Clean
Generated Files' option on the Tools menu.