[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Minutes of the Tools task group meeting



			........................................
			Natural languages are context-sensitive,
			German is,
			"Topferpalatshinken" is not "Shinken"
					Bernd Krieg-Brueckner
			........................................


		+------------------------------------+
		| MINUTES OF THE TASK GROUP ON TOOLS |
		+------------------------------------+


This is the minutes of the task group of the COMMON FRAMEWORK
INITIATIVE (in short CFI) on tools.

To report what was discussed and decided, I took the following
schema. First, I reported what we decided and then in a following
section, I reported important points (for me) we discussed.

			The secretary: Pierre LESCANNE
  	            -o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-

[ Thanks a lot to Pierre Lescanne for having prepared these minutes and
to Christine Choppy for having pointed out a few inaccuracies in the
preliminary version -- Michel Bidoit ]

Participants: 
------------

Hubert Baumeister, (HB)
Michel Bidoit (chairman), (MB)
Christine Choppy, (CC)
Radu Grosu (RG)
Bernd Krieg-Brueckner, (BKB)
Pierre Lescanne, (PL)
Peter Mosses, (PM)
Olaf Owe, (OO)
Gianna Reggio, (GR)
Andrzej Tarlecki (AT)
Martin Wirsing, (MW)

On a proposition of the chairman, we discussed of three chapters:
	- impact of tools on language design
	- the tools we wish to have
	- preparation of the questionnaire for the catalogue of existing tools 

A - IMPACT OF THE TOOLS ON THE LANGUAGE DESIGN
==============================================

1. It has been decided to start a new subgroup (common to the Language Design
and the Tools task groups) for designing the concrete syntax(es) of the CFI
language(s). Members: BKB, PM, GR, MB, RG, CC.

This subgroup will in particular take care of the organizational issues related
to the design of several (if needed) concrete syntaxes, provide actual concrete
syntax(es), make proposals w.r.t. how to handle comments and tool-related
annotations, and make proposals w.r.t. how to handle/restrict "ambiguity" (such
as e.g. those raised by combination of overloading, coercions, mixfix syntax,
etc.)

Notes on the following topics will be prepared:

	[1a] Motivation for various concrete syntaxes: CC, GR

	[1b] How to integrate annotations (comments,
	informations,...)? PM 

	[1c] Overloading, coercion, misfixed syntax, precedence: BKB,
	GR, MB, CC, OO

2. Lex, Yacc or more sophisticated tools? PM, RG, OO

3. Various views (presentations) of the same specification? CC, MB.

4. Annotations for Tools (why? which kinds?): PL.

5. To which extend, implicit informations should be given explicitely?
e.g. type checking vs type inference: RG.

Discussion:
----------

1a. Are various concrete views of the same specification desirable? (E.g. short
operation names vs long ones, infix notation vs functional notation, etc.)

1b. Informations should be inserted ("hooked") somewhere in the
syntax, it is usually "hooked" to a term/formula of the language.  An
annotation can be
	- a type (in the case of type inference), 
	- the kind of language or the kind of logic which the term/formula
	belongs to.   For  instance, the  language in question  can be
	equational logic, first-order logic, second order logic, a
	logic with a given level of quantifiers alternation etc.
	- an annotation specific to some tool (e.g. ordering between function
	symbols).

1c. Is this static semantics? Is it the correct place for it?
Discussion on the need for a context sensitive syntax. The discussion
continued over lunch (see the front quotation). This should be
discussed with the methodology group.

2. Influence of languages like Java and html.

5. This work should be joined with the methodology group.

In general: Theorem provers might have influence on the language. 

B - THE TOOLS WE WISH TO HAVE
=============================

We abandoned a classification proposed by Peter Padawitz in three
parts: Tools for specification design, tools for testing and executing
specifications, theorem provers. We chose a classification into two
parts.

			 --------------------
			 Minimal set of tools
			 --------------------

Syntax and static semantics checker and/or parser for the full CFI.

Latex style (compatible with lncs.sty) for CFI.

Tools for embedding existing languages and tools into CFI.

			----------------------
			Desirable set of tools
			----------------------

Syntax directed editor for the full CFI (specifically an emacs-mode)

Pretty-printer 
	latex (production of a latex source file from a specification)
	graphical representation
	index (cross-referencing)

Browsers
	component graph
	development graph
	versions

Searching facilities

Prototyping tools

Sublanguage identifiers (cf annotations)

Theorem provers
	size of the specs you can treat
	what kind of axioms?

Verification systems

Transformation systems

Methodology-driven tools

Communication tools (for cooperative work)

Translator from (to?) other specification languages.

Discussion
----------

We should 
	- clarify the minimal set of tools,
	- study how to communicate between tools,
	- study how to integrate tools
	- get feedback from the language design task group...


Internal Forms (IF) with their annotations are a way to communicate
between tools and from the parser to a specific tool.

The definition of what we mean by a "verifier" was recalled.  It is a tool to
prove the correctness of a specification (or of a refinement step): it
generates assertions to be proved by a theorem prover.


C- PREPARATION OF A QUESTIONNAIRE FOR THE CATALOGUE OF EXISTING TOOLS
=====================================================================

IMPORTANT NOTE: MB/PM will prepare the final version of the questionnaire.
What is below is NOT the questionnaire. Please do not answer it ! If you feel
that some important issues are missing, please send an e-mail to Michel Bidoit
(Michel.Bidoit@ens.fr) and to Peter Mosses (pdmosses@brics.dk).

			  -----------------
			  General Questions
			  -----------------

BASIC INFORMATION
-----------------

Availability / support
	platform/ OS/ X-W/ necessary tools 
	object or source distribution
	public domain? Licence? Costs? Nominal cost or shareware?
	cost of the necessary tools

Status: experimental? distribution version? planed?

Goodies and weaknesses

Interactive or (fully?) automatic

Applications
	library of examples
	success stories

Aim
	Which specification formalism is the tool aimed for? 
	Is it generic? How far?


DOCUMENTATION AND ACCESS
------------------------

Library management
	Is there any?
	description
	flexibility

User interface
	description
	easy to change?
	quality of error messages
	robustness

Level of expertise needed

Documentation
	user's manual
	internal documentation (references to written sources:
		article, PhD, technical report)
	one line help

User community: size? mailing list?

Integrated or simple tool

Relationships with other systems


INTEGRABILITY
-------------

Adaptability for integration with other tools

Architecture of the system

Underlying technology 
	for syntax checker and static semantics
	for syntax directed editor


			  ------------------
			  Specific questions
			  ------------------

For prototyping tools and theorem provers/proof checkers: 
	maximal size of the specification you can treat
	what kind of axioms, which logic.

===============================================================================