[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.