Formal Languages and Notations

Introduction:

A language or notation is a way of representing or communicating information. Formality gives precision and facilitates machine processing.
Diversity
There are many different kinds of formal notation. We emphasise this diversity to open up questions about which kind of notation is appropriate in any particular application, and so that we can innovate in one kind of notation by borrowing from another, and so that our methods and tools can be made as general as possible.
Design
We take a particular interest in the way in which formal languages are designed, considering both the character of the documentation which formally defines the resulting language and the process, starting from tabula rasa, leading to a completely designed and precisely defined formal language or notation.
Application
We also consider what kinds of applications might support or exploit a new language and how well organised language definitions can provide the basis for structured approaches to the implementation of these applications, both during and after the design phase.

Diversity:

There are many different kinds of formal notation. We emphasise this diversity to open up questions about which kind of notation is appropriate in any particular application, so that we can innovate in one kind of notation by borrowing from another, and so that our methods and tools can be made as general as possible.
  • Programming Languages
  • Specification Languages
  • Logics
  • Markup Languages
  • Interactive Interfaces
  • Communication Protocols
  • Data/File Formats
  • Knowledge Representation Languages
  • Query Languages
  • man/machine
  • machine/machine
  • machine internal
  • textual
  • graphical
  • interactive
  • non-interactive
  • descriptive
  • imperative
  • Design:

    An idealised language design begins with formal models of the intended subject matter and proceeds from there to abstract and then to concrete syntax.

    Application:

    What kind of tools might you need to support your language? What kinds of application will these tools support?


    UP HOME © RBJ created 1995/04/13 modified 1998/06/30