Go backward to 6 Libraries of Specifications
Go up to Top
Go forward to References

7 Foreground

Having completed the guided tour, let us review the current status of the Common Framework Initiative. Various task groups have been created, concerning language design, semantics, tools, methodology, and reactive systems. There is a substantial amount of interaction between the task groups, which is supported by many of the CoFI participants being active in more than one task group.

The overall coordination of these task groups was managed by the present author from the start of CoFI in September 1995 until August 1998, and subsequently by Don Sannella (Edinburgh). In October 1998, an ESPRIT CoFI Working Group started (CoFI had previously relied on unfunded efforts by its participants, also with initial support from the ESPRIT COMPASS Working Group until that terminated in March 1996).

Language Design Task Group:

(Coordination: Bernd Krieg-Brückner, Bremen)

Until October 1998, the main language design task was finalization of the CASL design. The documentation of the final design is given by the CASL Language Summary [4]; a (by now slightly outdated) rationale for the language design was published in 1997 [16]. The semantics, tools, and methodology task groups have all provided essential feedback regarding language design proposals.

The current work in this task group involves the definition of various interesting sublanguages of CASL, e.g., total, many-sorted, equational--mostly corresponding closely to embeddings of the specification languages of other frameworks into CASL [10][11]. Some extensions are also being investigated, in particular higher-order [7] and state-based specifications (possible extensions for specification of reactive systems is a separate task group).

Semantics Task Group:

(Coordination: Andrzej Tarlecki, Warsaw)

The major semantics task has of course been defining the formal semantics of CASL, which was produced for earlier versions of the CASL design (in fact CASL had a formal semantics even before its concrete syntax was designed [5]) and which has recently been updated to CASL v1.0 [6].

Apart from consideration of the semantics of sublanguages and extensions of CASL, the main work remaining for the semantics task group is the choice of proof system for CASL.

Methodology Task Group:

(Coordination: Michel Bidoit, Cachan)

The major task here is the production of a user's guide for CASL. Moreover, various case studies are to be coordinated within this task group. Further topics include the relation of specifications to requirements and code, and a study of software development processes.

Tools Task Group:

(Coordination: Hélène Kirchner, Nancy)

The concrete syntax for CASL has been designed in joint work between the language design and tools task groups, and its implementation by prototype parsers has provided essential feedback. The various parsers are currently being validated. A LaTeX package for formatting CASL specifications has been developed [17], and can also be used for displaying CASL specifications in HTML.

A major aim of CASL is to support interoperability of existing tools [8][15][19]. Collaboration with the developers of tools for other languages will usually be needed to enable the use of CASL specifications in those tools. Other work concerns static analysis and proof tools for CASL, with a prototype (currently for CASL basic specifications only) already implemented using HOL/Isabelle [12].

Reactive System Task Group:

(Coordination: Egidio Astesiano, Genova)

This task group is mainly concerned with extensions of CASL for reactive system specification, and the combination of CASL with concurrency.

External Relations Task Group:

(Coordination: the present author)

The design of CASL is based on a (critical) selection of constructs from existing languages, and it should be possible to translate specifications from other languages into (sublanguages or extensions) of CASL. Preliminary investigations have considered ASF+SDF [14] and OBJ3 [9]; moreover, CASL is in many respects close to the KIV language [18]. CoFI does not currently have adequate resources to study and implement translations of other languages into CASL, and must depend on attracting the interest and collaboration of those who have the necessary expertise.

The design of CASL has been sponsored by IFIP WG1.3 (on Foundations of System Specification), which also provided expert referees to review the proposed design in June 1997 [3]. The ongoing work in CoFI is of great interest to WG1.3, and the author (who was appointed chairman of WG1.3 in 1998) is responsible for liason between CoFI WG and WG1.3.

A major pending task for external relations is to provide an attractive web presentation of CASL. This guided tour of the CASL design, which was presented in half a day as a tutorial at ETAPS'98, should also be improved--suggestions are welcome!--and supplemented by a tutorial with the emphasis on methodology and realistic examples.

Join now!

All CoFI task groups welcome new participants. Please contact the coordinators via the CoFI web pages [2]. There is a moderated mailing list for each task group, with open subscription, administered by the Majordomo program (majordomo@brics.dk). All CoFI participants are requested to subscribe to a further mailing list, cofi-list@brics.dk (very low-volume, for major announcements only). All CoFI documents are available via the CoFI web pages [2].

Acknowledgements:

The author is supported by BRICS (Centre for Basic Research in Computer Science), established by the Danish National Research Foundation in collaboration with the Universities of Aarhus and Aalborg, Denmark; by an International Fellowship from SRI International; and by DARPA-ITO through NASA-Ames contract NAS2-98073.
CoFI Document: CASL/GuidedTour -- Version: 1 -- July 1999.
Comments to pdmosses@brics.dk

Go backward to 6 Libraries of Specifications
Go up to Top
Go forward to References