[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CoFI semantics task group -- time for work!
Dear Colleague,
In Edinburgh, the Language Design of the CoFI language (official name:
CASL) was essentially finished. The current version, 0.95 FINAL
DRAFT, is available now from
http://www.brics.dk/Projects/CoFI/DesignProposals/Summary
and you are all encouraged to read it and send comments to
cofi-language@brics.dk (deadline: Monday 9th Dec). The first really
stable version of the design, version 0.95 FINAL, is expected to be
available by 15th Dec. This will be the signal for the semantics
group and the other task groups to spring into action. The job of the
semantics group is to assess this design for flaws between now and
Spring 1997, and to prepare for the task of writing the semantics
itself.
****************************************************************
************************ PLEASE HELP! ************************
****************************************************************
A plan of work is below. If your name is listed, you are expected to
make the indicated contribution. Where indicated, contributions are
expected from EVERYBODY. Note the dates by which tasks are supposed
to be completed. Please tell me NOW if you cannot make the indicated
contributions or are no longer interested in participating in the work
of the group. And tell me if the plan and the division of work is
unacceptable and/or make alternative suggestions.
Best regards, Don Sannella
----------------------------------------------------------------
A first short meeting of the semantics task group took place in
Edinburgh on 11th Nov, attended by Don Sannella, Andrzej Tarlecki,
Till Mossakowski (who took the minutes) and Hubert Baumeister.
Andrzej Tarlecki is now co-coordinator of the semantics task group,
jointly with Don Sannella.
It was decided to conduct two lines of related work in parallel:
A. Study potentially problematic areas of the language
The following topics should be studied deeper, with problems and
solutions summarized in a study note. These should be as concise
as possible and where possible should use existing material or
extend an existing study note. The following association of names
to topics is tentative: please complain and/or (better) volunteer
for more. All of these notes should be finished by the end of
February. Authors should publish notes on the CoFI pages when they
are finished by sending them to Peter Mosses.
- Many-sorted and subsorted logic
(ACTION: Subsorting group = Maura, Anne, Peter?, Till)
- Interaction of subsorting and structured specification
(ACTION: Subsorting group)
- Type definition groups and sort generating constraints
(ACTION: Subsorting group, Bernd, Peter)
- Interaction of compound identifiers with subsorting
(ACTION: Subsorting group, Michel)
- Generic specifications
(ACTION: Andrzej, Hubert, Hans-Joerg, Fernando)
- Static semantic conditions for signature morphisms, unions and
compound identifiers
(ACTION: Don, Andrzej, Fernando, Hubert, Subsorting group)
- Static semantic conditions for EXTENSIONs, SPEC-DEFNs and
UNIT-SPECs
(ACTION: Andrzej, Hubert, Fernando)
- Interaction of compound identifiers with signature morphisms
(ACTION: Andrzej, Michel)
- Architectural specifications
(ACTION: Andrzej, Don, Fernando, Peter)
- Glimpse at extension to higher-order?
(ACTION: Anne?, Bernd)
B. Work by stepwise refinement towards the semantics of the language
The starting point is version 0.95 FINAL of the Language Design; the
target is a complete semantics of version 1.0. We will work from
the former towards the latter in a sequence of steps. Don will
maintain the document as it evolves and make it available on WWW.
0. Read the Language Summary version 0.95 FINAL carefully and mark
each point where you have a question or doubt about the meaning
of a construct or the semantics of the interaction of several
constructs. Your output from this should be a list of section
numbers with a few words indicating the nature of the question.
(ACTION: EVERYBODY! Deadline: Monday 6th January. Results will
be collated and distributed by Don and Andrzej by the middle of
January.)
1. Each section of the Language Summary should be extended by
English text explaining the semantics of all the concepts and
constructs in that section. This text may well contain pointers
to the study notes listed under A above. For the "Concepts"
sections, this should include an attempt at formally defining
the semantic domains it introduces, under the assumption that
semantic domains that are introduced elsewhere are already
defined.
(ACTION: authorship will be assigned by Don and Andrzej by the
middle of January, and work should be finished by the middle of
February.)
2a. Semantic domains should be fixed for the language constructs.
(ACTION: Don and Andrzej, with help from selected people -- any
volunteers? A first version of these should be ready by the
end of Febuary.)
2b. The descriptions from step 1 should be rephrased in terms of
these semantic domains, still using English text.
(ACTION: same authors as in step 1. This should be finished in
time for TAPSOFT in mid-April.)
MEETING OF THE SEMANTICS TASK GROUP AT TAPSOFT
3. Version 0.98 of the language design will appear sometime in
March or April. Version 0.99, for submission to IFIP WG14.3,
will appear in May. Assuming that this is approved, Version 1.0
will appear in June. Work will be required to bring the result
of step 2 up to date.
(ACTION: same authors as in step 1. Depending on the amount of
revision required, we may or may not manage to track the changes
in versions 0.98 and 0.99. Revision to conform with version 1.0
will take place after it becomes available and should take about
a month.)
4. Full semantics of version 1.0, with the English in step 3
augmented by formal definitions.
(ACTION: same authors as in step 1. Serious work will not begin
until step 3 is finished.)
But to clarify the style of the semantics (denotational, ...),
we plan to look at different styles already now (for example,
the SML/EML semantics).
In the course of the above work, various problems might arise. These
should be treated as follows:
1. Major problems with the design: Send a note to the cofi-language
mailing list summarizing the problem and if possible suggesting
a fix or several possible fixes. (Example: It's impossible or
horribly complicated to deal with feature X in the presence of
feature Y.)
2. Choices that need to be made between alternatives:
a. Major choices: treat as a major problem. (Example: There are
two completely different ways of making sense of what is
written about feature X in the design summary, and I don't
know which to choose.)
b. Minor choices: make a choice but include a footnote listing
the alternatives. These will be collated somehow, perhaps in
an appendix. (Example: I'm not sure if the order of items in
the syntax of a signature morphism is supposed to be
significant, but I'm going to assume that it isn't.)
This plan is quite ambitious, but it is clear for all of us that in
order to make CASL a successful language, a definitive understanding
of the semantics is absolutely essential. There are quite a few
people in the semantics group and although there isn't much time to
complete each of the above tasks, the amount of work involved to
complete each task is not very great since the chunks that each person
has to deal with should be relatively small. So the plan should be
manageable, provided people don't rely on all the others to do the
work.